/* =====================================================================
   Divina Cosmos — design system (R2, 28/10/2026)
   Camada por cima do tema antigo (Bootstrap 3 + skin.css): só aparência, nenhuma lógica.
   Tudo limitado a html.tema-dc (classe no <html>, posta em cabecalho.php: o script antigo do tema apaga as classes do <body>). Para reverter: retirar o <link>.
   ===================================================================== */

html.tema-dc {
    --dc-noite: #0F1B33;
    --dc-noite-2: #16264A;
    --dc-ouro: #C9A45C;
    --dc-ouro-texto: #8A6A2F;
    --dc-marfim: #F7F1E6;
    --dc-marfim-2: #EFE6D4;
    --dc-linha: #E6DCC8;
    --dc-texto: #1C2233;
    --dc-texto-2: #5E6577;
    --dc-branco: #FFFFFF;
    --dc-verde: #1F8A55;   --dc-verde-fundo: #E3F2E9; --dc-verde-texto: #145C38;
    --dc-ambar: #C46A1A;   --dc-ambar-fundo: #FBEBD9; --dc-ambar-texto: #8A4B12;
    --dc-cinza: #6B7280;   --dc-cinza-fundo: #ECEDF0; --dc-cinza-texto: #4A5060;
    --dc-raio: 20px;
    --dc-raio-p: 12px;
    --dc-sombra: 0 10px 30px rgba(15, 27, 51, .08);
    --dc-sombra-forte: 0 16px 40px rgba(15, 27, 51, .14);
    --dc-titulo: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --dc-texto-fonte: 'Mulish', 'Segoe UI', Arial, sans-serif;

}
html.tema-dc body {
    background: var(--dc-marfim) !important;
    color: var(--dc-texto) !important;
    font-family: var(--dc-texto-fonte) !important;
    -webkit-font-smoothing: antialiased;
}

/* ---------- Tipografia ---------- */
html.tema-dc h1, html.tema-dc h2, html.tema-dc h3,
html.tema-dc .section-heading h2, html.tema-dc .card-title {
    font-family: var(--dc-titulo) !important;
    color: var(--dc-noite) !important;
    font-weight: 600 !important;
    letter-spacing: .2px;
}
html.tema-dc h4, html.tema-dc h5, html.tema-dc h6 { font-family: var(--dc-texto-fonte) !important; color: var(--dc-noite); }
html.tema-dc p, html.tema-dc li, html.tema-dc label, html.tema-dc input, html.tema-dc select, html.tema-dc textarea, html.tema-dc button {
    font-family: var(--dc-texto-fonte) !important;
}
html.tema-dc .section-heading h2 { font-size: 40px !important; text-transform: none !important; }
html.tema-dc .section-heading h1, html.tema-dc .section-heading h2 { font-size: 40px !important; text-transform: none !important; }
html.tema-dc .section-heading h1 span, html.tema-dc .section-heading h1 small, html.tema-dc .section-heading h2 span, html.tema-dc .section-heading h2 small {
    color: var(--dc-noite) !important; text-transform: none !important; font-family: var(--dc-titulo) !important;
}
html.tema-dc .subheading { color: var(--dc-texto-2) !important; font-style: normal !important; font-size: 16px !important; }
html.tema-dc a { color: var(--dc-ouro-texto); }
html.tema-dc a:hover, html.tema-dc a:focus { color: var(--dc-noite); }
html.tema-dc .subheading a span { color: var(--dc-ouro-texto) !important; text-decoration: underline; text-underline-offset: 3px; }
html.tema-dc hr { border-color: var(--dc-linha) !important; }

