@font-face{font-family:"Account Narrow";src:url('/assets/fonts/nimbus-sans-narrow-bold.woff') format('woff');font-weight:700;font-display:swap}.account-auth{display:grid!important;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);max-width:1180px!important;margin:42px auto 70px!important;padding:0!important;border:1px solid #3b2f27;border-radius:20px;overflow:hidden;background:#110b08;min-height:670px}.account-auth *{box-sizing:border-box}.account-auth-story{background:#ff641f;color:#120b08;padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:60px}.account-auth-story>img{filter:brightness(0);max-width:164px;height:auto}.account-auth-story h2{font-family:"Account Narrow",sans-serif;font-size:66px;line-height:.98;text-transform:uppercase;margin:22px 0;letter-spacing:-.02em}.account-auth-story p{font-size:14px;line-height:1.6;max-width:32ch}.account-auth-form{padding:42px 48px;color:#faf6f4}.account-auth-tabs{display:flex;gap:24px;border-bottom:1px solid #3b2f27;margin-bottom:32px}.account-auth-tabs a{color:#b6a9a0;font-size:13px;text-decoration:none;padding-bottom:12px;border-bottom:2px solid transparent}.account-auth-tabs a[aria-current]{color:#faf6f4;border-bottom-color:#ff641f}.account-auth-form h1{font-family:"Account Narrow",sans-serif;text-transform:uppercase;font-size:48px;line-height:1.05;margin:0 0 14px}.account-auth-form h1 span,.cabinet-settings h2 span{color:#ff641f}.account-auth-intro,.account-auth-help,.cabinet-settings p{color:#b6a9a0;line-height:1.65;font-size:13px}.account-auth-intro{margin:0 0 26px;max-width:46ch}.account-auth .auth-form{display:grid;gap:12px}.account-auth .auth-form>label{font-size:12px;display:grid;gap:8px;color:#d1c7c0}.account-auth input[type=email]{width:100%;border:1px solid #665044;border-radius:9px;padding:13px 14px;background:#080504;color:#faf6f4;font:16px Arial,Helvetica,sans-serif;min-height:48px}.account-auth input::placeholder{color:#9c8d83}.account-field-note{font-size:11px;color:#b6a9a0;margin:0 0 4px}.account-auth .legal-checkbox{font-size:11px;line-height:1.5;display:flex;gap:10px;color:#b6a9a0}.account-auth .legal-checkbox input{accent-color:#ff641f;flex:none;width:18px;height:18px;margin:0}.account-auth .legal-checkbox a{color:#faf6f4;text-underline-offset:3px}.account-auth .auth-form>.button{width:100%;min-height:48px;margin-top:2px}.account-auth-divider{border-top:1px solid #3b2f27;text-align:center;margin:26px 0 18px;height:0}.account-auth-divider span{position:relative;top:-12px;padding:0 12px;background:#110b08;color:#b6a9a0;font-size:11px}.account-social-list{display:grid;gap:10px}.account-social{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 14px;border:1px solid #665044;border-radius:9px;background:#080504;color:#faf6f4;font:13px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer}.account-social svg{width:24px;height:24px;flex:none}.account-social small{font-size:10px;color:#b6a9a0;margin-left:auto}.account-social:hover:not(:disabled){border-color:#ff641f}.account-social:disabled{cursor:default;opacity:1;color:#b6a9a0;border-color:#44372e}.account-auth-help{font-size:11px;margin:20px 0 0}.account-auth :focus-visible,.cabinet-tabs a:focus-visible,.cabinet-settings :focus-visible{outline:2px solid #ff641f;outline-offset:4px}.cabinet-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.cabinet-heading p{font-size:13px;color:#b6a9a0;margin:16px 0 0}.cabinet-tabs{display:flex;gap:28px;border-bottom:1px solid #3b2f27;margin:28px 0 34px;overflow:auto}.cabinet-tabs>a{flex:none;color:#b6a9a0;padding:0 0 16px;text-decoration:none;font-size:14px;border-bottom:2px solid transparent}.cabinet-tabs>a[aria-current]{color:#faf6f4;border-bottom-color:#ff641f}.cabinet-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.cabinet-settings>section{border:1px solid #3b2f27;background:#110b08;border-radius:18px;padding:28px;min-width:0}.cabinet-settings h2{font-family:"Account Narrow",sans-serif;font-size:30px;line-height:1.1;text-transform:uppercase;margin:0 0 20px}.cabinet-profile dl{display:grid;gap:8px;margin:0 0 24px}.cabinet-profile dt{font-size:11px;color:#b6a9a0;margin-top:10px}.cabinet-profile dd{margin:0;font-size:16px;overflow-wrap:anywhere}.cabinet-profile small{display:block;font-size:11px;color:#b6a9a0;margin-top:6px}.cabinet-telegram{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:30px}.cabinet-telegram p{max-width:65ch;margin-bottom:0}.cabinet-telegram .button{flex-shrink:0}.account-connected{font-size:12px;color:#faf6f4;white-space:nowrap}.account-link-steps{color:#b6a9a0;font-size:13px;line-height:1.7;padding-left:20px}.account-link-state{border:1px solid #3b2f27;border-radius:10px;padding:16px;margin:20px 0;white-space:pre-wrap}.account-link-controls{display:flex;gap:12px;flex-wrap:wrap}.account-link-controls a,.account-link-controls button{flex:1 1 180px}.account-auth .error:empty{display:none}body:has(.account-auth) #main{padding-inline:24px}.cabinet-settings .account-social-list{margin-top:20px}@media(max-width:850px){.account-auth{grid-template-columns:.8fr 1.2fr;min-height:640px}.account-auth-story{padding:30px;gap:30px}.account-auth-story h2{font-size:48px}.account-auth-form{padding:30px}.cabinet-settings{grid-template-columns:1fr}.cabinet-telegram{display:block}.cabinet-telegram .button,.cabinet-telegram .account-connected{margin-top:22px;display:inline-flex}}@media(max-width:620px){body:has(.account-auth) #main{padding-inline:16px}.account-auth{display:block!important;margin:20px auto 36px!important;border-radius:16px;min-height:0}.account-auth-story{padding:24px;gap:0}.account-auth-story>img{width:112px}.account-auth-story>div{display:none}.account-auth-form{padding:28px 24px 32px}.account-auth-form h1{font-size:40px}.account-auth-tabs{margin-bottom:26px}.account-auth-intro{font-size:12px}.cabinet-heading{gap:12px}.cabinet-heading .page-title{font-size:40px;line-height:1.05}.cabinet-tabs{gap:22px}.cabinet-tabs>a{font-size:13px}.cabinet-settings>section{padding:24px}.account-social small{font-size:9px}.account-link-controls{display:grid;grid-template-columns:1fr}}
.account-auth .auth-form .legal-checkbox{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:4px 0}.account-auth .auth-form .legal-checkbox input{width:18px;height:18px;min-width:18px;min-height:18px;max-height:18px;padding:0;margin:1px 0 0;flex:none}.account-auth .auth-form .legal-checkbox span{flex:1;min-width:0}

