﻿@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    src: local("Roboto Light"), local("Roboto-Light"), url('Content/fonts/Roboto-Light.woff2') format('woff2'), url('Content/fonts/Roboto-Light.ttf') format('truetype'), url(http://fonts.gstatic.com/s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: local("Roboto"), local("Roboto-Regular"), url('Content/fonts/Roboto-Regular.woff2') format('woff2'), url('Content/fonts/Roboto-Regular.ttf') format('truetype'), url(http://fonts.gstatic.com/s/roboto/v15/CWB0XYA8bzo0kSThX0UTuA.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    src: local("Roboto Medium"), local("Roboto-Medium"), url('Content/fonts/Roboto-Medium.woff2') format('woff2'), url('Content/fonts/Roboto-Medium.ttf') format('truetype'), url(http://fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUZBw1xU1rKptJj_0jans920.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: local("Roboto Bold"), local("Roboto-Bold"), url('Content/fonts/Roboto-Bold.woff2') format('woff2'), url('Content/fonts/Roboto-Bold.ttf') format('truetype'), url(http://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOFtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    border-radius: 0px !important;
}

::-moz-selection {
    background: #90A4AE;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #90A4AE;
    color: #fff;
    text-shadow: none;
}

.control-label {
    padding-top: 0px !important;
}

body {
    font-size: 12px;
    line-height: 30px;
    color: #777;
    background: #b6cfda;
    overflow-x: hidden;
}

.container {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    margin-bottom: 55px;
}

.btn-agendar {
    margin-top: 20px;
    background-color: #37474F;
    border: 1px solid #546E7A;
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    height: 50px;
}

    .btn-agendar:hover {
        background-color: #546E7A;
        border: 1px solid #37474F;
        color: #fff;
    }

.containerLogo {
    margin-right: 0px;
    padding-right: 0px;
    text-align: center;
    height: 80px;
}

    .containerLogo img {
        width: 50px;
    }

.titlePanel {
    font-size: 16px;
    font-weight: bold;
    color: #808080 !important;
}

#footer {
    background-color: #fff;
    height: 52px;
    position: fixed;
    width: 100%;
    bottom: 0px;
    margin: 0px;
    padding: 0px;
    z-index: 10;
    border-top: 1px solid #999;
}

#form {
    background: #fff;
    padding: 25px;
    margin: 50px 0;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3), 0 5px 5px 0 rgba(0, 0, 0, 0.44);
}

    #form h3 {
        display: block;
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 5px;
        color: #455A64;
        margin-top: 0px;
    }

    #form h4 {
        margin: 5px 0px 0px 0px;
        display: block;
        font-size: 14px;
        padding-bottom: 10px;
        color: #78909C;
        border-bottom: 1px solid #d2d2d2;
    }

.table-row:hover {
    background-color: #EEE;
}

.clicavel {
    cursor: pointer;
}

.div-selecionavel:hover {
    background-color: #F0F0F0 !important;
}

.texto-centro {
    text-align: center;
}

.texto-vermelho {
    color: #F00 !important;
}

.negrito {
    font-weight: bold !important;
}

#modalAgendamentoBodyHora {
    overflow-y: scroll;
    max-height: 400px;
}

.grecaptcha-badge {
    z-index: 11;
    bottom: 0px !important;
}

.custom-toast {
    font-family: inherit;
    color: #ffffff !important;
    box-shadow: 0 0 12px rgba(0,0,0,0.3) !important;
    padding: 15px 15px 15px 50px !important; 
    line-height: 1.4;
    border-radius: 3px !important;
    width: 300px;
    max-width: 100%;
    margin-top: 15px;
    background-repeat: no-repeat !important;
    background-position: 15px center !important; 
    background-size: 24px !important;
    text-align: left !important;   
    overflow: hidden;
}
    
.custom-toast .toast-close {
    position: absolute !important;
    right: 10px !important;
    top: 10px !important;
    background: transparent;
    border: 0;
    color: white;
    cursor: pointer;
    font-size: 1.2em;
    opacity: 0.6;
}    

.custom-toast .toast-close:hover {
    opacity: 1;
}

.toastify.on.custom-toast {
    opacity: 0.85;
    transition: opacity 0.3s ease-in-out;
}

.toastify.on.custom-toast:hover {
     opacity: 1;
     cursor: pointer;
}

.custom-toast strong {
    display: block;
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 5px;
}

.toastify-full-width {
    width: 96% !important;
    max-width: 96% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 15px auto !important;
    transform: none !important;
}

.toastify-success {
    background-color: #51a351 !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") !important;
}

.toastify-error {
    background-color: #bd362f !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z'/%3E%3C/svg%3E") !important;
}

.toastify-warning {
    background-color: #f89406 !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E") !important;
}

.toastify-info {
    background-color: #2f96b4 !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z'/%3E%3C/svg%3E") !important;
}

.toast-progress {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    animation-name: toast-progress-shrink;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
    pointer-events: none;
}

