/* ===========================
   ESTILO GERAL
=========================== */

body {

    background:#efefef;

  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
   Roboto, Helvetica, Arial, sans-serif;
   color: #1a1a1a;
   line-height: 1.6;


    color:#1f2937;

}



/* ===========================
   HERO
=========================== */


.hero {

    background:#ffffff;

    color:#090909;

    padding:70px 20px 40px;

}



.hero h1 {

    font-size:42px;

    letter-spacing:-1px;

}



.hero p {

    font-size:18px;

    color:#191d25;

}



/* ===========================
   SERVIÇOS
=========================== */


.card {

    border:1px solid #e5e7eb;

    border-radius:16px;

    box-shadow:none;

    transition:.2s;

}



.card:hover {

    transform:translateY(-4px);

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}



/* ===========================
   BOTÕES
=========================== */


.btn {

    border-radius:999px;

    font-weight:600;

    padding:12px 20px;

}


/* ===========================
   TITULOS
=========================== */


h1,h2,h3,h4,h5 {

    font-weight:700;

}



/* ===========================
   NAVBAR
=========================== */


.navbar {

    background:white !important;

}



.navbar-brand {

    font-size:20px;

}



/* ===========================
   MODAL
=========================== */


.modal-content {

    border-radius:20px;

    border:none;

}



.form-control {

    border-radius:12px;

    padding:12px;

}



/* ===========================
   MOBILE
=========================== */


@media(max-width:768px){


.hero {

    padding:50px 20px 30px;

}



.hero h1 {

    font-size:32px;

}



.card {

    margin-bottom:18px;

}

/* ===========================
   FOOTER
=========================== */


.footer {

    background:#e5e7eb;

    color:#6b7280;

    padding:25px 0;

    margin-top:50px;

    font-size:14px;

}

footer,
.footer {

    background:#e5e7eb !important;

    color:#6b7280 !important;

    padding:25px 0;

    margin-top:50px;

}
.footer {

    background: #e5e7eb !important;

    color: #6b7280 !important;

    padding: 25px 0;

    margin-top: 50px;

    border-top: 1px solid #d1d5db;

}


.footer p {

    color:#145ae6 !important;

}
/* ===========================
   ADMIN MENU
=========================== */


.admin-menu {

    background:#ffffff;

    min-height:100vh;

    border-right:1px solid #e5e7eb;

}
.admin-link {

    display:block;

    padding:12px 15px;

    border-radius:12px;

    text-decoration:none;

    color:#374151;

    font-weight:500;

    transition:.2s;

}
.admin-link:hover {

    background:#f3f4f6;

    color:#2563eb;

}
/* ===========================
   ADMIN MOBILE FIRST
=========================== */


.admin-sidebar {

    padding:0;

}


.admin-content {

    background:#f4f5f7;

    min-height:100vh;

}



/* celular */

@media(max-width:991px){


.admin-sidebar {

    min-height:auto;

}


.admin-content {

    padding:15px !important;

}


.admin-menu {

    min-height:auto;

    border-right:none;

    border-bottom:1px solid #e5e7eb;

}


}
}
.admin-content {

    padding-top:15px !important;

}


.row {

    margin-left:0;

    margin-right:0;

}
/* ===========================
   ADMIN SEM ESPAÇO SUPERIOR
=========================== */


.admin-page {

    margin:0;

    padding:0;

}


.admin-page .container-fluid {

    padding-top:0 !important;

}


.admin-page .row {

    margin-top:0 !important;

}
/* ===========================
   ADMIN BOTÕES SUAVES
=========================== */


.btn-cancelar {

    background:#f8d7da;

    color:#842029;

    border:none;

    border-radius:10px;

    padding:10px;

    font-weight:600;

}


.btn-cancelar:hover {

    background:#f1b0b7;

}



.btn-reativar {

    background:#d1e7dd;

    color:#0f5132;

    border:none;

    border-radius:10px;

    padding:10px;

    font-weight:600;

}


.btn-reativar:hover {

    background:#a3cfbb;

}
.agenda-card {

    border-radius:16px;

    transition:.2s;

}


.agenda-card:hover {

    transform:translateY(-3px);

}
/* ===================================
   ADMIN
=================================== */

body{
    background:#f5f6f8;
}

.admin-menu{
    background:#ffffff;
    min-height:100vh;
}

.admin-menu .list-group-item{
    border:0;
    border-radius:0;
    padding:16px 24px;
    color:#4b5563;
    font-weight:500;
    transition:.2s;
}

.admin-menu .list-group-item:hover{
    background:#eef2f7;
    color:#111827;
}

