/* Footer e informative: stesso stile del festival, risorse solo locali. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-footer{border-top:1px solid var(--line);padding:.8rem 1.25rem 1rem;font-size:.75rem;line-height:1.7}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 1.5rem;margin:auto;max-width:1800px}
.footer-identity{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .65em}
.footer-identity span+span:before{content:'·';margin-right:.65em}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:0 1.1rem}
.footer-legal a{display:inline-flex;align-items:center;min-height:36px}
.legal-page{padding:4rem 0 5rem}
.legal-wrap{max-width:980px}
.legal-heading .eyebrow{margin-bottom:1rem}
.legal-heading h1{font-family:Festival Serif,Georgia,serif;font-size:clamp(2.8rem,6vw,5rem);line-height:1.05;letter-spacing:-.04em;color:var(--blue)}
.legal-intro{font-size:1.125rem;margin-top:1.25rem;max-width:650px}
.legal-updated{font-size:.8125rem;margin-top:1rem}
.legal-tabs{display:flex;gap:.75rem 1.75rem;flex-wrap:wrap;margin:2rem 0 2.5rem;padding-block:1rem;border-block:1px solid var(--line);font-size:.875rem}
.legal-tabs a{display:flex;align-items:center;min-height:30px}
.legal-tabs [aria-current]{font-weight:700;color:var(--red)}
.legal-body section+section{margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid var(--line)}
.legal-body h2{font-size:1.3rem;line-height:1.4;font-weight:700;margin-bottom:.85rem}
.legal-body p+p,.legal-body ul,.legal-body .button{margin-top:1rem}
.legal-body li+li{margin-top:.6rem}
.legal-body ul{padding-left:1.25rem}
.legal-body a,.legal-body code{overflow-wrap:anywhere}
.legal-table-wrap{overflow-x:auto;margin:1.25rem 0}
.legal-body table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.55}
.legal-body caption{text-align:left;font-weight:700;margin-bottom:.8rem}
.legal-body th,.legal-body td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.9rem}
.legal-body thead{background:rgba(255,249,243,.6)}
.legal-body th[scope=row]{min-width:125px}
.legal-body .legal-preferences{background:rgba(255,249,243,.65);padding:1.5rem;border-radius:6px}
.legal-draft{border:2px solid var(--red);padding:1rem;margin-bottom:2rem;background:var(--cream)}
.privacy-dialog{padding:clamp(1.25rem,4vw,2rem);width:min(620px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);font-family:Festival Sans,Arial,sans-serif;font-size:.9375rem;line-height:1.55;overscroll-behavior:contain}
.privacy-dialog:not([open]){display:none}
.privacy-dialog::backdrop{background:rgba(0,43,33,.65)}
.privacy-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}
.privacy-dialog .eyebrow{font-size:.75rem}
.privacy-close{display:flex;align-items:center;gap:.45rem;min-height:44px;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;padding:0 .25rem}
.privacy-close span{font-size:1.65rem;line-height:1}
.privacy-dialog h2{font-family:Festival Serif,Georgia,serif;font-size:2.5rem;line-height:1.05;margin-bottom:1.25rem}
.privacy-dialog p+p{margin-top:.9rem}
.privacy-more{font-size:.875rem}
.privacy-current{padding:.75rem 0;border-block:1px solid var(--line);font-weight:700}
.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}
.privacy-choice{border:1px solid var(--forest);border-radius:3px;min-height:48px;padding:.75rem;color:var(--forest);background:var(--cream);font:inherit;font-weight:700;cursor:pointer}
.privacy-choice:hover{background:var(--peach)}
.privacy-storage{font-size:.8125rem}
.privacy-dialog[data-fallback]{position:fixed;inset:1rem;margin:auto;z-index:100;width:min(620px,calc(100% - 2rem));height:fit-content;box-shadow:0 0 0 100vmax rgba(0,43,33,.6)}
.video-consent-copy{position:relative;z-index:1;padding:1.1rem;background:rgba(255,228,221,.97);border:1px solid var(--line);border-radius:5px;width:100%;font-size:.8125rem}
.video-consent-copy p+p{margin-top:.4rem}
.video-consent-copy .button{margin:.9rem 0 .6rem;width:100%;font-size:.875rem;min-height:48px}
.video-consent-copy>a:not(.button){display:block;min-height:30px;align-content:center}
.video-cover-art{bottom:5rem}
.video-preferences{display:inline-flex;align-items:center;font-size:.8125rem;min-height:36px;margin-top:.4rem}
.video-loading{min-height:500px;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;padding:1.5rem;text-align:center}
.video-loading a{display:inline-flex;align-items:center;gap:.3rem}
@media(max-width:760px){.legal-page{padding:2.5rem 0 3.5rem}.legal-body table{font-size:.8125rem}.legal-body th,.legal-body td{padding:.65rem}.legal-body th[scope=row]{min-width:90px}.footer-identity{display:block;text-align:center}.footer-identity span{display:inline}.footer-identity span+span{margin-left:.45em}.footer-identity span+span:before{margin-right:.45em}.footer-legal a{min-height:44px}.footer-inner{gap:.3rem}.site-footer{padding:1rem 1.25rem}.video-consent-copy{padding:.85rem}}
@media(max-width:400px){.privacy-actions{grid-template-columns:1fr}.privacy-dialog{width:calc(100% - 1.25rem);padding:1.1rem}.privacy-dialog h2{font-size:2.1rem}.legal-tabs{gap:.6rem 1rem}.footer-legal{gap:0 .9rem}}
@media print{.privacy-dialog,.legal-tabs,.legal-preferences button{display:none!important}.legal-page{padding:0}.legal-body section{break-inside:avoid}.legal-draft{display:block!important}}
/* v10: visible direct Instagram frame, resized by trusted Instagram messages. */
.festival-instagram-frame{display:block;width:100%;min-width:0;max-width:100%;border:0;border-radius:10px;background:var(--peach)}
.video-loading .button{font-family:inherit;cursor:pointer;order:1;margin-top:.5rem}