@keyframes toast-progress-shrink {
    from {
        width: 100%;
    }

    to {
        width: 0%;
    }
}

/* ============================================================
   Bootstrap 5 compatibility shims
   ============================================================ */

/* btn-block: removido no BS5 — restaura comportamento de largura total */
.btn-block,
.btn.btn-block {
    display: block;
    width: 100%;
}

/* hide: removido no BS5 — usa display:none igual ao BS3 */
.hide {
    display: none !important;
}

/* form-group com colunas filhas: BS5 não aplica gutters sem .row
   Tratamos form-group como row para manter o layout horizontal */
.form-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 0.75rem;
    width: 100%;
    margin-left: -15px;
    margin-right: -15px;
}

/* Colunas dentro de form-group recebem padding lateral */
.form-group > [class*="col-"],
.form-group > label[class*="col-"] {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Filhos SEM classe de coluna ocupam a linha inteira (formulários empilhados),
   evitando que label/select/input fiquem espremidos lado a lado */
.form-group > label:not([class*="col-"]),
.form-group > .form-control,
.form-group > select.form-control,
.form-group > .input-group,
.form-group > .inputGroupContainer:not([class*="col-"]),
.form-group > div:not([class*="col-"]) {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Espaçamento entre os blocos empilhados (ex.: Selecione → Digite o protocolo) */
.form-group > .form-control,
.form-group > select.form-control,
.form-group > .inputGroupContainer:not([class*="col-"]),
.form-group > div:not([class*="col-"]) {
    margin-bottom: 0.75rem;
}

/* Labels empilhados ficam alinhados à esquerda, acima do campo */
.form-group > label:not([class*="col-"]) {
    text-align: left;
    margin-bottom: 0.25rem;
    font-weight: 500;
}

/* labels com control-label que são colunas do grid (layout horizontal) */
.form-group > label.control-label[class*="col-"] {
    padding-top: 6px;
    text-align: right;
    padding-left: 15px;
    padding-right: 15px;
}

/* control-label fora do grid permanece alinhado à esquerda, acima do campo */
.form-group > label.control-label:not([class*="col-"]) {
    text-align: left;
    margin-bottom: 0.25rem;
}

/* card: visual semelhante ao panel do BS3 */
.card {
    margin-bottom: 1rem;
}

/* Conteúdo HTML vindo do banco (texto rico): garante listas com marcadores
   consistentes, pois o .card do BS5 é flex e remove o recuo padrão das listas */
.conteudo-html ul,
.conteudo-html ol {
    display: block;
    list-style-position: outside;
    padding-left: 2rem;
    margin-bottom: 1rem;
}

.conteudo-html ul {
    list-style-type: disc;
}

.conteudo-html ol {
    list-style-type: decimal;
}

.conteudo-html li {
    display: list-item;
    list-style: inherit;
    margin-bottom: 0.25rem;
}

.conteudo-html p {
    margin-bottom: 0.75rem;
}

.card-header.titlePanel {
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
    padding: 10px 15px;
}

.card-body {
    padding: 15px;
}

/* btn-raised: classe customizada usada nas views */
.btn-raised {
    box-shadow: 0 2px 5px rgba(0,0,0,.16), 0 2px 10px rgba(0,0,0,.12);
}

/* btn-default: removido no BS5 — restaura o botão claro com borda */
.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

    .btn-default:hover,
    .btn-default:focus {
        color: #333;
        background-color: #e6e6e6;
        border-color: #adadad;
    }

/* btn-info: mantém o ciano usado no layout original */
.btn-info {
    color: #fff;
    background-color: #00bcd4;
    border-color: #00bcd4;
}

    .btn-info:hover,
    .btn-info:focus {
        color: #fff;
        background-color: #00a5bb;
        border-color: #00a5bb;
    }

/* select dentro de input-group mantém a seta indicando as opções */
.input-group > .form-select {
    flex: 1 1 auto;
    width: 1%;
}

/* input-group-text com o mesmo visual do antigo input-group-addon */
.input-group-text {
    background-color: #eee;
    border-color: #ccc;
    color: #555;
}

/* loader spinner usado em Index.cshtml */
@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.loader {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #008cb5;
    border-radius: 50% !important;
    width: 24px;
    height: 24px;
    animation: spin 2s linear infinite;
}


.has-error .form-control {
    border-color: #a94442;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
.has-error .control-label,
.has-error .help-block {
    color: #a94442;
}
.has-success .form-control {
    border-color: #3c763d;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
.has-success .control-label,
.has-success .help-block {
    color: #3c763d;
}

.help-block {
    flex: 0 0 100%;
    width: 100%;
    display: block;
    margin-top: .25rem;
    font-size: .85rem;
    color: #a94442;
    line-height: 1.4;
}

.form-group > .help-block {
    margin-left: 25%;
    padding-left: 15px;
    padding-right: 15px;
}