.admin-menu .list-group-item.active{
    background:#e8edf5;
    color:#111827;
}

main{
    background:#f5f6f8;
    min-height:100vh;
}

.card{
    border:none;
    border-radius:16px;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.card-body{
    padding:22px;
}

.badge{
    font-size:12px;
    font-weight:500;
    padding:8px 12px;
}


.btn-primary:hover{
    background:#475569;
}

.btn-outline-secondary{
    border-color:#cbd5e1;
    color:#475569;
}

.btn-outline-secondary:hover{
    background:#e2e8f0;
    color:#111827;
}

.navbar{
    background:#ffffff !important;
}

.offcanvas{
    max-width:260px;
}

h2,h3,h4,h5{
    color:#1f2937;
}

.text-muted{
    color:#6b7280 !important;
}

/* ===========================
   CELULAR
=========================== */

@media(max-width:991px){

    .admin-menu{
        min-height:auto;
    }

    main{
        padding-bottom:30px;
    }

    .card{
        margin-bottom:15px;
    }

}
/* AJUSTES FINAIS ADMIN */

.admin-content{
    min-height:100vh;
}


.admin-menu a{
    text-decoration:none;
}


.card h2{
    font-weight:600;
}


@media(max-width:768px){

    .admin-content{
        padding:15px !important;
    }


    .card-body{
        padding:18px;
    }


    h2{
        font-size:24px;
    }

}

/* efeito ao passar mouse */

.btn-tema-azul:hover,
.btn-tema-rose:hover,
.btn-tema-preto:hover {

    opacity: .85;
    color:white;

}

.btn-primary {

    background-color: var(--cor-botao) !important;
    border-color: var(--cor-botao) !important;

}

.btn-primary {

    background-color: var(--cor-botao) !important;

    border-color: var(--cor-botao) !important;

}


.btn-primary:hover {

    opacity: .85;

}

/* ===========================
   TEMA DOS BOTÕES
=========================== */

.btn-tema {

    color: #ffffff !important;
    border: none !important;

}

.btn-tema.azul {

    background: #5b6c81 !important;

}

.btn-tema.rose {

    background: #d88ca0 !important;

}

.btn-tema.preto {

    background: #222 !important;

}

.btn-tema:hover {

    opacity: .9;

}

/* ================================= */
/* RODAPÉ DO SITE */
/* ================================= */

.rodape-site {
    background: #ffffff;
    border-top: 1px solid #eeeeee;
    margin-top: 1px;
}

.endereco-mapa {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    padding: 14px 18px;

    border-radius: 16px;

    background: #f8f9fa;

    color: #212529;

    text-decoration: none;

    max-width: 100%;

    transition: all 0.4s ease;
}

.endereco-mapa:hover {
    background: #f1f3f5;

    transform: translateY(-2px);

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.icone-endereco {
    width: 60px;
    height: 60px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #eeeeee;

    font-size: 22px;
}

.endereco-conteudo {
    display: flex;
    flex-direction: column;

    text-align: left;

    line-height: 1.3;
}

.endereco-conteudo strong {
    font-size: 14px;
    margin-bottom: 3px;
}

.endereco-conteudo small {
    color: #515960;
}

.ver-mapa {
    margin-top: 5px;

    font-size: 12px;

    font-weight: 600;

    color: #555;
}

.telefone-rodape {
    margin-top: 10px;

    font-size: 13px;

    color: #6c757d;
}

.telefone-rodape i {
    margin-right: 4px;
}


/* ================================= */
/* WHATSAPP FLUTUANTE */
/* ================================= */

.whatsapp-flutuante {
    position: fixed;

    right: 20px;
    bottom: 20px;

    height: 58px;
    min-width: 58px;

    padding: 0 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    border-radius: 30px;

    background: #25D366;
    color: #ffffff;

    text-decoration: none;

    font-size: 25px;

    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.20);

    z-index: 9999;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.whatsapp-flutuante:hover {
    color: #ffffff;

    transform: translateY(-3px);

    box-shadow: 0 9px 25px rgba(0, 0, 0, 0.25);
}

.whatsapp-flutuante span {
    font-size: 14px;
    font-weight: 600;
}


/* ================================= */
/* CELULAR */
/* ================================= */

@media (max-width: 576px) {

    .endereco-mapa {
        width: 100%;
        justify-content: flex-start;
    }

    .whatsapp-flutuante {
        right: 16px;
        bottom: 16px;

        width: 58px;
        min-width: 58px;

        padding: 0;

        border-radius: 50%;
    }

    .whatsapp-flutuante span {
        display: none;
    }

}
.btn-admin {
    border-radius: 20px;
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 500;
}