/* ============================================================
   Lecker Liquor
   Warm paper + ink + their brand orange. Mobile-first.
   Palette and type are taken from their existing brand, not invented:
   orange sampled from their logo, #141006 is their own hero overlay,
   Cardo is the typeface of their wordmark.
   ============================================================ */

@font-face{font-family:'Cardo';src:url('fonts/cardo-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cardo';src:url('fonts/cardo-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Karla';src:url('fonts/karla-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Karla';src:url('fonts/karla-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  /* neutrals tinted toward the brand hue (~70deg) so nothing reads cold */
  --paper:      oklch(0.972 0.013 78);
  --paper-2:    oklch(0.946 0.019 76);
  --paper-3:    oklch(0.912 0.026 74);

  --ink:        oklch(0.185 0.021 68);   /* their #141006 territory */
  --ink-2:      oklch(0.255 0.022 66);
  --ink-3:      oklch(0.335 0.020 64);

  --text:       oklch(0.255 0.020 66);
  --text-soft:  oklch(0.475 0.018 66);
  --text-faint: oklch(0.615 0.016 68);

  --orange:      oklch(0.735 0.163 61);  /* #F0900F, sampled from the badge */
  --orange-deep: oklch(0.628 0.168 51);
  --orange-pale: oklch(0.935 0.048 74);

  --on-ink:      oklch(0.955 0.010 80);
  --on-ink-soft: oklch(0.760 0.017 74);
  --on-ink-faint:oklch(0.585 0.018 70);

  --open: oklch(0.72 0.15 145);
  --shut: oklch(0.64 0.17 30);

  --hair:      color-mix(in oklch, var(--text) 14%, transparent);
  --hair-ink:  color-mix(in oklch, var(--on-ink) 16%, transparent);

  --display:'Cardo',Georgia,'Times New Roman',serif;
  --ui:'Karla',ui-sans-serif,system-ui,sans-serif;

  /* 4pt scale */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem;
  --s6:1.5rem; --s8:2rem; --s12:3rem; --s16:4rem; --s24:6rem;

  --pad:clamp(1.15rem,5vw,2.5rem);
  --maxw:1160px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:var(--ui);font-size:clamp(1rem,.97rem + .3vw,1.075rem);
  line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange-deep)}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--orange-deep);outline-offset:3px;border-radius:2px}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.06;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,9vw,4.5rem)}
h2{font-size:clamp(1.95rem,6vw,3.1rem)}
h3{font-size:clamp(1.25rem,3.4vw,1.6rem);line-height:1.15}
p{margin:0 0 1em;max-width:68ch}
.lede{font-size:clamp(1.13rem,1.02rem + .8vw,1.4rem);line-height:1.5;color:var(--text-soft)}
.label{
  font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--orange-deep);margin:0 0 var(--s4);
  display:flex;align-items:center;gap:var(--s3);
}
.label::after{content:"";flex:1;height:1px;background:var(--hair)}
.on-ink .label{color:var(--orange)}
.on-ink .label::after{background:var(--hair-ink)}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
section{padding-block:clamp(3rem,9vw,5.5rem)}
.on-ink{background:var(--ink);color:var(--on-ink)}
.on-ink h1,.on-ink h2,.on-ink h3{color:var(--on-ink)}
.on-ink p{color:var(--on-ink-soft)}

/* ---------- header ---------- */
.hdr{background:var(--ink);color:var(--on-ink);position:sticky;top:0;z-index:60}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  max-width:var(--maxw);margin-inline:auto;padding:var(--s3) var(--pad)}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--on-ink)}
.brand img{width:42px;height:42px;flex:none}
.brand-txt b{display:block;font-family:var(--display);font-weight:700;font-size:1.16rem;
  line-height:1;letter-spacing:.005em}
.brand-txt span{display:block;font-size:.62rem;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;color:var(--orange);margin-top:.3rem}

.navtoggle{display:inline-flex;align-items:center;gap:.55rem;background:none;
  border:1px solid var(--hair-ink);color:var(--on-ink);font-family:var(--ui);
  font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  padding:.66rem .82rem;border-radius:3px;cursor:pointer}
.navtoggle:hover{border-color:var(--orange)}
.burger{width:15px;height:9px;position:relative;display:block}
.burger i{position:absolute;left:0;right:0;height:1.5px;background:var(--orange);
  transition:transform .22s ease,opacity .18s ease}
