/* Trex IPTV - shop.css: order form, payment page, order status, contact form and every form control. Loaded after
   site.css on /order, /order/pay, /order/status and /contact. Markup: app/lib/shop.php and app/lib/components.php.
   The brand art is never a background here; the payment frame is never scaled. Mobile first; 480, 620, 760, 1000. */

/* ---------- page shell ---------- */
.page-head--slim{padding-bottom:clamp(14px,2.2vw,24px)}
.band--first{padding-top:clamp(22px,3vw,38px)}
.side-col{display:grid;gap:14px;align-content:start}
.side-col .tile h2,.help-grid .tile h2,.tile--row h2,.sec-h{font-size:clamp(1.4375rem,1.2rem + .9vw,1.875rem)}
.tile__go{margin-top:20px}
.help-grid{display:grid;gap:14px}
/* .tile--row: a full-width tile - heading on the left, text on the right from 900px */
.tile__head>.ico{box-sizing:content-box;width:22px;height:22px;padding:11px;margin-bottom:18px;border-radius:13px;color:var(--gold-2);background:rgba(251,208,125,.09);box-shadow:inset 0 0 0 1px rgba(251,208,125,.26)}
.tile__body>*+*{margin-top:1rem}
.related-wrap--shop .related{padding-top:clamp(30px,4.4vw,52px)}
.related-wrap--shop .related li{flex-basis:200px}
.band--flush{padding-bottom:0}
@media (min-width:900px){
  .help-grid{grid-template-columns:1fr 1fr}
  .tile--row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px 48px;align-items:center}
  .tile--row>.tile__body{margin-top:0}
  .tile--row .tile__head>.ico{margin-bottom:16px}
}

/* ---------- panels: the glass cards that hold form groups ---------- */
.panel{min-width:0;padding:20px 16px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.panel+.panel{margin-top:14px}
.panel>legend,.panel__title,.summary h3{display:flex;align-items:center;gap:12px;font-size:1.3125rem;font-stretch:88%;line-height:1.15}
/* a floated legend is laid out like a normal block */
.panel>legend{float:left;width:100%;margin-bottom:6px}
.panel>legend+*{clear:both}
.panel>legend+.field{padding-top:14px}
/* panel numbers 1-4: a CSS counter before each title, so the heading text itself carries no digit */
.order-form{counter-reset:panel}
.order-form .panel>legend::before,.order-form .summary>h3::before{counter-increment:panel;content:counter(panel);content:counter(panel) / "";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(251,208,125,.1);box-shadow:inset 0 0 0 1px var(--gold-line);color:var(--gold-2);font:800 .875rem/1 var(--font);font-stretch:100%}
@media (min-width:620px){.panel{padding:26px 28px 28px}}

/* ---------- form controls: 16px text, 52px tall, visible labels, focus / error / disabled states. --ctl-line = the edge of a
   control (inputs, selects, check boxes, radio rings): 3.1:1 on the field, the WCAG 1.4.11 minimum; --line(-2) stay decorative */
:root{--ctl-line:rgba(150,180,235,.5);--ctl-line-hover:rgba(150,180,235,.66)}
.field{min-width:0;margin-top:18px}
.field>label,.field__label{display:block;margin-bottom:8px;color:var(--text);font-size:.9375rem;font-weight:600;line-height:1.35}
.help{font-size:.875rem;line-height:1.5;color:var(--text-3)}
.field>.help,.field>.field-error{margin-top:8px}
.field input,.field select,.field textarea{display:block;width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--ctl-line);border-radius:13px;background-color:rgba(3,6,13,.55);color:var(--text);font:inherit;font-size:1rem;line-height:1.4;box-shadow:inset 0 1px 2px rgba(0,0,0,.4);transition:border-color .15s,box-shadow .15s,background-color .15s;-webkit-appearance:none;appearance:none}
.field textarea{min-height:176px;resize:vertical}
.field select{padding-right:46px;background-image:linear-gradient(45deg,transparent 50%,var(--gold-2) 50%),linear-gradient(135deg,var(--gold-2) 50%,transparent 50%);background-position:right 22px top 50%,right 16px top 50%;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer;text-overflow:ellipsis}
.field select option{background:var(--ink-3);color:var(--text)}
.field ::placeholder{color:var(--text-3);opacity:.85}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ctl-line-hover)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid transparent;border-color:var(--gold-2);background-color:rgba(3,6,13,.82);box-shadow:0 0 0 4px rgba(251,208,125,.22)}
.field [aria-invalid=true]{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}
.field [aria-invalid=true]:focus{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad),0 0 0 4px rgba(255,154,143,.24)}
.field :disabled{opacity:.55;cursor:not-allowed}
.field input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:inset 0 0 0 60px #0b1730}
.field input:-webkit-autofill:focus{box-shadow:inset 0 0 0 60px #0b1730,0 0 0 4px rgba(251,208,125,.22)}
.field-error{display:flex;gap:8px;align-items:flex-start;color:var(--bad);font-size:.9063rem;font-weight:600;line-height:1.4}
.field-error::before{content:"!";flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--bad);color:var(--ink-1);font:800 .75rem/1 var(--font)}
.panel>.field-error{margin-top:10px}
.panel[aria-invalid=true]{border-color:rgba(255,154,143,.6)}
.static{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 16px;border:1px dashed var(--line-2);border-radius:13px;color:var(--text);font-weight:550;line-height:1.3}
.static .ico{width:18px;height:18px;color:var(--gold-2)}
/* check boxes: a 24px box inside a 44px tall label (24 + 2 x 10) */
.check label{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;margin:0;padding:10px 0;color:var(--text);font-size:1rem;font-weight:500;line-height:1.5;cursor:pointer}
.check input{display:grid;place-content:center;width:24px;height:24px;min-height:0;margin:0;padding:0;border-radius:7px;box-shadow:none;cursor:pointer}
.check input::before{content:"";width:14px;height:14px;background:var(--gold-ink);clip-path:polygon(13% 47%,0 61%,38% 100%,100% 24%,86% 11%,37% 71%);transform:scale(0);transition:transform .12s var(--ease)}
.check input:checked{border-color:var(--gold-2);background-color:var(--gold-2)}
.check input:checked::before{transform:scale(1)}
.check input:checked:focus{background-color:var(--gold-2)}
.check .help,.check .field-error{margin:0 0 0 36px}
.inline-form{margin:0}
.actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:359px){.plan-tag{padding-inline:6px;font-size:.625rem;letter-spacing:.03em}}
@media (max-width:479px){
  .actions .btn,.actions .inline-form{width:100%}
  .facts>div:first-child{display:block}
  .facts>div:first-child dd{margin-top:2px;text-align:left}
}
@media (min-width:620px){
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  /* label / control / help / error share rows across the pair, so the two controls line up */
  @supports (grid-template-rows:subgrid){
    .grid-2>.field{display:grid;grid-template-rows:subgrid;grid-row:span 4}
    .grid-2>.field>label,.grid-2>.field>.field__label{align-self:end}
  }
}

