/* Public promo discovery and the shared direct/cart checkout picker. */
.public-promos{margin:0 0 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.public-promos>summary,.promo-picker>summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;list-style:none;color:var(--ink);font-size:14px;font-weight:600}
.public-promos>summary{padding:14px 16px}
.public-promos>summary::-webkit-details-marker,.promo-picker>summary::-webkit-details-marker{display:none}
.public-promos-count{margin-left:auto;color:var(--accent);font-size:12px;font-weight:500}
.public-promos>summary svg{width:18px;height:18px;flex:none;transition:transform .2s ease}
.public-promos[open]>summary svg{transform:rotate(180deg)}
.public-promo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}
.promo-list-note{grid-column:1/-1;margin:0;color:var(--ink-soft);font-size:12px;line-height:1.7}
.promo-option{min-width:0;border:1px dashed var(--line);border-radius:11px;padding:16px;background:var(--bg)}
.promo-option-heading{display:grid;gap:5px;margin-bottom:10px}
.promo-option .promo-option-heading h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--ink-soft)}
.promo-option-heading>strong{font-size:22px;line-height:1.4;color:var(--accent);font-weight:600}
.promo-option>p{margin:5px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.promo-option .promo-use{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.promo-option .promo-use:hover{background:var(--accent-soft);border-color:var(--accent)}
.promo-option .promo-use:disabled{cursor:wait;opacity:.6}
.promo-use:focus-visible,.public-promos>summary:focus-visible,.promo-picker>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.promo-picker{margin-top:8px;border-bottom:1px solid var(--line)}
.promo-picker>summary{font-size:12px;color:var(--accent);justify-content:space-between}
.promo-picker>summary:after{content:'+';font-size:18px;font-weight:400;color:var(--ink-soft)}
.promo-picker[open]>summary:after{content:'−'}
.promo-picker [data-promo-choice-count]{margin-left:auto;font-size:12px;color:var(--ink-soft)}
.promo-choice-list{display:grid;gap:10px;padding:0 0 12px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.promo-choice-list .promo-option{padding:14px}
.promo-choice-list .promo-option-heading>strong{font-size:20px}
.buy-fields .promo-option .promo-use{width:auto;min-height:44px}
@media(max-width:600px){
  .public-promos>summary{flex-wrap:wrap;gap:8px;padding:12px 14px;font-size:13px}
  .public-promos-count{font-size:11px}
  .public-promo-list{grid-template-columns:minmax(0,1fr);padding:0 14px 14px;gap:10px}
  .promo-option{padding:14px}
}
