/* Shared cookie controls use the approved 02 palette and existing button system. */
.cookie-banner[hidden],.cookie-storage-error[hidden],.cookie-media-placeholder[hidden],[data-cookie-preview-only][hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:100;inset:auto 24px 24px;margin-inline:auto;max-width:1180px;display:flex;align-items:center;gap:28px;padding:24px 28px;background:#f8faf4;color:var(--ink,#243e31);border:1px solid var(--line,#d4ddc9);border-radius:24px;box-shadow:0 14px 55px #162c2426;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain}
.cookie-banner-copy{flex:1;min-width:0}.cookie-banner h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:0 0 7px;font-weight:500}.cookie-banner p{font-size:14px;line-height:1.6;margin:0 0 6px;color:var(--muted,#687760)}
.cookie-policy-link{font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.cookie-banner-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-banner .button,.cookie-dialog .button{font-size:14px;line-height:1.4;padding:13px 20px;min-height:46px;white-space:normal;text-align:center}
.cookie-text-button{border:0;background:transparent;color:inherit;font:inherit;font-size:14px;min-height:44px;padding:10px;text-decoration:underline;text-underline-offset:3px}
.cookie-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;margin:auto;padding:28px;border:1px solid var(--line,#d4ddc9);border-radius:24px;background:#f8faf4;color:var(--ink,#243e31);overflow:auto;overscroll-behavior:contain;box-shadow:0 22px 80px #132b2440}
.cookie-dialog::backdrop{background:#172e2580;backdrop-filter:blur(4px)}.cookie-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.cookie-dialog-heading h2{font-size:27px;line-height:1.2;font-weight:500;letter-spacing:-.03em;margin:0}.cookie-close{flex:none;width:40px;height:40px;border:1px solid var(--line,#d4ddc9);border-radius:50%;background:transparent;color:inherit;font-size:24px;line-height:1}
.cookie-intro{margin:18px 0 24px;color:var(--muted,#687760);font-size:14px;line-height:1.65}.cookie-category{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line,#d4ddc9)}.cookie-category>div,.cookie-category>span:first-child{flex:1;min-width:0}.cookie-category h3,.cookie-category strong{display:block;font-size:17px;line-height:1.4;font-weight:500;margin:0 0 6px;letter-spacing:-.01em}.cookie-category p,.cookie-category-description{display:block;font-size:14px;line-height:1.6;color:var(--muted,#687760);margin:0}.cookie-required{font-size:11px;line-height:1.4;max-width:94px;text-align:right;color:var(--muted,#687760)}
.cookie-category-choice{cursor:pointer}.cookie-category-choice input{appearance:none;width:22px;height:22px;border:1px solid #93a889;border-radius:5px;background:#fff;flex:none;margin:0;cursor:pointer;display:grid;place-content:center}.cookie-category-choice input:checked{background:var(--green,#315c46);border-color:var(--green,#315c46)}.cookie-category-choice input:checked::after{content:'';width:10px;height:6px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}
.cookie-settings-policy{margin:3px 0 22px}.cookie-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.cookie-storage-error{font-size:13px;line-height:1.5;margin:16px 0 0;color:#8a453b}
.cookie-media-placeholder{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:28px;background:#e9eedf;border:1px solid var(--line,#d4ddc9);border-radius:18px}.cookie-media-placeholder p{font-size:15px;line-height:1.6;max-width:430px}.cookie-media-placeholder .button{font-size:14px;min-height:44px}.cookie-media-frame[hidden]{display:none!important}
.site-footer button.footer-link[data-cookie-open]{border:0;background:transparent;cursor:pointer;font-family:inherit;text-align:left}.cookie-policy-page{max-width:960px}.cookie-policy-page section{padding-block:26px;border-top:1px solid var(--line,#d4ddc9)}.cookie-policy-page h2{font-size:25px;line-height:1.3;margin:0 0 16px}.cookie-policy-page p,.cookie-policy-page li{font-size:16px;line-height:1.8;color:var(--muted,#687760)}.cookie-policy-page p+p{margin-top:14px}.cookie-policy-page ul{padding-left:23px}.cookie-policy-page .button{margin-top:16px}
:is(.cookie-banner,.cookie-dialog,.cookie-media-placeholder) :is(button,a,input):focus-visible{outline:2px solid #71936c;outline-offset:3px}
:is(.cookie-banner,.cookie-dialog){scrollbar-width:thin;scrollbar-color:#96a78b transparent}:is(.cookie-banner,.cookie-dialog)::-webkit-scrollbar{width:6px}:is(.cookie-banner,.cookie-dialog)::-webkit-scrollbar-thumb{background:#96a78b;border-radius:20px}:is(.cookie-banner,.cookie-dialog)::-webkit-scrollbar-button{display:none;width:0;height:0}
@media(max-width:900px){.cookie-banner{align-items:flex-start;flex-direction:column;gap:15px}.cookie-banner-actions{justify-content:flex-start}}
@media(max-width:480px){.cookie-banner{inset:auto 12px 12px;padding:18px;border-radius:18px;max-height:calc(100dvh - 24px)}.cookie-banner-actions{width:100%;display:grid;grid-template-columns:1fr}.cookie-banner .button{width:100%}.cookie-text-button{min-height:40px}.cookie-dialog{padding:20px;border-radius:20px}.cookie-dialog-heading h2{font-size:23px}.cookie-category{gap:14px}.cookie-dialog-actions{display:grid;grid-template-columns:1fr}.cookie-dialog-actions .button{width:100%}.cookie-required{max-width:73px}.cookie-policy-page h2{font-size:22px}}
