/* v2.4.21 — premium polish pass 3 (Jack, Oct 24 2026: "keep making the app look better each time").
   Home, Shop all, search + empty states, Gifts, Jerky Club, Kashrus, sign-in, dark mode review, desktop at 1024 px and wider.
   Plus the Open now / Closed for Shabbat badge (v2421.js). Scope: customer screens only (body:not(.staff)).
   Splash untouched. No Fredoka. Fonts are the bundled Oswald / Rye / Inter. */

/* ---------- open badge ---------- */
body:not(.staff):not(#k21) .obw2421{padding:14px 16px 0;display:flex;justify-content:flex-start}
body:not(.staff):not(#k21) .ob2421{display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:7px 15px 7px 12px;border-radius:999px;border:1px solid var(--k-line);background:#fff;color:var(--k-char);font:600 13px/1.2 "Inter",system-ui,sans-serif;letter-spacing:.01em;cursor:pointer;box-shadow:0 1px 2px rgba(26,22,20,.06)}
body:not(.staff):not(#k21) .ob2421 i,body:not(.staff):not(#k21) .pkst i{width:8px;height:8px;border-radius:50%;background:var(--k-gold);flex:none;box-shadow:0 0 0 3px rgba(232,163,61,.22)}
body:not(.staff):not(#k21) .ob2421.open i,body:not(.staff):not(#k21) .pkst.open i{background:#2E7D4F;box-shadow:0 0 0 3px rgba(46,125,79,.18)}
body:not(.staff):not(#k21) .ob2421.shabbat i,body:not(.staff):not(#k21) .pkst.shabbat i{background:var(--k-red);box-shadow:0 0 0 3px rgba(139,58,58,.2)}
body:not(.staff):not(#k21) .ob2421::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);opacity:.5;margin-left:2px}
html.dk20 body:not(.staff):not(#k21) .ob2421{background:#211C19;border-color:#3A322C;color:var(--k-cream)}

/* ---------- pickup card (Delivery & pickup) ---------- */
body:not(.staff):not(#k21) .pk2421{margin:22px 0;padding:20px 18px;border:1px solid var(--k-line);border-radius:16px;background:#fff;scroll-margin-top:80px}
body:not(.staff):not(#k21) .pk2421 .h2{margin:2px 0 4px}
body:not(.staff):not(#k21) .pk2421 .pkaddr{font-weight:600;margin:0 0 10px;color:var(--k-char)}
body:not(.staff):not(#k21) .pk2421 .pkst{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin:0 0 10px;padding:6px 12px;border-radius:999px;background:var(--k-bg2)}
body:not(.staff):not(#k21) .pkdays{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--k-line)}
body:not(.staff):not(#k21) .pkdays li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--k-line);font-size:14px}
body:not(.staff):not(#k21) .pkdays b{width:42px;flex:none;font-family:"Oswald",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
html.dk20 body:not(.staff):not(#k21) .pk2421{background:#1D1916;border-color:#332B26}
html.dk20 body:not(.staff):not(#k21) .pk2421 .pkaddr{color:var(--k-cream)}
html.dk20 body:not(.staff):not(#k21) .pk2421 .pkst{background:#2A2420;color:var(--k-cream)}
html.dk20 body:not(.staff):not(#k21) :is(.pkdays,.pkdays li){border-color:#332B26}

/* ---------- home: calm spacing, section heads ---------- */
body:not(.staff):not(#k21) main.shop>.sec{margin-top:40px}
body:not(.staff):not(#k21) main.shop>.shwrap+.sec.platsec{margin-top:24px}
body:not(.staff):not(#k21) main.shop .sechead{align-items:flex-end;margin-bottom:14px}
body:not(.staff):not(#k21) main.shop .sechead h2.disp2{position:relative;padding-top:12px}
body:not(.staff):not(#k21) main.shop .sechead h2.disp2::before{content:"";position:absolute;left:0;top:0;width:28px;height:2px;background:var(--k-gold)}
body:not(.staff):not(#k21) main.shop .sechead .linkbtn{font-weight:600;color:var(--k-ox);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
html.dk20 body:not(.staff):not(#k21) main.shop .sechead .linkbtn{color:var(--k-gold)}

/* trust strip: inside the margins, three even columns with hairlines */
body:not(.staff):not(#k21) section.trust{margin:40px 16px 0!important;width:auto!important;padding:20px 6px!important;box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr))!important;border-radius:16px!important;overflow:hidden}
body:not(.staff):not(#k21) section.trust>*{padding:2px 8px!important;min-width:0}
body:not(.staff):not(#k21) section.trust b{font-size:12.5px!important;line-height:1.25}
body:not(.staff):not(#k21) section.trust span{font-size:11.5px!important;line-height:1.35}
body:not(.staff):not(#k21) section.trust svg{width:28px;height:28px;margin:0 auto 6px;display:block}
body:not(.staff):not(#k21) section.trust>*+*{border-left:1px solid rgba(232,163,61,.25)!important}

/* Build your own: the real photo instead of the drawn plate */
body:not(.staff):not(#k21) button.bcard{position:relative;overflow:hidden;display:flex;align-items:stretch;min-height:168px;padding:0!important}
body:not(.staff):not(#k21) button.bcard .bctext{position:relative;z-index:1;flex:1 1 58%;padding:20px 12px 20px 20px;text-align:left}
body:not(.staff):not(#k21) button.bcard img.byo2421{flex:0 0 42%;width:42%;object-fit:cover;object-position:center;display:block;margin:0;border-radius:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}

/* Jerky Club card: readable title */
body:not(.staff):not(#k21) #app .clubcard :is(h3,.disp3){color:var(--k-char)!important}
body:not(.staff):not(#k21) #app .clubcard .flink{color:var(--k-ox)!important}
html.dk20 body:not(.staff):not(#k21) #app .clubcard :is(h3,.disp3){color:var(--k-cream)!important}
html.dk20 body:not(.staff):not(#k21) #app .clubcard .flink{color:var(--k-gold)!important}

/* ---------- product cards: even crops, price + size, quick add ---------- */
body:not(.staff):not(#k21) main.shop .pcard{display:flex;flex-direction:column}
body:not(.staff):not(#k21) main.shop .pcard .pimg{aspect-ratio:1/1;overflow:hidden;border-radius:14px;background:var(--k-bg2)}
body:not(.staff):not(#k21) main.shop .pcard.big .pimg{aspect-ratio:4/5}
body:not(.staff):not(#k21) main.shop .pcard .pimg img{width:100%;height:100%;object-fit:cover;object-position:center}
body:not(.staff):not(#k21) main.shop .pcard .pinfo{display:flex;flex-direction:column;flex:1;padding-top:10px}
body:not(.staff):not(#k21) main.shop .pcard .pname{font-weight:600;line-height:1.25;text-align:left}
body:not(.staff):not(#k21) main.shop .pcard .pmeta{font-size:12.5px;color:var(--k-mut);min-height:1.3em;margin-top:2px}
body:not(.staff):not(#k21) main.shop .pcard .prow{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
body:not(.staff):not(#k21) main.shop .pcard .pprice{font-family:"Oswald",sans-serif;font-weight:500;font-size:17px;letter-spacing:.02em;color:var(--k-char)}
body:not(.staff):not(#k21) main.shop .pcard .padd{width:38px;height:38px;border-radius:50%;background:var(--k-char)!important;color:var(--k-gold)!important;border:0!important;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(26,22,20,.18);flex:none}
body:not(.staff):not(#k21) main.shop .pcard .padd.ask248{width:auto;min-width:64px;border-radius:999px;padding:0 14px;font:500 12.5px/1 "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
body:not(.staff):not(#k21) main.shop .pcard .padd svg{width:18px;height:18px}
body:not(.staff):not(#k21) main.shop .pcard .padd:active{transform:scale(.94)}
html.dk20 body:not(.staff):not(#k21) main.shop .pcard .pprice{color:var(--k-cream)}
html.dk20 body:not(.staff):not(#k21) main.shop .pcard .pmeta{color:#B5A893}
html.dk20 body:not(.staff):not(#k21) main.shop .pcard .padd{background:var(--k-gold)!important;color:var(--k-char)!important}
html.dk20 body:not(.staff):not(#k21) main.shop .pcard .pimg{background:#231E1B}

/* filter chips */
body:not(.staff):not(#k21) main.shop #all .chips{gap:8px;padding-bottom:4px}
body:not(.staff):not(#k21) main.shop #all .chip{border-radius:999px;border:1px solid var(--k-line)!important;background:#fff!important;color:var(--k-char)!important;font-weight:600;font-size:13px;padding:8px 15px;min-height:36px}
body:not(.staff):not(#k21) main.shop #all .chip[aria-pressed="true"]{background:var(--k-char)!important;color:var(--k-cream)!important;border-color:var(--k-char)!important;box-shadow:inset 0 -2px 0 var(--k-gold)}
html.dk20 body:not(.staff):not(#k21) main.shop #all .chip{background:#211C19!important;border-color:#3A322C!important;color:var(--k-cream)!important}
html.dk20 body:not(.staff):not(#k21) main.shop #all .chip[aria-pressed="true"]{background:var(--k-gold)!important;color:var(--k-char)!important;border-color:var(--k-gold)!important;box-shadow:none}

/* search */
body:not(.staff):not(#k21) .srch2421{display:flex;align-items:center;gap:10px;margin:12px 0 14px;padding:0 14px;height:46px;border:1px solid var(--k-line);border-radius:12px;background:#fff}
body:not(.staff):not(#k21) .srch2421:focus-within{border-color:var(--k-char);box-shadow:0 0 0 3px rgba(232,163,61,.25)}
body:not(.staff):not(#k21) .srch2421 svg{width:18px;height:18px;fill:none;stroke:var(--k-mut);stroke-width:2;stroke-linecap:round;flex:none}
body:not(.staff):not(#k21) .srch2421 input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;font:500 15px "Inter",system-ui,sans-serif;color:var(--k-char);padding:0!important;height:100%;box-shadow:none!important}
html.dk20 body:not(.staff):not(#k21) .srch2421{background:#1D1916;border-color:#3A322C}
html.dk20 body:not(.staff):not(#k21) .srch2421 input{color:var(--k-cream)}

/* ---------- empty states ---------- */
body:not(.staff):not(#k21) :is(.empty,.empty23,.empty21){display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:34px 22px!important;margin:16px 0;border:1px dashed #D9CFBF;border-radius:16px;background:var(--k-bg2)!important;color:var(--k-mut)}
body:not(.staff):not(#k21) :is(.empty,.empty21) b,body:not(.staff):not(#k21) .empty :is(h2,h3,.h2,.h3){font-family:"Oswald",sans-serif;font-weight:500;font-size:18px;letter-spacing:.02em;color:var(--k-char)}
body:not(.staff):not(#k21) :is(.empty,.empty21)::before{content:"";width:44px;height:2px;background:var(--k-gold);margin-bottom:6px}
body:not(.staff):not(#k21) .empty21 .btn{margin-top:6px}
html.dk20 body:not(.staff):not(#k21) :is(.empty,.empty23,.empty21){background:#1D1916!important;border-color:#3A322C;color:#B5A893}
html.dk20 body:not(.staff):not(#k21) :is(.empty,.empty21) b,html.dk20 body:not(.staff):not(#k21) .empty :is(h2,h3,.h2,.h3){color:var(--k-cream)}

/* ---------- Gifts page ---------- */
body:not(.staff):not(#k21) .gfh2421{margin:0 -16px 22px;padding:30px 20px 24px;background:var(--k-char);color:var(--k-cream);border-bottom:2px solid var(--k-gold)}
body:not(.staff):not(#k21) .gfh2421 .eyebrow{color:var(--k-gold)!important;margin:0 0 6px}
body:not(.staff):not(#k21) .gfh2421 h1{font-family:"Oswald",sans-serif!important;font-weight:500;font-size:28px;line-height:1.12;letter-spacing:.01em;text-transform:none;margin:0 0 8px;color:var(--k-cream)!important}
body:not(.staff):not(#k21) .gfh2421 p:not(.eyebrow){color:#CDBFAA!important;margin:0 0 14px;font-size:14.5px}
body:not(.staff):not(#k21) .gfl2421{display:flex;gap:10px;flex-wrap:wrap}
body:not(.staff):not(#k21) .gfh2421 .btn.glass{background:transparent!important;border:1px solid rgba(243,233,215,.45)!important;color:var(--k-cream)!important}
body:not(.staff):not(#k21) main.wrap .gc{border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(26,22,20,.18);border:1px solid rgba(232,163,61,.5)}
body:not(.staff):not(#k21) main.wrap>.card{border-radius:16px;border:1px solid var(--k-line);box-shadow:none;padding:18px}
html.dk20 body:not(.staff):not(#k21) main.wrap>.card{border-color:#332B26}

/* ---------- Jerky Club ---------- */
body:not(.staff):not(#k21) .clubopts{gap:12px}
body:not(.staff):not(#k21) .clubopts .copt{border-radius:14px;padding:16px 14px;text-align:left}
body:not(.staff):not(#k21) .clubopts .copt b{font-family:"Oswald",sans-serif;font-weight:500;font-size:20px;letter-spacing:.02em}
body:not(.staff):not(#k21) .clubopts .copt[aria-pressed="true"],body:not(.staff):not(#k21) .clubopts .copt.on{box-shadow:inset 0 0 0 2px var(--k-gold)}
body:not(.staff):not(#k21) main.shop p.lbl{font-family:"Oswald",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-top:22px}
body:not(.staff):not(#k21) .clubperks{border-top:1px solid var(--k-line);padding-top:14px;margin-top:20px}
html.dk20 body:not(.staff):not(#k21) .clubperks{border-color:#332B26}

/* ---------- Kashrus ---------- */
body:not(.staff):not(#k21) .kscert{border-radius:16px;border:1px solid var(--k-line);padding:18px;gap:16px;background:#fff}
body:not(.staff):not(#k21) .kslist>div{border-radius:12px;padding:14px 14px 14px 16px;border-left:3px solid var(--k-gold)}
html.dk20 body:not(.staff):not(#k21) .kscert{background:#1D1916;border-color:#332B26}
html.dk20 body:not(.staff):not(#k21) .kscert .muted{color:#B5A893!important}

/* ---------- sign-in ---------- */
body:not(.staff):not(#k21) main.auth .authcard{border-radius:18px;border:1px solid var(--k-line);box-shadow:0 12px 34px rgba(26,22,20,.08);padding:26px 20px;border-top:3px solid var(--k-gold)}
body:not(.staff):not(#k21) main.auth .authcard h1.disp{font-family:"Oswald",sans-serif!important;font-weight:500;font-size:28px;letter-spacing:.01em;line-height:1.1}
body:not(.staff):not(#k21) main.auth .authcard .lead{font-size:15px;color:var(--k-mut)}
body:not(.staff):not(#k21) main.auth input#aph{height:50px;font-size:17px;border-radius:12px}
body:not(.staff):not(#k21) main.auth .assure{text-align:center;font-size:12.5px;color:var(--k-mut);margin-top:14px}
html.dk20 body:not(.staff):not(#k21) main.auth .authcard{background:#1D1916;border-color:#332B26;border-top-color:var(--k-gold);box-shadow:none}
html.dk20 body:not(.staff):not(#k21) main.auth .authcard .lead{color:#B5A893}

/* ---------- dark mode review: warmer surfaces, no muddy greys ---------- */
html.dk20 body:not(.staff):not(#k21) main.shop .pcard{background:transparent}
html.dk20 body:not(.staff):not(#k21) :is(.muted,.fine,.small.muted){color:#B5A893}
html.dk20 body:not(.staff):not(#k21) .kslist>div{background:#1D1916}

/* ---------- desktop header links ---------- */
body:not(.staff):not(#k21) .dnav2421{display:none}
@media (min-width:1024px){
 body:not(.staff):not(#k21) .dnav2421{display:flex;align-items:center;gap:4px;margin:0 auto 0 28px}
 body:not(.staff):not(#k21) .dnav2421 button{background:none;border:0;color:var(--k-cream);font:500 14px "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.09em;padding:10px 12px;cursor:pointer;opacity:.86;border-bottom:2px solid transparent}
 body:not(.staff):not(#k21) .dnav2421 button:hover{opacity:1}
 body:not(.staff):not(#k21) .dnav2421 button.on{opacity:1;border-bottom-color:var(--k-gold)}
 body:not(.staff):not(#k21) header.top .sp{flex:0 0 0!important}
 body:not(.staff):not(#k21) nav.tabs{display:none!important}
 body:not(.staff):not(#k21){padding-bottom:0!important}
 body:not(.staff):not(#k21) header.top{padding-left:max(24px,calc((100vw - 1200px)/2))!important;padding-right:max(24px,calc((100vw - 1200px)/2))!important}

 /* home: content in a 1200 px column, rails become grids */
 body:not(.staff):not(#k21) main.shop{max-width:none!important}
 body:not(.staff):not(#k21) main.shop>:is(.sec,.shwrap,.obw2421,.story){max-width:1200px;margin-left:auto!important;margin-right:auto!important;padding-left:24px;padding-right:24px;box-sizing:border-box}
 body:not(.staff):not(#k21) main.shop>section.trust{max-width:1152px;margin:48px auto 0!important;padding:26px 10px!important}
 body:not(.staff):not(#k21) main.shop>section.trust b{font-size:15px!important}
 body:not(.staff):not(#k21) main.shop>section.trust span{font-size:13px!important}
 body:not(.staff):not(#k21) main.shop>.sec{margin-top:56px}
 body:not(.staff):not(#k21) main.shop section.hero{min-height:520px}
 body:not(.staff):not(#k21) main.shop section.hero .heroin{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box;left:0;right:0}
 body:not(.staff):not(#k21) main.shop section.hero h1.disp{font-size:56px;max-width:720px}
 body:not(.staff):not(#k21) main.shop .rail{display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px;overflow:visible!important;scroll-snap-type:none;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
 body:not(.staff):not(#k21) main.shop .rail>*{width:auto!important;min-width:0!important;max-width:none!important;flex:none!important}
 body:not(.staff):not(#k21) main.shop .rail.crail{grid-template-columns:repeat(4,minmax(0,1fr))}
 body:not(.staff):not(#k21) main.shop .rail:has(>.pcard.big){grid-template-columns:repeat(5,minmax(0,1fr))}
 body:not(.staff):not(#k21) main.shop .rail:has(>.pcard.big) .pimg{aspect-ratio:1/1}
 body:not(.staff):not(#k21) main.shop .rail.crail .ctile{aspect-ratio:4/3;height:auto!important}
 body:not(.staff):not(#k21) main.shop .pgrid2{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:36px 24px!important}
 body:not(.staff):not(#k21) main.shop #all{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:24px;align-items:center}
 body:not(.staff):not(#k21) main.shop #all>.sechead{grid-column:1}
 body:not(.staff):not(#k21) main.shop #all>.srch2421{grid-column:2;grid-row:1;margin:0}
 body:not(.staff):not(#k21) main.shop #all>:not(.sechead):not(.srch2421){grid-column:1/-1}
 body:not(.staff):not(#k21) main.shop .platban{min-height:340px}
 body:not(.staff):not(#k21) main.shop button.bcard{min-height:220px}
 body:not(.staff):not(#k21) main.shop button.bcard .bctext{padding:32px}
 body:not(.staff):not(#k21) main.shop>.obw2421{padding-top:18px}
 body:not(.staff):not(#k21) main.shop>section.story{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;max-width:1152px;margin:64px auto 0!important;padding:0!important;border-radius:20px;overflow:hidden}
 body:not(.staff):not(#k21) main.shop>section.story>img{height:100%;min-height:440px;width:100%;object-fit:cover;border-radius:0;margin:0}
 body:not(.staff):not(#k21) main.shop>section.story>div{padding:48px 44px;align-self:center}
 body:not(.staff):not(#k21) footer.sfoot{padding-bottom:48px!important;margin-bottom:0!important;padding-left:max(24px,calc((100vw - 1200px)/2))!important;padding-right:max(24px,calc((100vw - 1200px)/2))!important}
 /* other customer pages: a calm centred column */
 body:not(.staff):not(#k21) main.wrap{max-width:760px;margin-left:auto;margin-right:auto}
 body:not(.staff):not(#k21) main.auth{max-width:520px}
 body:not(.staff):not(#k21) .gfh2421{margin:0 0 24px;border-radius:18px;padding:36px 32px}
 body:not(.staff):not(#k21) main.shop>.sec.kscertsec,body:not(.staff):not(#k21) main.shop>.sec{max-width:1200px}
 body:not(.staff):not(#k21) main.shop .clubopts{grid-template-columns:repeat(2,minmax(0,280px))}
}
@media (min-width:1280px){
 body:not(.staff):not(#k21) main.shop .pgrid2{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
