/* /cigars/ picker — Sunshine Market & Liquor */
.cp .section-header{margin-bottom:1.1rem}
.cp-modes{display:flex;gap:.4rem;padding:.3rem;background:#fff;border:1px solid var(--border);border-radius:999px;margin:0 0 1rem;max-width:26rem}
.cp-mode{flex:1;min-height:44px;border:0;border-radius:999px;background:transparent;font:600 .95rem/1.2 var(--font-body);color:var(--royal,#203090);cursor:pointer}
.cp-mode.is-on{background:var(--royal,#203090);color:#fff}
.cp-mode:focus-visible,.cp-chip:focus-visible,.cp-opt:focus-visible,.cp-reset:focus-visible,.cp-link:focus-visible{outline:3px solid var(--gold,#F0A020);outline-offset:2px}
.cp-filters,.cp-help{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:.9rem .9rem .4rem;margin:0 0 .9rem}
.cp-row{border:0;margin:0 0 .75rem;padding:0;min-width:0}
.cp-row legend,.cp-row summary{font:700 .78rem/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .45rem;padding:0}
.cp-brands summary{cursor:pointer;min-height:36px;display:flex;align-items:center;gap:.4rem;list-style:none}
.cp-brands summary::-webkit-details-marker{display:none}
.cp-brands summary::after{content:"Show all";font-weight:600;letter-spacing:0;text-transform:none;color:var(--royal,#203090);font-size:.85rem;text-decoration:underline}
.cp-brands[open] summary::after{content:"Hide"}
.cp-brands.has-on summary::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--brand-red,#B01020);order:2}
.cp-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.cp-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--border-strong);background:#fff;font:600 .88rem/1.2 var(--font-body);color:var(--royal,#203090);cursor:pointer;-webkit-tap-highlight-color:transparent;max-width:100%;text-align:left}
.cp-chip .cp-n{font-weight:500;font-size:.75rem;color:var(--text-soft)}
.cp-chip[aria-pressed="true"]{background:var(--royal,#203090);border-color:var(--royal,#203090);color:#fff}
.cp-chip[aria-pressed="true"] .cp-n{color:rgba(255,255,255,.8)}
.cp-chip[aria-pressed="true"]::before{content:"✓";font-size:.8rem}
.cp-bar{position:sticky;top:var(--header-h,4.75rem);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;padding:.4rem .2rem;background:var(--bg,#faf6ee)}
.cp-count{margin:0;font:700 1rem/1.3 var(--font-body);color:var(--text)}
.cp-reset,.cp-link{min-height:40px;padding:.35rem 1rem;border-radius:999px;border:1px solid var(--brand-red,#B01020);background:#fff;color:var(--brand-red,#B01020);font:700 .88rem/1 var(--font-body);cursor:pointer}
.cp-grid{margin-top:.5rem}
.cp-item[hidden]{display:none}
.cp-q{margin:0 0 .6rem}
.cp-qt{margin:0 0 .6rem;font:600 1.1rem/1.3 var(--font-display);color:var(--text)}
.cp-step{display:block;font:700 .72rem/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dim,#c48410);margin-bottom:.2rem}
.cp-opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.cp-opt{min-height:48px;padding:.5rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;font:600 .92rem/1.2 var(--font-body);color:var(--royal,#203090);cursor:pointer}
.cp-opt.is-on{background:var(--royal,#203090);border-color:var(--royal,#203090);color:#fff}
.cp-q.is-done .cp-qt{font-size:.95rem;color:var(--text-muted)}
.cp-q.is-done .cp-opt:not(.is-on){opacity:.55}
.cp-help-sum{margin:.2rem 0 .6rem;font:600 .95rem/1.4 var(--font-body);color:var(--text)}
.cp-help-restart{margin:0 0 .6rem}
.cp-empty{text-align:center;background:#fff;border:1px dashed var(--border-strong);border-radius:var(--radius);padding:1.6rem 1rem;margin-top:.5rem}
.cp-empty-t{font:600 1.15rem/1.3 var(--font-display);margin:0 0 .4rem;color:var(--text)}
.cp-empty p{margin:0 0 .9rem;color:var(--text-muted)}
.cp-empty-a{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.cp-foot{margin:1.4rem 0 0;font-size:.85rem;color:var(--text-muted);line-height:1.5}
@media (min-width:640px){.cp-opts{grid-template-columns:repeat(4,minmax(0,1fr))}.cp-q[data-q="length"] .cp-opts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.cp-filters{padding:1.1rem 1.2rem .5rem}}
