/* Bothasig Baseball Club shop. Everything is scoped under .bbc so it can sit inside the existing site page. */
.bbc{
  --g:#174F31; --g-deep:#0E3320; --g-mid:#2d6b47; --gold:#FCCD1C; --gold-deep:#CEA520;
  --ink:#16221b; --mute:#58655d; --line:#dbe3dc; --bg:#f1f4f0; --card:#ffffff; --tint:#e8f0e9;
  --err:#b3261e; --errbg:#fdecea; --ok:#1d7a44;
  --display:'Barlow Condensed','Arial Narrow',Arial,sans-serif; --body:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  container-type:inline-size; container-name:bbc;
  font-family:var(--body); font-size:16px; line-height:1.5; color:var(--ink); background:var(--bg);
  color-scheme:light; position:relative;
}
.bbc *,.bbc *::before,.bbc *::after{box-sizing:border-box}
.bbc img{max-width:100%;display:block}
.bbc [hidden]{display:none!important}
.bbc h1,.bbc h2,.bbc h3{font-family:var(--display);font-weight:700;margin:0;line-height:1.05;text-wrap:balance;letter-spacing:.01em}
.bbc button{font:inherit;color:inherit;cursor:pointer}
.bbc :focus-visible{outline:3px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 5px var(--g-deep)}
.bbc .in{padding-inline:max(16px,env(safe-area-inset-left,0px));max-width:1120px;margin-inline:auto}

