/**
 * Banner de cookies (LGPD) + modal de preferências granulares + links
 * legais do footer + reset do template page-documento-legal.
 *
 * O banner aparece bottom-fixed apenas se não houver consentimento salvo.
 * O modal abre via [data-cdl-cookie-action="customize"] e via o botão
 * "Gerenciar cookies" do footer (data-cdl-cookie-prefs).
 */

/* =====================================================================
   FOOTER — linha de links legais + botão de preferências
   ===================================================================== */
.f-legal{
    margin-top:14px;
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
    gap:6px 10px;
    font-size:.74rem;
    color:rgba(255,255,255,.62);
}
.f-legal a,
.f-legal__btn{
    color:rgba(255,255,255,.78);
    text-decoration:none;
    transition:color .2s ease;
    border:0;background:transparent;padding:0;margin:0;
    font:inherit;cursor:pointer;
}
.f-legal a:hover,
.f-legal__btn:hover{color:#fff;text-decoration:underline}
.f-legal span[aria-hidden]{color:rgba(255,255,255,.32)}

/* =====================================================================
   BANNER DE COOKIES (bottom-fixed)
   ===================================================================== */
.cdl-cookies{
    position:fixed;
    inset:auto 16px 16px 16px;
    z-index:9998;
    max-width:980px;
    margin-inline:auto;
    background:#fff;
    color:#1a1a1a;
    border-radius:16px;
    box-shadow:
        0 8px 24px rgba(15,33,67,.16),
        0 24px 64px rgba(15,33,67,.18);
    border:1px solid rgba(3,66,142,.08);
    animation:cdlCookiesIn .35s cubic-bezier(.22,.61,.36,1);
    font-family:'Inter','Sora',system-ui,-apple-system,sans-serif;
}
.cdl-cookies[hidden]{display:none}

@keyframes cdlCookiesIn{
    from{opacity:0;transform:translateY(28px)}
    to  {opacity:1;transform:translateY(0)}
}

.cdl-cookies__inner{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:clamp(16px,2vw,28px);
    padding:clamp(18px,2vw,22px) clamp(20px,2.4vw,28px);
}

.cdl-cookies__ico{
    width:48px;height:48px;border-radius:14px;
    background:rgba(255,180,0,.14);
    color:#b89a00;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}

.cdl-cookies__content{min-width:0}
.cdl-cookies__title{
    font-family:'Sora','Inter',sans-serif;
    font-size:1rem;
    font-weight:700;
    color:#0f2143;
    margin:0 0 4px;
    line-height:1.3;
}
.cdl-cookies__text{
    font-size:.85rem;
    line-height:1.55;
    color:#5b6273;
    margin:0;
}
.cdl-cookies__text a{
    color:#03428e;
    font-weight:600;
    text-decoration:underline;
    text-underline-offset:2px;
}
.cdl-cookies__text a:hover{color:#021e50}

.cdl-cookies__actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.cdl-cookies__btn{
    display:inline-flex;align-items:center;justify-content:center;
    height:42px;
    padding:0 18px;
    border-radius:999px;
    font:600 .82rem/1 'Inter','Sora',sans-serif;
    cursor:pointer;
    border:1.5px solid transparent;
    background:transparent;
    color:inherit;
    transition:background .25s ease, color .25s ease, transform .15s ease, box-shadow .25s ease;
    white-space:nowrap;
}
.cdl-cookies__btn:focus-visible{
    outline:3px solid rgba(3,66,142,.28);
    outline-offset:2px;
}
.cdl-cookies__btn--ghost{
    border-color:rgba(3,66,142,.18);
    color:#03428e;
}
.cdl-cookies__btn--ghost:hover{
    background:rgba(3,66,142,.06);
    border-color:rgba(3,66,142,.28);
}
.cdl-cookies__btn--accept{
    background:linear-gradient(135deg,#ffc107 0%,#ffb400 100%);
    color:#0f2143;
    box-shadow:0 6px 16px rgba(255,180,0,.36);
}
.cdl-cookies__btn--accept:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(255,180,0,.42);
}

/* Mobile: empilha em 1 coluna, ações em coluna */
@media (max-width:840px){
    .cdl-cookies{
        inset:auto 8px 8px 8px;
        border-radius:14px;
    }
    .cdl-cookies__inner{
        grid-template-columns:1fr;
        gap:14px;
        padding:18px;
    }
    .cdl-cookies__ico{display:none}
    .cdl-cookies__actions{
        flex-direction:column-reverse;
        gap:8px;
        align-items:stretch;
    }
    .cdl-cookies__btn{width:100%;height:46px}
}

/* =====================================================================
   MODAL DE PREFERÊNCIAS
   ===================================================================== */
.cdl-cookies-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;align-items:center;justify-content:center;
    padding:20px;
    font-family:'Inter','Sora',system-ui,-apple-system,sans-serif;
}
.cdl-cookies-modal[hidden]{display:none}

.cdl-cookies-modal__overlay{
    position:absolute;inset:0;
    background:rgba(15,33,67,.55);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    animation:cdlOverlayIn .25s ease forwards;
}
@keyframes cdlOverlayIn{from{opacity:0} to{opacity:1}}

.cdl-cookies-modal__card{
    position:relative;
    background:#fff;
    color:#1a1a1a;
    width:100%;
    max-width:560px;
    max-height:calc(100vh - 40px);
    overflow-y:auto;
    border-radius:18px;
    box-shadow:0 24px 64px rgba(15,33,67,.32);
    animation:cdlCookiesIn .3s cubic-bezier(.22,.61,.36,1);
}

.cdl-cookies-modal__close{
    position:absolute;top:14px;right:14px;
    width:36px;height:36px;
    border:0;
    background:transparent;
    border-radius:50%;
    color:#5b6273;
    font-size:1.6rem;line-height:1;
    cursor:pointer;
    transition:background .2s ease, color .2s ease;
}
.cdl-cookies-modal__close:hover{background:rgba(0,0,0,.05);color:#0f2143}

.cdl-cookies-modal__head{
    padding:28px 28px 16px;
    border-bottom:1px solid rgba(3,66,142,.06);
}
.cdl-cookies-modal__head h3{
    font-family:'Sora','Inter',sans-serif;
    font-size:1.15rem;
    color:#0f2143;
    margin:0 0 6px;
}
.cdl-cookies-modal__head p{
    margin:0;
    font-size:.85rem;
    color:#5b6273;
    line-height:1.55;
}

.cdl-cookies-modal__categories{
    padding:8px 28px;
}

.cdl-cookies-cat{
    display:block;
    padding:18px 0;
    border-bottom:1px solid rgba(3,66,142,.06);
    cursor:pointer;
}
.cdl-cookies-cat:last-child{border-bottom:0}
.cdl-cookies-cat__head{
    display:flex;align-items:center;justify-content:space-between;
    gap:14px;
    margin-bottom:6px;
}
.cdl-cookies-cat strong{
    font-family:'Sora','Inter',sans-serif;
    font-size:.95rem;
    color:#0f2143;
    margin-right:8px;
}
.cdl-cookies-cat p{
    margin:0;
    font-size:.8rem;
    line-height:1.55;
    color:#666c79;
}

.cdl-cookies-cat__pill{
    display:inline-block;
    margin-left:6px;
    padding:3px 10px;
    border-radius:999px;
    background:rgba(0,135,67,.12);
    color:#0a7a3d;
    font:600 .65rem/1 'Inter',sans-serif;
    text-transform:uppercase;
    letter-spacing:.04em;
    vertical-align:middle;
}

/* Toggle switch */
.cdl-cookies-toggle{
    position:relative;
    display:inline-block;
    width:42px;height:24px;
    flex-shrink:0;
}
.cdl-cookies-toggle input{
    opacity:0;width:0;height:0;
    position:absolute;
}
.cdl-cookies-toggle__slider{
    position:absolute;inset:0;
    background:#d8dee9;
    border-radius:999px;
    transition:background .25s ease;
    cursor:pointer;
}
.cdl-cookies-toggle__slider::before{
    content:'';
    position:absolute;
    left:3px;top:3px;
    width:18px;height:18px;
    background:#fff;
    border-radius:50%;
    box-shadow:0 2px 4px rgba(0,0,0,.18);
    transition:transform .25s ease;
}
.cdl-cookies-toggle input:checked + .cdl-cookies-toggle__slider{
    background:#03428e;
}
.cdl-cookies-toggle input:checked + .cdl-cookies-toggle__slider::before{
    transform:translateX(18px);
}
.cdl-cookies-toggle--locked .cdl-cookies-toggle__slider{
    background:#03428e;
    opacity:.55;
    cursor:not-allowed;
}

.cdl-cookies-modal__footer{
    padding:18px 28px 24px;
    display:flex;
    gap:10px;
    justify-content:flex-end;
    flex-wrap:wrap;
    border-top:1px solid rgba(3,66,142,.06);
}
@media (max-width:520px){
    .cdl-cookies-modal__head,
    .cdl-cookies-modal__categories,
    .cdl-cookies-modal__footer{padding-inline:20px}
    .cdl-cookies-modal__footer .cdl-cookies__btn{flex:1;min-width:0}
}

body.cdl-cookies-open{overflow:hidden}

/* =====================================================================
   PÁGINA DE DOCUMENTO LEGAL (Termos, Cookies)
   ===================================================================== */
.legal-page__doc{
    max-width:820px;
    margin:0 auto;
    background:#fff;
    padding:clamp(24px,4vw,48px) clamp(20px,3vw,56px);
    border-radius:18px;
    box-shadow:0 1px 2px rgba(0,0,0,.03), 0 16px 48px rgba(3,66,142,.06);
    color:#1a1a1a;
    font:400 .92rem/1.65 'Inter','Sora',sans-serif;
}
.legal-page__doc h2{
    font-family:'Sora','Inter',sans-serif;
    font-size:clamp(1.05rem,1.6vw,1.25rem);
    color:#03428e;
    margin:36px 0 10px;
    padding-bottom:10px;
    border-bottom:2px solid rgba(3,66,142,.08);
    line-height:1.3;
}
.legal-page__doc h2:first-child{margin-top:0}
.legal-page__doc h3{
    font-family:'Sora','Inter',sans-serif;
    font-size:.98rem;
    color:#0f2143;
    margin:22px 0 8px;
}
.legal-page__doc p,
.legal-page__doc ul,
.legal-page__doc ol{margin:0 0 14px}
.legal-page__doc ul,
.legal-page__doc ol{padding-left:22px}
.legal-page__doc li{margin:4px 0}
.legal-page__doc a{
    color:#03428e;
    font-weight:600;
    text-decoration:underline;
    text-underline-offset:2px;
}
.legal-page__doc a:hover{color:#021e50}
.legal-page__doc strong{color:#0f2143}

.page-hero--compact .page-hero__title{
    font-size:clamp(1.5rem,4vw,2.3rem)!important;
}
.page-hero--compact{min-height:auto;padding:80px 0 60px}
