/* V12 — privacidade, cookies, rodapé transparente e páginas legais */
.footer-transparent-logo {
    width: 142px !important;
    height: auto;
    padding: 0 !important;
    border: 0;
    background: transparent !important;
    filter: none !important;
    object-fit: contain;
}

.footer-legal-links {
    display: grid;
    justify-items: start;
    gap: 7px;
    margin-top: 19px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer-legal-links a,
.footer-legal-links button {
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    color: #bcd1e4;
    background: transparent;
    font: inherit;
    font-size: 10px;
    cursor: pointer;
    transition: color .2s ease, transform .2s ease;
}

.footer-legal-links button:hover,
.footer-legal-links a:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-bottom-v12 {
    min-height: 64px;
}

.footer-bottom-links,
.footer-credits {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.footer-bottom-v12 a {
    margin: 0;
    color: #bdd0e2;
    font-size: inherit;
}

.footer-credits {
    justify-content: flex-end;
}

.footer-developer {
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.footer-developer a {
    display: inline;
    color: #fff;
    font-weight: 850;
}

/* Páginas legais */
.legal-page {
    background: #f5f9fd;
}

.legal-hero {
    position: relative;
    overflow: hidden;
    padding: 80px 0 90px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 18%, rgba(70, 183, 91, .22), transparent 26%),
        linear-gradient(135deg, #0759aa 0%, #07396f 55%, #04264d 100%);
}

.legal-hero-cookies {
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 210, 29, .21), transparent 26%),
        linear-gradient(135deg, #0759aa 0%, #07396f 55%, #04264d 100%);
}

.legal-hero-terms {
    background:
        radial-gradient(circle at 78% 18%, rgba(78, 190, 99, .24), transparent 28%),
        radial-gradient(circle at 18% 88%, rgba(255, 210, 29, .11), transparent 30%),
        linear-gradient(135deg, #0b61b2 0%, #07396f 52%, #03264e 100%);
}

.legal-hero-decoration::before,
.legal-hero-decoration::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 50%;
}

.legal-hero-decoration::before {
    width: 520px;
    height: 520px;
    right: -170px;
    top: -250px;
}

.legal-hero-decoration::after {
    width: 280px;
    height: 280px;
    right: 150px;
    top: -130px;
}

.legal-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    text-align: center;
}

.legal-breadcrumbs {
    justify-content: center;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, .68);
}

.legal-breadcrumbs a,
.legal-breadcrumbs strong {
    color: inherit;
}

.legal-icon,
.legal-side-icon {
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
}

.legal-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
    border-radius: 21px;
    box-shadow: 0 18px 40px rgba(0, 21, 48, .2);
}

.legal-icon svg,
.legal-side-icon svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.cookie-symbol {
    font-size: 40px;
    font-weight: 900;
}

.legal-hero .section-kicker {
    color: #82dd94;
}

.legal-hero h1 {
    max-width: 850px;
    margin: 8px auto 18px;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1.02;
    letter-spacing: -.05em;
}

.legal-hero > .container > p,
.legal-hero-inner > p {
    max-width: 720px;
    margin: 0 auto;
    color: #d5e6f6;
    font-size: clamp(16px, 1.6vw, 20px);
    line-height: 1.65;
}

.legal-meta {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 26px auto 0;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    color: #c9dcee;
    background: rgba(255, 255, 255, .07);
    font-size: 11px;
}

