/* ═══════════════════════════════════════════════════════════════════════════
   CMS SSOT LOCK — container 1280px, prose tier 800px, spacing 4–16px
   Escopo: páginas CMS, 404, contato (CMS e rota nativa), trabalhe-conosco.

   Camada `awa-shell-lock`: este arquivo carrega ANTES do styles-l.css
   (que declara @layer awa-reset…awa-grid). Para declarações !important,
   o layer declarado primeiro vence — garantindo final-wins sobre as regras
   layered do §97 rhythm sem depender de especificidade.
   ═══════════════════════════════════════════════════════════════════════════ */
@layer awa-shell-lock;

@layer awa-shell-lock {

html body#html-body:is(.cms-page-view, .cms-noroute-index, .contact-index-index, .curriculo-index-index, .curriculo-index-status) {
    --awa-cms-gap-xs: 4px;
    --awa-cms-gap-sm: 8px;
    --awa-cms-gap-md: 12px;
    --awa-cms-gap-lg: 16px;
    --awa-cms-shell-max: min(100%, 1280px);
    --awa-cms-prose-max: min(100%, 800px);
}

/* Container — eixo 1280px, mesmo padding-inline das demais superfícies */
html body#html-body:is(.cms-page-view, .cms-noroute-index, .contact-index-index, .curriculo-index-index, .curriculo-index-status)
.page-wrapper :is(#maincontent.page-main.container, .page-main.container, .nav-breadcrumbs) {
    box-sizing: border-box !important;
    margin-inline: auto !important;
    max-width: var(--awa-cms-shell-max) !important;
    padding-inline: clamp(12px, 2.5vw, 16px) !important;
    width: 100% !important;
}

html body#html-body:is(.cms-page-view, .cms-noroute-index, .contact-index-index, .curriculo-index-index, .curriculo-index-status)
.page-wrapper .page-main {
    padding-block-start: var(--awa-cms-gap-md) !important;
    padding-block-end: var(--awa-cms-gap-lg) !important;
}

html body#html-body:is(.cms-page-view, .cms-noroute-index, .contact-index-index, .curriculo-index-index, .curriculo-index-status)
.page-wrapper .page-main .columns .column.main {
    padding-block: 0 !important;
}

/* ─── Tier de leitura — prose 800px centralizado ─────────────────────────── */
/* width:100% evita shrink-to-content quando .column.main é flex container */
html body#html-body.cms-page-view .column.main .awa-inst {
    width: 100% !important;
    max-width: var(--awa-cms-prose-max) !important;
    margin-inline: auto !important;
    padding: 0 0 var(--awa-cms-gap-lg) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

/* ─── Hierarquia tipográfica corporativa (escala fluid-h3 das demais superfícies) */
html body#html-body:is(.cms-page-view, .cms-noroute-index, .contact-index-index, .curriculo-index-index, .curriculo-index-status) .column.main h1 {
    font-family: var(--awa-font-heading, "Rubik", system-ui, sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 var(--awa-cms-gap-md) !important;
}

html body#html-body.cms-page-view .column.main h2 {
    font-size: clamp(17px, 1.6vw, 20px) !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    margin: var(--awa-cms-gap-lg) 0 var(--awa-cms-gap-sm) !important;
}

html body#html-body.cms-page-view .awa-inst h2 {
    padding-bottom: var(--awa-cms-gap-xs) !important;
    border-bottom: 2px solid var(--awa-red, #b73337) !important;
}

html body#html-body.cms-page-view .column.main h3 {
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    margin: var(--awa-cms-gap-md) 0 var(--awa-cms-gap-xs) !important;
}

html body#html-body.cms-page-view .awa-inst :is(p, ul, ol) {
    margin-block: 0 var(--awa-cms-gap-sm) !important;
}

html body#html-body.cms-page-view .awa-inst :is(ul, ol) {
    padding-inline-start: 1.25rem !important;
}

html body#html-body.cms-page-view .awa-inst li {
    margin-block-end: var(--awa-cms-gap-xs) !important;
}

/* ─── Componentes institucionais — densidade 4–16px, flat ────────────────── */
html body#html-body.cms-page-view .awa-inst .awa-summary {
    padding: var(--awa-cms-gap-md) !important;
    margin-block: 0 var(--awa-cms-gap-lg) !important;
    border-radius: 0 8px 8px 0 !important;
}

html body#html-body.cms-page-view .awa-inst :is(.awa-grid, .awa-hub, .awa-rights) {
    gap: var(--awa-cms-gap-md) !important;
    margin-block: var(--awa-cms-gap-md) !important;
}

html body#html-body.cms-page-view .awa-inst :is(.awa-card, .awa-right, .awa-hub a) {
    padding: var(--awa-cms-gap-md) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body#html-body.cms-page-view .awa-inst .awa-hub a:hover,
html body#html-body.cms-page-view .awa-inst .awa-hub a:focus-visible {
    box-shadow: none !important;
    transform: none !important;
}

html body#html-body.cms-page-view .awa-inst :is(.awa-card, .awa-faq-item) h3 {
    margin-top: 0 !important;
}

/* CTA — flat, sem gradiente */
html body#html-body.cms-page-view .awa-inst .awa-cta {
    background: var(--awa-red, #b73337) !important;
    padding: var(--awa-cms-gap-lg) !important;
    margin-block: var(--awa-cms-gap-lg) !important;
    border-radius: 8px !important;
}