/* ---------- hero ---------- */
.bbc .hero{background:var(--g);color:#fff;border-bottom:6px solid var(--gold)}
.bbc .hero .in{display:flex;align-items:center;gap:24px;padding-block:28px 26px}
.bbc .hero .logo{width:clamp(110px,16cqw,170px);height:auto;flex:none;border-radius:50%;box-shadow:0 0 0 4px var(--gold),0 6px 18px rgba(0,0,0,.35)}
.bbc .hero h1{font-size:clamp(2.3rem,7cqw,3.6rem);text-transform:uppercase;letter-spacing:.03em}
.bbc .hero p{margin:6px 0 0;color:#d6e4da;max-width:34ch}
@container bbc (max-width:520px){.bbc .hero .in{flex-direction:column;align-items:flex-start;gap:14px}}

/* ---------- rules banner ---------- */
.bbc .rules{background:var(--g-deep);color:#fff}
.bbc .rules .in{display:grid;grid-template-columns:auto 1fr;gap:6px 28px;padding-block:18px;align-items:start}
.bbc .rules h2{font-size:clamp(1.5rem,4.4cqw,2.1rem);color:var(--gold);text-transform:uppercase}
.bbc .rules .count{grid-row:2;align-self:start;display:inline-block;background:var(--gold);color:var(--g-deep);font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;padding:2px 12px;border-radius:3px;justify-self:start}
.bbc .rules ul{grid-column:2;grid-row:1 / span 2;margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.98rem;color:#e6efe8}
.bbc .rules li{padding-left:22px;position:relative}
.bbc .rules li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.bbc .rules .lead{grid-column:1;grid-row:1}
@container bbc (max-width:720px){.bbc .rules .in{grid-template-columns:1fr}.bbc .rules ul{grid-column:1;grid-row:auto}.bbc .rules .count{grid-row:auto}}

/* ---------- steps ---------- */
.bbc .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-block:20px 6px;margin:0;list-style:none}
.bbc .steps li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;min-width:0}
.bbc .steps b{flex:none;width:32px;height:32px;border-radius:50%;background:var(--g);color:var(--gold);display:grid;place-items:center;font-family:var(--display);font-size:1.25rem}
.bbc .steps span{min-width:0;overflow-wrap:anywhere}
@container bbc (max-width:720px){.bbc .steps{grid-template-columns:1fr}}

/* ---------- filter ---------- */
.bbc .filters{display:flex;flex-wrap:wrap;gap:8px;padding-block:14px 4px}
.bbc .filters button{border:2px solid var(--g);background:transparent;color:var(--g);padding:5px 16px;border-radius:999px;font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;min-height:40px}
.bbc .filters button[aria-pressed="true"]{background:var(--g);color:var(--gold)}

/* ---------- product grid ---------- */
.bbc .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:14px 8px}
@container bbc (max-width:900px){.bbc .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container bbc (max-width:560px){.bbc .grid{grid-template-columns:minmax(0,1fr)}}
.bbc .p{background:var(--card);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.bbc .p[hidden]{display:none}
.bbc .p-media{background:#fff;border-bottom:1px solid var(--line);padding:10px 10px 8px}
.bbc .p-main{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff}
.bbc .p-thumbs{display:flex;gap:6px;justify-content:center;margin-top:6px}
.bbc .p-thumbs button{width:48px;height:48px;padding:2px;background:#fff;border:2px solid var(--line);border-radius:6px}
.bbc .p-thumbs button[aria-current="true"]{border-color:var(--g)}
.bbc .p-thumbs img{width:100%;height:100%;object-fit:contain}
.bbc .p-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.bbc .p-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bbc .p-head h3{font-size:1.55rem;text-transform:uppercase;min-width:0}
.bbc .p-price{font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--g);white-space:nowrap;font-variant-numeric:tabular-nums}
.bbc .tag-sample{display:block;font-family:var(--body);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:right;line-height:1}
.bbc .p-sub{margin:-6px 0 0;color:var(--mute);font-size:.9rem}
.bbc .p-blurb{margin:0;font-size:.95rem}
.bbc .p-print{margin:0;font-size:.85rem;color:var(--mute);display:flex;gap:8px;align-items:baseline}
.bbc .p-print span{flex:none;font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g);background:var(--tint);padding:1px 7px;border-radius:3px}
.bbc details.p-details{font-size:.9rem}
.bbc details.p-details summary{cursor:pointer;color:var(--g);font-weight:600;padding:4px 0;min-height:32px}
.bbc details.p-details p{margin:4px 0 8px}
.bbc details.p-details ul{margin:0 0 4px;padding-left:18px;color:var(--mute)}
.bbc .opt-label{font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:6px 0 2px}
.bbc .chips{display:flex;flex-wrap:wrap;gap:6px}
.bbc .chip{min-width:48px;min-height:44px;padding:4px 12px;border:2px solid var(--line);background:#fff;border-radius:8px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative}
.bbc .chip:hover:not(:disabled){border-color:var(--g)}
.bbc .chip[aria-pressed="true"]{background:var(--g);border-color:var(--g);color:#fff}
.bbc .chip[aria-pressed="true"]::after{content:"";width:6px;height:11px;border:solid var(--gold);border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px);margin-left:2px}
.bbc .chip.radio[aria-checked="true"]{border-color:var(--g);box-shadow:inset 0 0 0 1px var(--g);background:var(--tint)}
.bbc .chip.wide{padding-inline:18px}
.bbc .chip:disabled{opacity:.5;cursor:not-allowed}
.bbc .sw{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.35);flex:none}
.bbc .picked{display:grid;gap:6px;margin-top:4px}
.bbc .picked:empty{display:none}
.bbc .pick{display:grid;grid-template-columns:1fr auto auto;gap:8px 10px;align-items:center;background:var(--tint);border-radius:8px;padding:6px 8px 6px 12px;font-size:.92rem}
.bbc .pick .nm{font-weight:600;min-width:0;overflow-wrap:anywhere}
.bbc .pick .amt{font-variant-numeric:tabular-nums;font-weight:600;min-width:5ch;text-align:right}
.bbc .step{display:inline-flex;align-items:center;background:#fff;border:2px solid var(--g);border-radius:8px;overflow:hidden}
.bbc .step button{width:36px;height:36px;border:0;background:#fff;font-size:1.2rem;font-weight:700;color:var(--g);line-height:1}
.bbc .step button:hover{background:var(--tint)}
.bbc .step input{width:40px;height:36px;border:0;text-align:center;font:inherit;font-weight:700;-moz-appearance:textfield;background:#fff;color:var(--ink)}
.bbc .step input::-webkit-outer-spin-button,.bbc .step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- details + summary ---------- */
.bbc .form{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 22px 24px;margin-block:22px 28px}
.bbc .form h2{font-size:1.9rem;text-transform:uppercase;color:var(--g)}
.bbc .form h2 + .fields{margin-top:12px}
.bbc .fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.bbc .fields .full{grid-column:1/-1}
@container bbc (max-width:620px){.bbc .fields{grid-template-columns:1fr}}
.bbc .f{display:flex;flex-direction:column;gap:4px;min-width:0}
.bbc .f > label,.bbc .f > .lab{font-weight:600;font-size:.92rem}
.bbc .f input[type=text],.bbc .f input[type=email],.bbc .f input[type=tel],.bbc .f select,.bbc .f textarea{font:inherit;width:100%;min-height:46px;padding:9px 12px;border:2px solid #c3cdc5;border-radius:8px;background:#fff;color:var(--ink)}
.bbc .f textarea{min-height:76px;resize:vertical}
.bbc .f [aria-invalid="true"]{border-color:var(--err);background:var(--errbg)}
.bbc .f .err{color:var(--err);font-size:.88rem;font-weight:600;margin:0}
.bbc .seg{display:flex;gap:8px;flex-wrap:wrap}
.bbc .seg label{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:6px 16px;border:2px solid #c3cdc5;border-radius:8px;font-weight:600;cursor:pointer;background:#fff}
.bbc .seg input{accent-color:var(--g);width:18px;height:18px}
.bbc .seg label:has(input:checked){border-color:var(--g);background:var(--tint)}
.bbc .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bbc .sumwrap{margin-top:26px}
.bbc ul.sum{list-style:none;margin:10px 0 0;padding:0}
.bbc ul.sum li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dashed var(--line)}
.bbc ul.sum li.empty{color:var(--mute);border:0}
.bbc ul.sum .amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.bbc .total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;font-family:var(--display);font-weight:700;font-size:2rem;text-transform:uppercase;color:var(--g-deep)}
.bbc .total span:last-child{font-variant-numeric:tabular-nums}
.bbc .consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px;background:var(--tint);border-radius:8px;border:2px solid transparent}
.bbc .consent input{width:22px;height:22px;margin-top:2px;accent-color:var(--g);flex:none}
.bbc .consent label{font-size:.95rem;font-weight:600}
.bbc .consent.bad{border-color:var(--err);background:var(--errbg)}
.bbc .note{font-size:.9rem;color:var(--mute);margin:12px 0 0}
.bbc .errsum{background:var(--errbg);border:2px solid var(--err);border-radius:8px;padding:10px 14px;margin-top:16px;color:var(--err);font-weight:600}
.bbc .errsum p{margin:0}
.bbc .btn{display:block;width:100%;margin-top:16px;min-height:56px;border:0;border-radius:8px;background:var(--gold);color:var(--g-deep);font-family:var(--display);font-weight:700;font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:4px solid var(--gold-deep)}
.bbc .btn:hover:not(:disabled){background:#ffd940}
.bbc .btn:disabled{opacity:.65;cursor:wait}

/* ---------- sticky total ---------- */
.bbc .bar{position:sticky;bottom:0;z-index:5;background:var(--g-deep);color:#fff;border-top:3px solid var(--gold);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.bbc .bar .in{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-inline:0}
.bbc .bar .cnt{font-size:.85rem;color:#c8d9cd}
.bbc .bar strong{display:block;font-family:var(--display);font-size:1.7rem;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.bbc .bar a{background:var(--gold);color:var(--g-deep);font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:9px 18px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}

/* ---------- state panels ---------- */
.bbc .panel{background:var(--card);border:2px solid var(--g);border-radius:10px;padding:26px;margin-block:24px}
.bbc .panel h2{font-size:2.1rem;text-transform:uppercase;color:var(--g)}
.bbc .panel p{margin:10px 0 0;max-width:62ch}
.bbc .soon{background:var(--gold);color:var(--g-deep);font-weight:700}
.bbc .soon .in{padding-block:10px;font-size:1rem}
.bbc .done .ref{display:inline-block;background:var(--gold);color:var(--g-deep);font-family:var(--display);font-weight:700;font-size:2.4rem;letter-spacing:.05em;padding:4px 18px;border-radius:6px;margin-top:10px}
.bbc .done dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:16px 0 0}
.bbc .done dt{color:var(--mute)} .bbc .done dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.bbc .bank{background:var(--tint);border-radius:8px;padding:12px 16px;margin-top:12px;max-width:440px}
.bbc .bank dl{margin:0}
.bbc .ph{background:#fff3b0;padding:0 6px;border-radius:3px}
.bbc .foot{padding-block:8px 28px;color:var(--mute);font-size:.88rem}
@media (prefers-reduced-motion:reduce){.bbc *{scroll-behavior:auto!important;transition:none!important}}

.bbc .chip.pr{flex-direction:column;gap:0;line-height:1.15;padding:5px 10px;min-width:60px}
.bbc .chip.pr .cp{font-size:.74rem;font-weight:500;opacity:.8}
.bbc .chip.pr[aria-pressed="true"]::after{display:none}
.bbc .p-price .from{font-family:var(--body);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-right:4px}

.bbc .collect-note{margin-top:28px;padding:18px 20px;border-radius:10px;background:var(--tint);border-left:6px solid var(--gold)}
.bbc .collect-note h2{font-size:1.5rem;text-transform:uppercase;color:var(--g);margin-bottom:6px}
.bbc .collect-note p{margin:0}

.bbc .p-media{position:relative}
.bbc .soon-banner{position:absolute;z-index:2;top:18px;left:-8px;background:var(--gold);color:var(--g-deep);font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 18px 4px 22px;box-shadow:0 2px 6px rgba(0,0,0,.25);clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%)}
.bbc .p-soon{margin:6px 0 0;padding:10px 12px;border-radius:8px;background:var(--tint);font-weight:600;color:var(--g)}

/* ---------- inside the club site page ---------- */
/* The site nav is fixed and 80px tall: start the shop below it, keep jump links clear of it,
   and hold space while the catalogue loads so the footer does not jump. */
#bbc-shop{display:block;padding-top:80px;background:#f1f4f0}
#bbc-shop:empty{min-height:100vh}
#bbc-shop,.bbc [id]{scroll-margin-top:88px}
/* Line the shop up with the site nav (max-w-7xl, 32px side padding) on wide screens */
@media (min-width:1024px){#bbc-shop .in{max-width:1280px;padding-inline:32px}}
/* Shown for the few seconds the order sheet takes to answer */
#bbc-shop .bbc-loading{margin:0;padding:96px 16px;text-align:center;font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;font-size:1.4rem;letter-spacing:.06em;text-transform:uppercase;color:#174F31}