/* ---------- Menu ---------- */
html.tema-dc .navbar, html.tema-dc .navbar-inverse, html.tema-dc header {
    background: rgba(255, 253, 248, .97) !important;
    border: 0 !important;
}
html.tema-dc .navbar { box-shadow: 0 1px 0 var(--dc-linha) !important; }
html.tema-dc #navbar .nav > li > a {
    color: var(--dc-noite) !important;
    font-family: var(--dc-texto-fonte) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: .2px;
    text-transform: none !important;
    border-radius: 999px;
    transition: background .2s, color .2s;
}
html.tema-dc #navbar .nav > li > a:hover, html.tema-dc #navbar .nav > li > a:focus {
    background: var(--dc-marfim-2) !important;
    color: var(--dc-noite) !important;
}
html.tema-dc #navbar .nav > li.active > a {
    color: var(--dc-noite) !important;
    background: transparent !important;
    border-bottom: 2px solid var(--dc-ouro) !important;
    box-shadow: none !important;
    border-radius: 0;
}
html.tema-dc #navbar .nav > li > a { border-bottom-color: transparent; }
html.tema-dc #navbar .nav > li > a:hover { border-bottom-color: var(--dc-linha) !important; }
html.tema-dc #navbar .dropdown-menu {
    border: 1px solid var(--dc-linha) !important;
    border-radius: var(--dc-raio-p) !important;
    box-shadow: var(--dc-sombra) !important;
    padding: 8px !important;
}
html.tema-dc #navbar .dropdown-menu > li > a { color: var(--dc-noite) !important; border-radius: 8px; padding: 9px 14px !important; }
html.tema-dc #navbar .dropdown-menu > li > a:hover { background: var(--dc-marfim) !important; }
html.tema-dc .navbar-toggle { border-color: var(--dc-noite) !important; border-radius: 10px !important; }
html.tema-dc .navbar-toggle .icon-bar { background: var(--dc-noite) !important; }

/* ---------- Botões ---------- */
html.tema-dc .btn { border-radius: var(--dc-raio-p) !important; font-weight: 700 !important; font-family: var(--dc-texto-fonte) !important; transition: background .2s, color .2s, box-shadow .2s; }
html.tema-dc .btn-primary, html.tema-dc .btn-warning {
    background: var(--dc-noite) !important; border-color: var(--dc-noite) !important; color: var(--dc-marfim) !important;
}
html.tema-dc .btn-primary:hover, html.tema-dc .btn-warning:hover, html.tema-dc .btn-primary:focus { background: var(--dc-noite-2) !important; border-color: var(--dc-noite-2) !important; color: #fff !important; }
html.tema-dc .btn-default, html.tema-dc .btn-secondary {
    background: var(--dc-branco) !important; color: var(--dc-noite) !important; border: 1px solid var(--dc-noite) !important;
}
html.tema-dc .btn-default:hover, html.tema-dc .btn-secondary:hover { background: var(--dc-marfim-2) !important; }
html.tema-dc .btn:focus-visible, html.tema-dc a:focus-visible, html.tema-dc button:focus-visible {
    outline: 3px solid var(--dc-ouro) !important; outline-offset: 2px;
}

/* ---------- Cartões dos consultores ---------- */
html.tema-dc .card {
    background: var(--dc-branco) !important;
    border: 1px solid var(--dc-linha) !important;
    border-radius: var(--dc-raio) !important;
    box-shadow: var(--dc-sombra) !important;
    padding: 22px 20px !important;
}
html.tema-dc .card:hover { transform: translateY(-3px); box-shadow: var(--dc-sombra-forte) !important; }
@media (prefers-reduced-motion: reduce) { html.tema-dc .card, html.tema-dc .card:hover { transform: none !important; transition: none !important; } }
html.tema-dc .card img {
    border: 3px solid var(--dc-branco);
    box-shadow: 0 0 0 2px var(--dc-ouro), 0 8px 18px rgba(15, 27, 51, .15) !important;
}
html.tema-dc .card .language-icons img { border: 0 !important; box-shadow: none !important; }
html.tema-dc .card-title { font-size: 26px !important; margin: 4px 0 8px !important; }
html.tema-dc .card-text { color: var(--dc-texto-2) !important; font-size: 15px !important; }

/* Estados: cor + forma do ponto + texto (não só cor) */
html.tema-dc .status {
    display: inline-flex !important; align-items: center; gap: 7px;
    padding: 6px 13px; margin: 0 auto 10px !important;
    border-radius: 999px; font-size: 13px !important; font-weight: 700 !important;
    font-family: var(--dc-texto-fonte) !important; line-height: 1.2;
}
html.tema-dc .status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; box-sizing: border-box; flex: none; }
html.tema-dc .card .status.disponivel, html.tema-dc .status.disponivel { background: var(--dc-verde-fundo) !important; color: var(--dc-verde-texto) !important; }
html.tema-dc .status.disponivel::before { background: var(--dc-verde); box-shadow: 0 0 0 3px rgba(31, 138, 85, .18); }
html.tema-dc .card .status.ocupado, html.tema-dc .status.ocupado { background: var(--dc-ambar-fundo) !important; color: var(--dc-ambar-texto) !important; }
html.tema-dc .status.ocupado::before { background: var(--dc-ambar); }
html.tema-dc .card .status.indisponivel, html.tema-dc .status.indisponivel,
html.tema-dc .card .status.sem-status, html.tema-dc .status.sem-status { background: var(--dc-cinza-fundo) !important; color: var(--dc-cinza-texto) !important; }
html.tema-dc .status.indisponivel::before, html.tema-dc .status.sem-status::before { border: 2px solid var(--dc-cinza); background: transparent; }
@media (prefers-reduced-motion: no-preference) {
    html.tema-dc .status.disponivel::before { animation: dc-pulso 2.4s ease-in-out infinite; }
}
@keyframes dc-pulso { 0%, 100% { box-shadow: 0 0 0 3px rgba(31, 138, 85, .18); } 50% { box-shadow: 0 0 0 6px rgba(31, 138, 85, .06); } }