.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:3.75px}.burger i:nth-child(3){top:7.5px}
.nav-open .burger i:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
.nav-open .burger i:nth-child(2){opacity:0}
.nav-open .burger i:nth-child(3){transform:translateY(-3.75px) rotate(-45deg)}

.nav{display:none;background:var(--ink-2)}
.nav-open .nav{display:block}
.nav ul{list-style:none;margin:0 auto;padding:var(--s2) var(--pad) var(--s6);max-width:var(--maxw)}
.nav li+li{border-top:1px solid var(--hair-ink)}
.nav a{display:block;padding:.86rem 0;font-family:var(--display);font-weight:700;
  font-size:1.22rem;color:var(--on-ink);text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--orange)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:54px;padding:.85rem 1.5rem;font-family:var(--ui);font-size:.82rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:background .18s ease,color .18s ease,border-color .18s ease}
.btn-p{background:var(--orange);color:oklch(0.2 0.03 60);border-color:var(--orange)}
.btn-p:hover{background:var(--on-ink);border-color:var(--on-ink);color:var(--ink)}
.btn-s{background:transparent;color:var(--text);border-color:var(--hair)}
.btn-s:hover{border-color:var(--ink);color:var(--ink)}
/* the hero sits on photography, so it needs the light treatment too */
.on-ink .btn-s,.hero .btn-s,.phead .btn-s{color:var(--on-ink);
  border-color:color-mix(in oklch,var(--on-ink) 42%,transparent);
  background:color-mix(in srgb,#141006 45%,transparent);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.on-ink .btn-s:hover,.hero .btn-s:hover,.phead .btn-s:hover{
  border-color:var(--orange);color:var(--orange)}
.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);max-width:440px}

/* ---------- status ---------- */
.status{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--ui);
  font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--hair);border-radius:100px;padding:.42rem .9rem;color:var(--text-soft)}
.on-ink .status,.hero .status{border-color:var(--hair-ink);color:var(--on-ink-soft)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex:none}
.status[data-open="yes"] .dot{background:var(--open)}
.status[data-open="no"] .dot{background:var(--shut)}
.status b{font-weight:600;color:var(--text)}
.on-ink .status b,.hero .status b{color:var(--on-ink)}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink);color:var(--on-ink);isolation:isolate;
  padding-block:clamp(2.5rem,9vw,4.5rem) clamp(3rem,10vw,5rem)}
.hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
/* Two scrims: a vertical one for overall legibility, plus a left-weighted one so the
   wordmark and buttons sit on solid tone while the photo still reads on the right. */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,
      color-mix(in srgb,#141006 92%,transparent) 0%,
      color-mix(in srgb,#141006 78%,transparent) 42%,
      color-mix(in srgb,#141006 52%,transparent) 78%,
      color-mix(in srgb,#141006 62%,transparent) 100%),
    linear-gradient(180deg,
      color-mix(in srgb,#141006 60%,transparent) 0%,
      color-mix(in srgb,#141006 20%,transparent) 40%,
      color-mix(in srgb,#141006 80%,transparent) 100%)}
.hero .badge{width:74px;height:74px;margin-bottom:var(--s6)}
.hero h1{color:var(--on-ink);margin-bottom:var(--s4)}
.hero .lede{color:var(--on-ink-soft);max-width:36ch;margin-bottom:var(--s6)}
.hero .status{margin-bottom:var(--s6)}

/* ---------- the dictionary entry: the signature moment ---------- */
.dict{background:var(--paper);border-bottom:1px solid var(--hair)}
.dict-in{max-width:var(--maxw);margin-inline:auto;padding:clamp(2.5rem,8vw,4.5rem) var(--pad)}
.dict .head{font-family:var(--display);font-weight:700;
  font-size:clamp(2.6rem,11vw,5rem);line-height:1;color:var(--ink);letter-spacing:-.02em}
.dict .ipa{font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(1.2rem,4.5vw,1.9rem);color:var(--text-faint);margin-left:.4em;letter-spacing:0}
.dict .pos{font-family:var(--display);font-style:italic;font-size:clamp(1rem,3vw,1.25rem);
  color:var(--orange-deep);margin:var(--s3) 0 var(--s6)}
.dict ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3);
  border-top:1px solid var(--hair);padding-top:var(--s6)}
.dict li{display:flex;gap:var(--s4);align-items:baseline;
  font-family:var(--display);font-size:clamp(1.35rem,5vw,2.1rem);color:var(--ink);line-height:1.25}
.dict li i{font-family:var(--ui);font-style:normal;font-size:.62rem;font-weight:600;
  color:var(--orange-deep);letter-spacing:.1em;flex:none;transform:translateY(-.35em)}
.dict .src{font-size:.82rem;color:var(--text-faint);margin:var(--s6) 0 0;max-width:none}

/* ---------- numbers ---------- */
.nums{display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--hair);border-left:1px solid var(--hair)}
.nums div{padding:var(--s6) var(--s4);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.nums b{display:block;font-family:var(--display);font-weight:700;
  font-size:clamp(2.1rem,8vw,3rem);line-height:1;color:var(--orange-deep)}
.nums span{display:block;font-size:.76rem;font-weight:600;letter-spacing:.06em;
  color:var(--text-soft);margin-top:var(--s2);line-height:1.45}

/* ---------- feature split ---------- */
.split{display:grid;gap:var(--s8)}
.figure{margin:0}
.figure img{border-radius:3px;width:100%}
.figure figcaption{font-size:.78rem;color:var(--text-faint);margin-top:var(--s2)}

/* ---------- department list (not cards) ---------- */
.depts{list-style:none;margin:var(--s8) 0 0;padding:0;border-top:1px solid var(--hair-ink)}
.depts li{border-bottom:1px solid var(--hair-ink)}
.depts a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s4);
  padding:var(--s6) 0;text-decoration:none;color:var(--on-ink);
  transition:padding-inline-start .2s ease,color .2s ease}
.depts a:hover{padding-inline-start:var(--s3);color:var(--orange)}
.depts h3{margin-bottom:.3rem}
.depts p{margin:0;font-size:.94rem;color:var(--on-ink-faint);max-width:52ch}
.depts .amt{font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,5vw,2rem);
  color:var(--orange);line-height:1;text-align:right}

/* ---------- stores ---------- */
.stores{display:grid;gap:var(--s6);margin-top:var(--s8)}
.store{background:var(--paper-2);border:1px solid var(--hair);border-radius:3px;padding:var(--s6)}
.store h3{margin-bottom:var(--s3)}
.store .status{margin-bottom:var(--s4)}
.store address{font-style:normal;color:var(--text-soft);line-height:1.8;margin-bottom:var(--s4)}
.store address a{color:var(--text-soft);text-decoration:none}
.store address a:hover{color:var(--orange-deep)}
.hours{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:var(--s4)}
.hours th,.hours td{padding:.42rem 0;border-bottom:1px solid var(--hair);font-weight:400;text-align:left}
.hours th{color:var(--text-soft)}
.hours td{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.hours tr[data-today] th,.hours tr[data-today] td{color:var(--orange-deep);font-weight:600}
.hours tr:last-child th,.hours tr:last-child td{border-bottom:0}

/* ---------- ticks ---------- */
.ticks{list-style:none;margin:var(--s6) 0 0;padding:0}
.ticks li{padding:.7rem 0;border-bottom:1px solid var(--hair);color:var(--text-soft)}
.ticks li:last-child{border-bottom:0}
.ticks b{color:var(--text);font-weight:600}
.on-ink .ticks li{border-color:var(--hair-ink);color:var(--on-ink-soft)}
.on-ink .ticks b{color:var(--on-ink)}

/* ---------- pull quote ---------- */
.quote{margin:var(--s8) 0 0;padding:0;font-family:var(--display);font-style:italic;
  font-size:clamp(1.4rem,1.1rem + 1.6vw,2rem);line-height:1.32;color:var(--ink);max-width:24ch}
.quote::before{content:"“";color:var(--orange);font-size:1.1em;line-height:0;margin-right:.06em}
.quote cite{display:block;font-family:var(--ui);font-style:normal;font-size:.72rem;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);
  margin-top:var(--s4)}
.on-ink .quote{color:var(--on-ink)}
.on-ink .quote cite{color:var(--on-ink-faint)}

/* ---------- note ---------- */
.note{background:var(--orange-pale);border-radius:3px;padding:var(--s6);margin-top:var(--s8)}
.note h3{color:var(--ink);margin-bottom:var(--s3)}
.note p{color:oklch(0.42 0.05 60)}
.note p:last-child{margin-bottom:0}

/* ---------- page head ---------- */
.phead{background:var(--ink);color:var(--on-ink);padding-block:clamp(2.2rem,7vw,3.4rem)}
.phead h1{font-size:clamp(2.2rem,8vw,3.6rem);color:var(--on-ink)}
.phead .lede{margin-top:var(--s4);color:var(--on-ink-soft);max-width:58ch}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:var(--on-ink-soft);padding-block:var(--s12) calc(var(--s24) + 1rem)}
.ftr-grid{display:grid;gap:var(--s8)}
.ftr h4{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--orange);margin:0 0 var(--s4)}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:.45rem}
.ftr a{color:var(--on-ink-soft);text-decoration:none;font-size:.95rem}
.ftr a:hover{color:var(--orange)}
.ftr .mark{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.ftr .mark img{width:52px;height:52px}
.ftr .mark b{font-family:var(--display);font-size:1.1rem;color:var(--on-ink);display:block;line-height:1.1}
.ftr .mark span{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.legal{margin-top:var(--s12);padding-top:var(--s6);border-top:1px solid var(--hair-ink);
  font-size:.78rem;line-height:1.8;color:var(--on-ink-faint);max-width:none}

/* ---------- sticky mobile action bar ---------- */
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;
  grid-template-columns:1fr 1fr;gap:1px;background:var(--hair-ink);
  border-top:1px solid var(--orange);
  transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);
  padding-bottom:env(safe-area-inset-bottom)}