html body#html-body.cms-page-view .awa-inst .awa-cta a.awa-btn {
    padding: var(--awa-cms-gap-sm) var(--awa-cms-gap-lg) !important;
    border-radius: 8px !important;
    margin-top: var(--awa-cms-gap-sm) !important;
}

html body#html-body.cms-page-view .awa-inst .awa-cta a.awa-btn:hover,
html body#html-body.cms-page-view .awa-inst .awa-cta a.awa-btn:focus-visible {
    transform: none !important;
    box-shadow: none !important;
}

/* Seções destacadas — flat */
html body#html-body.cms-page-view .awa-inst :is(.awa-info, .awa-b2b) {
    padding: var(--awa-cms-gap-md) !important;
    margin-block: var(--awa-cms-gap-md) !important;
    border-radius: 8px !important;
    background-image: none !important;
}

/* Tabelas (tabela de descontos B2B etc.) */
html body#html-body.cms-page-view .awa-inst :is(.awa-table, table) {
    margin-block: var(--awa-cms-gap-md) !important;
}

html body#html-body.cms-page-view .awa-inst :is(.awa-table, table) :is(th, td) {
    padding: var(--awa-cms-gap-sm) var(--awa-cms-gap-md) !important;
    border-color: var(--awa-border, #e5e5e5) !important;
}

/* FAQ — itens compactos */
html body#html-body.cms-page-view .awa-inst .awa-faq-category {
    margin-top: var(--awa-cms-gap-lg) !important;
}

html body#html-body.cms-page-view .awa-inst .awa-faq-item {
    padding: var(--awa-cms-gap-md) 0 !important;
}

html body#html-body.cms-page-view .awa-inst .awa-faq-item p {
    margin: var(--awa-cms-gap-xs) 0 0 !important;
}

/* Passos numerados */
html body#html-body.cms-page-view .awa-inst .awa-steps {
    margin-block: var(--awa-cms-gap-md) !important;
}

html body#html-body.cms-page-view .awa-inst .awa-steps li {
    padding-block: var(--awa-cms-gap-sm) !important;
}

/* ─── Contato (CMS e rota nativa) ────────────────────────────────────────── */
html body#html-body:is(.cms-page-view, .contact-index-index) .column.main .awa-contact-page {
    width: 100% !important;
    max-width: var(--awa-cms-shell-max) !important;
    margin-inline: auto !important;
}

html body#html-body:is(.cms-page-view, .contact-index-index) .awa-contact-page__card {
    padding: var(--awa-cms-gap-md) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body#html-body.contact-index-index .awa-contact-header {
    max-width: var(--awa-cms-prose-max) !important;
    margin-inline: auto !important;
    margin-block-end: var(--awa-cms-gap-lg) !important;
}

html body#html-body.contact-index-index .awa-contact-channels {
    gap: var(--awa-cms-gap-md) !important;
    margin-block: var(--awa-cms-gap-md) !important;
}

html body#html-body.contact-index-index .awa-contact-channel {
    padding: var(--awa-cms-gap-md) !important;
    border-radius: 8px !important;
}

/* Formulários (contato / curriculo) — densidade uniforme */
html body#html-body:is(.contact-index-index, .curriculo-index-index) .column.main form .field {
    margin-block-end: var(--awa-cms-gap-md) !important;
}

html body#html-body:is(.contact-index-index, .curriculo-index-index) .column.main form .field > .label {
    margin-block-end: var(--awa-cms-gap-xs) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

html body#html-body:is(.contact-index-index, .curriculo-index-index) .column.main form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
    border-radius: 8px !important;
}

/* ─── Trabalhe Conosco (Ayo_Curriculo) ───────────────────────────────────── */
html body#html-body:is(.curriculo-index-index, .curriculo-index-status) .column.main :is(.curriculo-wrapper, .curriculo-page-header, .curriculo-intro) {
    width: 100% !important;
    max-width: var(--awa-cms-prose-max) !important;
    margin-inline: auto !important;
}

html body#html-body.curriculo-index-index .curriculo-grid {
    gap: var(--awa-cms-gap-md) !important;
}

html body#html-body.curriculo-index-index :is(.curriculo-intro, .curriculo-progress) {
    margin-block-end: var(--awa-cms-gap-md) !important;
}

/* ─── 404 ────────────────────────────────────────────────────────────────── */
html body#html-body.cms-noroute-index .column.main .awa-404-page {
    width: 100% !important;
    max-width: var(--awa-cms-prose-max) !important;
    margin-inline: auto !important;
    padding-block: var(--awa-cms-gap-lg) !important;
}

/* ─── Mobile ≤ 575px — sem scroll lateral, grids 1 col ───────────────────── */
@media (max-width: 575px) {
    html body#html-body:is(.cms-page-view, .cms-noroute-index, .contact-index-index, .curriculo-index-index, .curriculo-index-status)
    .page-wrapper :is(#maincontent.page-main.container, .page-main.container) {
        padding-inline: 12px !important;
    }

    html body#html-body.cms-page-view .awa-inst :is(.awa-grid, .awa-hub, .awa-rights) {
        grid-template-columns: 1fr !important;
        gap: var(--awa-cms-gap-sm) !important;
    }

    html body#html-body.cms-page-view .awa-inst :is(.awa-table, table) {
        font-size: 13px !important;
    }

    html body#html-body.cms-page-view .awa-inst :is(.awa-table, table) :is(th, td) {
        padding: var(--awa-cms-gap-xs) var(--awa-cms-gap-sm) !important;
    }
}

}
