/* SHELFLI — checkout, My orders and owner pages (shared). Uses the site's design tokens. */
.band--yellow{--band:#FFE033; --band-ink:#7A6200}
.band--rose{--band:#FF7566; --band-ink:#A8332A}
.band--green{--band:#5BC27A; --band-ink:#23703C}
.band--blue{--band:#70AEFF; --band-ink:#1F5FAE}
.band--purple{--band:#B18AE8; --band-ink:#6236A3}
.bandtag{display:inline-flex; align-items:center; gap:6px; padding:3px 9px 3px 7px; border-radius:999px; font-size:.68rem;
  font-weight:800; letter-spacing:.04em; color:var(--band-ink, var(--navy)); background:color-mix(in srgb, var(--band, #E4E9F0) 22%, #fff);
  border:1px solid color-mix(in srgb, var(--band, #D5DEEA) 55%, #fff)}
.bandtag::before{content:""; width:8px; height:8px; border-radius:999px; background:var(--band, #8A97AB)}

.opage{padding-bottom:72px}
.ohead{padding:clamp(30px,4.5vw,56px) 0 clamp(20px,3vw,32px); background:linear-gradient(180deg,var(--mist),#fff)}
.ohead .backlink{display:inline-flex; align-items:center; gap:6px; font-size:.86rem; font-weight:700; color:var(--navy-700)}
.ohead__kick{display:block; margin-top:20px; font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--emerald)}
.ohead h1{font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.1; margin-top:8px}
.ohead p{margin-top:12px; color:var(--muted); max-width:66ch}
.ogrid{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:clamp(18px,3vw,32px); align-items:start}
.ocard{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1); padding:20px}
.ocard + .ocard{margin-top:14px}
.ocard h2{font-size:1.12rem}
.ocard h3{font-size:1rem}
.onote{display:flex; gap:10px; padding:12px 16px; border-radius:var(--r); font-size:.88rem; font-weight:600; line-height:1.5;
  background:var(--gold-50); color:#7A5A0E; border:1px solid #F3DFA9; margin-bottom:14px}
.onote--info{background:#EEF3FA; color:var(--navy-700); border-color:var(--line-2)}
.onote--ok{background:var(--emerald-50); color:var(--emerald-600); border-color:#BFE3C4}
.oline{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; padding:14px 0; border-top:1px solid var(--line)}
.oline:first-of-type{border-top:0}
.oline b{color:var(--navy)}
.oline small{display:block; color:var(--muted); font-weight:600; font-size:.8rem; margin-top:3px}
.oline .omoney{text-align:right; font-size:.88rem; color:var(--muted); font-weight:600; line-height:1.6}
.oline .omoney b{font-weight:800}
.osum{display:grid; grid-template-columns:1fr auto; gap:9px 12px; margin:14px 0 0}
.osum dt{color:var(--muted); font-weight:600; font-size:.92rem}
.osum dd{margin:0; font-weight:800; color:var(--navy); text-align:right}
.osum .ototal{padding-top:11px; border-top:1px solid var(--line); font-size:1.05rem; color:var(--navy); font-weight:800}
.oincl{margin-top:12px; font-size:.86rem; font-weight:700; color:var(--emerald-600)}
.ofine{margin-top:10px; font-size:.8rem; color:var(--muted); line-height:1.55}
.oform{display:grid; gap:12px; margin-top:14px}
.oform label{display:grid; gap:6px; font-size:.86rem; font-weight:700; color:var(--navy)}
.oform input,.oform textarea,.oform select{font:inherit; font-weight:500; padding:11px 13px; border:1.5px solid var(--line-2); border-radius:12px; background:#fff; color:var(--ink)}
.oform input:focus,.oform textarea:focus,.oform select:focus{outline:3px solid rgba(46,125,50,.25); border-color:var(--emerald)}
.oterms{margin:10px 0 0; padding-left:20px; font-size:.86rem; color:var(--ink); line-height:1.6}
.ocheck{display:flex !important; grid-template-columns:none; gap:10px; align-items:flex-start; font-weight:600 !important}
.ocheck input{margin-top:4px; width:18px; height:18px; accent-color:var(--emerald)}
.obtn-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
.obtn-row .btn{padding:9px 15px; font-size:.85rem}
.btn:disabled{opacity:.55; cursor:not-allowed; box-shadow:none}
.ostatus{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.ochip{font-size:.72rem; font-weight:800; padding:4px 9px; border-radius:999px; background:#EEF2F8; color:var(--navy-700)}
.ochip--ok{background:var(--emerald-50); color:var(--emerald-600)}
.ochip--warn{background:var(--gold-50); color:#8a6410}
.ochip--bad{background:#FDECEC; color:#A8332A}
.ometa{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px 18px; margin-top:12px; font-size:.84rem}
.ometa div span{display:block; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.ometa div b{color:var(--navy); font-weight:700}
.ofilters{display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-bottom:16px}
.ofilters label{display:grid; gap:5px; font-size:.78rem; font-weight:800; color:var(--muted)}
.ofilters select,.ofilters input{font:inherit; padding:9px 12px; border:1.5px solid var(--line-2); border-radius:10px}
.oinline{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.oinline input,.oinline select{font:inherit; font-size:.85rem; padding:8px 10px; border:1.5px solid var(--line-2); border-radius:10px; min-width:0}
.oempty{text-align:center; padding:40px 20px; color:var(--muted)}
@media (max-width:860px){ .ogrid{grid-template-columns:1fr} }
@media (max-width:480px){ .oline{grid-template-columns:1fr} .oline .omoney{text-align:left} }

/* Policies and help pages (P2.6) */
.pol{display:grid; grid-template-columns:240px minmax(0,1fr); gap:18px; align-items:start; padding-top:22px}
.pol > .ocard{grid-column:2; margin-top:0; scroll-margin-top:96px}
.pol > .ocard + .ocard{margin-top:0}
.pol > .pol__toc{grid-column:1; grid-row:1 / span var(--toc-span, 11); position:sticky; top:92px; font-size:.86rem}
.pol__toc ol{margin:8px 0 0; padding-left:20px; line-height:1.9}
.pol__toc a{color:var(--navy-700); font-weight:600}
.pol p{margin-top:10px; font-size:.9rem; line-height:1.65}
.pol h3{margin-top:16px}
.pol a{text-decoration:underline; text-underline-offset:2px}
.pol__table{margin-top:12px; overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-md, 12px)}
.pol__table table{width:100%; border-collapse:collapse; font-size:.86rem; min-width:420px}
.pol__table th,.pol__table td{padding:9px 12px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.pol__table th{background:var(--mist); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; color:var(--muted)}
.pol__table tr:last-child td{border-bottom:0}
.pol details{border-top:1px solid var(--line); padding:10px 0}
.pol details:first-of-type{margin-top:8px}
.pol summary{cursor:pointer; font-weight:700; font-size:.92rem}
.pol details p{margin-top:6px}
.osteps{margin:12px 0 0; padding-left:22px; font-size:.9rem; line-height:1.65}
.osteps li + li{margin-top:6px}
@media (max-width:860px){ .pol{grid-template-columns:minmax(0,1fr)} .pol > .ocard,.pol > .pol__toc{grid-column:1; grid-row:auto; position:static} }
.oterms a,.ocheck a{text-decoration:underline; text-underline-offset:2px}

/* Delivery address (one area for now) */
.oaddr{border:0; padding:0; margin:4px 0 0; display:grid; gap:12px}
.oaddr legend{font-size:.86rem; font-weight:800; color:var(--navy); margin-bottom:8px; padding:0}
.oaddr__row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.oaddr select,.oaddr input[readonly]{background:var(--mist); color:var(--navy)}
@media (max-width:480px){ .oaddr__row{grid-template-columns:1fr} }

/* P2.13 coupon box (checkout summary) */
.ocoupon{margin:14px 0 4px; padding:12px; border:1px dashed var(--line); border-radius:12px}
.ocoupon label{display:block; font-weight:700; font-size:.9rem; color:var(--navy); margin-bottom:6px}
.ocoupon__row{display:flex; gap:8px}
.ocoupon__row input{flex:1; min-width:0; text-transform:uppercase; letter-spacing:.06em; font-weight:700}
.ocoupon__row .btn{white-space:nowrap}
.ocoupon__ok{color:var(--emerald-600); font-weight:700}
.ocoupon__bad{color:#b42318; font-weight:700}
.osum .ocoupon__dt{color:var(--emerald-600)}
.osum .ocoupon__dd{color:var(--emerald-600)}
