
/* Stream 17 final-site completion layer. Legal documents remain separate and untouched. */
:root {
  --s17-surface: #fffdf9;
  --s17-soft: #f7f1ec;
  --s17-ink: #302824;
  --s17-muted: #786c65;
  --s17-line: #e5dcd5;
  --s17-radius: 18px;
}

.stream17-hero-actions { margin-top: 28px; }
.stream17-hero-trust { margin-top: 22px; display:flex; gap:10px; flex-wrap:wrap; font-size:14px; color:var(--text-muted); }

.product-card__info { min-height: 166px; display:flex; flex-direction:column; align-items:center; }
.product-card__desc { display:block; margin:4px auto 6px; max-width:31ch; color:var(--text-muted); font-size:13px; line-height:1.45; }
.product-card__size { margin:0 0 9px; color:#9a8b82; font-size:12px; line-height:1.35; }
.product-card__price-row { margin-top:auto; }
.product-card__buy-btn { margin-top:8px; }

.cart-final-note { margin:-4px 0 16px; color:var(--text-muted); font-size:12px; line-height:1.45; }

.fulfillment-choice { margin:0; padding:0; border:0; }
.fulfillment-choice__grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px; }
.fulfillment-choice__option { position:relative; display:block; cursor:pointer; }
.fulfillment-choice__option input { position:absolute; opacity:0; pointer-events:none; }
.fulfillment-choice__option span { display:flex; min-height:88px; flex-direction:column; gap:5px; padding:14px 15px; border:1px solid var(--border); background:#fff; transition:.18s ease; }
.fulfillment-choice__option strong { font-size:15px; font-weight:600; }
.fulfillment-choice__option small { color:var(--text-muted); font-size:12px; line-height:1.4; }
.fulfillment-choice__option input:checked + span { border-color:var(--dark); box-shadow:inset 0 0 0 1px var(--dark); background:#faf7f4; }
.fulfillment-choice__option input:focus-visible + span { outline:3px solid rgba(48,40,36,.18); outline-offset:2px; }

.checkout-address-details { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.checkout-pickup-panel { padding:15px 16px; border:1px solid var(--border); background:var(--light-bg); }
.checkout-pickup-panel strong { display:block; margin-bottom:5px; }
.checkout-pickup-panel p { margin:3px 0; color:var(--text-muted); font-size:13px; line-height:1.45; }
.checkout-final-total { padding:16px; border:1px solid var(--dark); background:#fff; }
.checkout-final-total__row { display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
.checkout-final-total__row span { font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.checkout-final-total__row strong { font-family:var(--font-serif); font-size:20px; text-align:right; }
.checkout-final-total p { margin:8px 0 0; color:var(--text-muted); font-size:12px; line-height:1.45; }
.checkout-products-total { display:inline-block; margin-top:6px; color:var(--text-muted); font-weight:500; }
.checkout-payment-off { margin:-8px 0 0; color:var(--text-muted); font-size:12px; text-align:center; line-height:1.45; }
.checkout-consent--business { background:#fffaf5; }

.cta-consent { display:flex; align-items:flex-start; gap:10px; color:var(--text-muted); font-size:13px; line-height:1.5; }
.cta-consent input { width:17px; height:17px; margin-top:2px; flex:0 0 auto; accent-color:var(--dark); }
.cta-consent__links { margin:-12px 0 0 27px; font-size:12px; line-height:1.5; color:var(--text-muted); }
.cta-consent__links a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.cta-consent__placeholder { margin:-12px 0 0 27px; color:#9d8f87; font-size:11px; line-height:1.4; }

.b2b { padding:88px 0; background:#f1ece7; scroll-margin-top:calc(var(--header-h) + 20px); }
.b2b__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:start; }
.b2b__title { margin:10px 0 18px; font-family:var(--font-serif); font-size:clamp(34px,4vw,58px); font-weight:400; line-height:1.05; }
.b2b__lead { max-width:52ch; color:var(--text-muted); font-size:16px; line-height:1.7; }
.b2b__principles { margin:28px 0 0; padding-left:18px; color:var(--text-muted); line-height:1.8; }
.b2b-form { display:flex; flex-direction:column; gap:16px; padding:32px; background:#fff; }
.b2b-form label > span:not(.cta-consent span) { display:block; margin-bottom:6px; color:var(--text-muted); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.b2b-form__row--lookup { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }
.b2b-form__two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.b2b-form__hint { margin:0; color:var(--text-muted); font-size:12px; line-height:1.5; }
.b2b-file { padding:14px; border:1px dashed #bcaea5; background:#faf7f4; }
.b2b-file input { display:block; margin-top:8px; max-width:100%; }
.b2b-file-preview { max-height:180px; overflow:auto; padding:12px; border:1px solid var(--border); background:#fafafa; white-space:pre-wrap; font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }

.delivery-quote--ready { color:#4e6f54 !important; }
.delivery-quote--error { color:#9a4b56 !important; }

@media (max-width: 860px) {
  .stream17-hero-actions { display:flex !important; }
  .hero__btns .btn--dark, .hero__btns .btn--outline { display:inline-flex !important; }
  .product-card__info { min-height:154px; }
  .b2b { padding:64px 0; }
  .b2b__grid { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 560px) {
  .stream17-hero-actions { flex-direction:column; gap:10px; }
  .stream17-hero-actions .btn { width:100%; justify-content:center; text-align:center; }
  .stream17-hero-trust { font-size:12px; }
  .product-card__info { min-height:172px; padding:10px 7px 0; }
  .product-card__name { font-size:15px; }
  .product-card__desc { font-size:12px; }
  .product-card__size { font-size:11px; }
  .product-card__buy-btn { width:100%; }
  .fulfillment-choice__grid, .checkout-address-details, .b2b-form__two, .b2b-form__row--lookup { grid-template-columns:1fr; }
  .checkout-final-total__row { flex-direction:column; gap:5px; }
  .checkout-final-total__row strong { text-align:left; }
  .b2b { padding:48px 0; }
  .b2b-form { padding:20px 16px; margin:0 -4px; }
}

@media (min-width: 561px) and (max-width: 900px) {
  .b2b__grid { max-width:720px; }
  .checkout-modal { width:min(92vw,640px); }
}

/* Stream 17 pickup visibility invariant */
.js-delivery-field[hidden], .checkout-pickup-panel[hidden] { display: none !important; }