/* Avaliações */
html.tema-dc .stars, html.tema-dc .stars .fa-star, html.tema-dc .stars .text-warning { color: var(--dc-ouro) !important; }
html.tema-dc .stars span, html.tema-dc .text-secondary { color: var(--dc-texto-2) !important; font-size: 14px !important; }

/* Preços por canal */
html.tema-dc .icons button, html.tema-dc .btn-consulta {
    text-transform: none !important;
    background: var(--dc-branco) !important;
    color: var(--dc-noite) !important;
    border: 1px solid var(--dc-linha) !important;
    border-radius: var(--dc-raio-p) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 10px !important;
}
html.tema-dc .icons button i, html.tema-dc .btn-consulta i { color: var(--dc-ouro-texto) !important; margin-right: 4px; }
html.tema-dc .icons button:hover, html.tema-dc .btn-consulta:hover { background: var(--dc-marfim) !important; border-color: var(--dc-ouro) !important; }
html.tema-dc .icons button:disabled, html.tema-dc .btn-consulta:disabled, html.tema-dc .btn-consulta.disabled {
    opacity: 1 !important; background: #FBF8F2 !important; color: var(--dc-texto-2) !important; cursor: not-allowed;
}
html.tema-dc .perfil-button {
    background: var(--dc-noite) !important; color: var(--dc-marfim) !important;
    border-radius: var(--dc-raio-p) !important; font-weight: 700 !important; font-size: 15px !important; padding: 12px !important;
}
html.tema-dc .perfil-button:hover { background: var(--dc-noite-2) !important; color: #fff !important; }

/* ---------- Formulários ---------- */
html.tema-dc .form-control, html.tema-dc input[type=text], html.tema-dc input[type=email], html.tema-dc input[type=password], html.tema-dc input[type=tel], html.tema-dc select, html.tema-dc textarea {
    border-radius: var(--dc-raio-p) !important; border: 1px solid #D8CDB6 !important; background: var(--dc-branco);
    color: var(--dc-texto); box-shadow: none !important; font-size: 16px;
}
html.tema-dc .form-control:focus, html.tema-dc input:focus, html.tema-dc select:focus, html.tema-dc textarea:focus {
    border-color: var(--dc-ouro) !important; box-shadow: 0 0 0 3px rgba(201, 164, 92, .25) !important; outline: 0;
}
html.tema-dc .modal-content { border-radius: var(--dc-raio) !important; border: 0 !important; box-shadow: var(--dc-sombra-forte) !important; }
html.tema-dc .alert { border-radius: var(--dc-raio-p) !important; }

/* ---------- Rodapé ---------- */
html.tema-dc .at-footer { background: var(--dc-noite) !important; border-top: 1px solid rgba(201, 164, 92, .35) !important; }
html.tema-dc .at-footer-brand strong { font-family: var(--dc-titulo) !important; font-size: 28px !important; font-weight: 600 !important; color: var(--dc-marfim) !important; }
html.tema-dc .at-footer a { color: #E8DFCB !important; }
html.tema-dc .at-footer a:hover { color: var(--dc-ouro) !important; }
html.tema-dc .at-copyright { color: rgba(247, 241, 230, .7) !important; }
html.tema-dc .at-footer-brand span { color: rgba(247, 241, 230, .78) !important; }
html.tema-dc .at-footer-contact i, html.tema-dc .footer-social a i { color: var(--dc-ouro) !important; }
html.tema-dc .footer-social a { border: 1px solid rgba(201, 164, 92, .35) !important; }
html.tema-dc .footer-social a:hover { background: rgba(201, 164, 92, .15) !important; }

/* Painel antigo de cores do tema (demonstração do template): escondido */
html.tema-dc #panel { display: none !important; }

/* ---------- Telemóvel ---------- */
@media (max-width: 767px) {
    html.tema-dc .section-heading h2 { font-size: 32px !important; }
    html.tema-dc #navbar { background: #FFFDF8 !important; border-top: 1px solid var(--dc-linha) !important; }
    html.tema-dc #navbar .nav > li > a { padding: 12px 16px !important; font-size: 16px !important; }
    html.tema-dc #navbar .nav > li.active > a { border-bottom: 0 !important; box-shadow: inset 3px 0 0 var(--dc-ouro) !important; }
}

/* O skin antigo pinta de laranja todos os span e i (body.orange span / body.orange i): passam a herdar a cor do texto */
html.tema-dc body.orange span, html.tema-dc body.orange i { color: inherit; }


/* =====================================================================
   R3 — Página inicial: bloco principal e "como funciona"
   ===================================================================== */
html.tema-dc .dc-hero {
    background: radial-gradient(1200px 400px at 85% -10%, rgba(201, 164, 92, .18), transparent 60%), var(--dc-noite);
    color: var(--dc-marfim);
    padding: 64px 20px 72px;
}
html.tema-dc .dc-hero-inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: center; }
html.tema-dc .dc-hero-sobre { display: inline-block; color: var(--dc-ouro) !important; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 16px; }
html.tema-dc .dc-hero h1 { color: var(--dc-marfim) !important; font-size: 52px !important; line-height: 1.08 !important; margin: 0 0 18px !important; }
html.tema-dc .dc-hero-frase { color: #D9D3C7 !important; font-size: 18px !important; line-height: 1.7 !important; max-width: 560px; margin: 0 0 26px !important; }
html.tema-dc .dc-hero-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
html.tema-dc .dc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 999px; font-weight: 700; font-size: 16px; text-decoration: none !important; transition: background .2s, color .2s, border-color .2s; }
html.tema-dc .dc-btn-ouro { background: var(--dc-ouro); color: var(--dc-noite) !important; }
html.tema-dc .dc-btn-ouro:hover { background: #D8B872; color: var(--dc-noite) !important; }
html.tema-dc .dc-btn-contorno { border: 1px solid rgba(247, 241, 230, .45); color: var(--dc-marfim) !important; }
html.tema-dc .dc-btn-contorno:hover { border-color: var(--dc-ouro); color: var(--dc-ouro) !important; }
html.tema-dc .dc-hero-agora { color: #D9D3C7 !important; font-size: 15px !important; display: flex; align-items: center; gap: 10px; margin: 0 !important; }
html.tema-dc .dc-ponto { width: 10px; height: 10px; border-radius: 50%; background: #34C27A !important; box-shadow: 0 0 0 4px rgba(52, 194, 122, .2); flex: none; }
html.tema-dc .dc-hero-canais { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
html.tema-dc .dc-hero-canais li { background: var(--dc-noite-2); border: 1px solid rgba(201, 164, 92, .28); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
html.tema-dc .dc-hero-canais i { color: var(--dc-ouro) !important; font-size: 22px; margin-bottom: 4px; }
html.tema-dc .dc-hero-canais strong { font-family: var(--dc-titulo); font-size: 24px; font-weight: 600; color: var(--dc-marfim); }
html.tema-dc .dc-hero-canais span { color: #B9B3A6 !important; font-size: 14px; line-height: 1.45; }

html.tema-dc .dc-passos { max-width: 1140px; margin: -30px auto 40px; padding: 0 20px; position: relative; }
html.tema-dc .dc-passos ol { list-style: none; margin: 0; padding: 22px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; background: var(--dc-branco); border: 1px solid var(--dc-linha); border-radius: var(--dc-raio); box-shadow: var(--dc-sombra); }
html.tema-dc .dc-passos li { display: flex; gap: 14px; align-items: flex-start; }
html.tema-dc .dc-passo-n { flex: none; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--dc-ouro); color: var(--dc-ouro-texto) !important; font-family: var(--dc-titulo); font-size: 22px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
html.tema-dc .dc-passos strong { font-size: 16px; color: var(--dc-noite); }
html.tema-dc .dc-passos p { margin: 4px 0 0 !important; color: var(--dc-texto-2) !important; font-size: 14px !important; line-height: 1.5; }

@media (max-width: 991px) {
    html.tema-dc .dc-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    html.tema-dc .dc-hero h1 { font-size: 42px !important; }
}
@media (max-width: 767px) {
    html.tema-dc .dc-hero { padding: 44px 16px 56px; }
    html.tema-dc .dc-hero h1 { font-size: 34px !important; }
    html.tema-dc .dc-hero-frase { font-size: 16px !important; }
    html.tema-dc .dc-hero-acoes .dc-btn { flex: 1 1 100%; }
    html.tema-dc .dc-hero-canais { gap: 10px; }
    html.tema-dc .dc-hero-canais li { padding: 14px; }
    html.tema-dc .dc-hero-canais strong { font-size: 20px; }
    html.tema-dc .dc-passos { margin-top: -24px; padding: 0 12px; }
    html.tema-dc .dc-passos ol { grid-template-columns: minmax(0, 1fr); }
}


/* =====================================================================
   R4 — Perfil do consultor (perfil_consultor.php, Bootstrap 5) e cartões
   ===================================================================== */
html.tema-dc .dc-topo { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; max-width: 1140px; margin: 0 auto; padding: 14px 20px; }
html.tema-dc .dc-topo-marca img { height: 48px; width: auto; }
html.tema-dc .dc-topo-links { display: flex; gap: 6px; flex-wrap: wrap; }
html.tema-dc .dc-topo-links a { color: var(--dc-noite) !important; text-decoration: none; font-weight: 600; font-size: 14px; padding: 9px 14px; border-radius: 999px; }
html.tema-dc .dc-topo-links a:hover { background: var(--dc-marfim-2); }
html.tema-dc .dc-topo-links i { color: var(--dc-ouro-texto); margin-right: 4px; }

html.tema-dc .page { background: var(--dc-branco) !important; border: 1px solid var(--dc-linha) !important; border-radius: 24px !important; box-shadow: var(--dc-sombra) !important; overflow: hidden; }
html.tema-dc .perfil-img { object-fit: cover; }
html.tema-dc .h1-name { font-family: var(--dc-titulo) !important; font-size: 44px !important; font-weight: 600 !important; color: var(--dc-noite) !important; line-height: 1.05; }
html.tema-dc .subtle, html.tema-dc .page p { color: var(--dc-texto-2); }

/* Estado no perfil (mesma linguagem dos cartões) */
html.tema-dc .badge-status { display: inline-flex !important; align-items: center; gap: 7px; padding: 6px 13px !important; border-radius: 999px !important; font-size: 13px !important; font-weight: 700 !important; border: 0 !important; }
html.tema-dc .badge-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; box-sizing: border-box; flex: none; }
html.tema-dc .badge-status.ok { background: var(--dc-verde-fundo) !important; color: var(--dc-verde-texto) !important; }
html.tema-dc .badge-status.ok::before { background: var(--dc-verde); box-shadow: 0 0 0 3px rgba(31, 138, 85, .18); }
html.tema-dc .badge-status.busy { background: var(--dc-ambar-fundo) !important; color: var(--dc-ambar-texto) !important; }
html.tema-dc .badge-status.busy::before { background: var(--dc-ambar); }
html.tema-dc .badge-status.off, html.tema-dc .badge-status.na { background: var(--dc-cinza-fundo) !important; color: var(--dc-cinza-texto) !important; }
html.tema-dc .badge-status.off::before, html.tema-dc .badge-status.na::before { border: 2px solid var(--dc-cinza); background: transparent; }

/* Botões de serviço (chat, email, vídeo, telefone, "saber mais") */
html.tema-dc .btn-service {
    background: var(--dc-branco) !important; color: var(--dc-noite) !important;
    border: 1px solid var(--dc-linha) !important; border-radius: var(--dc-raio-p) !important;
    font-weight: 700 !important; font-size: 15px !important; min-height: 46px;
    box-shadow: none !important; transition: background .2s, border-color .2s;
}
html.tema-dc .btn-service i { color: var(--dc-ouro-texto) !important; }
html.tema-dc .btn-service:hover { background: var(--dc-marfim) !important; border-color: var(--dc-ouro) !important; color: var(--dc-noite) !important; }
html.tema-dc .btn-service[disabled] { background: #FBF8F2 !important; color: #8C93A3 !important; border-color: var(--dc-linha) !important; opacity: 1 !important; cursor: not-allowed; }
html.tema-dc .btn-service[disabled] i { color: #B8AE98 !important; }

html.tema-dc .stars .fa-star { color: var(--dc-ouro) !important; }
html.tema-dc .section-title { font-family: var(--dc-titulo) !important; font-size: 30px !important; font-weight: 600 !important; color: var(--dc-noite) !important; }

/* Terapias e depoimentos */
html.tema-dc .therapy-item { background: var(--dc-marfim) !important; border: 1px solid var(--dc-linha) !important; border-left: 1px solid var(--dc-linha) !important; border-radius: 16px !important; }
html.tema-dc .therapy-item img { border-radius: 12px !important; }
html.tema-dc .review-card { background: var(--dc-branco) !important; border: 1px solid var(--dc-linha) !important; border-radius: 16px !important; box-shadow: none !important; }
html.tema-dc .filters-bar select { border-radius: var(--dc-raio-p) !important; }
html.tema-dc .pagination .page-link { color: var(--dc-noite) !important; border-color: var(--dc-linha) !important; }
html.tema-dc .pagination .page-item.active .page-link { background: var(--dc-noite) !important; border-color: var(--dc-noite) !important; color: var(--dc-marfim) !important; }

/* Partilhar */
html.tema-dc .share-btn { border-radius: 999px !important; font-weight: 600 !important; }
html.tema-dc .share-btn.copy { background: var(--dc-branco) !important; color: var(--dc-noite) !important; border: 1px solid var(--dc-linha) !important; }
html.tema-dc #shareLink { border-radius: var(--dc-raio-p) !important; border: 1px solid var(--dc-linha) !important; }

/* Disponibilidade / calendário */
html.tema-dc .disponibilidade-section { background: var(--dc-marfim) !important; border: 1px solid var(--dc-linha) !important; border-radius: var(--dc-raio) !important; box-shadow: none !important; }
html.tema-dc .disponibilidade-titulo { font-family: var(--dc-titulo) !important; font-size: 30px !important; color: var(--dc-noite) !important; }
html.tema-dc .calendario-wrapper { background: var(--dc-branco) !important; border: 1px solid var(--dc-linha) !important; border-radius: 16px !important; }
html.tema-dc .calendario-header { color: var(--dc-noite) !important; font-family: var(--dc-titulo) !important; font-size: 22px !important; }
html.tema-dc .cal-celula { border-radius: 10px !important; }
html.tema-dc .cal-passado, html.tema-dc .cal-sem-horario { background: #F1EDE4 !important; color: #8C93A3 !important; }
html.tema-dc .cal-disponivel { background: var(--dc-branco) !important; color: var(--dc-noite) !important; border: 1px solid var(--dc-ouro) !important; font-weight: 700 !important; }
html.tema-dc .cal-disponivel:hover { background: var(--dc-noite) !important; color: var(--dc-marfim) !important; }
html.tema-dc .cal-hoje { box-shadow: 0 0 0 2px var(--dc-noite) inset !important; }
html.tema-dc .slot-btn { background: var(--dc-branco) !important; color: var(--dc-noite) !important; border: 1px solid var(--dc-noite) !important; border-radius: 999px !important; font-weight: 700 !important; }
html.tema-dc .slot-btn:hover { background: var(--dc-noite) !important; color: var(--dc-marfim) !important; }
html.tema-dc .badge-hoje { background: var(--dc-ouro) !important; color: var(--dc-noite) !important; }

@media (max-width: 767px) {
    html.tema-dc .h1-name { font-size: 36px !important; }
    html.tema-dc .dc-topo { padding: 10px 12px; }
    html.tema-dc .dc-topo-links a { padding: 8px 10px; font-size: 13px; }
}
html.tema-dc .share-btn, html.tema-dc .share-btn i { color: #FFFFFF !important; }
html.tema-dc .share-btn.copy, html.tema-dc .share-btn.copy i { color: var(--dc-noite) !important; }
html.tema-dc .cal-sem-horario { background: var(--dc-branco) !important; color: var(--dc-texto-2) !important; border: 1px solid var(--dc-linha) !important; }
html.tema-dc .cal-passado { background: #F1EDE4 !important; color: #A3A9B6 !important; border: 0 !important; }
@media (max-width: 991px) { html.tema-dc .share-box { padding-left: 16px !important; padding-right: 16px !important; flex-wrap: wrap; } }


/* =====================================================================
   R8 — Login e registo (sistema/index.php, Bootstrap 4) — Divina Cosmos
   ===================================================================== */
html.tema-dc .login-block { min-height: 100vh; display: flex; align-items: center; padding: 24px 0; margin-top: 0 !important; }
html.tema-dc .login-block > .container-fluid > .row { max-width: 1080px; margin: 0 auto; background: var(--dc-branco); border-radius: 24px; overflow: hidden; box-shadow: var(--dc-sombra-forte); }
html.tema-dc .login-sec { padding: 40px 36px !important; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
html.tema-dc .login-marca img { height: 56px; width: auto; }
html.tema-dc .login-titulo { font-family: var(--dc-titulo) !important; font-size: 34px !important; font-weight: 600; color: var(--dc-noite) !important; margin: 14px 0 18px; }
html.tema-dc .label-input100 { font-weight: 700; font-size: 14px; color: var(--dc-noite); margin: 10px 0 6px; display: block; }
html.tema-dc .input100 { width: 100%; border: 1px solid #D8CDB6 !important; border-radius: var(--dc-raio-p) !important; padding: 12px 14px !important; font-size: 16px !important; background: #FFFFFF; height: auto !important; }
html.tema-dc .input100:focus { border-color: var(--dc-ouro) !important; box-shadow: 0 0 0 3px rgba(201, 164, 92, .25); outline: 0; }
html.tema-dc .focus-input100 { display: none !important; }
html.tema-dc .wrap-input100 { border: 0 !important; margin-bottom: 4px; }
html.tema-dc .login-entrar, html.tema-dc .login-sec .btn-primary { width: 100%; min-height: 48px; margin-top: 18px; background: var(--dc-noite) !important; border-color: var(--dc-noite) !important; border-radius: 999px !important; font-size: 16px !important; }
html.tema-dc .login-sec .copy-text { margin-top: 14px; text-align: center; }
html.tema-dc .login-sec .copy-text a, html.tema-dc .login-sec .text-danger { color: var(--dc-ouro-texto) !important; position: static !important; }
html.tema-dc .login-sec .text-primary { color: var(--dc-noite) !important; font-weight: 700; text-decoration: underline; }
html.tema-dc .banner-sec, html.tema-dc .login-block .col-md-8 { padding: 0 !important; }
html.tema-dc .login-block .col-md-8 img, html.tema-dc .banner-sec img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; border-radius: 0 !important; }
html.tema-dc .container { box-shadow: none !important; }
html.tema-dc .modal-header .modal-title { font-family: var(--dc-titulo) !important; font-size: 26px; }
html.tema-dc .modal .btn-primary { background: var(--dc-noite) !important; border-color: var(--dc-noite) !important; }
@media (max-width: 767px) {
    html.tema-dc .login-block { align-items: flex-start; padding: 0; }
    html.tema-dc .login-block > .container-fluid > .row { border-radius: 0; box-shadow: none; }
    html.tema-dc .login-sec { padding: 28px 20px !important; }
    html.tema-dc .login-block .col-md-8 { display: none; }
}
html.tema-dc .login-sec .copy-text { position: static !important; bottom: auto !important; left: auto !important; width: auto !important; order: 10; }
@media (max-width: 767px) { html.tema-dc .login-block .banner-sec { display: none !important; } }


/* =====================================================================
   R9 — Aviso de estatísticas (página inicial): cores da marca, texto legível
   ===================================================================== */
html.tema-dc .alerta { background: var(--dc-noite) !important; color: var(--dc-marfim) !important; opacity: 1 !important; font-family: var(--dc-texto-fonte) !important;
    left: 16px; right: 16px; bottom: 16px; width: auto !important; max-width: 640px; margin: 0 auto; padding: 14px 18px !important; border-radius: 16px;
    border: 1px solid rgba(201, 164, 92, .35); box-shadow: var(--dc-sombra-forte); display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: left !important; font-size: 15px; line-height: 1.45; }
html.tema-dc .alerta .botao-aceitar { flex: none; margin: 0 !important; background: var(--dc-ouro) !important; color: var(--dc-noite) !important; border-radius: 999px !important; padding: 9px 20px !important; font-weight: 700; text-decoration: none !important; }
html.tema-dc .alerta .botao-aceitar:hover { background: #D8B872 !important; }
@media (max-width: 520px) { html.tema-dc .alerta { left: 10px; right: 10px; bottom: 88px; font-size: 14px; } } /* acima do botão do WhatsApp */