.legal-meta strong { color: #fff; }

.legal-content-section {
    padding-top: 70px;
}

.legal-layout {
    display: grid;
    grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.legal-side-card,
.legal-article {
    border: 1px solid #d8e5f0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(7, 57, 111, .08);
}

.legal-side-card {
    position: sticky;
    top: 105px;
    padding: 29px;
}

.legal-side-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
    border-color: #cce0f3;
    border-radius: 17px;
    color: #0b65bd;
    background: #ebf5ff;
}

.legal-side-card h2 {
    margin: 0 0 12px;
    color: #093765;
    font-size: 27px;
    line-height: 1.12;
}

.legal-side-card p {
    margin: 0 0 22px;
    color: #657b90;
    font-size: 14px;
    line-height: 1.65;
}

.legal-side-card .btn { width: 100%; }

.legal-side-link {
    display: block;
    margin-top: 17px;
    color: #0e65b9;
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

.legal-article {
    padding: clamp(28px, 5vw, 58px);
}

.legal-article h2 {
    margin: 42px 0 14px;
    color: #093765;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
}

.legal-article h2:first-child { margin-top: 0; }
.legal-article h3 { margin: 28px 0 10px; color: #154b7d; font-size: 20px; }
.legal-article p,
.legal-article li { color: #5f7488; font-size: 16px; line-height: 1.82; }
.legal-article ul { padding-left: 22px; }
.legal-article li + li { margin-top: 8px; }
.legal-article a { color: #0c68c1; font-weight: 800; }

.legal-contact-box {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 15px;
    margin-top: 45px;
    padding: 20px;
    border: 1px solid #cfe1f2;
    border-radius: 16px;
    background: #eef7ff;
}

.legal-contact-box > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: #0b66bd;
}

.legal-contact-box svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2; }
.legal-contact-box strong { color: #0a3a69; }
.legal-contact-box p { margin: 4px 0 0; font-size: 13px; line-height: 1.55; }

.cookie-types-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-top: 40px;
}

.cookie-types-grid article {
    padding: 21px;
    border: 1px solid #d8e5ef;
    border-radius: 16px;
    background: #f8fbfe;
}

.cookie-types-grid h3 { margin: 13px 0 7px; }
.cookie-types-grid p { margin: 0; font-size: 13px; line-height: 1.55; }
.cookie-status { display: inline-flex; padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.cookie-status.required { color: #247b3c; background: #e8f7eb; }
.cookie-status.optional { color: #8a6900; background: #fff5cc; }

/* Banner de consentimento */
.cookie-consent[hidden],
.cookie-modal[hidden] { display: none !important; }

.cookie-consent {
    position: fixed;
    z-index: 1200;
    left: 50%;
    bottom: 22px;
    width: min(calc(100% - 32px), 1180px);
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 19px 20px;
    border: 1px solid #cbdbea;
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 70px rgba(3, 35, 70, .25);
    transform: translateX(-50%);
    backdrop-filter: blur(16px);
}

.cookie-consent-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(135deg, #0c70cf, #07396f);
    font-size: 30px;
    font-weight: 900;
}

.cookie-consent-copy strong { display: block; color: #093765; font-size: 16px; }
.cookie-consent-copy p { margin: 4px 0 0; color: #64798d; font-size: 12px; line-height: 1.5; }
.cookie-consent-copy a { color: #0866be; font-weight: 850; }
.cookie-consent-actions { display: flex; align-items: center; gap: 8px; }

.cookie-button {
    min-height: 41px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 9px;
    font-weight: 850;
    font-size: 11px;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.cookie-button:hover { transform: translateY(-1px); }
.cookie-button-primary { color: #fff; background: linear-gradient(135deg, #0d70ce, #074787); box-shadow: 0 9px 20px rgba(7, 71, 135, .18); }
.cookie-button-outline { color: #0a5daf; border-color: #b9d2e8; background: #fff; }
.cookie-button-muted { color: #526b82; background: #eef4f8; }

.cookie-modal {
    position: fixed;
    z-index: 1300;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
}
.cookie-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(1, 25, 50, .65); backdrop-filter: blur(5px); cursor: pointer; }
.cookie-modal-card { position: relative; width: min(100%, 650px); max-height: min(760px, calc(100vh - 36px)); overflow: auto; padding: 30px; border-radius: 22px; background: #fff; box-shadow: 0 35px 100px rgba(0, 20, 44, .35); }
.cookie-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.cookie-modal-head h2 { margin: 3px 0 0; color: #093765; font-size: 31px; }
.cookie-modal-close { width: 38px; height: 38px; border: 0; border-radius: 10px; color: #47647f; background: #eef4f8; font-size: 24px; cursor: pointer; }
.cookie-modal-intro { margin: 17px 0 23px; color: #64798d; font-size: 13px; line-height: 1.65; }
.cookie-preference-list { display: grid; gap: 12px; }
.cookie-preference-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 18px; border: 1px solid #d7e4ef; border-radius: 15px; }
.cookie-preference-list strong { color: #113f6d; font-size: 14px; }
.cookie-preference-list p { margin: 4px 0 0; color: #74889a; font-size: 11px; line-height: 1.5; }
.cookie-always-active { color: #24833e; font-size: 10px; font-weight: 900; }
.cookie-switch { display: grid; grid-template-columns: 44px; justify-items: center; gap: 4px; cursor: pointer; }
.cookie-switch input { position: absolute; opacity: 0; }
.cookie-switch span { position: relative; width: 44px; height: 24px; border-radius: 999px; background: #cad5df; transition: background .2s; }
.cookie-switch span::after { content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.18); transition: transform .2s; }
.cookie-switch input:checked + span { background: #32a751; }
.cookie-switch input:checked + span::after { transform: translateX(20px); }
.cookie-switch em { color: #75899a; font-size: 9px; font-style: normal; font-weight: 850; white-space: nowrap; }
.cookie-modal-links { display: flex; flex-wrap: wrap; gap: 16px; margin: 19px 0; }
.cookie-modal-links a { color: #0a62b7; font-size: 11px; font-weight: 850; }
.cookie-modal-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 20px; border-top: 1px solid #e0e9f0; }
.cookie-modal-open { overflow: hidden; }

@media (max-width: 900px) {
    .legal-layout { grid-template-columns: 1fr; }
    .legal-side-card { position: static; }
    .cookie-consent { grid-template-columns: 46px minmax(0, 1fr); }
    .cookie-consent-actions { grid-column: 1 / -1; justify-content: flex-end; }
}

@media (max-width: 620px) {
    .legal-hero { padding: 54px 0 66px; }
    .legal-hero h1 { font-size: 39px; }
    .legal-content-section { padding-top: 42px; }
    .legal-side-card, .legal-article { border-radius: 17px; }
    .legal-article { padding: 25px 20px; }
    .legal-article p, .legal-article li { font-size: 14px; }
    .cookie-types-grid { grid-template-columns: 1fr; }
    .footer-bottom-v12, .footer-bottom-links, .footer-credits { align-items: flex-start; flex-direction: column; }
    .footer-developer { padding-left: 0; border-left: 0; }
    .cookie-consent { bottom: 10px; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 15px; }
    .cookie-consent-icon { width: 40px; height: 40px; border-radius: 12px; font-size: 24px; }
    .cookie-consent-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .cookie-consent-actions .cookie-button-primary { grid-column: 1 / -1; order: -1; }
    .cookie-button { min-height: 42px; padding-inline: 10px; }
    .cookie-modal-card { padding: 23px 17px; border-radius: 18px; }
    .cookie-modal-head h2 { font-size: 25px; }
    .cookie-preference-list article { grid-template-columns: 1fr; }
    .cookie-switch { grid-template-columns: 44px auto; justify-items: start; align-items: center; }
    .cookie-modal-actions { display: grid; grid-template-columns: 1fr; }
}

.privacy-check a {
    color: #0b65bb;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}