/* Consistent registration buttons and independently centered provider labels. */
.account-auth .auth-form>.button,.account-auth .account-social{border-radius:999px;min-height:48px;text-align:center;justify-content:center}
.account-auth .account-social{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;column-gap:12px;padding:10px 18px}
.account-auth .account-social>svg{grid-column:1;grid-row:1}
.account-auth .account-social>span{grid-column:2;grid-row:1;text-align:center}
.account-auth .account-social>small{grid-column:2;grid-row:2;margin:0;text-align:center}

/* Cabinet provider buttons match registration; Telegram purchases stay in their own section. */
.cabinet-settings .account-social,.cabinet-settings .button{border-radius:999px;min-height:48px;text-align:center;justify-content:center}
.cabinet-settings .account-social{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;column-gap:12px;padding:10px 18px}
.cabinet-settings .account-social>svg{grid-column:1;grid-row:1}
.cabinet-settings .account-social>span{grid-column:2;grid-row:1;text-align:center}
.cabinet-settings .account-social>small{grid-column:2;grid-row:2;margin:0;text-align:center}

/* Center each provider icon and label together. */
.account-auth .account-social,.cabinet-settings .account-social{display:grid;grid-template-columns:24px auto;justify-content:center;column-gap:10px}
.account-auth .account-social>svg,.cabinet-settings .account-social>svg{grid-column:1;grid-row:1}
.account-auth .account-social>span,.cabinet-settings .account-social>span{grid-column:2;grid-row:1}
.account-auth .account-social>small,.cabinet-settings .account-social>small{grid-column:1/-1;grid-row:2}

