/**
 * DESIGN SYSTEM TOKENS
 * Paleta principal: #00040D · #0F1626 · #222F40 · #797F8C · #E9ECF2
 * Paleta secundária (Consultoria): ver comentário --segment-consult-* em :root
 */

:root {
    /* Referência (paleta base) */
    --palette-ink: #00040d;
    --palette-navy: #0f1626;
    --palette-slate: #222f40;
    --palette-muted: #797f8c;
    --palette-mist: #e9ecf2;

    /*
     * Paleta secundária — segmentação visual Consultoria
     * Referência neutra: #F2F2F2 · #8C8C8C · #404040 · #262626 · #0D0D0D
     * Pólo claro: --palette-mist (#E9ECF2), o mesmo “quase branco” usado em
     * fundos claros (ex.: hub / About Us na home: bg-white/95 sobre mist).
     * Os tons escuros descem até o extremo --segment-consult-ink; em secções
     * claras o sistema converge visualmente para --segment-consult-surface.
     */
    --segment-consult-surface: var(--palette-mist);
    --segment-consult-muted: #8c8c8c;
    --segment-consult-charcoal: #404040;
    --segment-consult-deep: #262626;
    --segment-consult-ink: #0d0d0d;
    --segment-consult-grid-line: rgba(140, 140, 140, 0.22);
    /* Opcional: extremos escuros → centro claro (hero, faixas, SVGs) */
    --segment-consult-converge-gradient: linear-gradient(
        90deg,
        var(--segment-consult-ink) 0%,
        var(--segment-consult-deep) 16%,
        var(--segment-consult-charcoal) 32%,
        var(--segment-consult-surface) 50%,
        var(--segment-consult-charcoal) 68%,
        var(--segment-consult-deep) 84%,
        var(--segment-consult-ink) 100%
    );

    /* Marca / interação (derivados da paleta) */
    --brand-primary: var(--palette-slate);
    --brand-primary-soft: rgba(233, 236, 242, 0.14);
    --brand-primary-hover: #343e52;
    --brand-surface: var(--palette-mist);

    /* UI por função */
    --bg-primary: var(--palette-navy);
    --bg-primary-deep: var(--palette-ink);
    --bg-primary-95: rgba(15, 22, 38, 0.95);
    --bg-secondary: var(--palette-mist);
    --bg-overlay-soft: rgba(233, 236, 242, 0.12);
    --text-primary: var(--palette-ink);
    --text-secondary: var(--palette-muted);
    --text-muted-2: var(--palette-slate);
    --text-inverse: var(--palette-ink);
    --text-on-dark: var(--palette-mist);
    /* Destaques em fundos escuros (ex.: hubs, newsletter no hero escuro) */
    --text-accent: var(--palette-mist);
    --line-decorative: var(--palette-muted);
    --icon-primary: var(--palette-muted);
    --line-soft: rgba(121, 127, 140, 0.45);

    --color-success: #22c55e;
    --color-error: #ef4444;
    --state-hover-opacity: 0.8;
    --state-pressed-opacity: 0.9;

    --font-family-main: "Gotham", "Gotham Book", Arial, sans-serif;
    --font-family-display: "Gotham", "Gotham Medium", Arial, sans-serif;
    --letter-spacing-premium: 0.02em;
    --text-h1: clamp(2rem, 3.8vw, 3.5rem);
    --text-body: clamp(0.95rem, 1.2vw, 1.125rem);
    --line-height-base: 1.6;

    --gap-standard: 24px;
    --padding-element: 16px;
    --margin-section: 64px;

    --radius-button: 2px;
    --stroke-thin: 1px;
    --icon-weight: 16px;

    --duration-fast: 300ms;
    --easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
    --anim-type: dissolve;

    --scrollbar-track: transparent;
    --scrollbar-thumb: var(--palette-muted);
    --scrollbar-thumb-hover: var(--palette-slate);
    --scroll-progress-to: rgba(233, 236, 242, 0.9);
}


/* Base */

html,
body {
    color: var(--text-primary);
    font-family: var(--font-family-main);
}

.font-sans {
    font-family: var(--font-family-main) !important;
}


/* =========================
   MAPEAMENTO GLOBAL (LEGACY/TW CLASSES)
   ========================= */

.bg-gray-200 {
    background-color: var(--bg-secondary) !important;
}

.bg-dark-600 {
    background-color: var(--bg-primary) !important;
}

.bg-primary-deep {
    background-color: var(--bg-primary-deep) !important;
}

.text-dark-600 {
    color: var(--text-primary) !important;
}

.text-white {
    color: var(--text-on-dark) !important;
}

.text-gray-100 {
    color: var(--palette-mist) !important;
}

.text-gray-400 {
    color: var(--text-secondary) !important;
}

.text-gray-500 {
    color: var(--text-muted-2) !important;
}

.text-black {
    color: var(--text-inverse) !important;
}

.text-yellow-700 {
    color: var(--text-accent) !important;
}

.bg-yellow-700 {
    background-color: var(--brand-primary) !important;
}

.bg-yellow-600 {
    background-color: var(--brand-primary-hover) !important;
}

.focus\:border-yellow-700:focus {
    border-color: var(--brand-primary) !important;
}

.border-gray-700\/50 {
    border-color: var(--line-soft) !important;
}

.bg-white\/10 {
    background-color: var(--bg-overlay-soft) !important;
}

.hover\:text-yellow-500:hover {
    color: var(--palette-muted) !important;
}

.hover\:bg-yellow-600:hover {
    background-color: var(--brand-primary-hover) !important;
}

.hover\:text-white:hover {
    color: var(--text-on-dark) !important;
}

