/* Shared, dependency-free consent UI. Inherits the storefront typography. */
.consent-banner{position:fixed;inset:auto auto max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));z-index:1080;width:min(480px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:22px 24px;background:#fff;color:#243b36;border:1px solid #dce5e0;border-radius:18px;box-shadow:0 8px 40px #132d3a1a;font:inherit;box-sizing:border-box}
.consent-banner[hidden]{display:none!important}
.consent-banner__heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.consent-banner__icon{display:flex;align-items:center;justify-content:center;flex:0 0 36px;height:36px;border-radius:11px;color:#28715c;background:#edf5f1}
.consent-banner h2{margin:0;font-size:17px;font-weight:650;line-height:1.4;color:inherit;letter-spacing:-.2px}
.consent-banner p{margin:0 0 18px;font-size:14px;line-height:1.65;color:#52615c}
.consent-banner__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.consent-banner__policy{color:#476459;font-size:12px;text-underline-offset:3px}
.consent-banner__actions{display:flex;gap:10px}
.consent-button{min-height:44px;min-width:100px;padding:10px 17px;border:1px solid #c2d1c9;border-radius:10px;font:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer}
.consent-button--reject{color:#315646;background:#fff}
.consent-button--accept{color:#fff;background:#34785f;border-color:#34785f}
.consent-button--reject:hover{background:#f2f6f4}
.consent-button--accept:hover{background:#28624d;border-color:#28624d}
.consent-button:focus-visible,.consent-banner a:focus-visible,.consent-footer a:focus-visible{outline:3px solid #438d72;outline-offset:4px}
.consent-footer{display:flex;align-items:center;justify-content:center;gap:8px 22px;flex-wrap:wrap;padding:18px 24px;font-size:12px;line-height:1.7}
.consent-footer a{color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px;opacity:.8}
.consent-footer a:hover,.consent-footer a:focus-visible{opacity:1}
.footer.bg-dark .consent-footer{color:#d9e3df}
.policy-content{max-width:800px;margin:0 auto;padding:40px 24px 64px;line-height:1.75}
.policy-content h1{font-size:clamp(28px,5vw,40px);margin-bottom:16px}
.policy-content h2{font-size:21px;margin-top:32px}
.policy-content a{color:#28624d;text-underline-offset:3px}
.policy-content table{width:100%;border-collapse:collapse;font-size:14px}
.policy-content th,.policy-content td{padding:12px 8px;border-bottom:1px solid #dce5e0;text-align:left;vertical-align:top;overflow-wrap:anywhere}
@media(max-width:520px){.consent-banner{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;padding:18px;border-radius:16px;max-height:calc(100dvh - 24px)}.consent-banner h2{font-size:16px}.consent-banner__bottom{gap:14px}.consent-banner__actions{width:100%}.consent-button{flex:1}.consent-banner__policy{order:2}.consent-footer{padding-inline:16px}}
@media(forced-colors:active){.consent-banner,.consent-button{border:1px solid CanvasText}.consent-banner__icon{color:CanvasText}}