/* ---------- order form (/order) ---------- */
.order-intro{display:grid;gap:18px;margin-bottom:22px}
.order-intro p{max-width:44rem;margin-top:14px}
.stepper{counter-reset:st;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stepper li{counter-increment:st;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(255,255,255,.03);color:var(--text);font-size:.9063rem;line-height:1.3}
.stepper li::before{content:counter(st);flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold-2);color:var(--gold-ink);font:800 .75rem/1 var(--font)}
.order-form{display:grid;gap:14px}
.order-form>.alert{margin:0}
.order-main{min-width:0}
/* plan picker: one radio row per plan */
.plan-opts{display:grid;gap:8px;margin-top:14px}
.plan-opt{position:relative;display:block;cursor:pointer}
.plan-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.plan-opt__body{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:3px 14px;min-height:64px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(3,6,13,.4);transition:border-color .15s,box-shadow .15s,background-color .15s}
.plan-opt__body::before{content:"";grid-row:1/span 2;width:22px;height:22px;border:1.5px solid var(--ctl-line);border-radius:50%}
.plan-opt:hover .plan-opt__body{border-color:var(--ctl-line-hover)}
.plan-opt input:focus-visible+.plan-opt__body{outline:2px solid var(--gold-2);outline-offset:2px}
.plan-opt input:checked+.plan-opt__body{border-color:var(--gold-2);background:linear-gradient(90deg,rgba(251,208,125,.14),rgba(251,208,125,.03));box-shadow:0 14px 34px -22px rgba(229,151,68,.9)}
.plan-opt input:checked+.plan-opt__body::before{border-color:var(--gold-2);background:radial-gradient(circle,var(--gold-2) 0 5px,transparent 6px)}
.plan-name{grid-column:2;color:var(--text);font:750 1.0625rem/1.25 var(--font);font-stretch:90%}
.plan-tag{display:block;width:max-content;margin:4px 0 2px;padding:4px 8px 3px;border-radius:99px;background:linear-gradient(180deg,var(--gold-1),var(--gold-2));color:var(--gold-ink);font:700 .6875rem/1 var(--font);font-stretch:105%;letter-spacing:.07em;text-transform:uppercase;vertical-align:.1em;white-space:nowrap}
.plan-price{grid-column:3;color:var(--text);font:800 1.3125rem/1 var(--font);font-stretch:82%;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.plan-sub{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:0 12px;font-size:.875rem;line-height:1.45;color:var(--text-3)}
.plan-save{color:var(--gold-2)}
/* order summary + consent + submit */
.order-side,.status-card{min-width:0;padding:20px 16px 22px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(180deg,#131e37,#0b1324);box-shadow:0 40px 90px -50px rgba(47,123,214,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.summary h3{margin-bottom:8px}
.summary dl>div,.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.summary dd,.facts dd{color:var(--text);font-weight:600;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.summary .sum-total{padding:16px 0 12px;border-bottom:0}
.sum-total dt{color:var(--text);font-weight:650}
.sum-total dd{color:var(--gold-2);font:800 1.875rem/1 var(--font);font-stretch:80%;font-variant-numeric:tabular-nums;white-space:nowrap}
.summary .help+.help{margin-top:4px}
.order-go{margin-top:16px;padding-top:8px;border-top:1px dashed var(--line-2)}
.order-go .field{margin-top:0}
.order-go .btn{margin-top:10px}
@media (min-width:620px){
  .order-side{padding:26px 28px 28px}
  .plan-tag{display:inline-block;margin:0 0 0 6px}
  .plan-sub{grid-column:2}
  .plan-price{grid-row:1/span 2}
}
@media (min-width:1000px){
  .order-intro{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:16px 56px;align-items:end;margin-bottom:26px}
  .order-form{grid-template-columns:minmax(0,1fr) 380px;gap:16px 24px;align-items:start}
  .order-form>.alert{grid-column:1/-1}
}
@media (min-width:1000px) and (min-height:720px){.order-side{position:sticky;top:88px}}

/* ---------- order status (/order/status) ---------- */
.status-grid{display:grid;gap:20px}
.status-text p{max-width:46rem}
.status-text p+p{margin-top:14px}
.status-live>*+*{margin-top:14px}
.status-live>.alert{margin:0}
/* room for a 26-character TRXP number; in a narrower card the button drops under the field */
.lookup .field{flex:999 1 300px;margin-top:0}
.lookup .btn{flex:1 0 auto}
.lookup input{font-variant-numeric:tabular-nums;text-transform:uppercase}
.lookup ::placeholder{text-transform:none}
/* the status card: tone by phase (gold waits, blue works, green is ready, red needs a new try) */
.status-card{--tone:var(--gold-2);--tone-bg:rgba(251,208,125,.12);display:grid;gap:20px}
.phase-payment_failed{--tone:var(--bad);--tone-bg:rgba(255,154,143,.12)}
.phase-activating{--tone:var(--blue-2);--tone-bg:rgba(133,186,228,.13)}
.phase-active{--tone:var(--ok);--tone-bg:rgba(127,217,163,.12)}
.phase-needs_attention{--tone:var(--amber);--tone-bg:rgba(229,151,68,.14)}
.phase-closed{--tone:var(--text-3);--tone-bg:rgba(149,162,189,.12)}
.status-card__main{display:grid;gap:20px;align-content:start;min-width:0}
.status-card__head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px 16px;align-items:start}
.status-card__ico{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--tone-bg);box-shadow:inset 0 0 0 1px var(--tone);color:var(--tone)}
.status-card[data-poll] .status-card__ico::after{content:"";position:absolute;inset:0;border:2px solid var(--tone);border-radius:inherit;animation:ring 2.2s var(--ease) infinite}
@keyframes ring{from{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}
.status-card h3{font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);font-weight:800;font-stretch:86%;line-height:1.1}
.status-card__head p{margin-top:8px;color:var(--text-2)}
.status-track{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;color:var(--text-3);font-size:.8438rem;font-weight:600;line-height:1.3}
.status-track li{padding-top:9px;border-top:3px solid rgba(150,180,235,.2)}
.status-track .is-done{border-color:var(--ok);color:var(--text)}
.status-track .is-now,.status-track .is-bad,.status-track .is-hold{border-color:var(--tone);color:var(--text)}
.facts{align-self:start;padding:4px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(3,6,13,.4)}
.facts>div:last-child{border-bottom:0}
.facts dt{color:var(--text-3)}
.facts>div:first-child dd{font-size:.9063rem}
/* what each status means: a ruled key with a dot in the tone of each state */
.status-more{display:grid;gap:30px}
.status-key>p{max-width:46rem;margin-top:14px}
.key-list{margin-top:20px;border-top:1px solid var(--line-2)}
.key-list li{position:relative;padding:15px 0 15px 26px;border-bottom:1px solid var(--line)}
.key-list li::before{content:"";position:absolute;left:2px;top:1.55em;width:10px;height:10px;border-radius:50%;background:var(--gold-2)}
.key-list li:nth-child(2)::before{background:var(--bad)}
.key-list li:nth-child(3)::before{background:var(--blue-2)}
.key-list li:nth-child(4)::before{background:var(--ok)}
.key-list li:nth-child(5)::before{background:var(--amber)}
.key-list li:nth-child(6)::before{background:var(--text-3)}
.term{color:var(--text);font-weight:650}
@media (min-width:620px){.status-card{padding:28px}}
@media (min-width:860px){.status-card{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:28px 36px}}
@media (min-width:1000px){
  .status-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px 48px;align-items:start}
  .status-grid>h2,.status-live{grid-column:1/-1}
  .status-grid:not(.has-live){grid-template-rows:auto 1fr}
  .status-grid:not(.has-live)>h2{grid-column:1}
  .status-grid:not(.has-live)>.lookup{grid-area:1/2/span 2}
  .status-more{grid-template-columns:1fr 1fr;gap:48px;align-items:start}
}

/* ---------- contact (/contact) ---------- */
.contact-grid{display:grid;gap:30px}
.contact-main>p{max-width:46rem;margin-top:14px}
.contact-form{margin-top:24px}
.contact-form>.alert{margin:16px 0 0}
.contact-form>.btn{margin-top:22px}
@media (max-width:619px){.contact-form>.btn{width:100%}}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:44px;align-items:start}}

