.app[data-screen="checkout"] .summary.pay .adjust,
.app[data-screen="checkout"] .co-thumb,
.app[data-screen="checkout"] .sum-spec,
.app[data-screen="checkout"] .sum-picks { display:none }
.app[data-screen="checkout"] .leftcol { min-width:0 }
.app[data-screen="checkout"] .co-heading { font-size:clamp(34px,4.2vw,56px); max-width:20ch; margin:0 0 14px }
.app[data-screen="checkout"] .sub { max-width:65ch; margin:0 0 32px; font-size:17px; color:var(--ink) }
.app[data-screen="checkout"] .co-back { margin:0 0 16px }
.co-back svg { width:16px; height:16px }
.inc-wrap { padding-bottom:28px; border-bottom:1px solid var(--line) }
.build-base-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px }
.app[data-screen="checkout"] .build-base-head h2,
.app[data-screen="checkout"] .bp>h2,
.app[data-screen="checkout"] .build-ongoing>h2 { margin:0; font:600 26px/1.15 var(--serif); letter-spacing:-.025em }
.build-base-head p { display:grid; gap:3px; margin:0; text-align:right; flex:none; font-variant-numeric:tabular-nums }
.build-base-head b { font:900 28px/1.05 var(--serif) }
.build-base-head p>span { color:var(--muted); font-size:12px }
.build-base-intro,.build-section-intro { margin:12px 0 18px; color:var(--muted); font-size:15px; line-height:1.5 }
.app[data-screen="checkout"] .inc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 22px; margin:0; padding:0; list-style:none }
.app[data-screen="checkout"] .inc li { display:flex; align-items:flex-start; gap:8px; font-size:14px; line-height:1.35 }
.app[data-screen="checkout"] .inc li>span { font-weight:600 }
.app[data-screen="checkout"] .inc small { display:block; margin-top:4px; color:var(--muted); font-size:13px; font-weight:400; line-height:1.4 }
.app[data-screen="checkout"] .inc svg { flex:none; width:17px; height:17px; color:var(--klein-text); margin-top:1px }
.bp { margin:28px 0 0 }
.build-option-group { margin:24px 0 0; padding:0; border:0; min-width:0 }
.app[data-screen="checkout"] .build-option-group legend { padding:0 0 12px; color:var(--ink); font:600 15px/1.4 var(--sans); letter-spacing:0; text-transform:none }
.build-options { display:grid; gap:10px }
.build-option { display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:start; gap:12px; padding:18px; border:1px solid var(--edge); border-radius:12px; background:var(--surface); color:var(--ink); cursor:pointer; transition:border-color .15s,background-color .15s }
.build-option[hidden],.bp-sub-row[hidden] { display:none }
.build-option:has(input:checked) { border-color:var(--klein); background:color-mix(in srgb,var(--klein) 5%,var(--surface)) }
.build-option:has(input:focus-visible) { outline:2px solid var(--klein); outline-offset:3px }
.build-option input { width:20px; height:20px; margin:2px 0 0; accent-color:var(--klein); cursor:pointer }
.build-option-copy { display:grid; gap:6px; min-width:0 }
.build-option-name { font:600 20px/1.2 var(--serif); letter-spacing:0; text-transform:none }
.build-option-desc { font-size:14px; line-height:1.4; color:var(--muted) }
.build-option-price { align-self:start; white-space:nowrap; font:600 15px/1.45 var(--sans); font-variant-numeric:tabular-nums }
.build-option-group:disabled { opacity:.6 }
.bp-sub-row { display:grid; gap:12px; padding:6px 18px 12px 52px }
.bp-q { font:600 14px/1.4 var(--sans); color:var(--ink) }
.bp-seg { display:flex; flex-wrap:wrap; gap:8px }
.bp-seg button { appearance:none; min-width:44px; min-height:44px; padding:9px 13px; border:1px solid var(--edge); border-radius:var(--r-btn); background:var(--surface); color:var(--ink); font:500 14px var(--sans); cursor:pointer }
.bp-seg button[aria-pressed="true"] { background:var(--klein); color:white; border-color:var(--klein) }
.bp-seg button:focus-visible,.build-language-fields select:focus-visible { outline:2px solid var(--klein); outline-offset:3px }
.build-option-note { margin:0; font-size:13px; line-height:1.45; color:var(--muted) }
.build-language-fields { display:grid; gap:12px }
.build-language-fields label { display:grid; gap:5px; color:var(--ink); font-size:14px }
.build-language-fields select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--edge); border-radius:var(--r-btn); color:var(--ink); background:var(--surface); font:400 16px var(--sans) }
.build-review-note { padding:16px; border:1px solid var(--edge); border-radius:12px; background:var(--surface-2); font-size:15px; line-height:1.5 }
.build-review-link a { display:inline-flex; align-items:center; min-height:44px; color:var(--klein-text); font-weight:600 }
.build-bespoke { margin-top:28px; padding:22px; background:var(--surface-2); border-radius:12px }
.build-bespoke h2 { margin:0; font:600 24px/1.2 var(--serif); letter-spacing:-.025em }
.build-bespoke p { margin:12px 0; font-size:15px; color:var(--muted) }
.build-bespoke a { display:inline-flex; align-items:center; min-height:44px; color:var(--klein-text); font-weight:600 }
.build-ongoing { margin-top:32px; padding-top:28px; border-top:1px solid var(--line) }
.build-ongoing>p { margin:12px 0 16px; color:var(--muted); font-size:15px }
.app[data-screen="checkout"] .careadd { margin-top:18px; border:1px solid var(--edge); background:var(--surface); box-shadow:none }
.app[data-screen="checkout"] .ca-lead { font:600 22px/1.15 var(--serif) }
.app[data-screen="checkout"] .co-title { margin:0 0 14px; color:var(--ink); font:600 27px/1.15 var(--serif); letter-spacing:-.025em; overflow-wrap:anywhere }
.build-summary-label { margin:0 0 5px; color:var(--muted); font-size:14px }
.app[data-screen="checkout"] .co-pricerow { margin:0; display:flex; align-items:baseline; gap:10px }
.app[data-screen="checkout"] .co-price { font:900 42px/1.05 var(--serif); letter-spacing:-.02em; font-variant-numeric:tabular-nums }
.app[data-screen="checkout"] .summary .tax { margin:10px 0 0; font:400 12px/1.5 var(--sans) }
.app[data-screen="checkout"] .summary .lines { margin:18px 0; padding-bottom:16px; border-bottom:1px solid var(--line) }
.app[data-screen="checkout"] .summary .lines summary { padding-top:0; color:var(--ink) }
.app[data-screen="checkout"] .summary .lines .row { font-size:14px; gap:16px }
.app[data-screen="checkout"] .summary .lines dd { flex:none }
.app[data-screen="checkout"] .summary .lines .tot { border-top:1px solid var(--line); padding-top:12px; margin-top:6px; font-weight:600 }
.app[data-screen="checkout"] .summary .lines .tot dt { color:var(--ink) }
.co-trust3 { display:grid; gap:8px; margin:0 0 20px; padding:0; list-style:none }
.co-trust3 li { display:flex; gap:8px; font-size:14px; color:var(--muted) }
.co-trust3 svg { width:16px; height:16px; flex:none; color:var(--klein-text) }
.app[data-screen="checkout"] .summary .fld { margin-top:0 }
.app[data-screen="checkout"] .summary .promo { margin:2px 0 12px }
.app[data-screen="checkout"] .summary .pm-accept { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; margin:18px 0 0 }
.app[data-screen="checkout"] .pm-accept .pm-tile { display:inline-flex; align-items:center; justify-content:center; height:28px; width:44px; min-width:0; padding:0; border:0; border-radius:0; background:none }
.app[data-screen="checkout"] .co-refund { margin:12px 0; font-size:13px; color:var(--muted) }
.co-quote { display:grid; grid-template-columns:40px minmax(0,1fr); gap:4px 12px; margin:18px 0; padding-top:16px; border-top:1px solid var(--line) }
.co-quote img { grid-row:1/3; width:40px; height:40px; border-radius:50%; object-fit:cover }
.co-quote blockquote { margin:0; font-size:14px; line-height:1.45; color:var(--ink) }
.co-quote figcaption { font-size:12px; color:var(--muted) }
.app[data-screen="checkout"] .qsave>summary { width:100%;min-height:48px;margin-top:14px }
.app[data-screen="checkout"] .co-call { margin:16px 0 0; font-size:14px; color:var(--muted); text-align:center }
.co-call a { color:var(--klein-text); font-weight:600 }
.co-real { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; margin:30px 0 0; padding:22px 0 0; border-top:1px solid var(--line) }
.co-real-bar { display:none }
.co-real-glass { overflow:hidden; height:120px; border:1px solid var(--edge); border-radius:10px; background:var(--paper) }
.co-real-glass img { display:block; width:100%; height:auto }
.co-real figcaption { display:flex; flex-direction:column; justify-content:center; font-size:14px; line-height:1.45; color:var(--muted) }
.co-real figcaption a { display:inline-flex; align-items:center; min-height:44px; color:var(--klein-text); font-weight:600 }
@media (min-width:940px) {
  .app[data-screen="checkout"] #payZone { position:sticky; top:30px; align-self:start }
  .app[data-screen="checkout"] .statusbar { display:none }
}
@media (max-width:939px) {
  .app[data-screen="checkout"] .co-back { display:none }
  .app[data-screen="checkout"] .statusbar { position:sticky; bottom:0; z-index:60; inset-inline:auto; width:100%; margin:20px auto -64px; padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px)); border:0; border-top:1px solid var(--edge); background:var(--paper); animation:none; opacity:1 }
  .app[data-screen="checkout"] .statusbar .hint { display:none }
  .app[data-screen="checkout"] .statusbar .navrow { justify-content:space-between; flex-wrap:nowrap; padding:0 }
  .app[data-screen="checkout"] .statusbar .btn-back { flex:0 0 44px; width:44px; min-width:44px; height:44px; padding:0; }
  .app[data-screen="checkout"] .statusbar .btn-back #backLabel { display:none }
  .app[data-screen="checkout"] .cfg-mini.is-on { display:flex }
  .app[data-screen="checkout"] .cfg-mini .cm-l { display:none }
  .app[data-screen="checkout"] .cfg-mini { gap:10px; flex:0 0 auto; justify-content:flex-end; min-width:min-content }
  .app[data-screen="checkout"] .cfg-mini .cm-amt { font-size:17px; white-space:nowrap; flex:none }
  .app[data-screen="checkout"] .cfg-mini .cm-go { padding:0 14px; white-space:nowrap; flex:none }
  .app[data-screen="checkout"] .navrow { gap:8px }
}
@media (max-width:560px) {
  .app[data-screen="checkout"] .sub { font-size:16px; margin-bottom:28px }
  .build-base-head { gap:12px }
  .app[data-screen="checkout"] .build-base-head h2,
  .app[data-screen="checkout"] .bp>h2,
  .app[data-screen="checkout"] .build-ongoing>h2 { font-size:24px }
  .build-base-head b { font-size:24px }
  .app[data-screen="checkout"] .inc { gap:16px 12px }
  .build-option { grid-template-columns:20px minmax(0,1fr); gap:6px 10px; padding:16px }
  .build-option input { grid-row:1/3 }
  .build-option-price { grid-column:2; font-size:15px }
  .bp-sub-row { padding:6px 8px 12px 30px }
  .co-real { grid-template-columns:100px minmax(0,1fr); gap:14px }
  .co-real-glass { height:100px }
}
@media (max-width:380px) {
  .app[data-screen="checkout"] .statusbar .btn-back #backLabel { display:none }
  .app[data-screen="checkout"] .statusbar .btn-back { padding:0 12px; min-width:44px }
  .app[data-screen="checkout"] .cfg-mini .cm-go { padding:0 12px; font-size:15px }
}
@media (prefers-reduced-motion:reduce) { .build-option { transition:none } }
@media (pointer:coarse) {
  .app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),.app textarea,.app select,.ts-control input { font-size:16px!important }
  .qsave-send,.qsave-lf button,.vf-picker .brw,.vf-picker .surprise,.vf-picker .bento-close,.vf-tab,.vf-picker .chip,.pdot { min-height:44px }
  .pdot { min-width:44px }
  #aboutGrid .cf-dot { position:relative }
  #aboutGrid .cf-dot::before { content:""; position:absolute; inset:-20px -6px }
}
.paybtn.is-busy::after { content:""; width:15px; height:15px; margin-left:8px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:iq-spin .8s linear infinite; display:inline-block; vertical-align:middle }
@keyframes iq-spin { to { transform:rotate(360deg) } }
#payGateNote { cursor:pointer }
