/* Visual premium – tema malva (mauve) – suave e acolhedor */
:root {
    --premium-bg: #2d2438;
    --premium-surface: #382e48;
    --premium-card: #423858;
    --premium-cream: #f5f0f5;
    --premium-gold: #d4b896;
    --premium-gold-soft: #e2cba8;
    --premium-text: #ebe6ed;
    --premium-muted: #b8aec4;
    --premium-border: rgba(212, 184, 150, 0.4);
    --premium-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

body {
    background: var(--premium-bg) !important;
    color: var(--premium-text) !important;
}

body .container {
    position: relative;
}

/* Nome da marca e PSI no header – tema premium, só dourado, sem hover */
body header .logo-link {
    color: var(--premium-gold) !important;
    font-size: 1.4rem !important;
}
body header .logo-link:hover {
    color: var(--premium-gold) !important;
}
body header .logo-psi {
    color: var(--premium-gold) !important;
}
body header .logo-link:hover .logo-psi {
    color: var(--premium-gold) !important;
}
body header .logo-crp {
    color: var(--premium-gold) !important;
    font-size: 0.7rem !important;
}
body header .logo-link:hover .logo-crp {
    color: var(--premium-gold) !important;
}

/* Header na home premium */
body header {
    background: rgba(45, 36, 56, 0.97) !important;
    border-bottom: 1px solid var(--premium-border) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25) !important;
}

body .nav-menu a {
    color: var(--premium-muted) !important;
}

body .nav-menu a:hover {
    color: var(--premium-gold) !important;
    background: rgba(196, 165, 116, 0.1) !important;
}

body .nav-menu a.ativa {
    color: var(--premium-gold) !important;
    background: rgba(196, 165, 116, 0.15) !important;
}

body .nav-menu .nav-cta {
    background: var(--premium-gold) !important;
    color: #2d2438 !important;
}

body .nav-menu .nav-cta:hover {
    background: var(--premium-gold-soft) !important;
    color: #2d2438 !important;
}

body .nav-dropdown-trigger {
    color: var(--premium-muted) !important;
}
body .nav-dropdown-trigger:hover {
    color: var(--premium-gold) !important;
    background: rgba(196, 165, 116, 0.1) !important;
}
body .nav-dropdown {
    background: var(--premium-surface) !important;
    border-color: var(--premium-border) !important;
}
body .nav-dropdown a {
    color: var(--premium-text) !important;
}
body .nav-dropdown a:hover {
    background: rgba(196, 165, 116, 0.1) !important;
    color: var(--premium-gold) !important;
}

body .nav-toggle {
    background: var(--premium-card) !important;
    border-color: var(--premium-border) !important;
}

body .nav-toggle span {
    background: var(--premium-gold) !important;
}

/* Hero premium */
body .hero {
    padding: 4rem 0 6rem !important;
    position: relative;
}

body .hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--premium-gold), transparent);
    opacity: 0.5;
}

body .hero-subtitle {
    color: var(--premium-gold) !important;
    letter-spacing: 3px !important;
    font-size: 0.7rem !important;
    margin-bottom: 1.25rem !important;
}

body .hero-title {
    color: var(--premium-cream) !important;
    font-size: clamp(2.2rem, 4.5vw, 3.5rem) !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    max-width: 14ch;
}

body .hero-description {
    color: var(--premium-muted) !important;
    font-size: 1.1rem !important;
    line-height: 1.75 !important;
    max-width: 420px !important;
}

body .hero-meta {
    color: var(--premium-muted) !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.5px !important;
}

body .hero .btn {
    background: var(--premium-gold) !important;
    color: #2d2438 !important;
    border-color: var(--premium-gold) !important;
    padding: 1rem 2.25rem !important;
    letter-spacing: 0.08em !important;
}

body .hero .btn:hover {
    background: var(--premium-gold-soft) !important;
    border-color: var(--premium-gold-soft) !important;
    color: #2d2438 !important;
}

body .hero-image-wrapper {
    border: 3px solid var(--premium-gold) !important;
    box-shadow: var(--premium-shadow), 0 0 0 1px rgba(196, 165, 116, 0.2) !important;
}

