/* Cookie banner. Loaded only when analytics is configured. Uses the site's colour tokens (with fallbacks). */
.consent{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:1100;max-width:760px;margin:0 auto;background:var(--dk,#0d0a04);color:#fff;border:1.5px solid rgba(184,146,30,.45);border-radius:var(--r,14px);box-shadow:0 20px 60px rgba(0,0,0,.4);padding:1.4rem 1.5rem;font-family:var(--ff-sans,system-ui,sans-serif)}
.consent[hidden],.consent [hidden]{display:none}
.consent-title{font-family:var(--ff-serif,Georgia,serif);font-style:italic;font-weight:600;font-size:1.35rem;line-height:1.2;margin-bottom:.5rem;outline:none}
.consent-text{font-size:.85rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.85);margin-bottom:1rem}
.consent-text a{color:var(--g2,#d4aa38)}
.consent-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.consent-btn{flex:1 1 150px;min-height:44px;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:100px;padding:.7rem 1.2rem;cursor:pointer;border:1.5px solid var(--g,#b8921e);transition:background .25s,color .25s}
.consent-btn.is-primary{background:var(--g,#b8921e);color:var(--dk,#0d0a04)}
.consent-btn.is-primary:hover{background:var(--g2,#d4aa38)}
.consent-btn.is-ghost{background:transparent;color:#fff}
.consent-btn.is-ghost:hover{background:rgba(184,146,30,.2)}
.consent :focus-visible{outline:3px solid var(--g2,#d4aa38);outline-offset:3px}
.consent-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(184,146,30,.3)}
.consent-opt{display:flex;gap:.8rem;align-items:flex-start;font-size:.85rem;line-height:1.6;color:rgba(255,255,255,.9);margin-bottom:.8rem}
.consent-opt input{width:22px;height:22px;margin-top:.15rem;accent-color:var(--g,#b8921e);flex-shrink:0}
.consent-opt small{display:block;font-size:.78rem;font-weight:300;color:rgba(255,255,255,.7)}
.consent-manage{font:inherit;font-size:.72rem;font-weight:300;color:rgba(255,255,255,.6);background:none;border:0;padding:.5rem 0;cursor:pointer;text-decoration:underline}
.consent-manage:hover{color:var(--g,#b8921e)}
@media (max-width:600px){.consent{left:.6rem;right:.6rem;padding:1.1rem}.consent-btn{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.consent-btn{transition:none}}