.actionbar.on{transform:translateY(0)}
.actionbar a{display:flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--ink-2);color:var(--on-ink);text-decoration:none;font-family:var(--ui);
  font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  min-height:58px;padding:.5rem}
.actionbar a:first-child{background:var(--orange);color:oklch(0.2 0.03 60)}
.actionbar a:active{filter:brightness(.92)}
.actionbar svg{width:16px;height:16px;flex:none}

/* ---------- responsive ---------- */
@media (min-width:620px){
  .nums{grid-template-columns:repeat(4,1fr)}
  .stores{grid-template-columns:repeat(2,1fr)}
  .ftr-grid{grid-template-columns:repeat(3,1fr)}
  .dict li{gap:var(--s6)}
}
@media (min-width:920px){
  .navtoggle{display:none}
  .nav{display:block;background:none}
  .nav ul{display:flex;gap:clamp(1rem,2.1vw,1.9rem);padding:0 var(--pad) var(--s3)}
  .nav li+li{border-top:0}
  .nav a{padding:0;font-family:var(--ui);font-size:.76rem;font-weight:600;
    letter-spacing:.12em;text-transform:uppercase}
  .nav a[aria-current="page"]{color:var(--orange)}
  .hdr-in{padding-block:var(--s4) var(--s3)}
  .actionbar{display:none}
  .ftr{padding-bottom:var(--s12)}
  .split{grid-template-columns:1fr 1.1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}
  .split.narrow{grid-template-columns:.8fr 1.2fr}
  .btn-row{grid-template-columns:auto auto;justify-content:start}
  .hero{padding-block:clamp(4rem,7vw,6.5rem) clamp(4rem,8vw,7rem)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- stock lookup ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.searchrow{display:grid;grid-template-columns:1fr auto;gap:var(--s2)}
.searchrow input{
  font-family:var(--ui);font-size:1.05rem;color:var(--text);
  background:var(--paper-2);border:1px solid var(--hair);border-radius:3px;
  padding:.9rem 1rem;min-height:54px;width:100%;-webkit-appearance:none}
.searchrow input::placeholder{color:var(--text-faint)}
.searchrow input:focus{border-color:var(--orange-deep);outline:none;
  box-shadow:0 0 0 3px color-mix(in oklch,var(--orange) 22%,transparent)}
.searchmeta{font-size:.82rem;color:var(--text-faint);margin:var(--s3) 0 0;min-height:1.2em}

.results{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.results li{padding:var(--s6) 0;border-bottom:1px solid var(--hair)}
.r-head h3{font-size:clamp(1.1rem,3.4vw,1.4rem);margin-bottom:.2rem}
.r-sub{font-size:.86rem;color:var(--text-faint);margin:0}
.r-stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:var(--s2);margin-top:var(--s4)}
.r-store{background:var(--paper-2);border:1px solid var(--hair);border-radius:3px;
  padding:.75rem .9rem}
.r-store.out{opacity:.55}
.r-store-name{display:block;font-size:.7rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--text-faint)}
.r-qty{display:block;font-family:var(--display);font-weight:700;
  font-size:1.35rem;color:var(--orange-deep);line-height:1.2;margin-top:.15rem}
.r-store.out .r-qty{color:var(--text-faint)}
.r-note{display:block;font-size:.72rem;color:var(--text-soft);margin-top:.2rem;font-style:italic}
.r-foot{font-size:.82rem;color:var(--text-faint);margin-top:var(--s6);max-width:68ch}
