:root{
  --wine:#5b1a2a;--wine-2:#7d2638;--wine-3:#a63d50;--gold:#b8892b;--cream:#faf6ef;--paper:#fffdf9;
  --ink:#2a1d1f;--muted:#6d5d5f;--line:#eadfd3;--sea:#1f6f8b;--steak:#8a2c1d;--ok:#2f6b4f;--warn:#a15c00;
  --radius:16px;--shadow:0 6px 22px rgba(60,20,30,.08);
  --safe-b:env(safe-area-inset-bottom,0px);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
  -webkit-text-size-adjust:100%;
}
*{box-sizing:border-box}
html{scroll-padding-top:120px}
body{margin:0;color:var(--ink);background:radial-gradient(900px 400px at 0% -10%,#f3dfe2 0%,transparent 60%),radial-gradient(700px 320px at 100% 0%,#efe6d2 0%,transparent 55%),var(--cream);line-height:1.45;padding-bottom:calc(76px + var(--safe-b))}
a{color:var(--wine-2)}
.wrap{max-width:1080px;margin:0 auto;padding:0 1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.example-banner{background:repeating-linear-gradient(45deg,#ffd54f,#ffd54f 12px,#ffe082 12px,#ffe082 24px);color:#3b2a00;font-weight:800;text-align:center;padding:.5rem;font-size:.9rem;letter-spacing:.02em}
.hero{background:linear-gradient(140deg,var(--wine) 0%,var(--wine-2) 55%,#3b1020 100%);color:#fff;padding:calc(1.4rem + env(safe-area-inset-top,0px)) 0 1.3rem}
.eyebrow{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;opacity:.85}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:clamp(1.8rem,6vw,2.6rem);margin:.25rem 0 .35rem;line-height:1.1}
.lede{margin:0;max-width:40rem;opacity:.93;font-size:.97rem}
.meta-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem;font-size:.78rem}
.meta-row span{background:rgba(255,255,255,.14);padding:.25rem .6rem;border-radius:999px}
/* tabs: top on wide screens, bottom bar on phones */
.tabs{position:sticky;top:0;z-index:30;background:rgba(250,246,239,.95);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.tabs-inner{display:flex;gap:.25rem;padding-top:.45rem;padding-bottom:.45rem}
.tabs a{flex:0 0 auto;display:flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--muted);font-weight:650;font-size:.93rem;padding:.55rem .9rem;border-radius:999px;min-height:44px}
.tabs a.active{background:var(--wine);color:#fff}
.ti{font-size:1.05rem}
@media (max-width:700px){
  .tabs{position:fixed;top:auto;bottom:0;left:0;right:0;border-top:1px solid var(--line);border-bottom:0;padding-bottom:var(--safe-b)}
  .tabs-inner{justify-content:space-around;padding:.3rem .25rem}
  .tabs a{flex:1;flex-direction:column;gap:.1rem;font-size:.68rem;padding:.35rem .2rem;border-radius:12px}
  .tabs a.active{background:#f1e2e5;color:var(--wine)}
  .ti{font-size:1.3rem}
}
.toolbar{position:sticky;top:59px;z-index:20;background:rgba(250,246,239,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.55rem 0}
@media (max-width:700px){.toolbar{top:0}}
.toolbar[hidden]{display:none}
.toolbar-inner{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.search{flex:1 1 220px}
.search input{width:100%;font-size:16px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.62rem 1rem;outline:none;-webkit-appearance:none}
.search input:focus{border-color:var(--wine-3);box-shadow:0 0 0 3px rgba(166,61,80,.15)}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:.42rem .8rem;font-size:.84rem;cursor:pointer;min-height:36px;font-weight:600}
.chip.active{background:var(--wine);border-color:var(--wine);color:#fff}
.chip-sep{width:1px;background:var(--line);margin:0 .15rem}
main{padding-top:1rem;padding-bottom:1.5rem}
h2.sec{font-family:Georgia,serif;font-size:1.35rem;margin:1.3rem 0 .6rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
h2.sec small{font-family:inherit;font-size:.8rem;color:var(--muted);font-weight:500}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}
.card h3{margin:0 0 .25rem;font-family:Georgia,serif;font-size:1.2rem}
.card h3 a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(91,26,42,.25)}
.addr{color:var(--muted);font-size:.86rem;margin:0 0 .6rem}
.place-links{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .7rem}
.btn{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;font-size:.84rem;font-weight:700;border-radius:999px;padding:.45rem .85rem;border:1px solid var(--line);background:#fff;color:var(--ink);min-height:38px}
.btn.maps{border-color:#cfe3d6;background:#f1f8f3;color:#1d5a3a}
.btn.ta{border-color:#cdeee2;background:#effaf5;color:#00694b}
.btn.web{border-color:#ead6db;background:#fbf2f4;color:var(--wine)}
.btn.list{border-color:#efdcb5;background:#fdf6e7;color:#7a5410}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin:.2rem 0 .4rem}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.7rem .85rem;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:block}
.stat b{display:block;font-size:1.6rem;font-family:Georgia,serif;color:var(--wine)}
.stat span{font-size:.78rem;color:var(--muted)}
.profile{font-size:1.02rem;line-height:1.55;margin:0}
.notes{display:flex;flex-direction:column;gap:.4rem;margin:0 0 .8rem}
.note{font-size:.84rem;border-radius:10px;padding:.5rem .7rem;background:#f7f1ea;border-left:4px solid var(--line)}
.note.card-note{background:#fff6e6;border-left-color:var(--gold)}
.note.general{background:#eef5f8;border-left-color:var(--sea)}
.note.source,.note.extra{color:var(--muted)}
.picklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.pick{display:grid;grid-template-columns:2.2rem 1fr auto;gap:.15rem .7rem;align-items:start;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.rank{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#f1e2e5;color:var(--wine);font-size:.95rem}
.pick.seafood .rank{background:#e3f0f5;color:var(--sea)}
.pick.steak .rank{background:#f6e3df;color:var(--steak)}
.pick .nm{font-weight:700;font-size:1rem;text-decoration:none;color:var(--ink);border-bottom:1px solid rgba(0,0,0,.15)}
.pick .why{grid-column:2/4;font-size:.88rem;color:var(--muted);margin:.15rem 0 0}
.pick .sub{font-size:.78rem;color:var(--muted);margin-top:.15rem;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.price{text-align:right;white-space:nowrap}
.price b{font-size:1.1rem}
.price s{display:block;color:var(--muted);font-size:.78rem}
.pill{display:inline-block;font-size:.7rem;font-weight:700;border-radius:999px;padding:.12rem .5rem;background:#f2ece4;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.pill.save{background:#e6f3ea;color:var(--ok)}
.pill.ends{background:#fff1dc;color:var(--warn)}
.pill.ended{background:#f5e1e1;color:#9b1c1c}
.pill.everyday{background:#eef2ff;color:#3949ab}
.pill.step-up{background:#f3e8ff;color:#6b21a8}
.pill.splurge{background:#fdf2d8;color:#8a5a00}
.pill.sea{background:#e3f0f5;color:var(--sea)}
.pill.steak{background:#f6e3df;color:var(--steak)}
.pill.bad{background:#f5e1e1;color:#9b1c1c}
.pill.good{background:#e6f3ea;color:var(--ok)}
.cat-head{display:flex;align-items:center;gap:.5rem;margin:1rem 0 .5rem;font-weight:800;font-size:.95rem}
.cat-head .ic{font-size:1.2rem}
details{border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:.7rem}
summary{cursor:pointer;padding:.7rem .85rem;font-weight:700;font-size:.92rem;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"▾";color:var(--muted)}
details[open] summary::after{content:"▴"}
.dbody{padding:0 .85rem .8rem}
.sale-group{margin:.4rem 0 .7rem}
.sale-group h4{margin:.2rem 0 .35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.sale-items{display:flex;flex-wrap:wrap;gap:.35rem}
.sale-item{display:inline-flex;gap:.35rem;align-items:center;font-size:.84rem;border:1px solid var(--line);border-radius:999px;padding:.3rem .65rem;text-decoration:none;color:var(--ink);background:#fffdfa}
.sale-item b{color:var(--wine)}
.empty{text-align:center;padding:2rem 1rem;color:var(--muted);background:var(--paper);border:1px dashed #dccab9;border-radius:var(--radius)}
.empty .big{font-size:2.2rem}
.empty h3{color:var(--ink);font-family:Georgia,serif;margin:.4rem 0}
.empty p{max-width:32rem;margin:.3rem auto;font-size:.92rem}
.seg{display:flex;background:#efe6dc;border-radius:12px;padding:.25rem;gap:.25rem;margin:.2rem 0 1rem;overflow-x:auto}
.seg button{flex:1;border:0;background:transparent;padding:.55rem .6rem;border-radius:9px;font-weight:700;color:var(--muted);font-size:.9rem;min-height:40px;white-space:nowrap;cursor:pointer}
.seg button.active{background:#fff;color:var(--wine);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.wine-card .meta{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0}
.score{font-weight:800;color:var(--wine);font-size:1.05rem}
.label-img{width:100%;max-height:240px;object-fit:cover;border-radius:10px;margin-bottom:.5rem}
.topvals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;counter-reset:tv}
.status{display:inline-block;font-size:.75rem;font-weight:800;padding:.2rem .55rem;border-radius:999px}
.status.found{background:#e6f3ea;color:var(--ok)}
.status.not_found,.status.missing{background:#fff1dc;color:var(--warn)}
.muted{color:var(--muted)}
.small{font-size:.82rem}
.foot{color:var(--muted);font-size:.78rem;padding-top:.5rem;padding-bottom:1.5rem}
.hl{background:#fff1b8;border-radius:3px}
.hidden{display:none!important}
@media (min-width:900px){.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}
@media print{.tabs,.toolbar{display:none}body{padding:0}}
/* build 2026-10-18: ended sales + hero links */
.price .was{display:block;font-size:.72rem;color:var(--muted);font-weight:500;white-space:nowrap}
.ended-pick .rank{opacity:.75}
.ended-sales summary{color:var(--muted)}
.sale-group h4 .pill{margin-left:.35rem;vertical-align:middle;font-weight:600}
.hero-link{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:2px}