/* Athletic track artwork for the account welcome panel. */
.account-auth-story{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(155deg,#150c09 0%,#24100b 46%,#9c3518 100%);gap:48px}
.account-auth-story:before{content:"";position:absolute;z-index:-2;width:470px;height:780px;border:2px solid #ff762e;border-radius:240px;right:-290px;top:-150px;transform:rotate(31deg);box-shadow:0 0 0 22px #ff762e18,0 0 0 24px #ff762e70,0 0 0 46px #ff762e12,0 0 0 48px #ff762e60,0 0 0 70px #ff762e10,0 0 0 72px #ff762e50,0 0 0 94px #ff762e08,0 0 0 96px #ff762e40;pointer-events:none}
.account-auth-story:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#160c09c9,transparent 85%),linear-gradient(0deg,#160c0970,transparent 40%);pointer-events:none}
.account-auth-story>img{filter:brightness(0) invert(1);width:164px;max-width:100%;height:auto}
.account-auth-story h2{color:#fff;text-shadow:0 2px 20px #0003}
.account-auth-story p{color:#f4e7df}
.account-auth-story>div{max-width:100%}



@media(max-width:620px){.account-auth-story{padding:24px;gap:22px;min-height:0}.account-auth-story>img{width:142px}.account-auth-story:before{width:300px;height:500px;right:-170px;top:-230px}.account-auth-story>div{display:none}}

/* Workout preview and separate full-width actions. */
.workout-external-detail{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
.workout-external-detail .video-stage{aspect-ratio:16/9;min-height:0}
.workout-external-detail .workout-actions{display:grid;gap:12px;margin-top:24px;min-width:0}
.workout-external-detail .workout-actions>.button,.workout-external-detail .workout-original-downloads a{display:flex;width:100%;min-height:48px;margin:0;justify-content:center;box-sizing:border-box;white-space:normal;text-align:center;gap:10px}
.workout-external-detail .video-download-actions,.workout-external-detail .source-player-download-links{display:grid;gap:12px;width:100%}
.workout-external-detail .source-player-downloads{margin:0;padding:0;border:0}
.workout-external-detail .source-player-download-title{display:none}
@media(max-width:760px){.workout-external-detail{display:grid;grid-template-columns:minmax(0,1fr)}.workout-external-detail .detail-visual{width:100%;min-width:0}}

.registration-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.registration-name-fields label{display:grid;gap:8px;font-size:12px;color:#d1c7c0}
.account-auth .registration-name-fields input,.auth-form .registration-name-fields input{width:100%;min-width:0;min-height:48px;border:1px solid #665044;border-radius:9px;padding:13px 14px;background:#080504;color:#faf6f4;font:16px Arial,Helvetica,sans-serif}
.workout-external-detail .workout-preview-labeled{padding-top:22px}
.workout-preview-caption{margin:0 0 12px;color:#b6a9a0;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:480px){.registration-name-fields{grid-template-columns:1fr}.workout-external-detail .workout-preview-labeled{padding-top:12px}}

.provider-disconnect-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}
.provider-disconnect-actions .text-button{font-size:12px;min-height:36px}
.cabinet-session{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cabinet-session h2{margin-bottom:10px}
.cabinet-session p{margin:0}
.provider-confirm-actions{display:grid;gap:12px}
.source-player-downloads .button,.source-player-download-links a,[data-download],a[download],.download-button,.music-primary-downloads .button,.video-download-actions .button{border-radius:999px!important}
.workout-external-detail .workout-preview-labeled{padding-top:22px;align-self:start;display:block}
.workout-external-detail .workout-preview-labeled .source-player-view{width:100%;min-width:0;display:block}
.workout-external-detail .workout-preview-caption{line-height:20px;height:20px;margin:0 0 12px;padding:0;text-align:left}
.workout-external-detail .workout-preview-labeled .video-player{margin:0;width:100%}
.workout-external-detail .workout-preview-labeled .video-stage{width:100%;aspect-ratio:16/9;overflow:hidden}
.workout-external-detail .workout-preview-labeled video{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:620px){.cabinet-session{flex-direction:column;align-items:stretch}.cabinet-session>.button{width:100%}.workout-external-detail .workout-preview-labeled{padding-top:12px}}

/* Keep fallback artwork inside its preview column rather than the old cover overlay. */
.workout-external-detail .source-player-external{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;min-width:0}
.workout-external-detail .source-player-external>img{position:static!important;inset:auto!important;transform:none!important;display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;margin:0}

/* Connected provider, status and exit share a single row. */
html body #main .cabinet-settings .account-provider-connected{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;justify-content:stretch;gap:10px;padding:10px 14px;min-height:52px;cursor:default}
html body #main .cabinet-settings .account-provider-connected>svg{grid-column:1;grid-row:1;width:24px;height:24px}
html body #main .cabinet-settings .account-provider-connected>.account-provider-name{grid-column:2;grid-row:1;text-align:left;min-width:0}
html body #main .cabinet-settings .account-provider-connected>.account-provider-status{grid-column:3;grid-row:1;margin:0;color:#b6a9a0;font-size:10px;white-space:nowrap}
html body #main .cabinet-settings .account-provider-exit{grid-column:4;grid-row:1;min-height:32px;padding:5px 11px;border:1px solid #665044;border-radius:999px;background:transparent;color:#faf6f4;font:12px/1.4 Arial,sans-serif;cursor:pointer;white-space:nowrap}
html body #main .cabinet-settings .account-provider-exit:hover{border-color:#ff641f;background:#21120b}
html body #main .cabinet-settings .account-provider-exit:focus-visible{outline:2px solid #ff641f;outline-offset:3px}
@media(max-width:380px){html body #main .cabinet-settings .account-provider-connected{gap:6px;padding:9px 10px}html body #main .cabinet-settings .account-provider-name{font-size:12px}html body #main .cabinet-settings .account-provider-status{font-size:9px}html body #main .cabinet-settings .account-provider-exit{padding:5px 8px}}

/* Test-only compact login with generated photo. */
.account-auth{min-height:0;margin:20px auto 32px!important}
.account-auth-story{background:#110b08 url('/assets/login-mobility-photo-v1.webp') center/cover no-repeat;gap:28px}
.account-auth-story:before{content:none}
.account-auth-story:after{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.16)),linear-gradient(0deg,rgba(0,0,0,.54),transparent 40%)}
.account-auth-story h2{font-size:58px}
.account-auth-form{padding:30px 36px}.account-auth-tabs{margin-bottom:20px}.account-auth-intro{margin-bottom:16px}
.account-auth .auth-form{margin:14px 0;gap:10px}.account-auth-divider{margin:24px 0 18px}.account-auth-help{margin-top:16px}
@media(min-width:621px) and (max-height:850px){
.account-auth{margin:12px auto 24px!important}.account-auth-story{padding:26px;gap:20px}.account-auth-story>img{width:142px}.account-auth-story h2{font-size:50px;margin:16px 0}.account-auth-story p{margin-bottom:12px}
.account-auth-form{padding:22px 30px}.account-auth-tabs{margin-bottom:14px}.account-auth-tabs a{padding-bottom:10px}.account-auth-form h1{font-size:40px;margin-bottom:10px}.account-auth-intro{margin-bottom:12px;line-height:1.5}
.account-auth .auth-form{gap:8px;margin:10px 0}.account-auth input[type=email],.account-auth .registration-name-fields input{min-height:44px;padding:10px 14px}.account-auth .auth-form>.button,.account-auth .account-social{min-height:44px}
.account-auth-divider{margin:20px 0 16px}.account-social-list{gap:8px}.account-auth-help{margin-top:12px;line-height:1.5}
}
@media(max-width:620px){.account-auth{margin:16px auto 28px!important}.account-auth-story{padding:20px 24px;gap:18px;background-position:center 38%}.account-auth-form{padding:24px}}


/* Test-only alignment fix and flowing photo edge. */
.account-auth .auth-form>label.legal-checkbox{display:flex;align-items:flex-start;justify-content:flex-start;grid-template-columns:none;text-align:left;width:100%;min-height:0;padding:0;gap:10px}
.account-auth .auth-form>label.legal-checkbox>span{display:block;line-height:1.5;min-width:0;margin:0}

/* Compact single-column entry; shared by login and registration. */
html body #main .account-auth{display:block!important;grid-template-columns:minmax(0,1fr);width:100%;max-width:560px!important;min-height:0!important;height:auto;margin:28px auto 40px!important}
html body #main .account-auth-form{padding:28px 32px}
html body #main .account-auth-form h1{font-size:40px}
html body #main .account-auth-tabs{margin-bottom:24px}
html body #main .account-auth-intro{margin-bottom:20px}
@media(max-width:560px){
 html body:has(.account-auth) #main{padding-inline:16px}
 html body #main .account-auth{margin:16px auto 28px!important}
 html body #main .account-auth-form{padding:24px 20px}
 html body #main .account-auth-form h1{font-size:34px}
}

/* Fit entry forms by removing vertical waste, retaining 44 px controls. */
html body #main .account-auth{margin:14px auto 24px!important}
html body #main .account-auth-form{padding:20px 28px}
html body #main .account-auth-tabs{margin-bottom:14px;gap:22px}
html body #main .account-auth-tabs a{padding-bottom:9px}
html body #main .account-auth-form h1{font-size:34px;margin:0 0 8px}
html body #main .account-auth-intro{font-size:13px;line-height:1.45;margin:0 0 14px;max-width:none}
html body #main .account-auth .auth-form{margin:0;gap:8px}
html body #main .account-auth .auth-form>label{gap:5px}
html body #main .account-auth .registration-name-fields{gap:10px}
html body #main .account-auth .registration-name-fields label{gap:5px}
html body #main .account-auth input:not([type=checkbox]){min-height:44px;padding:9px 12px}
html body #main .account-auth .account-field-note{margin:0;font-size:11px;line-height:1.4}
html body #main .account-auth .legal-confirmations{margin:0;gap:0}
html body #main .account-auth .legal-checkbox{display:flex!important;align-items:center;min-height:44px;margin:0;padding:0;gap:9px;font-size:11px;line-height:1.4}
html body #main .account-auth .legal-checkbox input{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:0 0 18px}
html body #main .account-auth .auth-form>.button{min-height:44px;margin:0;padding-block:9px}
html body #main .account-auth .error{margin:0;line-height:1.4;font-size:11px}
html body #main .account-auth-divider{margin:22px 0 16px}
html body #main .account-auth .account-social-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body #main .account-auth .account-social{min-height:44px;padding:9px 10px;gap:8px;font-size:13px}
html body #main .account-auth-help{margin:12px 0 0;font-size:11px;line-height:1.45}
@media(max-width:560px){html body #main .account-auth-form{padding:20px}html body #main .account-auth-form h1{font-size:30px}}
@media(max-width:359px){html body #main .account-auth .account-social-list{grid-template-columns:1fr}}
@media(min-width:360px){html body #main .account-auth .registration-name-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Slightly larger type; preserve the compact spacing and control sizes. */
html body #main .account-auth-form h1{font-size:36px}
html body #main .account-auth-tabs a{font-size:14px}
html body #main .account-auth-intro{font-size:14px}
html body #main .account-auth .auth-form>label,
html body #main .account-auth .registration-name-fields label{font-size:14px}
html body #main .account-auth .account-field-note,
html body #main .account-auth .legal-checkbox,
html body #main .account-auth .error,
html body #main .account-auth-help{font-size:12px}
html body #main .account-auth .auth-form>.button,
html body #main .account-auth .account-social{font-size:14px}
html body #main .account-auth-divider span{font-size:12px}
@media(max-width:560px){html body #main .account-auth-form h1{font-size:32px}}
@media(min-width:621px) and (max-height:750px){html body #main .account-auth{margin-top:8px!important}html body #main .account-auth-form{padding-block:16px}html body #main .account-auth-divider{margin-top:18px}}

/* Desktop intro has room for one natural line; narrow screens still wrap. */
html body #main .account-auth{max-width:640px!important}

/* Provider marks are the controls, with short captions and generous hit areas. */
html body #main .account-auth .account-social-list{grid-template-columns:repeat(2,72px);justify-content:center;gap:20px}
html body #main .account-auth .account-social-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;min-width:72px;min-height:64px;padding:4px 8px;gap:6px;border:0!important;border-radius:8px;background:transparent!important;background-image:none!important;box-shadow:none!important;color:#faf6f4;text-align:center}
html body #main .account-auth .account-social-icon>svg,
html body #main .account-auth .account-social-icon>img{width:36px!important;height:36px!important;flex:none}
html body #main .account-auth .account-social-icon>span{font-size:12px;line-height:1.2}
html body #main .account-auth .account-social-icon:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* Round provider marks; accessible names remain on the native buttons. */
html body #main .account-auth .account-social-list{grid-template-columns:repeat(2,56px)}
html body #main .account-auth .account-social-icon{width:56px;min-width:56px;height:56px;min-height:56px;padding:2px;border-radius:50%;gap:0}
html body #main .account-auth .account-social-icon>svg,
html body #main .account-auth .account-social-icon>img{width:52px!important;height:52px!important;border-radius:50%!important;overflow:hidden;clip-path:circle(50%)}

/* Keep the full colour disc while giving the brand marks more breathing room. */
html body #main .account-auth .account-social-icon>img{box-sizing:border-box;padding:6px;background:#fc3f1d}
html body #main .account-auth .account-social-icon>svg path{transform:translate(44.8px,51.2px) scale(.8)}

/* More breathing room without fixed heights or clipped form content. */
html body #main .account-auth{max-width:664px!important}
html body #main .account-auth-form{padding:28px 40px}
html body #main .account-auth-tabs{margin-bottom:20px}
html body #main .account-auth-form h1{margin-bottom:12px}
html body #main .account-auth-intro{margin-bottom:22px}
html body #main .account-auth .auth-form{gap:12px}
html body #main .account-auth-divider{margin:26px 0 20px}
html body #main .account-auth-help{margin-top:18px}
@media(max-width:560px){html body #main .account-auth-form{padding:24px}html body #main .account-auth-intro{margin-bottom:18px}html body #main .account-auth-divider{margin:22px 0 18px}}
@media(min-width:621px) and (max-height:750px){html body #main .account-auth-form{padding-block:20px}html body #main .account-auth-tabs{margin-bottom:16px}html body #main .account-auth-intro{margin-bottom:16px}html body #main .account-auth .auth-form{gap:10px}html body #main .account-auth-divider{margin:20px 0 16px}html body #main .account-auth-help{margin-top:14px}}

.legal-policy-note{margin:4px 0 8px;font-size:12px;line-height:1.45;color:var(--muted,#aaa)}
.legal-policy-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Legal copy shares the consent caption scale, including modal paragraph overrides. */
html body .legal-confirmations{gap:4px}
html body .legal-confirmations p.legal-policy-note{font-family:inherit;font-size:12px!important;font-weight:400;line-height:1.45!important;letter-spacing:normal;margin:0 0 6px 27px!important;color:var(--muted,#aaa)}
html body .legal-confirmations p.legal-policy-note a{font-size:inherit!important;line-height:inherit;color:inherit}

/* Compact, borderless header search in the shared dark surface style. */
@media(min-width:1051px){
 html body .header-search-panel{width:min(420px,calc(100vw - 10vw));padding:18px 20px;border:0;background:rgba(27,19,14,.94);border-radius:16px;box-shadow:0 12px 32px #0006}
 html body .header-search-panel label{font-size:16px;line-height:1.3;margin-bottom:10px}
 html body .header-search-field{padding:0 10px;gap:9px;border:0;border-bottom:1px solid #655044;border-radius:0;background:transparent}
 html body .header-search-field:focus-within{outline:none;border-color:#ff641f}
 html body .header-search-field input{min-height:42px;padding:10px 0;font-size:14px}
 html body .header-search-status{font-size:12px;line-height:1.4;margin:10px 0 0}
 html body .header-search-result{padding:10px 4px;gap:16px}
 html body .header-search-result-title{font-size:14px}
 html body .header-search-result-kind,html body .header-search-result-price{font-size:12px}
}
/* Checkout uses opacity only: no scaling of Safari intrinsic dialog layout. */
@keyframes stp-checkout-fade{from{opacity:.15}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){html body #modal[open]:has(.checkout-sheet){animation:stp-checkout-fade 180ms ease-out;scale:1;translate:0 0}}

/* Inputs share a single full outline; focus changes its colour, not its size. */
@media(min-width:1051px){
 html body .header-search-field{border:1px solid #655044;border-radius:10px;background:rgba(0,0,0,.2)}
 html body .header-search-field:focus-within{border:1px solid var(--orange,#ff641f);outline:none}
}
/* Hover never promotes checkout controls to filtered/transformed layers. */
html body #modal .checkout-sheet .button,
html body #modal .checkout-sheet .button:is(:hover,:focus,:active){filter:none!important;transform:none!important;translate:none!important;scale:1!important;flex-shrink:0;transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease,box-shadow 140ms ease!important}
html body #modal .checkout-sheet .checkout-form{flex-shrink:0}
html body #modal .checkout-sheet .checkout-form>button[type=submit]{height:var(--button-height-large,52px);min-height:var(--button-height-large,52px);box-sizing:border-box}

/* Checkout rows own their spacing; fieldset intrinsic flex sizing cannot redistribute it. */
html body #modal .checkout-sheet .checkout-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;align-items:start}
html body #modal .checkout-sheet .payment-provider-field{display:block;min-width:0;margin:0;padding:0;border:0}
html body #modal .checkout-sheet .payment-provider-option input[type=radio]{position:absolute;width:1px!important;min-width:1px!important;max-width:1px!important;height:1px!important;min-height:1px!important;max-height:1px!important;padding:0!important;margin:0!important}
html body #modal .checkout-sheet .payment-provider-option span,
html body #modal .checkout-sheet .payment-provider-option:hover span{filter:none!important;transform:none!important;translate:none!important;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease}
html body #modal .checkout-sheet .legal-confirmations{margin:12px 0 13px!important;padding:0;gap:4px;align-content:start}
