/* =========================================================================
   KOSE — Homepage styles (both directions) v1
   ========================================================================= */

/* direction switcher */
.dirswitch{position:fixed;left:20px;bottom:20px;z-index:55;display:flex;align-items:center;gap:10px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 8px 7px 16px;
  box-shadow:var(--sh-3)}
.dirswitch__lbl{font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.02em}
.dirswitch__seg{display:flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px}
.dirswitch__seg button{height:32px;padding:0 14px;border-radius:var(--r-pill);font-size:13px;font-weight:700;color:var(--ink-3)}
.dirswitch__seg button.on{background:var(--ink);color:var(--canvas)}
@media(max-width:880px){ .dirswitch{left:10px;right:10px;bottom:90px;justify-content:space-between} }

/* ============ HERO — direction A (editorial) ============ */
.heroA{padding:34px 0 8px}
.heroA__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.heroA__eye{margin-bottom:18px}
.heroA h1{font-size:clamp(38px,5.6vw,68px);font-weight:900;letter-spacing:-.04em;line-height:.96}
.heroA h1 em{font-style:normal;color:var(--brand-ink);position:relative}
.heroA h1 .u{background:linear-gradient(transparent 62%, var(--brand-soft-2) 62%)}
.heroA__sub{font-size:clamp(16px,2vw,19px);color:var(--ink-2);margin:22px 0 26px;max-width:480px;line-height:1.55}
.heroA__cta{display:flex;gap:12px;flex-wrap:wrap}
.heroA__chips{display:flex;gap:18px;margin-top:26px;flex-wrap:wrap}
.heroA__chip{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.heroA__chip svg{width:18px;height:18px;color:var(--brand-ink)}

.heroA__art{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,1fr);gap:14px;aspect-ratio:1/.96}
.heroA__tile{border-radius:var(--r-lg);overflow:hidden;position:relative;box-shadow:var(--sh-2)}
.heroA__tile:nth-child(1){grid-row:span 2}
.heroA__tile .ph__glyph svg{width:30%;height:30%}
.heroA__float{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--sh-3);padding:13px 15px;display:flex;align-items:center;gap:11px}
.heroA__float--courier{left:-18px;bottom:46px}
.heroA__float--store{right:-14px;top:24px}
.heroA__float .ic{width:40px;height:40px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;flex-shrink:0}
.heroA__float .ic svg{width:21px;height:21px}
.heroA__float b{font-size:14px;display:block}
.heroA__float small{font-size:12px;color:var(--ink-3)}
.heroA__float .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);animation:livePulse 1.6s infinite}
@keyframes livePulse{50%{box-shadow:0 0 0 7px transparent}}

@media(max-width:920px){
  .heroA__grid{grid-template-columns:1fr;gap:30px}
  .heroA__art{max-width:520px}
  .heroA__float--courier{left:6px}
  .heroA__float--store{right:6px}
}
@media(max-width:560px){
  .heroA{padding:18px 0 4px}
  .heroA__float--courier{left:0;bottom:10px;padding:10px 12px}
  .heroA__float--store{display:none}
  .heroA__cta .btn{flex:1}
}

/* same-day countdown bar */
.sdbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:var(--r-lg);
  padding:18px 24px;margin:14px 0}
.sdbar__ic{width:46px;height:46px;border-radius:var(--r-pill);background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--brand);flex-shrink:0}
.sdbar__ic svg{width:24px;height:24px}
.sdbar b{font-family:var(--font-display);font-size:18px}
.sdbar__time{display:flex;gap:6px;margin-left:auto}
.sdbar__time .seg{background:rgba(255,255,255,.14);border-radius:10px;padding:7px 11px;font-family:var(--font-display);
  font-weight:800;font-size:19px;min-width:46px;text-align:center}
.sdbar__time small{display:block;font-size:10px;opacity:.7;font-weight:600;font-family:var(--font)}
@media(max-width:560px){ .sdbar{padding:14px 16px} .sdbar__time{margin-left:0;width:100%} .sdbar__time .seg{flex:1} }

/* category tiles */
.cats{display:grid;grid-template-columns:repeat(10,1fr);gap:12px}
.cattile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line);transition:.16s;text-align:center}
.cattile:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:transparent}
.cattile__ic{width:54px;height:54px;border-radius:var(--r-pill);display:grid;place-items:center}
.cattile__ic svg{width:26px;height:26px}
.cattile span{font-size:12.5px;font-weight:700;color:var(--ink-2)}
@media(max-width:880px){ .cats{grid-template-columns:repeat(5,1fr)} }
@media(max-width:480px){ .cats{grid-template-columns:repeat(4,1fr);gap:9px} .cattile__ic{width:46px;height:46px} }

