.zc-banner,.zc-dialog,.zc-embed,.zc-noscript{--zc-green:#092e21;--zc-paper:#f7f5f0;--zc-line:#d9d6ce;font-family:Lato,Arial,sans-serif;color:var(--zc-green);box-sizing:border-box}
.zc-banner[hidden],.zc-embed[hidden],iframe[data-zc-media][hidden]{display:none!important}
.zc-banner{position:fixed;z-index:99990;bottom:0;left:0;right:0;max-height:85dvh;overflow:auto;margin:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:35px;background:var(--zc-paper);border:0;border-top:3px solid var(--zc-green);padding:30px var(--content-edge,var(--content-gutter,24px));box-shadow:0 -8px 32px #092e2118}
#zc-banner{width:100%;max-width:none;border-radius:0}
.zc-eyebrow{display:block;font:var(--type-label,12px)/1.5 Lato,Arial,sans-serif;letter-spacing:.12em;margin-bottom:13px}
.zc-banner h2,.zc-dialog h2{font:400 var(--type-subsection,26px)/1.3 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 15px;color:inherit}
.zc-banner p,.zc-dialog p,.zc-embed p{font-size:var(--type-body,16px);line-height:1.75;margin:0 0 15px}
.zc-legal{display:flex;flex-wrap:wrap;gap:20px;font-size:var(--type-meta,13px);line-height:1.6}.zc-legal a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.zc-actions{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:10px}
.zc-banner button,.zc-dialog-actions button,.zc-embed button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border:1px solid var(--zc-green);border-radius:0;padding:13px 15px;background:var(--zc-green);color:var(--zc-paper);font:var(--type-ui,14px)/1.5 Lato,Arial,sans-serif;cursor:pointer;text-align:center}
.zc-banner button:hover,.zc-dialog-actions button:hover,.zc-embed button:hover{background:#164936}
.zc-actions .zc-customize{grid-column:1/-1;justify-content:space-between;background:transparent;color:var(--zc-green);border:0;border-bottom:1px solid var(--zc-line);padding-inline:12px;transition:background .2s,border-color .2s}
.zc-banner .zc-customize:hover,.zc-banner .zc-customize:focus-visible{background:#eeece6;color:var(--zc-green);border-bottom-color:var(--zc-green)}
.zc-customize svg{width:16px;height:16px;flex:none}.zc-banner :focus-visible,.zc-dialog :focus-visible,.zc-settings-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.zc-dialog{width:min(700px,calc(100% - 48px));max-width:none;max-height:90dvh;padding:0;border:1px solid #fff9;background:var(--zc-paper);overflow:auto;margin:auto;box-shadow:0 30px 100px #0003}
.zc-dialog::backdrop{background:#06251abf;backdrop-filter:blur(5px)}
.zc-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:29px 34px;background:var(--zc-green);color:var(--zc-paper)}
.zc-dialog h2{margin:0}.zc-dialog-head .zc-eyebrow{font-size:var(--type-label,12px);color:#dfd9ce;margin-bottom:9px}
.zc-close{display:grid;place-items:center;border:1px solid #fff7;color:inherit;background:transparent;width:42px;height:42px;flex-shrink:0;border-radius:50%;font:30px/1 Arial;cursor:pointer}
.zc-dialog-body{padding:29px 34px}.zc-option{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-top:1px solid var(--zc-line);padding-top:23px;margin-top:22px}
.zc-option h3{font:400 var(--type-card,24px)/1.35 'Playfair Display',Georgia,serif;margin:0 0 13px}.zc-required{font-size:var(--type-label,12px);white-space:nowrap;background:#e8e5dc;padding:8px 10px;flex-shrink:0}
.zc-switch{position:relative;display:block;flex:0 0 44px;width:44px;height:27px;margin-top:3px}.zc-switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.zc-switch>span:first-of-type{display:block;pointer-events:none;height:27px;width:44px;border-radius:20px;background:#c5c4bd;border:1px solid #7b8178}.zc-switch>span:first-of-type::after{content:'';position:absolute;top:4px;left:4px;width:19px;height:19px;background:#fff;border-radius:50%;transition:transform .2s}.zc-switch input:checked+span{background:var(--zc-green)}.zc-switch input:checked+span::after{transform:translateX(17px)}.zc-switch input:focus-visible+span{outline:2px solid var(--zc-green);outline-offset:4px}
.zc-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.zc-details{font-size:var(--type-meta,13px)}.zc-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.zc-details dl{padding:17px;background:#eeece6;margin-top:14px}.zc-details dt{font-weight:700;margin-top:13px}.zc-details dt:first-child{margin-top:0}.zc-details dd{margin:5px 0 0;line-height:1.65}
.zc-dialog .zc-note{font-size:var(--type-meta,13px);padding:17px;background:#eeece6;margin-top:13px}.zc-dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0 20px}.zc-dialog-actions button{flex:1 1 140px}.zc-storage-note:empty{display:none}
.zc-settings-link{padding:0;background:none;color:inherit;border:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.zc-embed{padding:30px;background:#eeece6;border:1px solid var(--zc-line);margin-block:20px}.zc-noscript{padding:18px;background:#eeece6;font-size:var(--type-body,16px)}
@media(max-width:760px){.zc-banner{max-height:85dvh;overflow:auto;grid-template-columns:1fr;gap:21px;padding:25px 23px max(22px,env(safe-area-inset-bottom))}.zc-banner h2,.zc-dialog h2{font-size:var(--type-subsection,24px)}.zc-banner p{font-size:var(--type-body,16px)}.zc-actions{gap:9px}.zc-actions .zc-customize{min-height:40px}.zc-dialog{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:16px 16px 0 0}.zc-dialog-head{padding:25px 23px}.zc-dialog-body{padding:25px 23px}.zc-option{gap:17px}.zc-option h3{font-size:var(--type-card,22px)}.zc-required{font-size:var(--type-label,12px)}.zc-dialog-actions{display:grid;grid-template-columns:1fr}.zc-dialog p{font-size:var(--type-body,16px)}.zc-dialog[open]{animation:zc-rise .25s ease-out}}
@keyframes zc-rise{from{transform:translateY(25px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.zc-dialog[open]{animation:none}.zc-switch>span:first-of-type::after{transition:none}}
/* On phones, keep the explanation full width below the heading and switch. */
@media(max-width:760px){
 .zc-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}
 .zc-option>div{display:contents}
 .zc-option h3{grid-column:1;grid-row:1;margin:0}
 .zc-option p{grid-column:1/-1;grid-row:2;margin:0}
 .zc-option>:is(.zc-required,.zc-switch){grid-column:2;grid-row:1;align-self:start}
}

/* Explicit contrast keeps banner and dialog readable when a theme sets dark surfaces. */
#zc-banner{background:#f7f5f0;color:#092e21;border-top-color:#092e21}
#zc-banner :is(h2,p,.zc-eyebrow,.zc-legal){color:#092e21}
#zc-banner h2{font-size:28px;line-height:1.25}
#zc-banner p{font-size:16px;line-height:1.65}
#zc-banner .zc-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:8px}
#zc-banner .zc-actions>button{font-size:14px;font-weight:700}
#zc-banner .zc-actions>button[data-zc-choice]{background:#092e21;color:#fff;border-color:#092e21}
#zc-banner .zc-actions>button[data-zc-choice]:hover{background:#164936}
#zc-banner .zc-actions>.zc-customize{color:#092e21;background:transparent}
#zc-banner .zc-actions>.zc-customize:hover{background:#e4ece8}
#zc-dialog{background:#f7f5f0;color:#092e21}
#zc-dialog .zc-dialog-head{background:#092e21;color:#fff}
#zc-dialog .zc-dialog-head :is(h2,.zc-eyebrow,.zc-close){color:#fff}
#zc-dialog .zc-dialog-body :is(h3,p,.zc-details,.zc-legal){color:#092e21}
#zc-dialog .zc-close{min-width:44px;min-height:44px}
#zc-banner :focus-visible,#zc-dialog :focus-visible{outline-color:#b28313}
@media(max-width:760px){#zc-banner{padding:22px var(--content-edge,20px) max(22px,env(safe-area-inset-bottom));gap:16px}#zc-banner h2{font-size:25px}#zc-banner .zc-legal a{min-height:44px;display:inline-flex;align-items:center}#zc-banner .zc-actions .zc-customize{min-height:44px}}
