/* Premium, reusable reader for footer legal and information pages. */
:root{--legal-modal-accent:#ffb400;--legal-modal-ink:#17191d;--legal-modal-radius:18px}
html.legal-modal-lock,html.legal-modal-lock body{overflow:hidden!important;overscroll-behavior:none}
.legal-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:22px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s}
.legal-modal.is-open,.legal-modal.is-closing{visibility:visible;pointer-events:auto;transition-delay:0s}
.legal-modal.is-open{opacity:1}
.legal-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 12%,rgba(255,180,0,.17),transparent 42%),rgba(22,15,0,.82);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.legal-modal__dialog{position:relative;display:grid;width:min(820px,calc(100vw - 44px));max-height:min(88vh,920px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,180,0,.5);border-radius:var(--legal-modal-radius);background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08);transform:translateY(34px) scale(.985);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.legal-modal.is-open .legal-modal__dialog{transform:translateY(0) scale(1);opacity:1}
.legal-modal.is-closing .legal-modal__dialog{transform:translateY(22px) scale(.99);opacity:0}
.legal-modal__header{position:relative;display:flex;min-height:104px;align-items:center;justify-content:center;padding:24px 78px;background:linear-gradient(145deg,#282828,#171717 70%);border-bottom:1px solid #303030;text-align:center}
.legal-modal__header:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,#ffca3a,var(--legal-modal-accent),#ffca3a,transparent)}
.legal-modal__title{margin:0;color:var(--legal-modal-accent);font:800 clamp(23px,3.6vw,34px)/1.18 Arial,Helvetica,sans-serif;letter-spacing:-.02em;text-shadow:0 1px 0 #000}
.legal-modal__icon-close{position:absolute;right:22px;top:50%;display:grid;width:48px;height:48px;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,180,0,.42);border-radius:50%;background:#101010;color:#d7d7d7;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.legal-modal__icon-close:before,.legal-modal__icon-close:after{content:"";position:absolute;width:22px;height:3px;border-radius:2px;background:currentColor}
.legal-modal__icon-close:before{transform:rotate(45deg)}
.legal-modal__icon-close:after{transform:rotate(-45deg)}
.legal-modal__icon-close:hover{background:var(--legal-modal-accent);color:#151515;transform:translateY(-50%) rotate(4deg)}
.legal-modal__icon-close:focus-visible,.legal-modal__close:focus-visible,.legal-modal__retry:focus-visible{outline:3px solid rgba(255,180,0,.42);outline-offset:3px}
.legal-modal__reader{position:relative;min-height:170px;overflow-y:auto;overscroll-behavior:contain;background:#fff;scrollbar-color:#b6b6b6 #f3f3f3;scrollbar-width:thin}
.legal-modal__reader::-webkit-scrollbar{width:8px}.legal-modal__reader::-webkit-scrollbar-track{background:#f3f3f3}.legal-modal__reader::-webkit-scrollbar-thumb{border:2px solid #f3f3f3;border-radius:999px;background:#aaa}
.legal-modal__progress{position:sticky;z-index:3;left:0;right:0;top:0;height:4px;background:#eee}
.legal-modal__progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#ff9500,#ffd34d);box-shadow:0 1px 8px rgba(255,180,0,.5);transition:width .08s linear}
.legal-modal__content{padding:34px 38px 42px;color:#171717;font:400 clamp(16px,2.15vw,20px)/1.72 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
.legal-modal__content>:first-child{margin-top:0!important}.legal-modal__content>:last-child{margin-bottom:0!important}
.legal-modal__content p{margin:0 0 1.15em}.legal-modal__content h1,.legal-modal__content h2,.legal-modal__content h3,.legal-modal__content h4{margin:1.4em 0 .55em;color:#262626;line-height:1.24;letter-spacing:-.015em}.legal-modal__content h2{font-size:1.45em}.legal-modal__content h3{font-size:1.22em}.legal-modal__content h4{font-size:1.08em}.legal-modal__content strong,.legal-modal__content b{font-weight:800}.legal-modal__content ul,.legal-modal__content ol{margin:0 0 1.2em;padding-inline-start:1.55em}.legal-modal__content li{margin:.45em 0;padding-inline-start:.18em}.legal-modal__content a{color:#9b6500;text-decoration-thickness:1px;text-underline-offset:3px}.legal-modal__content blockquote{margin:1.3em 0;padding:16px 18px;border-left:4px solid var(--legal-modal-accent);background:#fff8e5;color:#3c3426}.legal-modal__content table{width:100%;margin:1.3em 0;border-collapse:collapse;font-size:.9em}.legal-modal__content th,.legal-modal__content td{padding:10px;border:1px solid #ddd;text-align:left}.legal-modal__content th{background:#f7f7f7}
/* CMS editor semantic formatting: shared across every storefront skin. */
:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-text-size-small{font-size:.82em!important}:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-text-size-normal{font-size:1em!important}:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-text-size-large{font-size:1.25em!important}:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-text-size-xlarge{font-size:1.55em!important}
:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-align-left{text-align:left!important}:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-align-center{text-align:center!important}:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-align-right{text-align:right!important}:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-align-justify{text-align:justify!important}
:is(.cms-page-body,.legal-content,.legal-modal__content) .cms-content-image{display:block;max-width:100%;height:auto;margin:1.15em auto;border-radius:12px}
.legal-modal__footer{display:flex;min-height:104px;align-items:center;justify-content:center;padding:18px 28px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #e1e1e1;background:linear-gradient(180deg,#fff,#f8f8f8)}
.legal-modal__close{width:min(380px,100%);min-height:58px;border:1px solid #090909;border-radius:13px;background:linear-gradient(180deg,#4b4b4b,#101010 82%);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 7px 16px rgba(0,0,0,.18);color:var(--legal-modal-accent);font:900 20px/1 Arial,Helvetica,sans-serif;letter-spacing:.05em;cursor:pointer;transition:transform .16s ease,filter .16s ease}
.legal-modal__close:hover{filter:brightness(1.12);transform:translateY(-1px)}.legal-modal__close:active{transform:translateY(1px)}
.legal-modal__loading{display:grid;gap:14px;padding:4px 0}.legal-modal__loading span{height:16px;border-radius:999px;background:linear-gradient(90deg,#eee 25%,#fafafa 40%,#eee 65%);background-size:400% 100%;animation:legalShimmer 1.15s ease infinite}.legal-modal__loading span:nth-child(2){width:91%}.legal-modal__loading span:nth-child(3){width:78%}.legal-modal__loading span:nth-child(5){width:85%}
.legal-modal__error{display:grid;min-height:220px;place-items:center;text-align:center}.legal-modal__error div{max-width:500px}.legal-modal__error b{display:block;margin-bottom:9px;font-size:1.2em}.legal-modal__error p{color:#626262}.legal-modal__retry{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin-top:8px;padding:0 20px;border:1px solid #d69700;border-radius:10px;background:#fff7df;color:#704a00;font-weight:800;text-decoration:none!important}
@keyframes legalShimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:620px){.legal-modal{padding:12px}.legal-modal__dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:14px}.legal-modal__header{min-height:82px;padding:18px 58px 18px 20px}.legal-modal__title{font-size:clamp(21px,6vw,28px)}.legal-modal__icon-close{right:13px;width:42px;height:42px}.legal-modal__icon-close:before,.legal-modal__icon-close:after{width:19px}.legal-modal__content{padding:25px 22px 34px;font-size:16px;line-height:1.66}.legal-modal__footer{min-height:86px;padding:13px 20px calc(13px + env(safe-area-inset-bottom))}.legal-modal__close{min-height:54px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.legal-modal,.legal-modal__dialog,.legal-modal__progress span,.legal-modal__icon-close,.legal-modal__close{transition:none!important}.legal-modal__loading span{animation:none}}