/* promo band */
.promos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.promo{position:relative;border-radius:var(--r-lg);overflow:hidden;padding:28px;min-height:200px;display:flex;
  flex-direction:column;justify-content:flex-end;color:#fff;isolation:isolate}
.promo__bg{position:absolute;inset:0;z-index:-1}
.promo h3{color:#fff;font-size:24px;letter-spacing:-.02em}
.promo p{font-size:14px;opacity:.92;margin:6px 0 14px;max-width:240px}
.promo .btn{align-self:flex-start;background:#fff;color:var(--ink);border-color:#fff}
.promo--tall{min-height:300px}
@media(max-width:880px){ .promos{grid-template-columns:1fr} }

/* store strip */
.stores{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.storecard{display:flex;gap:13px;align-items:center;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);padding:14px;transition:.16s}
.storecard:hover{box-shadow:var(--sh-2);transform:translateY(-3px);border-color:transparent}
.storecard__logo{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-display);
  font-weight:800;font-size:20px;color:#fff;flex-shrink:0}
.storecard b{font-size:14.5px;display:flex;align-items:center;gap:5px}
.storecard small{font-size:12.5px;color:var(--ink-3)}
@media(max-width:880px){ .stores{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .stores{grid-template-columns:1fr} }

/* group buy */
.groupbuy{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(135deg,#0B7D38,#14A44A);color:#fff}
.groupbuy__l{padding:44px}
.groupbuy__l h2{color:#fff;font-size:clamp(26px,3.4vw,38px)}
.groupbuy__l p{opacity:.92;margin:14px 0 22px;max-width:380px;font-size:15.5px}
.groupbuy__stat{display:flex;gap:28px;margin-top:24px}
.groupbuy__stat b{font-family:var(--font-display);font-size:28px;display:block}
.groupbuy__stat small{opacity:.85;font-size:12.5px}
.groupbuy__r{position:relative;padding:30px;display:grid;place-items:center}
.gbcard{background:var(--surface);color:var(--ink);border-radius:var(--r-lg);padding:18px;width:100%;max-width:320px;box-shadow:var(--sh-3)}
.gbcard__media{aspect-ratio:16/10;border-radius:var(--r-md);overflow:hidden;margin-bottom:14px}
.gbprog{height:9px;border-radius:99px;background:var(--line);overflow:hidden;margin:10px 0 7px}
.gbprog>span{display:block;height:100%;background:var(--brand);border-radius:99px}
.gbavatars{display:flex;margin-top:12px}
.gbavatars span{width:30px;height:30px;border-radius:50%;border:2px solid var(--surface);margin-left:-8px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff}
@media(max-width:880px){ .groupbuy{grid-template-columns:1fr} .groupbuy__l{padding:30px} }

/* value props */
.vprops{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vprop{display:flex;gap:13px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.vprop__ic{width:44px;height:44px;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;flex-shrink:0}
.vprop__ic svg{width:23px;height:23px}
.vprop b{font-size:14.5px}
.vprop small{font-size:12.5px;color:var(--ink-3);line-height:1.45;display:block;margin-top:3px}
@media(max-width:880px){ .vprops{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .vprops{grid-template-columns:1fr} }

/* ============ DIRECTION B — efficient grid ============ */
.heroB{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:20px}
.heroB__main{grid-column:span 2;grid-row:span 2;position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(135deg,#0C140F,#1c2b20);color:#fff;padding:36px;display:flex;flex-direction:column;justify-content:center;min-height:360px}
.heroB__main h1{color:#fff;font-size:clamp(28px,3.6vw,46px);max-width:420px}
.heroB__main p{opacity:.9;margin:14px 0 22px;max-width:360px;font-size:15.5px}
.heroB__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column}
.heroB__card h4{font-size:16px;margin-bottom:12px}
.heroB__card .mini{display:grid;grid-template-columns:1fr 1fr;gap:9px;flex:1}
.heroB__minit{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:1}
.heroB__card a.more{margin-top:12px;font-size:13px;font-weight:700;color:var(--brand-ink)}
@media(max-width:980px){ .heroB{grid-template-columns:1fr 1fr} .heroB__main{grid-column:span 2} }
@media(max-width:560px){ .heroB{grid-template-columns:1fr} .heroB__main{grid-column:span 1;min-height:280px;padding:26px} }

.dealhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.dealhead h2{font-size:24px}
.dealhead .mini-count{display:flex;gap:5px}
.dealhead .mini-count .seg{background:var(--ink);color:#fff;border-radius:8px;padding:5px 8px;font-family:var(--font-display);font-weight:800;font-size:14px;min-width:34px;text-align:center}

.bcatrow{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.bcat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:.16s}
.bcat:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.bcat__media{aspect-ratio:4/3;position:relative}
.bcat__t{padding:11px 13px;font-weight:700;font-size:13.5px}
@media(max-width:880px){ .bcatrow{grid-template-columns:repeat(3,1fr)} }
@media(max-width:480px){ .bcatrow{grid-template-columns:repeat(2,1fr)} }
