/* Shared consent controls · Zoo forest and ivory · no optional tags before consent. */
body.has-cookie-banner{padding-bottom:calc(var(--cookie-banner-space,210px) + 20px)}
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;inset:auto 20px 20px;z-index:80;display:flex;align-items:center;gap:32px;max-width:1240px;margin-inline:auto;padding:24px 28px;border:1px solid var(--color-zoo-forest-edge);border-top:4px solid var(--color-zoo-mandarin);border-radius:20px;background:var(--color-zoo-forest);color:var(--color-zoo-ivory);box-shadow:0 14px 40px var(--color-zoo-deep-shadow)}
.cookie-copy{flex:1;min-width:0}.cookie-eyebrow{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--color-zoo-gold);margin-bottom:7px}
.cookie-copy h2{font-size:23px;line-height:1.15;letter-spacing:-.04em;margin-bottom:9px;overflow-wrap:anywhere}
.cookie-copy>p:last-child{font-size:12px;line-height:1.7;max-width:68ch}.cookie-copy a{text-decoration:underline;text-underline-offset:3px;display:inline}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;max-width:410px;justify-content:flex-end}
.cookie-actions button,.cookie-dialog-actions button{border:1px solid var(--color-zoo-sage);border-radius:10px;padding:12px 14px;min-height:46px;font-family:var(--font-body);font-size:11px;font-weight:800;white-space:nowrap;background:var(--color-zoo-forest);color:var(--color-zoo-ivory);cursor:pointer;transition:transform var(--dur-short)}
.cookie-actions button[data-cookie=accept]{background:var(--color-zoo-gold);border-color:var(--color-zoo-gold);color:var(--color-zoo-forest)}
.cookie-actions button:hover,.cookie-dialog-actions button:hover{transform:translateY(-2px);text-decoration:underline;text-underline-offset:3px}
.cookie-actions button:active,.cookie-dialog-actions button:active{transform:translateY(1px)}
.cookie-banner :is(button,a):focus-visible{outline:3px solid var(--color-zoo-gold);outline-offset:4px}
.cookie-dialog{width:calc(100% - 32px);max-width:600px;max-height:calc(100dvh - 40px);margin:auto;padding:32px;border:1px solid var(--color-zoo-line);border-radius:22px;background:var(--color-zoo-ivory);color:var(--color-zoo-forest);overflow-y:auto;text-align:left}
.cookie-dialog::backdrop{background:var(--color-overlay)}
.cookie-dialog .cookie-eyebrow{color:var(--color-zoo-forest-light)}
.cookie-dialog h2{font-size:29px;line-height:1.1;letter-spacing:-.04em;padding-right:20px;margin:8px 0 15px;overflow-wrap:anywhere}
.cookie-dialog>p:not(.cookie-eyebrow){font-size:12px;line-height:1.8}
.cookie-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:transparent;color:var(--color-zoo-forest);font-size:29px;cursor:pointer}
.cookie-option{display:flex;align-items:center;gap:20px;border-top:1px solid var(--color-zoo-line);padding:20px 0;margin-top:12px}.cookie-option>div{flex:1}.cookie-option h3{font-size:16px;margin-bottom:6px}.cookie-option p{font-size:12px;line-height:1.7}.cookie-option>span{font-size:10px;font-weight:700;max-width:80px;text-align:center}.cookie-option input{flex-shrink:0;width:24px;height:24px;accent-color:var(--color-zoo-forest);cursor:pointer}
.cookie-dialog-actions{display:flex;gap:10px;justify-content:space-between;margin-top:18px}.cookie-dialog-actions button{font-size:11px}.cookie-dialog-actions [data-cookie=reject]{background:var(--color-zoo-ivory);border-color:var(--color-zoo-forest);color:var(--color-zoo-forest)}
.cookie-dialog :is(button,input,a):focus-visible,.cookie-settings-link:focus-visible,[data-cookie-settings]:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.cookie-settings-link,[data-cookie-settings]{font:inherit;font-size:11px;font-weight:700;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.cookie-save-state:empty{display:none}
@media(max-width:900px){.cookie-banner{flex-direction:column;align-items:stretch;gap:16px;padding:22px}.cookie-actions{max-width:none;justify-content:flex-start}}
@media(max-width:600px){.cookie-banner{inset:auto 10px 10px;padding:18px 16px;gap:14px;border-radius:16px}.cookie-copy h2{font-size:21px}.cookie-copy>p:last-child{font-size:11px}.cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cookie-actions button{padding:11px 7px;font-size:10px;min-height:44px}.cookie-actions [data-cookie=accept]{grid-column:1/-1}.cookie-dialog{padding:24px 19px;max-height:calc(100dvh - 24px)}.cookie-dialog h2{font-size:25px}.cookie-option{gap:12px}.cookie-dialog-actions{flex-direction:column}.cookie-dialog-actions button{width:100%;min-height:46px}.cookie-option p,.cookie-dialog>p:not(.cookie-eyebrow){font-size:12px}.cookie-settings-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cookie-actions button,.cookie-dialog-actions button{transition:none}}
