/* Online sommelier page */
.som-layout{align-items:flex-start}
.som-step{padding:26px 28px}
.som-step > p{margin:8px 0 18px}
.som-step > b{display:block;font-size:16px}
.som-h{display:flex;align-items:center;gap:12px}
.som-h .h-s{font-size:30px}
.som-n{width:32px;height:32px;flex:none;border-radius:99px;border:1.5px solid var(--gold-ink);color:var(--gold-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.som-wheel-row{display:flex;flex-wrap:wrap;gap:24px 28px;align-items:center}
.som-wheel{flex:1 1 360px;display:flex;justify-content:center}
.som-wheel svg{width:100%;max-width:460px;height:auto;display:block}
.som-wheel path{cursor:pointer;transition:fill-opacity .25s ease}
.som-wheel path:hover{fill-opacity:.85}
.som-wheel path:focus-visible{outline:none;stroke:#C9A46A;stroke-width:3}
.som-side-chips{flex:1 1 240px;display:flex;flex-direction:column}
.som-lbl{color:var(--muted)!important}
.som-side-chips .som-chips{margin:10px 0 18px}
.som-chips{display:flex;flex-wrap:wrap;gap:8px}
.som-step .som-chips[data-s="budget"]{margin-top:12px}
.som-dot{width:12px;height:12px;border-radius:9px;display:inline-block}

.som-str{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 22px;align-items:flex-end}
.som-sb{width:96px;padding:12px 6px 10px;border-radius:6px;border:1px solid var(--line-2);background:var(--white);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:700;transition:background .2s,border-color .2s}
.som-sb-bar{width:18px;border-radius:3px;background:var(--tobacco)}
.som-sb:hover{border-color:var(--green)}
.som-sb[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--cream)}
.som-sb[aria-pressed="true"] .som-sb-bar{background:var(--gold)}

.som-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 22px}
.som-tc{text-align:left;padding:18px;border-radius:6px;border:1px solid var(--line-2);background:var(--white);display:flex;flex-direction:column;gap:12px;transition:background .2s,border-color .2s,color .2s}
.som-tc:hover{border-color:var(--green)}
.som-tc-cig{display:block;position:relative;height:18px;background:var(--tobacco);border-radius:999px 3px 3px 999px;max-width:100%}
.som-tc-cig::after{content:"";position:absolute;left:16%;top:0;bottom:0;width:14px;background:var(--gold)}
.som-tc-f{font-size:13px;opacity:.75}
.som-tc[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--cream)}

.som-bud-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.som-tog{display:flex;align-items:center;gap:12px;border:0;background:none;font-weight:700;min-height:44px;padding:0}
.som-tog-t{width:46px;height:26px;border-radius:99px;background:var(--line-2);position:relative;display:inline-block;transition:background .2s}
.som-tog-t span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:99px;background:#fff;transition:left .2s}
.som-tog[aria-pressed="true"] .som-tog-t{background:var(--green)}
.som-tog[aria-pressed="true"] .som-tog-t span{left:23px}

.som-side{flex:1 1 400px;min-width:0;position:sticky;top:90px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 110px);overflow:auto;scrollbar-width:thin}
.admin-bar .som-side{top:122px;max-height:calc(100vh - 142px)}
.som-prof{border-radius:8px;padding:24px}
.som-prof-t{margin:10px 0 14px;line-height:1.6}
.som-prof-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--green-3)}
.som-prof-bar span{flex:1}
.som-res{padding:22px;display:flex;flex-direction:column;gap:12px}
.som-res .h-s{font-size:28px}
.som-list{display:flex;flex-direction:column;gap:10px;transition:opacity .2s}
.som-list.loading{opacity:.45}
.som-item{background:var(--white);border:1px solid #E6DCCB;border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:10px;animation:somIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 70ms)}
.som-item:first-child{border-color:var(--gold)}
.som-item-top{display:flex;gap:14px;align-items:center;text-decoration:none}
.som-cig-box{width:64px;height:46px;background:#F6F2EA;border-radius:4px;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.som-item-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.som-item-t .eyebrow{font-size:11px}
.som-item-t .serif{font-size:21px;line-height:1.15}
.som-meta{font-size:13px;color:var(--muted)}
.som-pct{font-family:var(--f-display);font-size:26px;flex:none}
.som-pbar{height:4px;background:var(--paper-3);border-radius:2px;display:block}
.som-pbar i{display:block;height:4px;background:var(--gold-ink);border-radius:2px}
.som-badges{display:flex;flex-wrap:wrap;gap:6px}
.som-badges .badge{background:#EFE8DA;color:#3F433C}
.som-badges .badge.on{background:var(--green);color:var(--cream)}
.som-why{font-size:13px}
.som-buy{display:flex;justify-content:space-between;align-items:center;gap:10px}
.som-buy .btn{min-height:40px}
.som-buy .added_to_cart{display:none}
.som-buy .btn.added::after{content:" ✓"}
.som-actions{display:flex;gap:10px}
.som-actions .btn{flex:1}
.som-msg{font-size:14px;margin:0}
.som-msg a{color:var(--gold-ink)}
@keyframes somIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:980px){.som-side{position:static;max-height:none;overflow:visible}}
@media (max-width:760px){
  .som-step{padding:18px}
  .som-h .h-s{font-size:22px}
  .som-wheel{flex-basis:100%}
  .som-str{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .som-sb{width:auto;padding:10px 2px 8px;font-size:11.5px;min-width:0}
  .som-times{grid-template-columns:1fr}
  .som-tc{flex-direction:row;flex-wrap:wrap;align-items:center;padding:14px}
  .som-tc-cig{flex:0 0 auto}
  .som-tc-f{flex-basis:100%}
  .som-item-t .serif{font-size:18px}
}

.som-jump{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;background:var(--gold);color:var(--green);font-weight:800;text-decoration:none;box-shadow:0 14px 30px -10px rgba(15,26,20,.55)}
@media (min-width:981px){.som-jump{display:none!important}}
@media (max-width:420px){.som-sb span:last-child{font-size:10px;letter-spacing:-.02em}}

/* v0.8: phones — strength as a list, compact match % */
@media (max-width:560px){
  .som-str{grid-template-columns:1fr!important;gap:6px}
  .som-sb{flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:10px 14px!important;min-height:48px;font-size:14px!important}
  .som-sb span:last-child{font-size:14px!important;letter-spacing:0!important}
  .som-sb-bar{flex:none}
  .som-pct{font-size:21px}
  .som-cig-box{width:52px}
  .som-item-top{gap:10px}
}