/* Linha decorativa “premium” */
body .hero-layout > div:first-child {
    position: relative;
}

body .hero-layout > div:first-child::after {
    content: 'Atendimento de excelência';
    display: block;
    margin-top: 2rem;
    font-size: 0.7rem;
    letter-spacing: 3px;
    color: var(--premium-gold);
    opacity: 0.9;
}

/* Seção serviços – cards premium */
body .servicos-links {
    background: var(--premium-surface) !important;
    padding: 5rem 0 !important;
    border-top: 1px solid var(--premium-border);
}

body .servicos-links .section-title {
    color: var(--premium-cream) !important;
    font-size: 1.75rem !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 2.5rem !important;
}

body .servico-link {
    background: var(--premium-card) !important;
    border: 1px solid var(--premium-border) !important;
    color: var(--premium-text) !important;
    padding: 2.25rem !important;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s !important;
}

body .servico-link:hover {
    border-color: var(--premium-gold) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
    transform: translateY(-2px) !important;
}

body .servico-link h3 {
    color: var(--premium-gold) !important;
    font-size: 1.15rem !important;
}

body .servico-link p {
    color: var(--premium-muted) !important;
    font-size: 0.9rem !important;
}

/* Bloco conteúdo das páginas (.pagina) */
body .pagina {
    padding: 4rem 0 6rem !important;
}

body .pagina h1 {
    color: var(--premium-cream) !important;
}

body .pagina .lead {
    color: var(--premium-muted) !important;
}

body .pagina .section-title {
    color: var(--premium-cream) !important;
}

body .pagina p,
body .pagina .conteudo p {
    color: var(--premium-muted) !important;
}

body .pagina .conteudo h2 {
    color: var(--premium-gold) !important;
}

body .pagina .conteudo ul,
body .pagina .conteudo li {
    color: var(--premium-muted) !important;
}

body .pagina .btn {
    background: var(--premium-gold) !important;
    color: #2d2438 !important;
    border-color: var(--premium-gold) !important;
}

body .pagina .btn:hover {
    background: var(--premium-gold-soft) !important;
    border-color: var(--premium-gold-soft) !important;
    color: #2d2438 !important;
}

body .pagina .btn-outline {
    background: transparent !important;
    color: var(--premium-gold) !important;
    border-color: var(--premium-gold) !important;
}

body .pagina .btn-outline:hover {
    background: rgba(196, 165, 116, 0.15) !important;
    color: var(--premium-gold-soft) !important;
    border-color: var(--premium-gold-soft) !important;
}

body .pagina .aviso {
    color: var(--premium-muted) !important;
    border-top-color: var(--premium-border) !important;
}

body .pagina .consultorio-fotos img {
    border: 1px solid var(--premium-border);
}

body .pagina .sobre-foto {
    border-color: var(--premium-gold) !important;
}

/* Footer na home premium */
body footer {
    background: var(--premium-surface) !important;
    border-top: 1px solid var(--premium-border);
    margin-top: 4rem !important;
}

body .footer-brand h3,
body .footer-col h4 {
    color: var(--premium-cream) !important;
}

body .footer-brand .footer-subtitle {
    color: var(--premium-muted) !important;
}
body .footer-brand p,
body .footer-links li {
    color: var(--premium-muted) !important;
}

body .footer-links a {
    color: var(--premium-muted) !important;
}

body .footer-links a:hover {
    color: var(--premium-gold) !important;
}

body .footer-bottom {
    border-top-color: var(--premium-border) !important;
    color: var(--premium-muted) !important;
}

/* WhatsApp flutuante – discreto no tema escuro */
body .wa-float {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4) !important;
}

/* Mobile menu overlay quando premium */
body .nav-overlay.is-open {
    background: rgba(0, 0, 0, 0.7) !important;
}

@media (max-width: 1024px) {
    body .nav-menu {
        background: var(--premium-surface) !important;
        box-shadow: -8px 0 40px rgba(0, 0, 0, 0.5) !important;
    }
    body .nav-menu a {
        border-bottom-color: var(--premium-border) !important;
    }
}

@media (max-width: 900px) {
    body .hero {
        padding: 3rem 0 4rem !important;
    }
}