/* ---------- payment page (/order/pay): a lit screen in a dark room ----------
   pay.js sets data-pay-state on .pay (waiting | failed | paid | expired), fills .pay-status and un-hides .pay-expired:
   keep .pay-status:empty and .pay-expired[hidden] hidden. The frame is 720px tall, at most 720px wide, never scaled.
   Phones: the rail comes apart (display:contents), so the notes sit under the frame. */
.pay-stage{margin-top:calc(var(--head-h)*-1);padding-top:var(--head-h);background:radial-gradient(64% 60% at 66% 44%,rgba(47,123,214,.24),transparent 72%),var(--ink-0);box-shadow:inset 0 -1px 0 var(--line)}
.pay{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding-block:12px 44px}
.pay-rail{display:contents}
.pay-head .crumbs{margin-bottom:10px}
.pay-head h1{font-size:clamp(1.875rem,1.35rem + 2.3vw,2.75rem)}
.pay-head .lead{margin-top:10px}
/* where the buyer is: three steps done, payment now */
.pay-steps{counter-reset:ps;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 8px;margin-top:16px;color:var(--text-3);font-size:.8125rem;font-weight:600;line-height:1.2}
.pay-steps li{counter-increment:ps;display:flex;align-items:center;gap:6px;white-space:nowrap}
.pay-steps li::before{content:"";flex:none;width:9px;height:5px;margin:0 3px 3px 2px;border:solid var(--ok);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.pay-steps .is-current{color:var(--text)}
.pay-steps .is-current::before{content:counter(ps);display:grid;place-items:center;width:18px;height:18px;margin:0;border:0;border-radius:50%;background:var(--gold-2);color:var(--gold-ink);font:800 .6875rem/1 var(--font);transform:none}
.pay-summary{min-width:0}
.pay-summary h2,.pay-strip dt{color:var(--text-3);font:700 .6875rem/1 var(--font);font-stretch:110%;letter-spacing:.14em;text-transform:uppercase}
.pay-summary h2{margin-bottom:8px}
.pay-strip{display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:rgba(255,255,255,.035);overflow:hidden}
.pay-strip>div{min-width:0;padding:11px 16px;border-bottom:1px solid var(--line)}
.pay-strip dd{margin-top:6px;color:var(--text);font-weight:650;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pay-strip>.sum-total{border-bottom:0;background:rgba(251,208,125,.07)}
.pay-strip>.sum-total dd{color:var(--gold-2);font:800 1.75rem/1 var(--font);font-stretch:80%;white-space:nowrap}
@media (max-width:759px){
  /* phones: order number / plan + devices / total */
  .pay-strip{grid-template-columns:minmax(0,1fr) auto}
  .pay-strip>div:nth-child(2){border-right:1px solid var(--line)}
  .pay-strip>.pay-strip__wide,.pay-strip>.sum-total{grid-column:1/-1}
  .pay-strip>.sum-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .pay-strip>.sum-total dd{margin:0}
}
.pay-main{order:2;min-width:0}
.pay-notes{order:3;display:grid;gap:8px;justify-items:center;text-align:center}
.pay-links{display:flex;align-items:center;gap:8px;font-size:.9375rem}
.pay-links .ico{color:var(--gold-2)}
.pay-frame-box{max-width:736px;margin-inline:auto;padding:6px;border:1px solid var(--line-2);border-radius:24px;background:linear-gradient(180deg,#17233f,#0c1426);box-shadow:0 0 0 1px rgba(0,0,0,.5),0 50px 120px -40px rgba(47,123,214,.75),inset 0 1px 0 rgba(255,255,255,.1)}
.pay-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding:9px 10px 12px}
.pay-bar{display:flex;align-items:center;gap:10px}
.pay-bar .ico{width:18px;height:18px;color:var(--gold-2);stroke-width:1.9}
.pay-bar h2{font-size:1.0625rem;font-weight:700;font-stretch:96%;line-height:1.2}
.pay-note{flex:1 1 300px;color:var(--text-3);font-size:.8438rem;line-height:1.45}
.pay-well{position:relative;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 0 60px -6px rgba(185,214,242,.4)}
.pay-frame{display:block;width:100%;height:720px;border:0;border-radius:18px;background:#fff}
.pay-expired{position:absolute;inset:0;z-index:1;display:grid;place-items:start center;padding:150px 20px 0;border-radius:18px;background:rgba(6,11,23,.88)}
.pay-expired[hidden]{display:none}
.pay-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 22px;padding:12px 10px 8px;font-size:.9063rem;line-height:1.45}
.pay-status{flex:1 1 280px;display:flex;align-items:flex-start;gap:12px;color:var(--text)}
.pay-status::before{content:"";flex:none;width:9px;height:9px;margin:.45em 0 0 3px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 0 rgba(251,208,125,.6);animation:beat 2s infinite}
@keyframes beat{70%{box-shadow:0 0 0 10px rgba(251,208,125,0)}to{box-shadow:0 0 0 0 rgba(251,208,125,0)}}
.pay-status:empty{display:none}
.pay[data-pay-state=failed] .pay-status,.pay[data-pay-state=expired] .pay-status{color:#ffd9d3}
.pay[data-pay-state=failed] .pay-status::before,.pay[data-pay-state=expired] .pay-status::before{background:var(--bad);animation:none}
.pay[data-pay-state=paid] .pay-status{color:#cdf3dc}
.pay[data-pay-state=paid] .pay-status::before{background:var(--ok);animation:none}
.pay-alt{color:var(--text-3)}
.pay-alt a{color:var(--text-2)}
@media (max-width:379px){.pay-steps{font-size:.75rem}}
@media (min-width:620px){
  .pay-frame-box{padding:8px}
  .pay-top{padding:10px 12px 13px}
  .pay-steps{justify-content:flex-start;gap:8px 22px;font-size:.875rem}
}
@media (min-width:760px) and (max-width:999px){
  /* tablets: the summary is one row above the frame */
  .pay-summary{width:100%;max-width:736px;margin-inline:auto}
  .pay-strip{grid-template-columns:auto 1fr auto auto}
  .pay-strip>div{padding-inline:13px;border-bottom:0;border-right:1px solid var(--line)}
  .pay-strip>.pay-strip__wide dd{font-size:.9375rem;white-space:nowrap}
  .pay-strip>.sum-total{border-right:0}
  .pay-strip>.sum-total dd{margin-top:5px;font-size:1.5rem}
}
@media (min-width:1000px){
  .pay{grid-template-columns:minmax(320px,1fr) minmax(0,736px);gap:0 44px;align-items:start;padding-block:26px 64px}
  .pay-rail{display:block}
  .pay-rail>*+*{margin-top:20px}
  .pay-strip>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 18px}
  .pay-strip dd{margin:0;text-align:right}
  .pay-strip>.pay-strip__wide dd{font-size:.875rem;white-space:nowrap}
  .pay-notes{justify-items:start;text-align:left}
}
@media (min-width:1000px) and (min-height:760px){.pay-rail{position:sticky;top:92px}}
@media (forced-colors:active){
  .panel,.order-side,.status-card,.pay-frame-box,.plan-opt__body{border:1px solid ButtonText}
  .plan-opt input:checked+.plan-opt__body{outline:3px solid Highlight}
  /* forced colours drop backgrounds: the check box and the select go native (system tick and chevron) */
  .check input,.field select{-webkit-appearance:auto;appearance:auto}
  .check input::before{display:none}
}