.text-yellow-600 {
    color: var(--palette-muted) !important;
}


/* SVGs temáticos compartilhados */

.areas-triangles stop,
.footer-triangles stop {
    stop-color: var(--line-decorative);
}

/* Sobre nós hero — alinhado ao padrão setor-hero (2026-06-22). */
section#sobre-nos-hero.sobre-nos-hero-section,
section.sobre-nos-hero {
    padding-top: clamp(6rem, 9vw, 7.25rem) !important;
    padding-bottom: clamp(2.8rem, 6vw, 4rem) !important;
}
section#sobre-nos-hero.sobre-nos-hero-section .sobre-nos-hero-stack {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
section#sobre-nos-hero.sobre-nos-hero-section .sobre-nos-hero-dark-inner {
    min-height: auto !important;
    justify-content: flex-start !important;
}

/* Soluções por segmento — alinhado ao padrão setor-hero (2026-06-22). */
.solucoes-page--segmento #solucoes-hero.solucoes-hero-section {
    padding-top: clamp(6rem, 9vw, 7.25rem) !important;
    padding-bottom: clamp(2.8rem, 6vw, 4rem) !important;
}
.solucoes-page--segmento #solucoes-hero .sobre-nos-hero-dark-inner {
    min-height: auto !important;
    justify-content: flex-start !important;
}
.solucoes-page--segmento #solucoes-hero .sobre-nos-hero-stack {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: start !important;
}
section#solucoes-hero.solucoes-hero--segmento {
    padding-top: clamp(6rem, 9vw, 7.25rem) !important;
    padding-bottom: clamp(2.8rem, 6vw, 4rem) !important;
}

/* Blog (/blog/): alinhado ao padrão setor-hero (2026-06-22). */
section#blog-hero.blog-hero,
.blog-page .blog-hero {
    padding-top: clamp(6rem, 9vw, 7.25rem) !important;
    padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}
.blog-page .blog-mag {
    padding-top: 0 !important;
    padding-bottom: 2rem !important;
}
.blog-page .blog-mag__inner {
    padding-top: 0 !important;
}
.blog-page .blog-mag__featured-copy {
    flex-shrink: 0 !important;
    overflow: visible !important;
}
.blog-page .blog-mag__featured-title {
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    flex-shrink: 0 !important;
    word-break: break-word;
}
.blog-page .blog-mag__featured-copy .blog-mag__excerpt {
    flex: 0 1 auto !important;
    min-height: unset !important;
}

/* Blog post: alinhamento com container da navbar (max-w-7xl). */
.blog-post-page .blog-post-body > .container {
    max-width: 80rem;
    box-sizing: border-box;
}
.blog-post-page .blog-post-figure,
.blog-post-page .blog-post-prose {
    width: 100%;
    max-width: 100%;
}
#blog-hero.blog-hero-section {
    padding-top: clamp(6rem, 9vw, 7.25rem) !important;
    padding-bottom: clamp(2.8rem, 6vw, 4rem) !important;
}
#blog-hero.blog-hero-section .sobre-nos-hero-dark-inner {
    min-height: auto !important;
    justify-content: flex-start !important;
}
#blog-hero.blog-hero-section .sobre-nos-hero-stack {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: start !important;
}

/* Contato (/contato/): alinhado ao padrão setor-hero (2026-06-22). */
section#contato-hero.contato-hero,
#contato-hero.contato-hero-section,
#contato-page .contato-hero {
    padding-top: clamp(6rem, 9vw, 7.25rem) !important;
    padding-bottom: clamp(2.8rem, 6vw, 4rem) !important;
}
#contato-hero .sobre-nos-hero-dark-inner,
#contato-hero.contato-hero-section .sobre-nos-hero-dark-inner {
    min-height: auto !important;
    justify-content: flex-start !important;
}
#contato-hero .sobre-nos-hero-stack,
#contato-hero.contato-hero-section .sobre-nos-hero-stack {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: start !important;
}
#contato-hero .sobre-nos-hero-col {
    min-height: auto !important;
}

/* Home — remover rótulos secundários (segmentos, soluções, blog) — 2026-06-22. */
.home-segmentos-hub .segmentos-editorial > div > div.flex > span.hidden.md\:inline-flex {
    display: none !important;
}
section:not(#setor-solucoes) .solucoes-carousel-section .space-y-3 > .flex.items-center.justify-between {
    display: none !important;
}
.home-segmentos-hub ~ section .common-blog-showcase__kicker,
.common-blog-showcase__kicker {
    display: none !important;
}

/* Contabilidade / Consultoria — seção de soluções por área (2026-06-22). */
.service-area-solucoes__kicker {
    display: none !important;
}
.service-area-solucoes > .container {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
}
@media (min-width: 640px) {
    .service-area-solucoes > .container {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
}
@media (min-width: 1024px) {
    .service-area-solucoes > .container {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
    }
}

/* Contabilidade / Consultoria — seção de segmentos sem padding vertical externo (2026-06-22). */
.service-segments > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.service-segments__band--intro {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.service-segments__intro-grid {
    padding-top: clamp(0.75rem, 1.75vw, 1.25rem);
}
.service-segments__band--carousel > .flex.items-center.justify-end {
    margin-bottom: 0 !important;
}

/* Sobre nós — Nossos Pilares alinhado ao container das demais seções (2026-06-22). */
.objetivos-estrategicos-section > .max-w-6xl,
.objetivos-estrategicos-section > div.max-w-6xl {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.objetivos-estrategicos-section header > p.text-xs,
.objetivos-estrategicos-section header > p.text-base.text-gray-500 {
    display: none !important;
}

