.privacy-banner[hidden] { display: none !important; }
.privacy-banner {
    position: fixed;
    z-index: 10000;
    left: clamp(12px, 2vw, 28px);
    bottom: clamp(12px, 2vw, 28px);
    width: min(680px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    display: grid;
    gap: 1.25rem;
    padding: clamp(1.15rem, 2vw, 1.7rem);
    color: #f9f5ed;
    background: #1c1b19;
    border: 1px solid rgba(197,160,89,.48);
    border-radius: 18px;
    box-shadow: 0 22px 70px rgba(0,0,0,.55);
    font-family: var(--font-sans, sans-serif);
}
.privacy-eyebrow { color: #c5a059; font-size: .68rem; font-weight: 600; letter-spacing: .18em; }
.privacy-banner h2 { margin: .35rem 0 .45rem; font: 500 clamp(1.7rem, 3vw, 2.3rem)/1.08 var(--font-serif, Georgia, serif); }
.privacy-banner p { font-size: .86rem; line-height: 1.65; color: #ded8cd; }
.privacy-banner-links { display: flex; flex-wrap: wrap; gap: .35rem 1.2rem; margin-top: .6rem; }
.privacy-banner a, .form-privacy-note a, .footer-legal a { color: #d4af70; text-decoration: underline; text-underline-offset: 3px; }
.privacy-banner-actions { display: flex; gap: .65rem; flex-wrap: wrap; }
.privacy-banner-actions button {
    min-height: 44px;
    padding: .75rem 1rem;
    border: 1px solid #bfa36e;
    border-radius: 7px;
    color: #f7f3ec;
    background: transparent;
    cursor: pointer;
    font: 500 .82rem var(--font-sans, sans-serif);
}
.privacy-banner-actions .privacy-allow { color: #17130c; background: #c5a059; }
.privacy-banner button:hover, .privacy-banner button:focus-visible { outline: 2px solid #f2d9a2; outline-offset: 2px; }
body.privacy-banner-open .floating-whatsapp { visibility: hidden; }
.footer-legal { display: flex; gap: .45rem 1.15rem; flex-wrap: wrap; align-items: center; }
.footer-legal button { border: 0; padding: 0; background: transparent; color: #d4af70; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.footer-legal a:hover, .footer-legal button:hover { color: #f0cf92; }
.form-privacy-note { margin-top: .75rem; font-size: .73rem; line-height: 1.5; color: #dbd2c3; }
@media (max-width: 700px) {
    .privacy-banner { right: 12px; width: auto; max-height: calc(100dvh - 92px); }
    .privacy-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .privacy-banner-actions button { padding-inline: .55rem; }
    .footer-bottom { gap: 1rem; flex-wrap: wrap; }
}
@media (max-width: 350px) {
    .privacy-banner-actions { grid-template-columns: 1fr; }
}

/* Páginas informativas, no mesmo vocabulário visual do site. */
.legal-page { background: #090807; }
.legal-page .header { animation: none; }
.legal-hero { background: radial-gradient(circle at 75% 10%, #30251b, #12100e 45%, #090807 78%); }
.legal-hero-inner, .legal-content, .legal-footer-inner { width: min(100% - 3rem, 960px); margin-inline: auto; }
.legal-hero-inner { padding: 4rem 0 5rem; }
.legal-kicker { color: #c5a059; font-size: .72rem; font-weight: 600; letter-spacing: .22em; }
.legal-hero h1 { max-width: 780px; margin: 1rem 0; font: 400 clamp(3.3rem, 7vw, 5.7rem)/.98 var(--font-serif, Georgia, serif); }
.legal-hero p { max-width: 710px; color: #d8d1c6; font-size: 1rem; line-height: 1.8; }
.legal-content { padding: 4rem 0 6rem; }
.legal-content section { padding: 2rem 0; border-top: 1px solid rgba(197,160,89,.22); }
.legal-content h2 { margin-bottom: .85rem; color: #edd9b4; font: 500 clamp(1.8rem, 3vw, 2.4rem)/1.1 var(--font-serif, Georgia, serif); }
.legal-content p, .legal-content li { max-width: 800px; margin-bottom: .9rem; color: #d6d0c7; font-size: .95rem; line-height: 1.8; }
.legal-content ul { margin-left: 1.2rem; list-style: disc; }
.legal-content a, .legal-footer a { color: #d4af70; text-decoration: underline; text-underline-offset: 3px; }
.legal-footer { padding: 2.5rem 0; border-top: 1px solid rgba(197,160,89,.25); background: #12110f; }
.legal-footer-inner { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
.legal-footer p { color: #c7c0b5; font-size: .75rem; line-height: 1.6; }
.legal-footer .footer-legal { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 768px) {
    .legal-hero-inner { padding-top: 10rem; padding-bottom: 3.5rem; }
    .legal-content { padding-top: 2rem; }
}
