:root{
  --cream:#fbf5eb;
  --cream-2:#fffaf2;
  --milk:#f7ead8;
  --paper:#fffdf8;
  --ink:#231a16;
  --muted:#746760;
  --line:#e7d3bd;
  --brand:#8f2b21;
  --brand-2:#b9552d;
  --caramel:#d4873f;
  --caramel-2:#bf6d2e;
  --tea:#6c3923;
  --shadow:0 24px 70px rgba(88,45,22,.13);
  --soft-shadow:0 14px 36px rgba(92,48,24,.10);
  --radius:28px;
  --container:min(1360px, calc(100% - 72px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif;
  background:
    radial-gradient(circle at 8% 26%, rgba(242,190,115,.22) 0 15%, transparent 16%),
    linear-gradient(180deg,var(--cream-2),var(--cream));
  line-height:1.65;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:20px;top:20px;width:auto;height:auto;z-index:99;background:#fff;padding:10px 14px;border-radius:12px}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,250,242,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(231,211,189,.7);
}
.nav-wrap{
  width:var(--container);margin:0 auto;
  height:72px;display:flex;align-items:center;gap:24px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-logo{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#fff;box-shadow:0 6px 18px rgba(112,44,25,.13)}
.brand-title{font-size:22px;font-weight:900;letter-spacing:.02em;line-height:1.05;display:block;white-space:nowrap}
.brand-subtitle{font-size:13px;color:var(--muted);letter-spacing:.16em;margin-top:4px}
.nav-toggle{display:none;margin-left:auto;border:0;background:var(--brand);color:#fff;border-radius:14px;padding:10px 13px;font-weight:800}
.nav{margin-left:auto;display:flex;align-items:center;gap:40px;font-weight:800;letter-spacing:.08em}
.nav a{position:relative;color:#2c211d;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:50%;bottom:-14px;width:0;height:3px;background:var(--brand);border-radius:99px;transform:translateX(-50%);transition:.2s ease}
.nav a:hover::after,.nav a.active::after{width:40px}
.cart-btn{display:inline-flex!important;align-items:center;gap:10px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff!important;border-radius:14px;padding:10px 20px;box-shadow:0 14px 26px rgba(143,43,33,.18)}
.cart-btn::after{display:none}.cart-count{font-weight:900}
.hero{position:relative;padding:72px 0 40px}
.hero::after{
  content:"";position:absolute;right:-170px;top:0;width:520px;height:520px;border-radius:50%;
  background:rgba(129,143,122,.18);z-index:-1;
}
.hero-grid{width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr 1.08fr;gap:58px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;border:1px solid #e9c69a;background:rgba(255,252,246,.72);border-radius:999px;padding:10px 20px;color:#a6522d;font-weight:900;letter-spacing:.13em;margin-bottom:28px}
.eyebrow svg{width:22px;height:22px;stroke:currentColor}
.hero-title{margin:0;font-size:clamp(44px,5.2vw,86px);line-height:1.02;letter-spacing:-.05em;font-weight:950;white-space:nowrap}
.hero-subtitle{font-size:clamp(24px,2.2vw,42px);line-height:1.18;color:#b06a37;font-weight:900;margin:18px 0 22px;letter-spacing:-.02em}
.hero-copy{max-width:640px;color:#5c504a;font-size:18px;letter-spacing:.02em;border-left:26px solid #c88b5a;padding-left:16px;margin:0 0 28px}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:58px;border-radius:15px;padding:0 30px;font-weight:900;letter-spacing:.08em;border:1px solid #d8b994;background:#fffaf3;transition:.18s ease;box-shadow:0 9px 18px rgba(95,51,27,.05)}
.btn svg{width:22px;height:22px;stroke:currentColor}.btn:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(95,51,27,.12)}
.btn-primary{background:linear-gradient(135deg,#d8893a,#b75d2f);color:#fff;border-color:transparent;box-shadow:0 18px 34px rgba(187,92,45,.23)}
.hero-media{position:relative}
.photo-card{position:relative;overflow:hidden;border-radius:54px;box-shadow:var(--shadow);background:var(--milk);border:1px solid rgba(255,255,255,.62)}
.photo-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover;object-position:center}
.photo-note{position:absolute;right:7.5%;top:11%;color:#fff7ec;font-family:"DFKai-SB","BiauKai","Kaiti TC",serif;font-size:clamp(18px,2vw,31px);font-weight:700;letter-spacing:.08em;text-shadow:0 3px 16px rgba(0,0,0,.22);transform:rotate(-4deg)}
.photo-note::after{content:"";display:block;width:210px;height:50px;border-bottom:3px solid rgba(255,250,242,.85);border-radius:50%;margin-top:-4px;transform:rotate(-9deg)}
.feature-row{width:var(--container);margin:46px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-card{background:rgba(255,253,248,.78);border:1px solid rgba(226,205,180,.85);border-radius:22px;box-shadow:0 10px 30px rgba(95,51,27,.05)}
.feature-row-photo{gap:26px;align-items:stretch}
.feature-photo-card{
  position:relative;
  overflow:hidden;
  min-height:235px;
  border-radius:26px;
  border:1px solid rgba(215,189,158,.96);
  box-shadow:0 18px 46px rgba(92,48,24,.10);
  background:#f8efe3;
  isolation:isolate;
}
.feature-photo-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .5s ease;
}
.feature-photo-card:hover img{transform:scale(1.04)}
.feature-photo-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(255,249,240,.96) 0%, rgba(255,249,240,.93) 38%, rgba(255,249,240,.72) 56%, rgba(255,249,240,.22) 78%, rgba(255,249,240,.10) 100%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(92,48,24,.10));
}
.feature-photo-content{
  position:relative;
  z-index:2;
  min-height:235px;
  width:52%;
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#552d18;
}
.feature-photo-content h2{
  margin:0;
  font-size:clamp(22px,1.8vw,34px);
  font-weight:950;
  line-height:1.12;
  letter-spacing:-.03em;
}
.feature-photo-content h2::after{
  content:"";
  display:block;
  width:42px;
  height:3px;
  border-radius:999px;
  margin:12px 0 14px;
  background:#af6231;
}
.feature-photo-content p{
  margin:0;
  color:#5d432f;
  font-size:clamp(14px,1vw,17px);
  line-height:1.65;
  font-weight:600;
}
.section{padding:84px 0}.section-inner{width:var(--container);margin:0 auto}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:32px}.kicker{margin:0 0 10px;color:#af6231;font-weight:900;letter-spacing:.16em}.section-title{font-size:clamp(34px,4vw,58px);line-height:1.05;margin:0;font-weight:950;letter-spacing:-.04em}.section-desc{max-width:560px;color:var(--muted);font-size:17px;margin:0}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{background:rgba(255,253,248,.86);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--soft-shadow)}
.footer-redesign{background:#2a1c17;color:#f6e7d7;margin-top:72px;padding:56px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr .75fr .95fr;gap:26px;align-items:start}
.footer-brand-card,.footer-links-col,.footer-store-col{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:24px}
.footer-brand-card{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:center}
.footer-logo{width:86px;height:86px;border-radius:24px;object-fit:cover;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.footer-brand-card h2,.footer-links-col h3,.footer-store-col h3{margin:0 0 10px}
.footer-brand-card p,.footer-links-col p,.footer-store-col p{margin:0;color:#d8c3b3}
.footer-links-col a{line-height:2}
.footer-contact-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.footer-contact-list li{display:grid;grid-template-columns:54px 1fr;gap:10px;color:#e9d9ca}
.footer-contact-list strong{color:#fff}
.footer-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.store-page .section-inner{display:grid;gap:24px}
.store-hero-card{padding:30px 32px;background:linear-gradient(135deg, rgba(255,252,246,.95), rgba(247,234,216,.92))}
.store-hero-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}
.store-hero-brand{display:flex;align-items:center;gap:18px}
.store-hero-logo{width:82px;height:82px;border-radius:24px;object-fit:cover;background:#fff;box-shadow:0 12px 30px rgba(112,44,25,.14)}
.store-action-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.store-info-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.store-card-main,.store-card-side,.store-map-panel{padding:28px}
.store-card-title-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}
.store-status{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff4e6;border:1px solid #efd0ab;color:#9b552e;font-weight:800;font-size:14px}
.store-info-list .info-row{grid-template-columns:90px 1fr;padding:16px 0}
.store-card-side{display:grid;gap:18px}
.store-side-block h3{margin:0 0 8px;font-size:22px}
.store-side-block p{margin:0;color:#655951}
.store-tags{display:flex;flex-wrap:wrap;gap:10px}
.store-tags span{display:inline-flex;padding:10px 14px;border-radius:999px;background:#fff6eb;border:1px solid #dfc5a8;color:#8f2b21;font-weight:800}
.store-map-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:stretch}
.store-map-text h2{margin:0 0 10px;font-size:34px}
.store-map-box{min-height:300px}
.product-top{display:flex;justify-content:space-between;gap:18px}.product-card h3{font-size:23px;margin:0 0 8px}.tag{display:inline-flex;border:1px solid #dfc5a8;color:#9b552e;background:#fff6eb;border-radius:999px;padding:4px 12px;font-weight:800;font-size:12px;white-space:nowrap}.price{font-size:26px;font-weight:950;color:#9b3326;margin:18px 0 0}.product-card p{color:#6a5d55;margin:0}.order-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}.panel{background:rgba(255,253,248,.88);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--soft-shadow)}.category-list{display:grid;gap:10px}.category-list a{padding:12px 14px;border-radius:14px;color:#5c504a;font-weight:800}.category-list a:hover,.category-list a.active{background:#f6e6d2;color:#8f2b21}.cart-panel{position:sticky;top:112px}.cart-line{display:flex;justify-content:space-between;border-bottom:1px dashed #dfc7ad;padding:12px 0;color:#5f514a}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:22px;font-weight:950;margin-top:16px}.quantity{display:flex;align-items:center;gap:10px;margin-top:16px}.qty-btn{width:34px;height:34px;border-radius:11px;border:1px solid #d8b994;background:#fff8ef;color:#8f2b21;font-weight:900;cursor:pointer}.footer{background:#2a1c17;color:#f6e7d7;margin-top:72px;padding:54px 0}.footer-inner{width:var(--container);margin:0 auto;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:28px}.footer a{color:#f6e7d7}.footer p{color:#d8c3b3}.mini-logo{width:52px;height:52px;border-radius:14px;margin-bottom:12px}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-list{display:grid;gap:12px}.info-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:14px 0;border-bottom:1px dashed #dfc7ad}.info-row strong{color:#7c3e25}.map-box{min-height:320px;border-radius:24px;background:linear-gradient(135deg,#f2dfc5,#c77735);display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900;box-shadow:var(--soft-shadow)}
@media (max-width:1100px){:root{--container:min(100% - 44px, 920px)}.nav{gap:22px}.hero-grid{grid-template-columns:1fr;gap:42px}.hero-media{order:-1}.photo-card{border-radius:38px}.feature-row,.product-grid{grid-template-columns:1fr 1fr}.feature-photo-card:first-child{grid-column:1/-1}.order-layout,.store-grid,.store-info-layout,.store-map-panel{grid-template-columns:1fr}.store-hero-head{display:block}.store-hero-head .section-desc{margin-top:14px}.cart-panel{position:relative;top:auto}.footer-inner,.footer-grid{grid-template-columns:1fr 1fr}.footer-brand-card{grid-column:1/-1}}
@media (max-width:760px){:root{--container:calc(100% - 28px)}.nav-wrap{height:76px}.brand{min-width:0}.brand-title{font-size:20px}.brand-subtitle{display:none}.brand-logo{width:48px;height:48px}.nav-toggle{display:block}.nav{position:fixed;top:76px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;gap:4px;background:#fffaf2;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:13px 14px}.nav a::after{display:none}.cart-btn{justify-content:center}.hero{padding:34px 0}.hero-grid{gap:28px}.hero-title{font-size:clamp(38px,10vw,54px);white-space:nowrap}.hero-subtitle{font-size:28px}.hero-copy{font-size:16px;border-left:20px solid #c88b5a}.hero-actions .btn,.store-action-row .btn{width:100%}.photo-card{border-radius:26px}.photo-card img{aspect-ratio:1.18/1;object-position:center}.feature-row,.product-grid{grid-template-columns:1fr}.feature-photo-card:first-child{grid-column:auto}.feature-photo-card,.feature-photo-content{min-height:220px}.feature-photo-content{width:70%;padding:22px}.feature-photo-card::before{background:linear-gradient(90deg, rgba(255,249,240,.97) 0%, rgba(255,249,240,.93) 50%, rgba(255,249,240,.55) 78%, rgba(255,249,240,.18) 100%)}.section{padding:58px 0}.section-head{display:block}.footer-inner,.footer-grid{grid-template-columns:1fr}.footer-brand-card{grid-template-columns:68px 1fr;padding:20px}.footer-logo{width:68px;height:68px;border-radius:18px}.photo-note{display:none}.info-row,.store-info-list .info-row,.footer-contact-list li{grid-template-columns:1fr;gap:4px}.store-hero-card,.store-card-main,.store-card-side,.store-map-panel{padding:22px}.store-card-title-row{display:block}.store-status{margin-top:10px}}

@media (max-width:420px){
  .feature-photo-card,.feature-photo-content{min-height:200px}
  .feature-photo-content{width:76%;padding:18px}
  .feature-photo-content h2{font-size:24px}
  .feature-photo-content p{font-size:14px;line-height:1.55}
}

/* v6 footer / header / store refinements */
.footer-official{gap:24px}
.footer-nav{display:grid;gap:10px}
.footer-nav a{color:#f6e7d7;opacity:.92}
.footer-nav a:hover{opacity:1;text-decoration:underline}
.footer-keywords,.keyword-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.footer-keywords span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);color:#fff;font-weight:900}
.footer-contact-list a{color:#fff;text-decoration:none}
.footer-bottom{width:var(--container);margin:26px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#d8c3b3;font-size:14px}
.store-map-box{background:linear-gradient(135deg,rgba(80,49,31,.85),rgba(196,112,50,.76)),url('../images/feature-ratio.jpg');background-size:cover;background-position:center}
.store-map-box > div{display:grid;gap:8px;text-align:center;padding:28px}
.store-map-box strong{font-size:30px}
.store-map-box span{font-size:16px;line-height:1.6}
.store-info-list a{color:#8f2b21;font-weight:900}
@media (max-width:760px){
  .nav-wrap{height:68px}
  .nav{top:68px}
  .brand-logo{width:38px;height:38px;border-radius:11px}
  .brand-title{font-size:18px}
  .footer-bottom{display:grid;gap:8px;text-align:center}
}
@media (max-width:420px){
  .brand-title{font-size:16px}
}


/* v7 footer redesign */
.footer-v2{
  background:linear-gradient(180deg,#fff8ef 0%, #f5e7d6 100%);
  color:#3a2419;
  border-top:1px solid #e4ccb0;
  margin-top:72px;
  padding:0;
}
.footer-shell{width:var(--container);margin:0 auto;padding:50px 0 22px}
.footer-topline{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:38px;align-items:start}
.footer-brand-block,.footer-menu-block,.footer-store-block{min-width:0}
.footer-brand-block{padding-right:34px;border-right:1px solid #ead5bd}
.footer-menu-block{padding:0 8px}
.footer-store-block{padding-left:26px;border-left:1px solid #ead5bd}
.footer-brand-head{display:grid;grid-template-columns:78px 1fr;gap:18px;align-items:center}
.footer-v2 .footer-logo{width:78px;height:78px;border-radius:22px;object-fit:cover;background:#fff;box-shadow:0 10px 24px rgba(112,44,25,.12)}
.footer-v2 h2,.footer-v2 h3{margin:0 0 12px;color:#3a2419}
.footer-v2 h2{font-size:36px;letter-spacing:-.03em}
.footer-v2 h3{font-size:24px;letter-spacing:-.02em}
.footer-v2 p{margin:0;color:#6a574c;line-height:1.85}
.footer-v2 .footer-nav{display:grid;gap:14px}
.footer-v2 .footer-nav a{display:inline-flex;align-items:center;font-weight:800;color:#5a4030}
.footer-v2 .footer-nav a::before{content:"";width:10px;height:10px;border-radius:50%;background:#c78545;margin-right:10px;box-shadow:0 0 0 4px rgba(199,133,69,.15)}
.footer-v2 .footer-nav a:hover{color:#8f2b21}
.footer-v2 .footer-contact-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}
.footer-v2 .footer-contact-list li{display:grid;grid-template-columns:54px 1fr;gap:10px;color:#5e4739}
.footer-v2 .footer-contact-list strong{color:#3a2419}
.footer-v2 .footer-contact-list a{color:#8f2b21;font-weight:900}
.footer-v2 .footer-keywords{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.footer-v2 .footer-keywords span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #ddc2a6;color:#7b4c2d;font-weight:900;box-shadow:0 6px 14px rgba(112,44,25,.06)}
.footer-chip-solid{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,#d8893a,#b75d2f);color:#fff !important;border:0;box-shadow:0 12px 24px rgba(183,93,47,.18)}
.footer-bottomline{margin-top:34px;padding-top:18px;border-top:1px solid #e4ccb0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#866d5b;font-size:14px}

@media (max-width:1100px){
  .footer-topline{grid-template-columns:1fr 1fr}
  .footer-brand-block{grid-column:1/-1;padding-right:0;padding-bottom:22px;border-right:0;border-bottom:1px solid #ead5bd}
  .footer-menu-block{padding-left:0}
}
@media (max-width:760px){
  .footer-shell{padding:38px 0 18px}
  .footer-topline{grid-template-columns:1fr;gap:26px}
  .footer-brand-block,.footer-menu-block,.footer-store-block{padding:0;border:0}
  .footer-brand-head{grid-template-columns:62px 1fr;gap:14px}
  .footer-v2 .footer-logo{width:62px;height:62px;border-radius:18px}
  .footer-v2 h2{font-size:26px}
  .footer-v2 h3{font-size:20px}
  .footer-v2 .footer-contact-list li{grid-template-columns:1fr;gap:4px}
  .footer-bottomline{display:grid;gap:8px;text-align:center}
}


/* v8 compact footer meta */
.footer-bottomline-compact{
  justify-content:flex-start;
  gap:10px 18px;
  font-size:14px;
}
.footer-bottomline-compact span{
  position:relative;
  color:#7e6958;
  white-space:nowrap;
}
.footer-bottomline-compact span:not(:first-child){
  padding-left:14px;
}
.footer-bottomline-compact span:not(:first-child)::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#c6976a;
  transform:translateY(-50%);
}
@media (max-width:760px){
  .footer-bottomline-compact{
    display:flex;
    justify-content:center;
    gap:8px 14px;
    text-align:center;
  }
  .footer-bottomline-compact span{
    white-space:normal;
  }
}


/* v9 hero slider + FAQ accordion */
.hero-slider{position:relative}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}
.hero-slide.is-active{position:relative;opacity:1;pointer-events:auto}
.hero-slide img{width:100%;aspect-ratio:1.55/1;object-fit:cover;object-position:center}
.slider-dots{display:flex;gap:13px;justify-content:flex-end;margin:22px 9% 0 0}
.slider-dots button{width:12px;height:12px;border-radius:50%;background:#d0bfac;border:0;padding:0;cursor:pointer;transition:transform .2s ease, background .2s ease}
.slider-dots button.is-active{background:#7b441f;transform:scale(1.08)}
.slider-dots button:hover{transform:scale(1.12)}
.faq-list{display:grid;gap:16px}
.faq-item{background:rgba(255,253,248,.82);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 24px rgba(95,51,27,.04);overflow:hidden}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:18px;font-weight:900;cursor:pointer}
.faq-question span:first-child{flex:1}
.faq-icon{position:relative;flex:0 0 18px;width:18px;height:18px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:#9b552e;border-radius:99px;transform:translate(-50%,-50%);transition:transform .25s ease, opacity .25s ease}
.faq-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.is-open .faq-icon::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scaleX(.3)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.faq-answer p{overflow:hidden;margin:0;padding:0 22px 22px;color:#655951;line-height:1.85}
.faq-item.is-open .faq-answer{grid-template-rows:1fr}
@media (max-width:760px){
  .hero-slide img{aspect-ratio:1.18/1}
  .faq-question{padding:18px;font-size:17px}
  .faq-answer p{padding:0 18px 18px}
}


/* v10 smoother hero carousel + cleaner native FAQ */
.hero-slider{
  position:relative;
  overflow:hidden;
  aspect-ratio:1.55/1;
}
.hero-slider .hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateX(22px) scale(1.01);
  pointer-events:none;
  transition:opacity .55s ease, transform .55s ease;
  will-change:opacity, transform;
}
.hero-slider .hero-slide.is-active{
  opacity:1;
  transform:translateX(0) scale(1);
  pointer-events:auto;
  z-index:2;
}
.hero-slider .hero-slide img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}
.slider-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:999px;
  background:rgba(255,250,242,.82);
  color:#7b441f;
  display:grid;
  place-items:center;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(66,34,18,.14);
  transform:translateY(-50%);
  transition:background .2s ease, transform .2s ease, color .2s ease;
}
.slider-arrow:hover{
  background:#fffaf2;
  color:#8f2b21;
  transform:translateY(-50%) scale(1.06);
}
.slider-prev{left:18px}
.slider-next{right:18px}
.slider-dots button{
  width:10px;
  height:10px;
  border-radius:999px;
}
.slider-dots button.is-active{
  width:28px;
  transform:none;
}

.faq-modern{
  display:grid;
  gap:14px;
}
.faq-modern .faq-item{
  border:1px solid #e5cdb2;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,253,248,.94),rgba(250,240,226,.74));
  box-shadow:0 10px 28px rgba(92,48,24,.06);
  overflow:hidden;
}
.faq-modern .faq-item summary{
  list-style:none;
  display:grid;
  grid-template-columns:56px 1fr 28px;
  align-items:center;
  gap:18px;
  padding:22px 26px;
  cursor:pointer;
  user-select:none;
}
.faq-modern .faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e5cdb2;
  color:#9b552e;
  font-weight:950;
  font-size:14px;
}
.faq-title{
  font-size:20px;
  font-weight:950;
  color:#251a15;
  letter-spacing:.02em;
}
.faq-plus{
  position:relative;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  border:1px solid #e5cdb2;
}
.faq-plus::before,
.faq-plus::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:2px;
  border-radius:99px;
  background:#9b552e;
  transform:translate(-50%,-50%);
  transition:transform .22s ease, opacity .22s ease;
}
.faq-plus::after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.faq-modern .faq-item[open] .faq-plus::after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(90deg) scaleX(.3);
}
.faq-modern .faq-answer{
  display:block;
  padding:0 26px 24px 100px;
}
.faq-modern .faq-answer p{
  margin:0;
  color:#64544b;
  line-height:1.85;
  font-size:16px;
}
.faq-modern code{
  background:#fff;
  border:1px solid #ecd8bf;
  border-radius:8px;
  padding:2px 6px;
  color:#8f2b21;
}
@media (max-width:760px){
  .hero-slider{
    aspect-ratio:1.18/1;
  }
  .slider-arrow{
    width:38px;
    height:38px;
    font-size:30px;
  }
  .slider-prev{left:12px}
  .slider-next{right:12px}
  .faq-modern .faq-item summary{
    grid-template-columns:44px 1fr 26px;
    gap:12px;
    padding:18px;
  }
  .faq-no{
    width:38px;
    height:38px;
    border-radius:12px;
  }
  .faq-title{
    font-size:17px;
  }
  .faq-modern .faq-answer{
    padding:0 18px 20px 74px;
  }
}
@media (prefers-reduced-motion:reduce){
  .hero-slider .hero-slide,
  .slider-arrow{
    transition:none;
  }
}


/* v11 refined FAQ + improved slider controls */
.hero-slider{touch-action:pan-y; user-select:none}
.hero-slider.is-dragging{cursor:grabbing}
.slider-arrow{
  width:50px;
  height:50px;
  border:0;
  background:rgba(255,250,242,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 10px 26px rgba(57,29,15,.12);
  color:transparent;
}
.slider-arrow::before{
  content:"";
  width:11px;
  height:11px;
  border-top:2.5px solid #8f5a35;
  border-right:2.5px solid #8f5a35;
  display:block;
}
.slider-prev::before{transform:rotate(-135deg); margin-left:4px}
.slider-next::before{transform:rotate(45deg); margin-right:4px}
.slider-arrow:hover{background:#fff; color:transparent; transform:translateY(-50%) scale(1.04)}
.slider-dots{justify-content:center; margin:18px 0 0}
.slider-dots button{background:#cfbfae}
.slider-dots button.is-active{width:26px; background:#8b532a}

.faq-modern{gap:18px}
.faq-modern .faq-item{
  border:1px solid #e6c9aa;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,254,251,.96) 0%, rgba(251,245,235,.92) 100%);
  box-shadow:0 12px 26px rgba(89,50,26,.04);
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.faq-modern .faq-item:hover{
  border-color:#dbb48a;
  box-shadow:0 18px 34px rgba(89,50,26,.08);
}
.faq-modern .faq-item[open]{
  border-color:#d5ab80;
  box-shadow:0 18px 36px rgba(89,50,26,.09);
}
.faq-modern .faq-item summary{
  grid-template-columns:52px 1fr 34px;
  gap:20px;
  padding:24px 26px;
}
.faq-no{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#fff9f1;
  border:1px solid #e7cdae;
  color:#aa6230;
  font-size:15px;
  box-shadow:none;
}
.faq-title{
  font-size:18px;
  line-height:1.45;
  letter-spacing:.01em;
}
.faq-plus{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fff;
  border:1px solid #e3c7a9;
  box-shadow:0 4px 10px rgba(89,50,26,.05);
}
.faq-plus::before,
.faq-plus::after{
  width:12px;
  background:#b26734;
}
.faq-modern .faq-answer{
  padding:0 26px 24px 98px;
}
.faq-modern .faq-answer p{
  color:#6b5950;
  font-size:16px;
  line-height:1.95;
  position:relative;
  padding-top:6px;
}
.faq-modern .faq-answer p::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:54px;
  height:2px;
  background:linear-gradient(90deg,#d4945f,#f0dac3);
  border-radius:999px;
}
@media (max-width:760px){
  .slider-arrow{width:42px; height:42px}
  .slider-arrow::before{width:10px; height:10px}
  .faq-modern .faq-item summary{grid-template-columns:42px 1fr 28px; gap:12px; padding:18px}
  .faq-no{width:36px; height:36px; border-radius:12px; font-size:13px}
  .faq-title{font-size:16px}
  .faq-plus{width:26px; height:26px}
  .faq-modern .faq-answer{padding:0 18px 20px 72px}
  .faq-modern .faq-answer p{font-size:15px; line-height:1.8}
  .faq-modern .faq-answer p::before{width:42px}
}


/* v12 cleaner slider arrows */
.slider-arrow{
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(255,250,242,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 10px 22px rgba(57,29,15,.10);
  color:#9a6037;
  display:grid;
  place-items:center;
  padding:0;
}
.slider-arrow::before{content:none}
.slider-arrow svg{
  width:18px;
  height:18px;
  display:block;
}
.slider-arrow:hover{
  background:#fffdf9;
  color:#7f4925;
  border-color:rgba(255,255,255,.9);
  transform:translateY(-50%) scale(1.05);
}
.slider-prev{left:16px}
.slider-next{right:16px}
@media (max-width:760px){
  .slider-arrow{width:40px;height:40px}
  .slider-arrow svg{width:16px;height:16px}
  .slider-prev{left:10px}
  .slider-next{right:10px}
}


/* v13 thumbs-up framed product tags */
.product-top{align-items:flex-start}
.tag{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:84px;
  height:62px;
  padding:0 10px 0 18px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#9b552e;
  font-weight:900;
  font-size:13px;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
  isolation:isolate;
}
.tag::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../images/thumb-frame.svg') center/contain no-repeat;
  z-index:-1;
}
.tag::after{
  content:"";
  position:absolute;
  left:13px;
  bottom:10px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c37a3c;
  box-shadow:0 0 0 3px rgba(195,122,60,.08);
}
@media (max-width:760px){
  .tag{
    width:76px;
    height:56px;
    font-size:12px;
    padding-left:16px;
  }
  .tag::after{left:12px; bottom:9px; width:7px; height:7px}
}


/* v14 thumb tag alignment fix */
.product-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.tag{
  position:relative;
  flex:0 0 auto;
  display:block;
  width:92px;
  height:58px;
  margin-top:0;
  background:transparent;
  border:0;
  padding:0;
  color:inherit;
  overflow:visible;
}
.tag::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../images/thumb-frame.svg') center/contain no-repeat;
}
.tag::after{content:none}
.tag-label{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px 0 22px;
  color:#9b552e;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1;
  white-space:nowrap;
}
@media (max-width:760px){
  .tag{width:84px;height:54px}
  .tag-label{padding-left:20px;font-size:11px}
}


/* v15 thumb tag proportion + text placement fix */
.product-top{align-items:flex-start}
.tag{
  position:relative;
  flex:0 0 auto;
  display:block;
  width:108px;
  height:72px;
  margin-top:-2px;
  background:transparent;
  border:0;
  padding:0;
  overflow:visible;
}
.tag::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../images/thumb-frame.svg') center/contain no-repeat;
}
.tag-label{
  position:absolute;
  left:34px;
  right:10px;
  top:18px;
  bottom:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#9b552e;
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  text-align:center;
}
@media (max-width:1100px){
  .tag{width:102px;height:68px}
  .tag-label{left:32px; right:9px; top:17px; bottom:13px}
}
@media (max-width:760px){
  .tag{width:94px;height:63px}
  .tag-label{left:29px; right:8px; top:16px; bottom:12px; font-size:11px}
}


/* v16 square thumbs-up tag */
.tag{
  position:relative;
  flex:0 0 auto;
  display:block;
  width:82px;
  height:82px;
  margin-top:-4px;
  background:transparent;
  border:0;
  padding:0;
  overflow:visible;
}
.tag::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../images/thumb-frame.svg') center/contain no-repeat;
}
.tag-label{
  position:absolute;
  left:26px;
  right:8px;
  top:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#9b552e;
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  text-align:center;
}
@media (max-width:1100px){
  .tag{width:78px;height:78px}
  .tag-label{left:24px;right:8px;top:25px;height:24px}
}
@media (max-width:760px){
  .tag{width:72px;height:72px;margin-top:-2px}
  .tag-label{left:22px;right:7px;top:22px;height:22px;font-size:11px}
}


/* v17 square thumbs-up improvement */
.product-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.tag{
  position:relative;
  flex:0 0 auto;
  width:80px;
  height:80px;
  aspect-ratio:1/1;
  margin-top:-2px;
  background:transparent;
  border:0;
  padding:0;
  overflow:visible;
}
.tag::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../images/thumb-frame.svg') center/contain no-repeat;
}
.tag-label{
  position:absolute;
  left:27px;
  top:29px;
  width:39px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#9b552e;
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  line-height:1;
  white-space:nowrap;
  text-align:center;
}
@media (max-width:1100px){
  .tag{width:76px;height:76px}
  .tag-label{left:25px;top:28px;width:37px;height:17px;font-size:10.5px}
}
@media (max-width:760px){
  .tag{width:68px;height:68px;margin-top:0}
  .tag-label{left:22px;top:25px;width:33px;height:16px;font-size:10px}
}


/* v19 thumbs-up hover raise */
.tag{
  width:80px;
  height:80px;
  aspect-ratio:1/1;
  margin-top:-2px;
  transform-origin:22px 60px;
  transition:transform .24s ease;
}
.tag::before{
  background:url('../images/thumb-frame.svg') center/contain no-repeat;
}
.tag-label{
  left:27px;
  top:29px;
  width:39px;
  height:18px;
  font-size:11px;
}
.product-card:hover .tag{
  transform:rotate(-14deg) translateY(-2px);
}
@media (max-width:1100px){
  .tag{width:76px;height:76px}
  .tag-label{left:25px;top:28px;width:37px;height:17px;font-size:10.5px}
}
@media (max-width:760px){
  .tag{width:68px;height:68px;margin-top:0;transform-origin:20px 52px}
  .tag-label{left:22px;top:25px;width:33px;height:16px;font-size:10px}
}


/* v21 mobile align left */
@media (max-width:760px){
  .hero-grid,
  .hero-content,
  .section-head,
  .section-desc,
  .section-title,
  .kicker,
  .hero-copy,
  .product-card,
  .feature-photo-content,
  .store-hero-head,
  .store-map-text,
  .footer-brand-block,
  .footer-menu-block,
  .footer-store-block,
  .footer-bottomline,
  .footer-bottom{
    text-align:left;
  }

  .hero-actions,
  .store-action-row,
  .slider-dots,
  .footer-keywords,
  .keyword-tags,
  .footer-v2 .footer-nav,
  .footer-bottomline,
  .footer-bottom{
    justify-content:flex-start;
  }

  .hero-actions .btn,
  .store-action-row .btn,
  .footer-chip,
  .footer-chip-solid{
    justify-content:flex-start;
    text-align:left;
    padding-left:20px;
  }

  .feature-photo-content{
    align-items:flex-start;
  }

  .product-top,
  .cart-total,
  .cart-line,
  .store-card-title-row,
  .footer-contact-list li,
  .info-row,
  .store-info-list .info-row{
    text-align:left;
  }

  .store-map-box > div,
  .footer-bottomline,
  .footer-bottom{
    text-align:left;
  }

  .photo-note{display:none;}
}


/* v22 footer mobile redesign + legal links */
.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.footer-legal-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #e1c5a9;
  background:#fffaf3;
  color:#8b4d28;
  font-weight:800;
  box-shadow:0 6px 16px rgba(112,44,25,.05);
}
.footer-legal-links a:hover{background:#fff;color:#7d3f1f}
.legal-page .legal-panel{padding:32px}
.legal-content{display:grid;gap:16px;margin-top:18px;color:#5d5048;line-height:1.9}
.legal-content h2{margin:8px 0 0;font-size:22px;color:#3a2419}
.legal-content p{margin:0}

@media (max-width:760px){
  .footer-shell{padding:28px 0 16px}
  .footer-topline{gap:16px}
  .footer-brand-block,
  .footer-menu-block,
  .footer-store-block{
    background:rgba(255,255,255,.68);
    border:1px solid #ead5bd;
    border-radius:22px;
    padding:18px;
    box-shadow:0 10px 24px rgba(112,44,25,.05);
  }
  .footer-brand-head{grid-template-columns:54px 1fr;gap:12px;align-items:start}
  .footer-v2 .footer-logo{width:54px;height:54px;border-radius:16px}
  .footer-v2 h2{font-size:20px;margin-bottom:8px}
  .footer-v2 h3{font-size:18px;margin-bottom:12px}
  .footer-v2 p{font-size:15px;line-height:1.8}
  .footer-keywords{margin-top:14px;gap:8px}
  .footer-keywords span{min-width:32px;height:32px}
  .footer-v2 .footer-nav{gap:10px}
  .footer-v2 .footer-nav a{
    padding:10px 0;
    border-bottom:1px dashed #ead5bd;
  }
  .footer-v2 .footer-nav a:last-child{border-bottom:0}
  .footer-legal-links{
    margin-top:14px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .footer-legal-links a{
    min-height:42px;
    padding:0 10px;
    font-size:14px;
  }
  .footer-contact-list{gap:10px}
  .footer-contact-list li{
    padding:8px 0;
    border-bottom:1px dashed #ead5bd;
  }
  .footer-contact-list li:last-child{border-bottom:0}
  .footer-chip,
  .footer-chip-solid{
    width:100%;
    justify-content:center !important;
    padding-left:18px !important;
  }
  .footer-bottomline,
  .footer-bottomline-compact{
    margin-top:16px;
    padding-top:14px;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px 12px;
    text-align:left !important;
  }
  .footer-bottomline-compact span{
    white-space:normal;
    padding-left:0 !important;
  }
  .footer-bottomline-compact span::before{display:none !important}
  .legal-page .legal-panel{padding:22px}
  .legal-content h2{font-size:20px}
}
@media (max-width:420px){
  .footer-legal-links{grid-template-columns:1fr}
  .footer-bottomline,
  .footer-bottomline-compact{grid-template-columns:1fr}
}


/* v23 mobile horizontal overflow fix */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
body{
  position:relative;
}
.site-header,
.hero,
.section,
.footer,
.footer-shell,
.footer-topline,
.footer-bottomline,
.footer-bottomline-compact{
  max-width:100%;
}
img, svg, iframe{
  max-width:100%;
  height:auto;
}
.photo-card,
.hero-slider,
.panel,
.product-card,
.feature-photo-card,
.store-hero-card,
.store-card-main,
.store-card-side,
.store-map-panel,
.footer-brand-block,
.footer-menu-block,
.footer-store-block{
  max-width:100%;
  overflow:hidden;
}

@media (max-width:760px){
  html, body{
    overflow-x:hidden;
  }
  .brand,
  .nav-wrap,
  .hero-grid,
  .hero-content,
  .hero-media,
  .section-inner,
  .section-head,
  .footer-shell{
    max-width:100%;
    min-width:0;
  }
  .brand-title,
  .hero-title{
    white-space:normal;
    word-break:break-word;
  }
  .hero-copy,
  .section-desc,
  .footer-v2 p,
  .footer-contact-list li,
  .legal-content,
  .info-row,
  .store-info-list .info-row{
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  .slider-arrow{
    transform:translateY(-50%);
  }
  .slider-arrow:hover{
    transform:translateY(-50%);
  }
  .footer-legal-links,
  .footer-bottomline,
  .footer-bottomline-compact{
    max-width:100%;
  }
}


/* v24 mobile footer meta redesign */
@media (max-width:760px){
  .footer-bottomline,
  .footer-bottomline-compact{
    margin-top:16px;
    padding:14px 16px 2px;
    display:block !important;
    background:rgba(255,255,255,.72);
    border:1px solid #ead5bd;
    border-radius:18px;
    box-shadow:0 8px 20px rgba(112,44,25,.04);
    text-align:left !important;
  }

  .footer-bottomline-compact span,
  .footer-bottomline span{
    display:block;
    width:100%;
    padding:0 0 12px;
    margin:0 0 12px;
    color:#745f52;
    font-size:14px;
    line-height:1.6;
    border-bottom:1px dashed #ead5bd;
    white-space:normal;
  }

  .footer-bottomline-compact span:last-child,
  .footer-bottomline span:last-child{
    margin-bottom:0;
    padding-bottom:0;
    border-bottom:0;
  }

  .footer-bottomline-compact span::before,
  .footer-bottomline span::before{
    display:none !important;
  }
}


/* v25 mobile footer meta: clean inline text */
@media (max-width:760px){
  .footer-bottomline,
  .footer-bottomline-compact{
    margin-top:16px !important;
    padding:14px 0 0 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:6px 0 !important;
    background:transparent !important;
    border:0 !important;
    border-top:1px solid #e4ccb0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    text-align:left !important;
  }

  .footer-bottomline-compact span,
  .footer-bottomline span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    color:#7c6859 !important;
    font-size:13px !important;
    line-height:1.7 !important;
    white-space:nowrap !important;
  }

  .footer-bottomline-compact span::before,
  .footer-bottomline span::before{
    display:none !important;
  }

  .footer-bottomline-compact span:not(:last-child)::after,
  .footer-bottomline span:not(:last-child)::after{
    content:"・";
    display:inline-block;
    margin:0 8px;
    color:#c7a07b;
  }
}

@media (max-width:360px){
  .footer-bottomline-compact span,
  .footer-bottomline span{
    font-size:12px !important;
  }
  .footer-bottomline-compact span:not(:last-child)::after,
  .footer-bottomline span:not(:last-child)::after{
    margin:0 6px;
  }
}


/* v26 mobile footer meta layout refinement */
@media (max-width:760px){
  .footer-bottomline,
  .footer-bottomline-compact{
    display:grid !important;
    grid-template-columns:max-content 1fr !important;
    justify-content:flex-start !important;
    align-items:center !important;
    column-gap:18px !important;
    row-gap:6px !important;
    padding-top:14px !important;
  }

  .footer-bottomline-compact span,
  .footer-bottomline span{
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    white-space:nowrap !important;
    font-size:13px !important;
    line-height:1.7 !important;
  }

  .footer-bottomline-compact span::after,
  .footer-bottomline span::after{
    display:none !important;
    content:none !important;
  }

  .footer-bottomline-compact span::before,
  .footer-bottomline span::before{
    display:none !important;
  }

  /* Row 1 */
  .footer-bottomline-compact span:nth-child(1),
  .footer-bottomline span:nth-child(1){grid-column:1;grid-row:1;}
  .footer-bottomline-compact span:nth-child(2),
  .footer-bottomline span:nth-child(2){grid-column:2;grid-row:1;}

  /* Row 2: Designed by + Copyright on same row */
  .footer-bottomline-compact span:nth-child(3),
  .footer-bottomline span:nth-child(3){grid-column:1;grid-row:2;}
  .footer-bottomline-compact span:nth-child(4),
  .footer-bottomline span:nth-child(4){grid-column:2;grid-row:2;}

  /* Row 3 */
  .footer-bottomline-compact span:nth-child(5),
  .footer-bottomline span:nth-child(5){grid-column:1 / -1;grid-row:3;}
}

@media (max-width:420px){
  .footer-bottomline,
  .footer-bottomline-compact{
    grid-template-columns:1fr 1fr !important;
    column-gap:12px !important;
  }

  .footer-bottomline-compact span,
  .footer-bottomline span{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}


/* v27 online ordering page */
.order-page{padding-bottom:120px}
.order-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:26px;
}
.order-store-card{
  min-width:240px;
  display:grid;
  gap:4px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid #e7d3bd;
  background:rgba(255,253,248,.86);
  box-shadow:0 10px 24px rgba(92,48,24,.05);
}
.order-store-card strong{font-size:20px}
.order-store-card span{color:#746760}
.order-app{
  display:grid;
  grid-template-columns:240px 1fr 330px;
  gap:24px;
  align-items:start;
}
.order-category-panel,
.order-cart-panel{
  position:sticky;
  top:94px;
}
.order-category-panel h2,
.order-cart-panel h2{
  margin:0 0 16px;
}
.order-menu{
  display:grid;
  gap:34px;
}
.menu-category{
  scroll-margin-top:110px;
}
.menu-category h2{
  margin:0 0 16px;
  font-size:28px;
}
.order-product-list{
  display:grid;
  gap:16px;
}
.order-product{
  position:relative;
  display:grid;
  grid-template-columns:112px 1fr 42px;
  gap:18px;
  align-items:center;
  padding:16px;
  border:1px solid #e7d3bd;
  border-radius:24px;
  background:rgba(255,253,248,.92);
  box-shadow:0 10px 24px rgba(92,48,24,.05);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.order-product:hover{
  transform:translateY(-2px);
  border-color:#d7ad82;
  box-shadow:0 18px 36px rgba(92,48,24,.10);
}
.order-product img{
  width:112px;
  height:112px;
  border-radius:20px;
  object-fit:cover;
  background:#f3e8d9;
}
.order-product-body{min-width:0}
.order-product-title{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.order-product h3{
  margin:0;
  font-size:22px;
}
.order-product p{
  margin:8px 0 10px;
  color:#746760;
  line-height:1.6;
}
.order-product strong{
  color:#8f2b21;
  font-size:24px;
  font-weight:950;
}
.order-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#fff4e7;
  border:1px solid #e1c09f;
  color:#9b552e;
  font-size:12px;
  font-weight:900;
}
.order-add-mini{
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#d8893a;
  color:#fff;
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(183,93,47,.22);
}
.cart-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.cart-panel-head span{
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#fff4e7;
  color:#8f2b21;
  font-weight:950;
}
.cart-empty{
  padding:18px 0;
  color:#746760;
}
.cart-items{
  display:grid;
  gap:12px;
  max-height:390px;
  overflow:auto;
  padding-right:4px;
}
.cart-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:16px;
  background:#fff8ef;
  border:1px solid #ead5bd;
}
.cart-item strong{
  display:block;
  margin-bottom:4px;
}
.cart-item p{
  margin:0;
  color:#746760;
  font-size:13px;
}
.cart-item-side{
  display:grid;
  justify-items:end;
  gap:6px;
}
.cart-item-side span{
  color:#8f2b21;
  font-weight:900;
}
.cart-item-side button{
  width:26px;
  height:26px;
  border:0;
  border-radius:50%;
  background:#f3e3d2;
  color:#8f2b21;
  cursor:pointer;
}
.cart-summary{
  margin-top:18px;
  border-top:1px dashed #dfc7ad;
  padding-top:16px;
}
.cart-summary > div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:20px;
  font-weight:950;
  margin-bottom:16px;
}
.checkout-btn{width:100%}
.order-mobile-bar{display:none}

.product-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
}
.product-modal.is-open{
  display:block;
}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(28,20,16,.55);
}
.modal-card{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(560px,100%);
  background:#fffdf8;
  overflow:auto;
  box-shadow:-20px 0 60px rgba(0,0,0,.18);
}
.modal-close{
  position:fixed;
  right:22px;
  top:20px;
  z-index:2;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#231a16;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.modal-img{
  width:100%;
  aspect-ratio:1.18/1;
  object-fit:cover;
  background:#f4e6d6;
}
.modal-content{
  padding:26px 30px 118px;
}
.modal-content h2{
  margin:0 0 6px;
  font-size:30px;
}
.modal-price{
  color:#8f2b21;
  font-size:22px;
  font-weight:950;
  margin-bottom:18px;
}
.modal-content p{
  color:#746760;
  line-height:1.8;
}
.option-group{
  margin-top:28px;
}
.option-group h3{
  margin:0 0 4px;
  font-size:22px;
}
.option-group > p{
  margin:0 0 12px;
  color:#9a8b81;
}
.option-list{
  display:grid;
  gap:10px;
}
.option-list label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid #eee0d2;
  cursor:pointer;
}
.option-list input{
  width:22px;
  height:22px;
  accent-color:#d8893a;
}
.option-list span{
  flex:1;
  font-weight:800;
}
.option-list em{
  font-style:normal;
  color:#9a8b81;
}
.modal-footer{
  position:fixed;
  right:0;
  bottom:0;
  width:min(560px,100%);
  display:grid;
  grid-template-columns:132px 1fr;
  gap:12px;
  padding:16px 22px;
  background:rgba(255,253,248,.96);
  border-top:1px solid #ead5bd;
  backdrop-filter:blur(12px);
}
.modal-qty{
  display:grid;
  grid-template-columns:40px 1fr 40px;
  align-items:center;
  gap:6px;
}
.modal-qty button{
  height:44px;
  border:0;
  border-radius:12px;
  background:#f4e7d8;
  color:#8f2b21;
  font-size:22px;
  cursor:pointer;
}
.modal-qty strong{
  text-align:center;
  font-size:18px;
}
.modal-add-cart{
  min-height:54px;
  border:0;
  border-radius:999px;
  background:#ffe100;
  color:#1d170f;
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  cursor:pointer;
}
.modal-add-cart small{
  color:#746760;
  font-size:13px;
}
body.modal-open{
  overflow:hidden;
}
@media (max-width:1100px){
  .order-app{
    grid-template-columns:1fr;
  }
  .order-category-panel,
  .order-cart-panel{
    position:relative;
    top:auto;
  }
  .order-category-list{
    display:flex;
    overflow:auto;
    gap:10px;
    padding-bottom:4px;
  }
  .order-category-list a{
    white-space:nowrap;
  }
}
@media (max-width:760px){
  .order-page{
    padding-top:34px;
    padding-bottom:110px;
  }
  .order-hero{
    display:grid;
    gap:16px;
    align-items:start;
  }
  .order-store-card{
    min-width:0;
  }
  .order-product{
    grid-template-columns:88px 1fr 34px;
    gap:12px;
    padding:12px;
    border-radius:20px;
  }
  .order-product img{
    width:88px;
    height:88px;
    border-radius:16px;
  }
  .order-product h3{
    font-size:18px;
  }
  .order-product p{
    font-size:14px;
    margin:6px 0 8px;
  }
  .order-product strong{
    font-size:21px;
  }
  .order-add-mini{
    width:32px;
    height:32px;
    font-size:19px;
  }
  .order-cart-panel{
    display:none;
  }
  .order-mobile-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    background:rgba(255,253,248,.96);
    border-top:1px solid #ead5bd;
    box-shadow:0 -12px 28px rgba(92,48,24,.10);
    backdrop-filter:blur(14px);
  }
  .order-mobile-bar span{
    display:block;
    color:#746760;
    font-size:13px;
  }
  .order-mobile-bar strong{
    color:#8f2b21;
    font-size:22px;
  }
  .order-mobile-bar .btn{
    width:100%;
    justify-content:center !important;
    padding-left:18px !important;
  }
  .modal-card{
    left:0;
    width:100%;
    border-radius:0;
  }
  .modal-close{
    right:16px;
    top:16px;
  }
  .modal-content{
    padding:22px 22px 112px;
  }
  .modal-content h2{
    font-size:26px;
  }
  .modal-footer{
    left:0;
    width:100%;
    grid-template-columns:118px 1fr;
    padding:12px 14px;
  }
}


/* v28 fixed header + icon cart + mobile header refine */
.site-header{
  position:fixed !important;
  top:0; left:0; right:0;
  width:100%;
  z-index:80;
  background:rgba(255,250,242,.90);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(231,211,189,.75);
}
body{padding-top:72px;}
.nav-wrap{
  position:relative;
  width:var(--container);
  margin:0 auto;
  height:72px;
  display:flex;
  align-items:center;
  gap:20px;
}
.brand{flex:0 1 auto; min-width:0;}
.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:36px;
}
.header-cart{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-left:18px;
  border-radius:16px;
  border:1px solid rgba(216,185,148,.85);
  background:linear-gradient(180deg,#fffdf9,#f8ecdf);
  color:#8f2b21;
  box-shadow:0 10px 22px rgba(92,48,24,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.header-cart:hover{
  transform:translateY(-2px);
  border-color:#d7ad82;
  box-shadow:0 16px 28px rgba(92,48,24,.13);
}
.header-cart svg{
  width:24px; height:24px; stroke:currentColor;
}
.header-cart-count{
  position:absolute;
  top:-5px; right:-5px;
  min-width:22px; height:22px;
  padding:0 6px;
  display:grid; place-items:center;
  border-radius:999px;
  background:#b5512a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 4px 12px rgba(181,81,42,.28);
}

main.section:first-of-type,
.hero:first-of-type{scroll-margin-top:90px;}

@media (max-width:1100px){
  .nav{gap:18px;}
}

@media (max-width:760px){
  body{padding-top:68px;}
  .nav-wrap{
    height:68px;
    gap:10px;
  }
  .brand{flex:1 1 auto; min-width:0;}
  .brand-logo{width:38px !important; height:38px !important; border-radius:11px;}
  .brand-title{
    font-size:17px !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .header-cart{
    order:2;
    width:42px;
    height:42px;
    margin-left:auto;
    border-radius:14px;
  }
  .header-cart svg{width:20px;height:20px;}
  .header-cart-count{
    top:-4px; right:-4px;
    min-width:18px; height:18px;
    padding:0 4px;
    font-size:10px;
  }
  .nav-toggle{
    order:3;
    margin-left:0 !important;
    padding:9px 12px;
    border-radius:13px;
    font-size:13px;
    line-height:1;
    flex:0 0 auto;
  }
  .nav{
    position:fixed;
    top:68px !important;
    left:14px;
    right:14px;
    margin-left:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    background:#fffaf2;
    border:1px solid var(--line);
    border-radius:22px;
    padding:14px;
    box-shadow:0 18px 36px rgba(92,48,24,.10);
    z-index:79;
  }
  .nav.open{display:flex;}
  .nav a{padding:13px 14px;}
}

@media (max-width:420px){
  .brand-title{font-size:15px !important;}
  .nav-wrap{gap:8px;}
}


/* v29 header account + cart simple icon style */
.header-account,
.header-cart{
  flex:0 0 auto;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin-left:10px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111 !important;
  box-shadow:none !important;
  padding:0 !important;
  transition:transform .16s ease, color .16s ease;
}
.header-account:hover,
.header-cart:hover{
  transform:translateY(-1px);
  color:#8f2b21 !important;
}
.header-account svg,
.header-cart svg{
  width:25px;
  height:25px;
  display:block;
}
.header-cart-count{
  position:absolute;
  top:5px;
  right:-8px;
  min-width:30px;
  height:19px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#ff5a64;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:none;
}
@media (max-width:760px){
  .header-account{
    order:2;
    width:34px;
    height:34px;
    margin-left:auto;
  }
  .header-cart{
    order:3;
    width:34px;
    height:34px;
    margin-left:4px;
  }
  .header-account svg,
  .header-cart svg{
    width:23px;
    height:23px;
  }
  .header-cart-count{
    top:6px;
    right:-8px;
    min-width:28px;
    height:18px;
    padding:0 7px;
    font-size:11px;
  }
  .nav-toggle{
    order:4;
    margin-left:8px !important;
  }
}
@media (max-width:420px){
  .header-account,
  .header-cart{
    width:31px;
    height:31px;
  }
  .header-account svg,
  .header-cart svg{
    width:21px;
    height:21px;
  }
  .header-cart-count{
    min-width:26px;
    height:17px;
    font-size:10px;
  }
}


/* v30 force show header user/cart icons */
.nav-wrap .header-account,
.nav-wrap .header-cart{
  flex:0 0 auto !important;
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  margin-left:10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111 !important;
  box-shadow:none !important;
  padding:0 !important;
  text-decoration:none !important;
}
.nav-wrap .header-account svg,
.nav-wrap .header-cart svg{
  width:25px !important;
  height:25px !important;
  display:block !important;
}
.nav-wrap .header-cart-count{
  position:absolute !important;
  top:5px !important;
  right:-8px !important;
  min-width:30px !important;
  height:19px !important;
  padding:0 8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#ff5a64 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
@media (max-width:760px){
  .nav-wrap .header-account{
    order:2 !important;
    width:34px !important;
    height:34px !important;
    margin-left:auto !important;
  }
  .nav-wrap .header-cart{
    order:3 !important;
    width:34px !important;
    height:34px !important;
    margin-left:4px !important;
  }
  .nav-toggle{
    order:4 !important;
    margin-left:8px !important;
  }
}


/* v34 based on v30: cart badge position fix */
.nav-wrap .header-cart{
  margin-left:10px !important;
  margin-right:22px !important;
  overflow:visible !important;
}

.nav-wrap .header-cart-count{
  top:7px !important;
  right:-24px !important;
  min-width:28px !important;
  height:18px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  background:#ff5a64 !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:none !important;
  z-index:3 !important;
}

@media (max-width:760px){
  .nav-wrap .header-cart{
    margin-left:4px !important;
    margin-right:20px !important;
  }

  .nav-wrap .header-cart-count{
    top:7px !important;
    right:-22px !important;
    min-width:26px !important;
    height:17px !important;
    padding:0 7px !important;
    font-size:10px !important;
  }
}

@media (max-width:420px){
  .nav-wrap .header-cart{
    margin-right:18px !important;
  }

  .nav-wrap .header-cart-count{
    right:-20px !important;
    min-width:24px !important;
    height:16px !important;
  }
}


/* v35 Ocard-like online order layout */
.order-ocard-page{
  min-height:100vh;
  padding:28px 0 120px;
  background:#f6f6f6;
}
.order-phone-shell{
  width:min(100% - 28px, 430px);
  margin:0 auto;
  background:#fff;
  box-shadow:0 16px 48px rgba(0,0,0,.06);
}
.order-cover{
  width:100%;
  height:170px;
  overflow:hidden;
  background:#eee;
}
.order-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.order-brand-panel{
  margin-top:-24px;
  text-align:center;
  padding:0 18px 12px;
}
.order-shop-logo{
  width:58px;
  height:58px;
  border-radius:18px;
  object-fit:cover;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.order-brand-panel h1{
  margin:8px 0 2px;
  font-size:19px;
  font-weight:950;
  letter-spacing:.01em;
}
.order-brand-panel p{
  margin:0;
  color:#777;
  font-size:13px;
}
.order-mode-tabs{
  width:calc(100% - 36px);
  margin:10px auto 12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#f2f2f2;
  border-radius:10px;
  overflow:hidden;
}
.order-mode-tabs button{
  height:38px;
  border:0;
  background:transparent;
  color:#777;
  font-weight:900;
  cursor:pointer;
}
.order-mode-tabs button.active{
  background:#ffe100;
  color:#1b170e;
}
.order-pickup-card,
.order-notice-card,
.order-guide-card,
.order-search-box{
  width:calc(100% - 36px);
  margin:0 auto 12px;
}
.order-pickup-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  background:#f8f8f8;
}
.order-pickup-card strong,
.order-pickup-card span{
  display:block;
}
.order-pickup-card strong{
  font-size:14px;
}
.order-pickup-card span{
  margin-top:3px;
  color:#777;
  font-size:12px;
}
.order-pickup-card a{
  color:#a46a00;
  font-weight:900;
  font-size:13px;
}
.order-notice-card{
  padding:13px 15px;
  border-radius:10px;
  background:#ffe100;
  color:#1b170e;
}
.order-notice-card strong{
  display:block;
  margin-bottom:5px;
}
.order-notice-card p{
  margin:0;
  font-size:13px;
  line-height:1.65;
}
.order-guide-card{
  padding:12px 14px;
  border-radius:10px;
  background:#fafafa;
  border:1px solid #eee;
}
.order-guide-card summary{
  cursor:pointer;
  font-weight:900;
}
.order-guide-card p{
  margin:9px 0 0;
  color:#666;
  font-size:13px;
  line-height:1.6;
}
.order-search-box{
  display:grid;
  grid-template-columns:18px 1fr;
  align-items:center;
  gap:8px;
  padding:0 12px;
  height:42px;
  border-radius:999px;
  background:#f5f5f5;
}
.order-search-box svg{
  width:18px;
  height:18px;
  color:#999;
}
.order-search-box input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  font-size:14px;
}
.order-category-strip{
  position:sticky;
  top:72px;
  z-index:30;
  display:flex;
  gap:8px;
  overflow:auto;
  padding:10px 18px;
  background:rgba(255,255,255,.94);
  border-top:1px solid #eee;
  border-bottom:1px solid #eee;
  scrollbar-width:none;
}
.order-category-strip::-webkit-scrollbar{
  display:none;
}
.order-category-strip a{
  flex:0 0 auto;
  padding:8px 12px;
  border-radius:999px;
  background:#f5f5f5;
  color:#333;
  font-size:13px;
  font-weight:900;
}
.order-category-strip a.active,
.order-category-strip a:hover{
  background:#ffe100;
  color:#1b170e;
}
.ocard-menu-section{
  padding:14px 18px 2px;
  scroll-margin-top:126px;
}
.ocard-menu-section h2{
  margin:10px 0 12px;
  font-size:16px;
  font-weight:950;
}
.ocard-product{
  position:relative;
  display:grid;
  grid-template-columns:74px 1fr 28px;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #efefef;
  cursor:pointer;
  background:#fff;
}
.ocard-product:last-child{
  border-bottom:0;
}
.ocard-product img{
  width:74px;
  height:74px;
  border-radius:10px;
  object-fit:cover;
  background:#f2f2f2;
}
.ocard-product h3{
  margin:0;
  font-size:14px;
  font-weight:950;
}
.ocard-product p{
  margin:4px 0 5px;
  color:#777;
  line-height:1.45;
  font-size:12px;
}
.ocard-product strong{
  color:#333;
  font-size:13px;
  font-weight:950;
}
.ocard-plus{
  width:26px;
  height:26px;
  border:0;
  border-radius:50%;
  background:#f1f1f1;
  color:#333;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-weight:950;
}
.ocard-product:hover .ocard-plus{
  background:#ffe100;
}
.order-cart-compact{
  width:calc(100% - 36px);
  margin:18px auto 0;
  padding:16px;
  border-radius:16px;
  background:#fafafa;
  border:1px solid #eee;
}
.cart-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.cart-panel-head h2{
  margin:0;
  font-size:17px;
}
.cart-panel-head span{
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  border-radius:999px;
  background:#ffe100;
  color:#111;
  font-weight:950;
}
.cart-empty{
  color:#888;
  font-size:13px;
  padding:14px 0;
}
.cart-items{
  display:grid;
  gap:10px;
}
.cart-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  border-radius:12px;
  background:#fff;
  border:1px solid #eee;
}
.cart-item strong{
  display:block;
  font-size:13px;
}
.cart-item p{
  margin:4px 0 0;
  color:#777;
  font-size:12px;
}
.cart-item-side{
  text-align:right;
  display:grid;
  justify-items:end;
  gap:4px;
}
.cart-item-side span{
  font-weight:950;
}
.cart-item-side button{
  width:24px;
  height:24px;
  border:0;
  border-radius:50%;
  background:#eee;
  cursor:pointer;
}
.cart-summary{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed #ddd;
}
.cart-summary > div{
  display:flex;
  justify-content:space-between;
  font-size:16px;
  font-weight:950;
  margin-bottom:12px;
}
.checkout-btn{
  width:100%;
}

/* Modal closer to reference */
.product-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
}
.product-modal.is-open{
  display:block;
}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,20,20,.64);
}
.modal-card{
  position:absolute;
  right:50%;
  top:0;
  bottom:0;
  transform:translateX(50%);
  width:min(100%, 520px);
  background:#fff;
  overflow:auto;
  box-shadow:0 0 50px rgba(0,0,0,.16);
}
.modal-close{
  position:fixed;
  right:calc(50% - 236px);
  top:16px;
  z-index:2;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#222;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.modal-img{
  width:100%;
  height:330px;
  object-fit:cover;
  display:block;
  background:#eee;
}
.modal-content{
  padding:24px 26px 120px;
}
.modal-content h2{
  margin:0 0 6px;
  font-size:26px;
  font-weight:950;
}
.modal-price{
  margin-bottom:18px;
  color:#777;
  font-size:18px;
}
.modal-content > p{
  color:#777;
  line-height:1.7;
}
.option-group{
  margin-top:28px;
}
.option-group h3{
  margin:0 0 6px;
  font-size:19px;
  font-weight:950;
}
.option-group > p{
  margin:0 0 12px;
  color:#999;
}
.option-list{
  display:grid;
}
.option-list label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid #eee;
  cursor:pointer;
}
.option-list input{
  width:22px;
  height:22px;
  accent-color:#ffe100;
}
.option-list span{
  flex:1;
  font-weight:800;
}
.option-list em{
  color:#888;
  font-style:normal;
}
.modal-footer{
  position:fixed;
  right:50%;
  bottom:0;
  transform:translateX(50%);
  width:min(100%, 520px);
  display:grid;
  grid-template-columns:122px 1fr;
  gap:10px;
  padding:12px 16px;
  background:rgba(255,255,255,.96);
  border-top:1px solid #eee;
  box-shadow:0 -8px 24px rgba(0,0,0,.06);
}
.modal-qty{
  display:grid;
  grid-template-columns:38px 1fr 38px;
  gap:4px;
  align-items:center;
}
.modal-qty button{
  height:44px;
  border:0;
  background:#f3f3f3;
  border-radius:8px;
  font-size:20px;
  cursor:pointer;
}
.modal-qty strong{
  text-align:center;
  font-size:17px;
}
.modal-add-cart{
  min-height:46px;
  border:0;
  border-radius:999px;
  background:#ffe100;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  font-weight:950;
  cursor:pointer;
}
.modal-add-cart small{
  color:#7a6b00;
}
.order-mobile-bar{
  position:fixed;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  z-index:80;
  width:min(100%,430px);
  display:grid;
  grid-template-columns:1fr 1.45fr;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  background:rgba(255,255,255,.96);
  border-top:1px solid #eee;
  box-shadow:0 -8px 28px rgba(0,0,0,.08);
}
.order-mobile-bar span{
  display:block;
  color:#777;
  font-size:12px;
}
.order-mobile-bar strong{
  font-size:20px;
  font-weight:950;
}
.order-mobile-bar .btn{
  width:100%;
  min-height:46px;
  border-radius:999px;
  justify-content:center !important;
  padding-left:18px !important;
}
body.modal-open{
  overflow:hidden;
}
@media (min-width:900px){
  .order-ocard-page{
    padding-top:40px;
  }
  .order-phone-shell{
    border-radius:24px;
    overflow:hidden;
  }
}
@media (max-width:760px){
  .order-ocard-page{
    padding:0 0 110px;
  }
  .order-phone-shell{
    width:100%;
    box-shadow:none;
  }
  .order-category-strip{
    top:68px;
  }
  .modal-card{
    right:0;
    transform:none;
    width:100%;
  }
  .modal-close{
    right:16px;
  }
  .modal-img{
    height:300px;
  }
  .modal-footer{
    right:0;
    transform:none;
    width:100%;
  }
}
@media (max-width:420px){
  .modal-img{
    height:275px;
  }
  .modal-content{
    padding:22px 22px 112px;
  }
}


/* v36 Online order - keep original YKQK brand style */
.order-ocard-page{
  min-height:100vh;
  padding:32px 0 126px;
  background:
    radial-gradient(circle at top left, rgba(239,214,182,.35), transparent 38%),
    linear-gradient(180deg, #fbf7f1 0%, #f7efe2 100%);
}
.order-phone-shell{
  width:min(100% - 28px, 470px);
  margin:0 auto;
  background:transparent;
  box-shadow:none;
}
.order-cover{
  height:188px;
  border-radius:28px;
  overflow:hidden;
  background:#ead8c3;
  box-shadow:0 18px 40px rgba(92,48,24,.08);
}
.order-cover img{
  filter:saturate(1.02) contrast(1.02);
}
.order-brand-panel{
  margin-top:-28px;
  text-align:center;
  padding:0 18px 10px;
}
.order-shop-logo{
  width:66px;
  height:66px;
  border-radius:20px;
  background:#fff;
  border:4px solid rgba(255,255,255,.95);
  box-shadow:0 10px 24px rgba(92,48,24,.10);
}
.order-brand-panel h1{
  margin:10px 0 4px;
  font-size:24px;
  line-height:1.2;
  color:#241b17;
  font-weight:950;
}
.order-brand-panel p{
  margin:0;
  color:#8a6b57;
  font-size:13px;
  letter-spacing:.03em;
}

.order-mode-tabs{
  width:calc(100% - 8px);
  margin:14px auto 14px;
  padding:4px;
  border-radius:16px;
  background:#f1e4d5;
  box-shadow:inset 0 0 0 1px rgba(205,172,142,.35);
}
.order-mode-tabs button{
  height:42px;
  border-radius:12px;
  color:#876a57;
  font-weight:900;
  letter-spacing:.02em;
}
.order-mode-tabs button.active{
  background:linear-gradient(180deg,#d78e43,#c46f2a);
  color:#fff;
  box-shadow:0 8px 18px rgba(196,111,42,.24);
}

.order-pickup-card,
.order-notice-card,
.order-guide-card,
.order-search-box,
.order-cart-compact{
  width:100%;
  margin:0 auto 14px;
}
.order-pickup-card{
  padding:15px 16px;
  border-radius:20px;
  background:rgba(255,253,248,.92);
  border:1px solid #e8d1b6;
  box-shadow:0 12px 26px rgba(92,48,24,.05);
}
.order-pickup-card strong{
  font-size:14px;
  color:#251c17;
}
.order-pickup-card span{
  color:#8a6b57;
  font-size:12px;
}
.order-pickup-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  color:#8f4a21;
  font-size:12px;
  font-weight:900;
  background:#fff7ed;
  border:1px solid #e1c3a3;
}

.order-notice-card{
  padding:15px 16px;
  border-radius:20px;
  background:linear-gradient(135deg,#fff5c9 0%, #ffe100 100%);
  color:#2f2416;
  box-shadow:0 12px 24px rgba(255,225,0,.18);
}
.order-notice-card strong{
  font-size:14px;
}
.order-notice-card p{
  font-size:13px;
  line-height:1.72;
}

.order-guide-card{
  padding:14px 16px;
  border-radius:20px;
  background:rgba(255,253,248,.90);
  border:1px solid #ead7c3;
}
.order-guide-card summary{
  color:#2a201a;
  font-weight:900;
}
.order-guide-card[open] summary{
  margin-bottom:8px;
}
.order-guide-card p{
  color:#7b6657;
  line-height:1.68;
}

.order-search-box{
  height:48px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,253,248,.92);
  border:1px solid #ead7c3;
  box-shadow:0 10px 24px rgba(92,48,24,.04);
}
.order-search-box svg{
  color:#a38776;
}
.order-search-box input{
  color:#3d2d24;
}

.order-category-strip{
  top:82px;
  padding:2px 0 12px;
  margin-bottom:4px;
  background:transparent;
  border:0;
  gap:10px;
}
.order-category-strip a{
  padding:9px 14px;
  border-radius:999px;
  background:#fffaf3;
  border:1px solid #e2cab1;
  color:#755745;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(92,48,24,.04);
}
.order-category-strip a.active,
.order-category-strip a:hover{
  background:#7d3f1f;
  border-color:#7d3f1f;
  color:#fff;
}

.ocard-menu-section{
  padding:0 0 4px;
  scroll-margin-top:138px;
}
.ocard-menu-section h2{
  margin:16px 0 12px;
  font-size:18px;
  color:#251c17;
  font-weight:950;
  letter-spacing:.02em;
}
.ocard-product{
  grid-template-columns:84px 1fr 34px;
  gap:14px;
  padding:14px;
  margin-bottom:12px;
  border:1px solid #ead7c3;
  border-radius:22px;
  background:rgba(255,253,248,.93);
  box-shadow:0 12px 26px rgba(92,48,24,.05);
}
.ocard-product img{
  width:84px;
  height:84px;
  border-radius:16px;
}
.ocard-product h3{
  font-size:16px;
  color:#251c17;
}
.ocard-product p{
  margin:6px 0 7px;
  color:#7f6b5c;
  font-size:12px;
  line-height:1.55;
}
.ocard-product strong{
  color:#9b2e22;
  font-size:18px;
}
.ocard-plus{
  width:30px;
  height:30px;
  background:#f3e5d4;
  color:#8f4a21;
  font-size:20px;
}
.ocard-product:hover .ocard-plus,
.ocard-plus:hover{
  background:#d8893a;
  color:#fff;
}

.order-cart-compact{
  margin-top:22px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,253,248,.95);
  border:1px solid #e8d1b6;
  box-shadow:0 16px 32px rgba(92,48,24,.07);
}
.cart-panel-head h2{
  color:#241b17;
}
.cart-panel-head span{
  background:#fff4df;
  color:#8f2b21;
  min-width:34px;
  height:34px;
}
.cart-empty{
  color:#8a7363;
}
.cart-item{
  border:1px solid #ecd9c3;
  background:#fff;
}
.cart-item strong{
  color:#241b17;
}
.cart-item p{
  color:#7f6b5c;
}
.cart-item-side span{
  color:#8f2b21;
}
.cart-item-side button{
  background:#f3e5d4;
  color:#8f4a21;
}
.cart-summary{
  border-top:1px dashed #dcc1a4;
}
.cart-summary > div{
  color:#241b17;
}

.product-modal{
  z-index:140;
}
.modal-backdrop{
  background:rgba(42,24,16,.50);
}
.modal-card{
  background:#fffaf4;
  border-left:1px solid #ead4bf;
}
.modal-close{
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.modal-img{
  height:318px;
  background:#ead8c3;
}
.modal-content{
  padding:24px 24px 118px;
}
.modal-content h2{
  color:#241b17;
}
.modal-price{
  color:#9b2e22;
  font-weight:900;
}
.modal-content > p{
  color:#7b6657;
}
.option-group h3{
  color:#241b17;
  font-size:18px;
}
.option-group > p{
  color:#9b8a7d;
  font-size:13px;
}
.option-list label{
  border-bottom:1px solid #ecddcf;
}
.option-list input{
  accent-color:#d8893a;
}
.option-list span{
  color:#3a2d25;
}
.option-list em{
  color:#9b8a7d;
}
.modal-footer{
  background:rgba(255,250,244,.96);
  border-top:1px solid #ead4bf;
}
.modal-qty button{
  background:#f3e5d4;
  color:#8f4a21;
}
.modal-add-cart{
  background:linear-gradient(180deg,#ffe55b,#ffd400);
  color:#1e180e;
}
.modal-add-cart small{
  color:#786300;
}

.order-mobile-bar{
  width:min(100%,470px);
  background:rgba(255,250,244,.96);
  border-top:1px solid #e9d1b8;
  box-shadow:0 -10px 28px rgba(92,48,24,.08);
}
.order-mobile-bar span{
  color:#8a7363;
}
.order-mobile-bar strong{
  color:#8f2b21;
}
.order-mobile-bar .btn{
  background:linear-gradient(180deg,#d78e43,#c46f2a);
  color:#fff;
}

@media (max-width:760px){
  .order-ocard-page{
    padding:18px 0 112px;
    background:
      radial-gradient(circle at top right, rgba(239,214,182,.28), transparent 30%),
      linear-gradient(180deg, #fbf7f1 0%, #f7efe2 100%);
  }
  .order-phone-shell{
    width:min(100% - 20px, 470px);
  }
  .order-cover{
    height:172px;
    border-radius:24px;
  }
  .order-category-strip{
    top:74px;
  }
  .ocard-product{
    grid-template-columns:78px 1fr 30px;
    gap:12px;
    padding:12px;
    border-radius:20px;
  }
  .ocard-product img{
    width:78px;
    height:78px;
  }
  .ocard-product h3{
    font-size:15px;
  }
  .ocard-product strong{
    font-size:17px;
  }
  .order-cart-compact{
    padding:16px;
  }
  .modal-img{
    height:290px;
  }
}

@media (max-width:420px){
  .order-phone-shell{
    width:min(100% - 16px, 470px);
  }
  .order-brand-panel h1{
    font-size:22px;
  }
  .order-category-strip a{
    font-size:12px;
    padding:8px 12px;
  }
  .modal-img{
    height:260px;
  }
}


/* v37 hybrid layout: keep desktop arrangement + Ocard-like components */
.order-hybrid-page{
  padding:34px 0 120px;
  background:
    radial-gradient(circle at left 35%, rgba(239,214,182,.28), transparent 22%),
    linear-gradient(180deg,#fbf7f1 0%,#f8f2e8 100%);
}
.order-hero-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  gap:26px;
  align-items:end;
  margin-bottom:26px;
}
.order-hero-copy .section-title{
  margin-bottom:6px;
}
.order-hero-copy .section-desc{
  max-width:820px;
}
.order-hero-store{
  display:grid;
  gap:6px;
  padding:22px 24px;
  border-radius:24px;
  background:rgba(255,253,248,.92);
  border:1px solid #e8d1b6;
  box-shadow:0 14px 28px rgba(92,48,24,.06);
}
.order-hero-store strong{
  font-size:22px;
  color:#241b17;
}
.order-hero-store span{
  color:#8a6b57;
}
.order-toolbar-card{
  display:grid;
  grid-template-columns:1.2fr 0.75fr 0.95fr 1fr;
  gap:16px;
  align-items:center;
  padding:18px;
  margin-bottom:26px;
  border-radius:28px;
  background:rgba(255,253,248,.95);
  border:1px solid #e8d1b6;
  box-shadow:0 18px 34px rgba(92,48,24,.06);
}
.order-toolbar-brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.order-toolbar-logo{
  width:58px;
  height:58px;
  border-radius:18px;
  object-fit:cover;
  flex:0 0 auto;
  background:#fff;
  border:3px solid #fff;
  box-shadow:0 10px 20px rgba(92,48,24,.10);
}
.order-toolbar-brand h2{
  margin:0 0 4px;
  font-size:22px;
  color:#241b17;
}
.order-toolbar-brand p{
  margin:0;
  color:#8a6b57;
  font-size:13px;
  line-height:1.55;
}
.order-toolbar-card .order-mode-tabs,
.order-toolbar-card .order-pickup-card,
.order-toolbar-card .order-search-box{
  width:100%;
  margin:0;
}
.order-toolbar-card .order-mode-tabs{
  min-width:190px;
}
.order-hybrid-grid{
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 300px;
  gap:24px;
  align-items:start;
}
.order-left-sidebar,
.order-right-sidebar{
  display:grid;
  gap:18px;
}
.order-left-sidebar .order-notice-card,
.order-left-sidebar .order-guide-card,
.order-left-sidebar .order-category-panel{
  width:100%;
  margin:0;
}
.order-category-panel,
.order-right-sidebar .panel,
.order-side-store{
  position:sticky;
  top:108px;
}
.order-category-panel{
  padding:22px;
  border-radius:28px;
}
.order-category-panel h2{
  margin:0 0 18px;
  font-size:22px;
}
.order-category-list{
  display:grid;
  gap:10px;
}
.order-category-list a{
  display:block;
  padding:13px 14px;
  border-radius:16px;
  color:#49352b;
  font-weight:900;
  transition:.18s ease;
}
.order-category-list a.active,
.order-category-list a:hover{
  background:#ecddc8;
  color:#a63a1e;
}
.order-content-area{
  min-width:0;
}
.order-content-area .ocard-menu-section{
  padding:0;
  margin-bottom:18px;
  scroll-margin-top:122px;
}
.order-content-area .ocard-menu-section h2{
  margin:0 0 16px;
  font-size:32px;
  color:#241b17;
}
.hybrid-product{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 50px;
  gap:18px;
  align-items:center;
  padding:18px 18px;
  margin-bottom:18px;
  border-radius:28px;
  background:rgba(255,253,248,.94);
  border:1px solid #e7cfb2;
  box-shadow:0 16px 30px rgba(92,48,24,.05);
  cursor:pointer;
}
.hybrid-product img{
  width:112px;
  height:112px;
  border-radius:20px;
  object-fit:cover;
  background:#ead8c3;
}
.hybrid-product-body{
  min-width:0;
}
.hybrid-product-title{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:6px;
}
.hybrid-product h3{
  margin:0;
  font-size:22px;
  color:#241b17;
}
.order-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#fff5e7;
  border:1px solid #e1c09f;
  color:#9b552e;
  font-size:12px;
  font-weight:900;
}
.hybrid-product p{
  margin:0 0 14px;
  color:#786759;
  line-height:1.65;
}
.hybrid-product strong{
  color:#9b2e22;
  font-size:22px;
  font-weight:950;
}
.hybrid-plus{
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#da913d;
  color:#fff;
  font-size:28px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 18px rgba(218,145,61,.28);
}
.hybrid-plus:hover{
  background:#c9751e;
}
.order-side-store{
  display:grid;
  gap:6px;
  padding:22px;
  border-radius:28px;
}
.order-side-store strong{
  font-size:20px;
  color:#241b17;
}
.order-side-store span{
  color:#8a6b57;
}
.desktop-cart-panel{
  padding:22px;
  border-radius:28px;
  top:260px;
}
.desktop-cart-panel .checkout-btn{
  justify-content:center;
}
.order-mobile-bar{
  display:none;
}

@media (max-width:1200px){
  .order-toolbar-card{
    grid-template-columns:1fr 1fr;
  }
  .order-hybrid-grid{
    grid-template-columns:230px minmax(0,1fr) 280px;
    gap:20px;
  }
}
@media (max-width:980px){
  .order-hero-top{
    grid-template-columns:1fr;
    align-items:start;
  }
  .order-toolbar-card{
    grid-template-columns:1fr;
  }
  .order-hybrid-grid{
    grid-template-columns:1fr;
  }
  .order-category-panel,
  .order-right-sidebar .panel,
  .order-side-store{
    position:relative;
    top:auto;
  }
  .order-category-list{
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  }
  .desktop-cart-panel{
    display:none;
  }
  .order-mobile-bar{
    display:grid;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:80;
    grid-template-columns:1fr 1.35fr;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    background:rgba(255,250,244,.96);
    border-top:1px solid #e9d1b8;
    box-shadow:0 -10px 28px rgba(92,48,24,.08);
  }
  .order-mobile-bar span{
    display:block;
    color:#8a7363;
    font-size:12px;
  }
  .order-mobile-bar strong{
    color:#8f2b21;
    font-size:22px;
  }
  .order-mobile-bar .btn{
    width:100%;
    justify-content:center !important;
  }
}
@media (max-width:760px){
  .order-hybrid-page{
    padding:20px 0 112px;
  }
  .order-hero-copy .section-title{
    font-size:46px;
  }
  .order-toolbar-brand h2{
    font-size:20px;
  }
  .order-content-area .ocard-menu-section h2{
    font-size:26px;
  }
  .hybrid-product{
    grid-template-columns:92px minmax(0,1fr) 40px;
    gap:14px;
    padding:14px;
    border-radius:22px;
  }
  .hybrid-product img{
    width:92px;
    height:92px;
    border-radius:16px;
  }
  .hybrid-product h3{
    font-size:19px;
  }
  .hybrid-product strong{
    font-size:20px;
  }
  .hybrid-product p{
    margin-bottom:10px;
    font-size:14px;
  }
  .hybrid-plus{
    width:34px;
    height:34px;
    font-size:24px;
  }
}
@media (max-width:520px){
  .order-toolbar-card{
    padding:14px;
    border-radius:22px;
  }
  .order-toolbar-brand{
    align-items:flex-start;
  }
  .order-toolbar-logo{
    width:52px;
    height:52px;
    border-radius:16px;
  }
  .order-category-list{
    grid-template-columns:1fr;
  }
  .order-category-panel{
    padding:18px;
  }
  .hybrid-product{
    grid-template-columns:78px minmax(0,1fr) 34px;
    gap:12px;
    padding:12px;
    margin-bottom:12px;
  }
  .hybrid-product img{
    width:78px;
    height:78px;
  }
  .hybrid-product h3{
    font-size:17px;
  }
  .hybrid-product p{
    font-size:13px;
  }
  .hybrid-product strong{
    font-size:18px;
  }
}


/* v38 remove pickup field from toolbar + add dine-in tab */
.order-toolbar-card{
  grid-template-columns: 1.2fr 0.95fr 1fr !important;
}
.order-toolbar-card .order-mode-tabs{
  min-width: 260px;
  grid-template-columns: repeat(3, 1fr);
}
.order-toolbar-card .order-mode-tabs button{
  font-size: 15px;
}
@media (max-width:1200px){
  .order-toolbar-card{
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width:980px){
  .order-toolbar-card{
    grid-template-columns: 1fr !important;
  }
}


/* v40 search + product layout toggle */
.order-search-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  width:100%;
}
.order-search-tools .order-search-box{
  width:100%;
  margin:0;
}
.order-view-toggle{
  display:inline-grid;
  grid-template-columns:repeat(2, 48px);
  gap:8px;
  padding:6px;
  border-radius:16px;
  background:rgba(255,253,248,.92);
  border:1px solid #ead7c3;
  box-shadow:0 10px 24px rgba(92,48,24,.04);
}
.order-view-toggle button{
  width:48px;
  height:48px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#c8c0b8;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.18s ease;
}
.order-view-toggle button svg{
  width:22px;
  height:22px;
  display:block;
}
.order-view-toggle button:hover{
  color:#8f4a21;
  background:#fff7ed;
}
.order-view-toggle button.is-active{
  color:#8f4a21;
  background:#f3e5d4;
}

/* actual list/grid switch */
.order-content-area.is-grid-view .ocard-menu-section{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.order-content-area.is-grid-view .ocard-menu-section h2{
  grid-column:1 / -1;
  margin-bottom:0;
}
.order-content-area.is-grid-view .hybrid-product{
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  margin-bottom:0;
}
.order-content-area.is-grid-view .hybrid-product img{
  width:100%;
  height:180px;
}
.order-content-area.is-grid-view .hybrid-product-title{
  margin-bottom:6px;
}
.order-content-area.is-grid-view .hybrid-product h3{
  font-size:19px;
}
.order-content-area.is-grid-view .hybrid-product p{
  min-height:42px;
  margin-bottom:10px;
}
.order-content-area.is-grid-view .hybrid-product strong{
  font-size:20px;
}
.order-content-area.is-grid-view .hybrid-plus{
  position:absolute;
  right:14px;
  bottom:14px;
}
.order-content-area.is-grid-view .hybrid-product{
  position:relative;
  padding-bottom:62px;
}

@media (max-width:1200px){
  .order-search-tools{
    grid-template-columns:minmax(0,1fr) auto;
  }
}

@media (max-width:760px){
  .order-search-tools{
    grid-template-columns:1fr auto;
    gap:10px;
  }
  .order-view-toggle{
    grid-template-columns:repeat(2, 42px);
    padding:5px;
    border-radius:14px;
  }
  .order-view-toggle button{
    width:42px;
    height:42px;
  }
  .order-view-toggle button svg{
    width:19px;
    height:19px;
  }
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:1fr;
  }
  .order-content-area.is-grid-view .hybrid-product{
    grid-template-columns:78px minmax(0,1fr) 34px;
    position:static;
    padding:12px;
    margin-bottom:12px;
  }
  .order-content-area.is-grid-view .hybrid-product img{
    width:78px;
    height:78px;
  }
  .order-content-area.is-grid-view .hybrid-plus{
    position:static;
  }
  .order-content-area.is-grid-view .hybrid-product p{
    min-height:auto;
  }
}


/* v41 grid view count update */
.order-content-area.is-grid-view .ocard-menu-section{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

@media (max-width:980px){
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:760px){
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .order-content-area.is-grid-view .hybrid-product{
    grid-template-columns:1fr;
    position:relative;
    padding:12px 12px 56px;
    margin-bottom:0;
  }
  .order-content-area.is-grid-view .hybrid-product img{
    width:100%;
    height:136px;
  }
  .order-content-area.is-grid-view .hybrid-product h3{
    font-size:16px;
  }
  .order-content-area.is-grid-view .hybrid-product p{
    min-height:40px;
    font-size:12px;
    margin-bottom:8px;
  }
  .order-content-area.is-grid-view .hybrid-product strong{
    font-size:17px;
  }
  .order-content-area.is-grid-view .hybrid-plus{
    position:absolute;
    right:12px;
    bottom:12px;
  }
}

@media (max-width:420px){
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
  }
  .order-content-area.is-grid-view .hybrid-product img{
    height:120px;
  }
}


/* v42 remove notice/store blocks + guide modal by order mode */
.order-left-sidebar{
  gap:16px;
}
.order-guide-button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:18px 20px;
  cursor:pointer;
}
.order-guide-button span{
  font-size:16px;
  font-weight:900;
  color:#241b17;
}
.order-guide-button::before{
  content:"›";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  color:#5a4a3f;
  font-size:22px;
  transform:rotate(90deg);
}
.order-right-sidebar{
  gap:0;
}
.order-hybrid-grid{
  grid-template-columns:240px minmax(0,1fr) 300px;
}
.order-toolbar-card{
  grid-template-columns:1.2fr 1fr 1fr;
}
.order-mode-tabs{
  grid-template-columns:repeat(3,1fr);
}
.order-mode-tabs button{
  transition:.18s ease;
}
.order-mode-tabs button.active{
  background:linear-gradient(180deg,#d78e43,#c46f2a);
  color:#fff;
  box-shadow:0 8px 18px rgba(196,111,42,.24);
}

/* guide modal */
.guide-modal{
  position:fixed;
  inset:0;
  z-index:135;
  display:none;
}
.guide-modal.is-open{
  display:block;
}
.guide-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(42,24,16,.52);
}
.guide-modal-card{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(calc(100% - 28px), 640px);
  border-radius:28px;
  background:#fffaf4;
  border:1px solid #ead4bf;
  box-shadow:0 24px 60px rgba(42,24,16,.18);
  overflow:hidden;
}
.guide-modal-close{
  position:absolute;
  right:14px;
  top:14px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#2b201a;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.guide-modal-content{
  padding:28px 28px 26px;
}
.guide-modal-kicker{
  margin:0 0 8px;
  color:#b6672b;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
}
.guide-modal-content h2{
  margin:0 0 16px;
  color:#241b17;
  font-size:30px;
  line-height:1.2;
}
.guide-modal-body{
  color:#6f5c4e;
}
.guide-modal-body .guide-intro{
  margin:0 0 16px;
  line-height:1.7;
}
.guide-modal-list{
  display:grid;
  gap:10px;
}
.guide-modal-list .guide-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,253,248,.92);
  border:1px solid #ead7c3;
}
.guide-modal-list .guide-num{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff4df;
  color:#a63a1e;
  font-weight:900;
}
.guide-modal-list strong{
  display:block;
  margin-bottom:4px;
  color:#241b17;
  font-size:15px;
}
.guide-modal-list p{
  margin:0;
  line-height:1.65;
}
.guide-modal-note{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff5c9 0%, #ffe100 100%);
  color:#2f2416;
  line-height:1.7;
}

@media (max-width:1200px){
  .order-toolbar-card{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:980px){
  .order-toolbar-card{
    grid-template-columns:1fr;
  }
  .order-hybrid-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .guide-modal-card{
    width:min(calc(100% - 18px), 640px);
    border-radius:22px;
  }
  .guide-modal-content{
    padding:24px 20px 22px;
  }
  .guide-modal-content h2{
    font-size:24px;
  }
  .guide-modal-list .guide-item{
    grid-template-columns:30px 1fr;
    gap:10px;
    padding:10px 12px;
  }
  .guide-modal-list .guide-num{
    width:30px;
    height:30px;
    font-size:13px;
  }
}


/* v43 product quantity badge placement */
.hybrid-product{
  position:relative;
}

.product-qty-badge{
  position:absolute;
  display:none;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#ffe100;
  color:#241b17;
  font-size:14px;
  font-weight:950;
  line-height:1;
  box-shadow:0 8px 18px rgba(255,225,0,.22);
  z-index:3;
}

.hybrid-product.has-qty .product-qty-badge{
  display:inline-flex;
}

/* list view: number sits on the plus button */
.order-content-area:not(.is-grid-view) .product-qty-badge{
  top:50%;
  right:22px;
  transform:translate(35%, -95%);
}

/* grid view: number sits at top-right corner */
.order-content-area.is-grid-view .product-qty-badge{
  top:12px;
  right:12px;
  transform:none;
}

@media (max-width:760px){
  .order-content-area:not(.is-grid-view) .product-qty-badge{
    right:14px;
    min-width:24px;
    height:24px;
    padding:0 6px;
    font-size:12px;
    transform:translate(30%, -90%);
  }

  .order-content-area.is-grid-view .product-qty-badge{
    top:10px;
    right:10px;
    min-width:24px;
    height:24px;
    padding:0 6px;
    font-size:12px;
  }
}


/* v44 refine quantity badge to match requested placement */
.product-qty-badge{
  min-width:36px;
  height:36px;
  padding:0 10px;
  border-radius:10px;
  background:#ffe100;
  color:#241b17;
  font-size:20px;
  font-weight:950;
  box-shadow:none;
}

/* 有數量時，加號隱藏，改顯示數量 */
.hybrid-product.has-qty .hybrid-plus{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* 列表檢視：數量放在原本加號的位置 */
.order-content-area:not(.is-grid-view) .product-qty-badge{
  top:50%;
  right:18px;
  transform:translateY(-50%);
}

/* 井字 / 格狀檢視：數量在商品卡右上角 */
.order-content-area.is-grid-view .product-qty-badge{
  top:10px;
  right:10px;
  transform:none;
}

@media (max-width:760px){
  .product-qty-badge{
    min-width:32px;
    height:32px;
    padding:0 8px;
    border-radius:9px;
    font-size:18px;
  }

  .order-content-area:not(.is-grid-view) .product-qty-badge{
    right:12px;
    transform:translateY(-50%);
  }

  .order-content-area.is-grid-view .product-qty-badge{
    top:8px;
    right:8px;
  }
}


/* v45 category panel sticky desktop + left drawer mobile */
.order-category-mobile-wrap{
  position:sticky;
  top:108px;
  z-index:25;
}
.order-category-mobile-wrap .order-category-panel{
  position:static !important;
  top:auto !important;
}
.order-category-trigger,
.order-category-backdrop{
  display:none;
}

@media (max-width:980px){
  .order-category-mobile-wrap{
    position:static;
  }

  .order-category-trigger{
    position:fixed;
    left:0;
    top:38%;
    z-index:96;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    min-height:132px;
    padding:14px 8px;
    border:0;
    border-radius:0 14px 14px 0;
    background:#2f2c2b;
    color:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
    cursor:pointer;
  }

  .order-category-trigger span{
    writing-mode:vertical-rl;
    text-orientation:mixed;
    letter-spacing:.18em;
    font-size:13px;
    font-weight:900;
  }

  .order-category-backdrop{
    position:fixed;
    inset:0;
    z-index:94;
    background:rgba(24,19,16,.35);
    opacity:0;
    visibility:hidden;
    transition:.18s ease;
  }

  .order-category-panel{
    position:fixed !important;
    left:12px;
    top:78px !important;
    bottom:88px;
    z-index:95;
    width:min(260px, calc(100vw - 64px));
    overflow:auto;
    transform:translateX(calc(-100% - 24px));
    transition:transform .22s ease;
    box-shadow:0 20px 45px rgba(42,24,16,.18);
    background:rgba(255,253,248,.98);
  }

  body.category-panel-open{
    overflow:hidden;
  }

  body.category-panel-open .order-category-backdrop{
    opacity:1;
    visibility:visible;
  }

  body.category-panel-open .order-category-panel{
    transform:translateX(0);
  }

  body.category-panel-open .order-category-trigger{
    opacity:0;
    pointer-events:none;
  }

  .order-category-list{
    grid-template-columns:1fr !important;
  }

  .order-category-list a{
    padding:14px 14px;
  }
}

@media (max-width:520px){
  .order-category-trigger{
    width:38px;
    min-height:120px;
    top:40%;
    padding:12px 7px;
  }

  .order-category-trigger span{
    font-size:12px;
  }

  .order-category-panel{
    left:10px;
    top:72px !important;
    width:min(235px, calc(100vw - 56px));
    bottom:84px;
    padding:18px;
    border-radius:22px;
  }

  .order-category-panel h2{
    font-size:20px;
    margin-bottom:14px;
  }
}


/* v46 fix category sticky on desktop + reliable mobile drawer */
.order-category-mobile-wrap{
  position:static !important;
  top:auto !important;
  z-index:auto;
}

.order-category-mobile-wrap .order-category-panel{
  position:sticky !important;
  top:108px !important;
}

/* desktop keeps regular category card */
.order-category-trigger,
.order-category-backdrop{
  display:none;
}

/* mobile drawer behavior */
@media (max-width:980px){
  .order-category-trigger{
    position:fixed;
    left:0;
    top:38%;
    z-index:120;
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:42px;
    min-height:132px;
    padding:14px 8px;
    border:0;
    border-radius:0 14px 14px 0;
    background:#2f2c2b;
    color:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
    cursor:pointer;
  }

  .order-category-trigger span{
    writing-mode:vertical-rl;
    text-orientation:mixed;
    letter-spacing:.18em;
    font-size:13px;
    font-weight:900;
  }

  .order-category-backdrop{
    position:fixed;
    inset:0;
    z-index:118;
    display:block !important;
    background:rgba(24,19,16,.35);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.2s ease;
  }

  .order-category-mobile-wrap .order-category-panel{
    position:fixed !important;
    left:10px;
    top:78px !important;
    bottom:88px;
    z-index:119;
    width:min(260px, calc(100vw - 60px));
    overflow:auto;
    transform:translateX(calc(-100% - 24px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .22s ease, opacity .18s ease, visibility .18s ease;
    box-shadow:0 20px 45px rgba(42,24,16,.18);
    background:rgba(255,253,248,.98);
  }

  .order-category-mobile-wrap .order-category-panel.is-open{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .order-category-backdrop.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  body.category-panel-open{
    overflow:hidden;
  }

  body.category-panel-open .order-category-trigger{
    opacity:0;
    pointer-events:none;
  }

  .order-category-list{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:520px){
  .order-category-trigger{
    width:38px;
    min-height:120px;
    top:40%;
    padding:12px 7px;
  }

  .order-category-trigger span{
    font-size:12px;
  }

  .order-category-mobile-wrap .order-category-panel{
    left:10px;
    top:72px !important;
    width:min(235px, calc(100vw - 56px));
    bottom:84px;
    padding:18px;
    border-radius:22px;
  }
}


/* v47 desktop category sticky fix */
@media (min-width:981px){
  .order-left-sidebar{
    position: sticky;
    top: 108px;
    align-self: start;
    height: fit-content;
  }

  .order-category-mobile-wrap{
    position: static !important;
  }

  .order-category-mobile-wrap .order-category-panel{
    position: static !important;
    top: auto !important;
  }
}


/* v58 back to top button */
.back-to-top{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:120;
  width:58px;
  height:58px;
  border:1px solid rgba(216,185,148,.9);
  border-radius:50%;
  background:linear-gradient(180deg,#d88b3a,#bd6727);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(92,48,24,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.94);
  transition:opacity .2s ease, visibility .2s ease, transform .2s ease, box-shadow .2s ease;
}

.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.back-to-top:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 20px 40px rgba(92,48,24,.28);
}

.back-to-top span{
  font-size:23px;
  line-height:1;
  font-weight:900;
}

.back-to-top strong{
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:900;
}

@media (max-width:980px){
  .back-to-top{
    right:16px;
    bottom:86px;
    width:52px;
    height:52px;
  }
}

@media (max-width:520px){
  .back-to-top{
    right:14px;
    bottom:82px;
    width:48px;
    height:48px;
  }

  .back-to-top span{
    font-size:21px;
  }

  .back-to-top strong{
    font-size:9px;
  }
}


/* v59 back-to-top visibility fix */
.back-to-top{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) scale(1) !important;
}

.back-to-top.is-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(14px) scale(.94) !important;
}

@media (max-width:980px){
  .back-to-top{
    bottom:86px !important;
  }
}





@media (max-width:760px){
  .order-select-row{
    min-height:64px;
    padding:12px 14px;
    grid-template-columns:28px 82px minmax(0,1fr);
    gap:10px;
    border-radius:16px;
  }

  .order-info-icon{
    font-size:22px;
  }

  .order-native-select{
    min-height:42px;
    font-size:15px;
  }

  .reserve-layout{
    grid-template-columns:1fr;
    gap:10px;
  }

  .reserve-card{
    min-height:92px;
    padding:14px;
    border-radius:16px;
    grid-template-columns:28px minmax(0,1fr);
    gap:10px;
  }

  .reserve-card-icon{
    margin-top:6px;
    font-size:20px;
  }

  .reserve-select{
    min-height:46px;
    font-size:16px;
  }

  .order-address-card{
    min-height:72px;
    padding:14px;
    border-radius:16px;
    grid-template-columns:28px minmax(0,1fr) 16px;
    gap:10px;
  }

  .order-address-body strong{
    font-size:16px;
  }
}


/* v62 order info panel redesign */
.order-extra-panel{
  width:min(100%, 1000px);
  margin:0 0 24px;
}

.order-info-card{
  display:none;
}

.order-delivery-shell{
  padding:20px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,253,248,.95), rgba(251,246,239,.96));
  border:1px solid #ead7c3;
  box-shadow:0 16px 34px rgba(92,48,24,.06);
  display:grid;
  gap:16px;
}

.order-extra-head{
  display:grid;
  gap:5px;
}

.order-extra-kicker{
  color:#c37b33;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.order-extra-head h3{
  margin:0;
  color:#241b17;
  font-size:28px;
  line-height:1.1;
}

.order-extra-head p{
  margin:0;
  color:#8a6b57;
  font-size:14px;
  line-height:1.6;
}

.order-primary-row{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:14px;
}

.order-field-card,
.reserve-card,
.order-address-card{
  min-height:88px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid #eadfce;
  background:#ffffff;
  box-shadow:0 8px 18px rgba(92,48,24,.04);
  box-sizing:border-box;
}

.order-field-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:12px;
}

.order-field-icon,
.reserve-card-icon,
.order-address-icon{
  display:grid;
  place-items:center;
  color:#27221d;
  font-size:23px;
  line-height:1;
}

.order-field-body,
.reserve-card-body,
.order-address-body{
  display:grid;
  gap:8px;
  min-width:0;
}

.order-field-label,
.reserve-card-label,
.order-address-label{
  color:#8d8a86;
  font-size:14px;
}

.order-select-wrap{
  position:relative;
}

.order-select-wrap::after{
  content:"⌄";
  position:absolute;
  top:50%;
  right:14px;
  transform:translateY(-50%);
  color:#8b7f72;
  font-size:18px;
  pointer-events:none;
}

.order-native-select{
  width:100%;
  min-height:48px;
  padding:0 42px 0 16px;
  border:0;
  border-radius:14px;
  background:#fbf7f1;
  box-shadow:inset 0 0 0 1px #eadfce;
  color:#241f1b;
  font-size:17px;
  font-weight:900;
  appearance:none;
  -webkit-appearance:none;
  outline:0;
  cursor:pointer;
}

.reserve-layout{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.reserve-layout.is-active{
  display:grid;
}

.reserve-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:12px;
}

.reserve-select{
  min-height:50px;
  font-size:16px;
}

.order-address-card{
  width:100%;
  text-align:left;
  cursor:pointer;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:12px;
  border:1px solid #eadfce;
}

.order-address-card.compact{
  min-height:88px;
}

.order-address-card.full{
  background:#fffaf3;
}

.order-address-body strong{
  color:#241b17;
  font-size:17px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.order-address-arrow{
  color:#8d8a86;
  font-size:24px;
  text-align:right;
}

/* Only show for delivery mode */
.order-extra-panel.is-delivery .order-info-card{
  display:block;
}
.order-extra-panel.is-pickup .order-info-card,
.order-extra-panel.is-dinein .order-info-card{
  display:none;
}

@media (max-width:980px){
  .order-extra-panel{
    width:100%;
    margin-bottom:18px;
  }

  .order-delivery-shell{
    padding:16px;
    border-radius:22px;
  }

  .order-extra-head h3{
    font-size:24px;
  }

  .order-primary-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .order-delivery-shell{
    padding:14px;
    gap:12px;
    border-radius:18px;
  }

  .order-extra-head h3{
    font-size:22px;
  }

  .order-extra-head p{
    font-size:13px;
  }

  .order-field-card,
  .reserve-card,
  .order-address-card{
    min-height:76px;
    padding:14px;
    border-radius:16px;
  }

  .order-field-card,
  .reserve-card{
    grid-template-columns:28px minmax(0,1fr);
    gap:10px;
  }

  .order-field-icon,
  .reserve-card-icon,
  .order-address-icon{
    font-size:21px;
  }

  .order-native-select{
    min-height:44px;
    font-size:15px;
  }

  .reserve-layout{
    grid-template-columns:1fr;
    gap:10px;
  }

  .order-address-card{
    grid-template-columns:28px minmax(0,1fr) 16px;
    gap:10px;
  }

  .order-address-body strong{
    font-size:15px;
  }
}


/* v63 delivery panel clean redesign */
.order-extra-panel{
  width:min(100%, 1000px) !important;
  margin:0 0 22px !important;
}

.order-info-card{
  display:none;
}

.order-extra-panel.is-delivery .order-info-card{
  display:block !important;
}

.order-extra-panel.is-pickup .order-info-card,
.order-extra-panel.is-dinein .order-info-card{
  display:none !important;
}

.delivery-clean-card{
  padding:18px;
  border-radius:26px;
  background:rgba(255,253,248,.94);
  border:1px solid #e8d1b6;
  box-shadow:0 16px 34px rgba(92,48,24,.055);
}

.delivery-clean-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.delivery-clean-kicker{
  display:block;
  color:#c37b33;
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  margin-bottom:4px;
}

.delivery-clean-head h3{
  margin:0;
  color:#241b17;
  font-size:24px;
  line-height:1.15;
}

.delivery-clean-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#fff4e5;
  border:1px solid #e6c6a7;
  color:#9a4d24;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.delivery-clean-main{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:12px;
}

.delivery-clean-field{
  min-height:82px;
  padding:14px 16px;
  border-radius:20px;
  background:#fffaf3;
  border:1px solid #ead8c3;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-areas:
    "icon label"
    "icon value";
  gap:5px 12px;
  align-items:center;
  box-sizing:border-box;
}

.delivery-clean-icon{
  grid-area:icon;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#2c2520;
  font-size:21px;
}

.delivery-clean-label{
  grid-area:label;
  color:#927b69;
  font-size:13px;
  line-height:1.2;
}

.delivery-clean-field .order-select-wrap{
  grid-area:value;
  min-width:0;
}

.delivery-clean-field .order-native-select{
  min-height:40px;
  padding-left:0;
  padding-right:32px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#241b17;
  font-size:18px;
  font-weight:950;
}

.delivery-clean-field .order-select-wrap::after{
  right:2px;
  color:#8d7b6b;
}

.address-field-card{
  width:100%;
  border:1px solid #ead8c3;
  text-align:left;
  cursor:pointer;
  grid-template-columns:28px minmax(0,1fr) 18px;
  grid-template-areas:
    "icon label arrow"
    "icon value arrow";
}

.address-field-card strong{
  grid-area:value;
  color:#241b17;
  font-size:18px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.delivery-clean-arrow{
  grid-area:arrow;
  color:#9a8877;
  font-size:24px;
  align-self:center;
  justify-self:end;
}

.delivery-reserve-row{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}

.delivery-reserve-row.is-active{
  display:grid;
}

.delivery-clean-field.small{
  min-height:74px;
}

.delivery-clean-field.small .order-native-select{
  font-size:17px;
}

.delivery-note-link{
  width:100%;
  min-height:48px;
  margin-top:12px;
  padding:0 16px;
  border:1px dashed #d9b58d;
  border-radius:16px;
  background:rgba(255,247,237,.7);
  color:#6f5a48;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  text-align:left;
}

.delivery-note-link span{
  font-size:14px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.delivery-note-link b{
  color:#a05024;
  font-size:13px;
  white-space:nowrap;
}

@media (max-width:980px){
  .order-extra-panel{
    width:100% !important;
  }

  .delivery-clean-main{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .delivery-clean-card{
    padding:14px;
    border-radius:20px;
  }

  .delivery-clean-head{
    align-items:flex-start;
    margin-bottom:12px;
  }

  .delivery-clean-head h3{
    font-size:21px;
  }

  .delivery-clean-pill{
    min-height:30px;
    padding:0 11px;
    font-size:12px;
  }

  .delivery-clean-field{
    min-height:72px;
    padding:12px 13px;
    border-radius:16px;
    grid-template-columns:24px minmax(0,1fr);
    gap:4px 10px;
  }

  .delivery-clean-icon{
    width:24px;
    height:24px;
    font-size:19px;
  }

  .delivery-clean-field .order-native-select,
  .address-field-card strong{
    font-size:16px;
  }

  .delivery-reserve-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .delivery-clean-field.small{
    min-height:68px;
  }

  .delivery-note-link{
    min-height:44px;
    border-radius:14px;
  }

  .delivery-note-link span{
    font-size:13px;
  }
}


/* v64 delivery panel: less AI, more practical shop-order layout */
.delivery-natural-panel{
  width:min(100%, 900px) !important;
  margin:0 0 22px !important;
}

.delivery-natural-panel .order-info-card{
  display:none;
}

.delivery-natural-panel.is-delivery .order-info-card{
  display:block !important;
}

.delivery-natural-panel.is-pickup .order-info-card,
.delivery-natural-panel.is-dinein .order-info-card{
  display:none !important;
}

.delivery-natural-card{
  padding:18px 20px;
  border-radius:22px;
  background:#fffdf8;
  border:1px solid #e6d2ba;
  box-shadow:0 12px 26px rgba(92,48,24,.045);
}

.delivery-natural-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  margin-bottom:10px;
  border-bottom:1px dashed #ddc4aa;
}

.delivery-natural-title h3{
  margin:0;
  color:#241b17;
  font-size:21px;
  line-height:1.2;
  font-weight:950;
}

.delivery-natural-title p{
  margin:0;
  color:#8a7363;
  font-size:13px;
  line-height:1.5;
}

.delivery-natural-list{
  display:grid;
  gap:0;
}

.delivery-natural-row{
  min-height:64px;
  padding:11px 0;
  border:0;
  border-bottom:1px solid #efe1d1;
  background:transparent;
  display:grid;
  grid-template-columns:30px 82px minmax(0,1fr) 20px;
  gap:10px;
  align-items:center;
  text-align:left;
  box-sizing:border-box;
}

.delivery-natural-row:last-child{
  border-bottom:0;
}

.delivery-natural-icon{
  display:grid;
  place-items:center;
  color:#7d4a2a;
  font-size:20px;
  line-height:1;
}

.delivery-natural-label{
  color:#8a7363;
  font-size:14px;
  white-space:nowrap;
}

.delivery-natural-row .order-select-wrap{
  min-width:0;
}

.delivery-natural-row .order-select-wrap::after{
  right:12px;
  color:#9a806c;
}

.delivery-natural-row .order-native-select{
  min-height:42px;
  padding:0 38px 0 14px;
  border-radius:12px;
  background:#fbf7f1;
  box-shadow:inset 0 0 0 1px #ead8c3;
  color:#241b17;
  font-size:16px;
  font-weight:900;
}

.delivery-natural-reserve{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid #efe1d1;
}

.delivery-natural-reserve.is-active{
  display:grid;
}

.delivery-natural-row.compact{
  min-height:58px;
  padding:0;
  border-bottom:0;
  grid-template-columns:28px 48px minmax(0,1fr);
}

.delivery-natural-row.compact .order-native-select{
  min-height:40px;
  font-size:15px;
}

.delivery-natural-row.address{
  width:100%;
  cursor:pointer;
}

.delivery-natural-row.address strong{
  min-width:0;
  color:#241b17;
  font-size:16px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.delivery-natural-arrow{
  color:#9a806c;
  font-size:22px;
  text-align:right;
}

.delivery-natural-note{
  justify-self:start;
  margin-top:12px;
  padding:9px 13px;
  border:1px solid #e4c5a6;
  border-radius:999px;
  background:#fff7ed;
  color:#9a4d24;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.delivery-natural-note:hover{
  background:#f5e2cd;
}

@media (max-width:980px){
  .delivery-natural-panel{
    width:100% !important;
  }

  .delivery-natural-title{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

@media (max-width:760px){
  .delivery-natural-card{
    padding:15px 14px;
    border-radius:18px;
  }

  .delivery-natural-title h3{
    font-size:19px;
  }

  .delivery-natural-row{
    min-height:60px;
    grid-template-columns:26px 72px minmax(0,1fr) 16px;
    gap:8px;
  }

  .delivery-natural-icon{
    font-size:18px;
  }

  .delivery-natural-label{
    font-size:13px;
  }

  .delivery-natural-row .order-native-select{
    min-height:40px;
    font-size:15px;
  }

  .delivery-natural-reserve{
    grid-template-columns:1fr;
    gap:9px;
  }

  .delivery-natural-row.compact{
    grid-template-columns:26px 44px minmax(0,1fr);
  }

  .delivery-natural-row.address strong{
    font-size:15px;
  }

  .delivery-natural-note{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* v65 delivery panel refined: cleaner layout + proper SVG icons */
.delivery-refined-panel{
  width:min(100%, 880px) !important;
  margin:0 0 22px !important;
}

.delivery-refined-panel .order-info-card{
  display:none;
}

.delivery-refined-panel.is-delivery .order-info-card{
  display:block !important;
}

.delivery-refined-panel.is-pickup .order-info-card,
.delivery-refined-panel.is-dinein .order-info-card{
  display:none !important;
}

.delivery-refined-card{
  padding:18px;
  border-radius:22px;
  background:#fffdf8;
  border:1px solid #e6d2ba;
  box-shadow:0 10px 24px rgba(92,48,24,.045);
}

.delivery-refined-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #ead8c3;
}

.delivery-refined-head h3{
  margin:0 0 4px;
  color:#241b17;
  font-size:21px;
  line-height:1.2;
  font-weight:950;
}

.delivery-refined-head p{
  margin:0;
  color:#8a7363;
  font-size:13px;
  line-height:1.5;
}

.delivery-refined-grid,
.delivery-refined-reserve{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.delivery-refined-reserve{
  display:none;
  margin-top:12px;
}

.delivery-refined-reserve.is-active{
  display:grid;
}

.delivery-refined-item{
  min-height:70px;
  padding:12px 14px;
  border:1px solid #ead8c3;
  border-radius:16px;
  background:#fffaf3;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 16px;
  grid-template-areas:
    "icon label arrow"
    "icon value arrow";
  gap:4px 10px;
  align-items:center;
  box-sizing:border-box;
  text-align:left;
}

.delivery-refined-item.small{
  min-height:66px;
}

.delivery-refined-icon{
  grid-area:icon;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  color:#9a4d24;
}

.delivery-refined-icon svg{
  width:21px;
  height:21px;
  display:block;
}

.delivery-refined-label{
  grid-area:label;
  color:#927b69;
  font-size:13px;
  line-height:1.2;
}

.delivery-refined-item .order-select-wrap{
  grid-area:value;
  min-width:0;
}

.delivery-refined-item .order-select-wrap::after{
  right:4px;
  color:#9a806c;
}

.delivery-refined-item .order-native-select{
  min-height:34px;
  padding:0 28px 0 0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#241b17;
  font-size:16px;
  font-weight:950;
}

.delivery-refined-address{
  width:100%;
  border:1px solid #ead8c3;
  cursor:pointer;
}

.delivery-refined-address strong{
  grid-area:value;
  color:#241b17;
  font-size:16px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.delivery-refined-arrow{
  grid-area:arrow;
  color:#9a806c;
  font-size:22px;
  justify-self:end;
}

.delivery-refined-note{
  width:100%;
  min-height:44px;
  margin-top:12px;
  padding:0 14px;
  border:1px dashed #d8b58d;
  border-radius:14px;
  background:#fff7ed;
  color:#7a5d48;
  display:grid;
  grid-template-columns:24px 1fr auto;
  gap:8px;
  align-items:center;
  text-align:left;
  cursor:pointer;
}

.delivery-refined-note .delivery-refined-icon{
  width:24px;
  height:24px;
}

.delivery-refined-note .delivery-refined-icon svg{
  width:19px;
  height:19px;
}

.delivery-refined-note span:not(.delivery-refined-icon){
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.delivery-refined-note b{
  color:#9a4d24;
  font-size:13px;
  white-space:nowrap;
}

@media (max-width:980px){
  .delivery-refined-panel{
    width:100% !important;
  }
}

@media (max-width:760px){
  .delivery-refined-card{
    padding:14px;
    border-radius:18px;
  }

  .delivery-refined-grid,
  .delivery-refined-reserve{
    grid-template-columns:1fr;
    gap:10px;
  }

  .delivery-refined-head h3{
    font-size:19px;
  }

  .delivery-refined-item{
    min-height:64px;
    grid-template-columns:24px minmax(0,1fr) 16px;
    padding:11px 12px;
  }

  .delivery-refined-icon{
    width:24px;
    height:24px;
  }

  .delivery-refined-icon svg{
    width:19px;
    height:19px;
  }

  .delivery-refined-item .order-native-select,
  .delivery-refined-address strong{
    font-size:15px;
  }

  .delivery-refined-note{
    grid-template-columns:22px 1fr auto;
  }

  .delivery-refined-note span:not(.delivery-refined-icon){
    font-size:12px;
  }
}


/* v66 delivery panel relayout - more practical and less "AI" */
.delivery-compact-panel{
  width:100% !important;
  max-width:none !important;
  margin:0 0 22px !important;
}

.delivery-compact-panel .order-info-card{
  display:none;
}

.delivery-compact-panel.is-delivery .order-info-card{
  display:block !important;
}

.delivery-compact-panel.is-pickup .order-info-card,
.delivery-compact-panel.is-dinein .order-info-card{
  display:none !important;
}

.delivery-compact-card{
  width:100%;
  max-width:none !important;
  padding:18px 20px;
  border-radius:22px;
  background:#fffdf9;
  border:1px solid #e6d2ba;
}

.delivery-compact-head{
  padding-bottom:12px;
  border-bottom:1px solid #ead8c3;
  margin-bottom:2px;
}

.delivery-compact-head h3{
  margin:0 0 4px;
  color:#241b17;
  font-size:22px;
  line-height:1.2;
  font-weight:950;
}

.delivery-compact-head p{
  margin:0;
  color:#8a7363;
  font-size:13px;
}

.delivery-compact-stack{
  display:grid;
}

.delivery-compact-line{
  min-height:72px;
  padding:0 4px;
  border-bottom:1px solid #efe1d1;
  background:transparent;
  display:grid;
  grid-template-columns:28px 96px minmax(0, 1fr) 18px;
  gap:12px;
  align-items:center;
  text-align:left;
  border-radius:0;
}

.delivery-compact-line.address{
  width:100%;
  border:0;
  cursor:pointer;
}

.delivery-compact-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#b4602d;
}

.delivery-compact-icon svg{
  width:20px;
  height:20px;
  display:block;
}

.delivery-compact-label{
  color:#8c7564;
  font-size:14px;
  white-space:nowrap;
}

.delivery-compact-control{
  min-width:0;
}

.delivery-compact-line .order-select-wrap::after,
.delivery-compact-subline .order-select-wrap::after{
  right:10px;
  color:#9a806c;
}

.delivery-compact-line .order-native-select,
.delivery-compact-subline .order-native-select{
  min-height:44px;
  padding:0 36px 0 14px;
  border-radius:12px;
  background:#fbf7f1;
  box-shadow:inset 0 0 0 1px #ead8c3;
  color:#241b17;
  font-size:16px;
  font-weight:900;
}

.delivery-compact-reserve{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid #efe1d1;
}

.delivery-compact-reserve.is-active{
  display:grid;
}

.delivery-compact-subline{
  min-height:72px;
  padding:0 14px;
  border:1px solid #ead8c3;
  border-radius:16px;
  background:#fffaf3;
  display:grid;
  grid-template-columns:28px 56px minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.delivery-compact-address-text{
  min-width:0;
}

.delivery-compact-address-text strong{
  color:#241b17;
  font-size:17px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.delivery-compact-arrow{
  color:#9a806c;
  font-size:24px;
  justify-self:end;
}

.delivery-compact-note{
  min-height:52px;
  margin-top:10px;
  padding:0 14px;
  border:1px dashed #d9b58d;
  border-radius:14px;
  background:#fff8ef;
  display:grid;
  grid-template-columns:24px 1fr auto;
  gap:10px;
  align-items:center;
  text-align:left;
  cursor:pointer;
}

.delivery-compact-note .delivery-compact-icon{
  width:24px;
  height:24px;
}

.delivery-compact-note .delivery-compact-icon svg{
  width:18px;
  height:18px;
}

.delivery-compact-note span:nth-child(2){
  color:#775c49;
  font-size:13px;
  font-weight:800;
}

.delivery-compact-note b{
  color:#9a4d24;
  font-size:13px;
  white-space:nowrap;
}

@media (max-width:980px){
  .delivery-compact-card{
    max-width:none;
  }
}

@media (max-width:760px){
  .delivery-compact-card{
    padding:14px;
    border-radius:18px;
  }

  .delivery-compact-head h3{
    font-size:20px;
  }

  .delivery-compact-line{
    min-height:64px;
    grid-template-columns:24px 72px minmax(0,1fr) 16px;
    gap:8px;
  }

  .delivery-compact-icon{
    width:24px;
    height:24px;
  }

  .delivery-compact-icon svg{
    width:18px;
    height:18px;
  }

  .delivery-compact-label{
    font-size:13px;
  }

  .delivery-compact-line .order-native-select,
  .delivery-compact-subline .order-native-select{
    min-height:40px;
    font-size:15px;
  }

  .delivery-compact-reserve{
    grid-template-columns:1fr;
    gap:10px;
  }

  .delivery-compact-subline{
    min-height:64px;
    grid-template-columns:24px 48px minmax(0,1fr);
    padding:0 12px;
  }

  .delivery-compact-address-text strong{
    font-size:15px;
  }

  .delivery-compact-note{
    min-height:48px;
    grid-template-columns:22px 1fr auto;
    gap:8px;
  }

  .delivery-compact-note span:nth-child(2),
  .delivery-compact-note b{
    font-size:12px;
  }
}


/* v68 address modal styling */
.address-modal{
  position:fixed;
  inset:0;
  z-index:140;
  display:none;
}
.address-modal.is-open{
  display:block;
}
.address-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(42,24,16,.48);
}
.address-modal-card{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(calc(100% - 28px), 640px);
  padding:26px;
  border-radius:28px;
  background:#fffaf4;
  border:1px solid #ead4bf;
  box-shadow:0 24px 60px rgba(42,24,16,.18);
}
.address-modal-close{
  position:absolute;
  right:14px;
  top:14px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#2b201a;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.address-modal-card h2{
  margin:0 0 18px;
  color:#241b17;
  font-size:30px;
  line-height:1.2;
}
.address-field{
  display:grid;
  grid-template-columns:22px 1fr;
  align-items:center;
  gap:12px;
  min-height:58px;
  margin-bottom:14px;
  padding:0 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead4bf;
}
.address-icon{
  display:grid;
  place-items:center;
  color:#9a4d24;
  font-size:18px;
}
.address-field input{
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  color:#241b17;
  font-size:16px;
}
.address-field input::placeholder{
  color:#9b8a7a;
}
.address-save-btn{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:16px;
  background:linear-gradient(180deg,#d78e43,#c46f2a);
  color:#fff;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(196,111,42,.22);
}
@media (max-width:760px){
  .address-modal-card{
    width:min(calc(100% - 20px), 640px);
    padding:22px 16px 18px;
    border-radius:22px;
  }
  .address-modal-card h2{
    font-size:24px;
  }
  .address-field{
    min-height:54px;
    padding:0 14px;
  }
}


/* v69 note row is now a real textarea */
.delivery-note-textarea{
  align-items:start !important;
  padding:12px 14px !important;
  min-height:88px !important;
  cursor:text !important;
  background:#fffaf3 !important;
}

.delivery-note-textarea .delivery-compact-icon{
  margin-top:3px;
}

.delivery-note-body{
  display:grid;
  gap:8px;
  min-width:0;
}

.delivery-note-body span{
  color:#775c49;
  font-size:13px;
  font-weight:900;
}

.delivery-note-body textarea{
  width:100%;
  min-height:46px;
  resize:vertical;
  border:0;
  outline:none;
  background:transparent;
  color:#241b17;
  font-size:15px;
  line-height:1.55;
  padding:0;
}

.delivery-note-body textarea::placeholder{
  color:#a79585;
}

.delivery-note-textarea b{
  display:none !important;
}

@media (max-width:760px){
  .delivery-note-textarea{
    min-height:86px !important;
    padding:11px 12px !important;
  }

  .delivery-note-body textarea{
    font-size:14px;
  }
}


/* v70 pickup immediate / reserve behavior + stronger full-width extra panel */
.order-page .order-extra-panel.delivery-compact-panel{
  width:100% !important;
  max-width:none !important;
}
.order-page .delivery-compact-card{
  width:100%;
  max-width:none !important;
}
.order-extra-panel.is-delivery .order-info-card:first-child{
  display:block !important;
}
.order-extra-panel.is-delivery .pickup-info-card,
.order-extra-panel.is-dinein .pickup-info-card,
.order-extra-panel.is-dinein .order-info-card:first-child,
.order-extra-panel.is-pickup .order-info-card:first-child{
  display:none !important;
}
.order-extra-panel.is-pickup .pickup-info-card{
  display:block !important;
}
.pickup-compact-card{
  background:#fffdf9;
}
.pickup-head h3{
  margin:0 0 4px;
}
.pickup-wait-card{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:12px;
  align-items:start;
  min-height:86px;
  padding:16px 18px;
  border:1px solid #ead8c3;
  border-radius:16px;
  background:#fffaf3;
}
.pickup-wait-card.is-hidden{
  display:none !important;
}
.pickup-wait-icon{
  width:28px;
  height:28px;
  color:#b4602d;
  display:grid;
  place-items:center;
  margin-top:2px;
}
.pickup-wait-icon svg{
  width:20px;
  height:20px;
  display:block;
}
.pickup-wait-body strong{
  display:block;
  margin:0 0 4px;
  color:#241b17;
  font-size:19px;
  line-height:1.35;
  font-weight:950;
}
.pickup-wait-body p{
  margin:0;
  color:#7a6759;
  font-size:14px;
  line-height:1.7;
}
.pickup-reserve{
  border-bottom:0;
  padding-bottom:0;
}
@media (max-width:760px){
  .pickup-wait-card{
    min-height:78px;
    grid-template-columns:24px 1fr;
    gap:10px;
    padding:14px;
  }
  .pickup-wait-icon{
    width:24px;
    height:24px;
  }
  .pickup-wait-icon svg{
    width:18px;
    height:18px;
  }
  .pickup-wait-body strong{
    font-size:17px;
  }
  .pickup-wait-body p{
    font-size:13px;
  }
}


/* v71 dine-in panel */
.order-extra-panel.is-delivery > .dinein-info-card,
.order-extra-panel.is-pickup > .dinein-info-card{
  display:none !important;
}
.order-extra-panel.is-dinein > .dinein-info-card{
  display:block !important;
}
.order-extra-panel.is-dinein > .order-info-card:first-child,
.order-extra-panel.is-dinein > .pickup-info-card{
  display:none !important;
}
.dinein-compact-card{
  width:100%;
}
.order-native-input{
  width:100%;
  min-height:44px;
  padding:0 14px;
  border:0;
  border-radius:12px;
  background:#fbf7f1;
  box-shadow:inset 0 0 0 1px #ead8c3;
  color:#241b17;
  font-size:16px;
  font-weight:800;
  outline:none;
  transition:box-shadow .18s ease, background-color .18s ease;
}
.order-native-input::placeholder{
  color:#9a806c;
  font-weight:700;
}
.order-native-input:focus{
  box-shadow:inset 0 0 0 1px #d9934a, 0 0 0 3px rgba(217,147,74,.12);
  background:#fffdf9;
}
.dinein-counts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  padding-top:14px;
}
.dinein-subline{
  padding:0 4px;
}
@media (max-width:760px){
  .order-native-input{
    min-height:42px;
    font-size:15px;
  }
  .dinein-counts{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* v73 hard fix: make 外帶自取 panel visible again */
.order-extra-panel.is-pickup > .order-info-card{
  display:none !important;
}

.order-extra-panel.is-pickup > .pickup-info-card{
  display:block !important;
}

.order-extra-panel.is-delivery > .order-info-card{
  display:none !important;
}

.order-extra-panel.is-delivery > .order-info-card:first-child{
  display:block !important;
}

.order-extra-panel.is-dinein > .order-info-card{
  display:none !important;
}

.order-extra-panel.is-dinein > .dinein-info-card{
  display:block !important;
}

/* make sure the top mode buttons are always visible */
.order-toolbar-card .order-mode-tabs,
.order-mode-tabs{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* v74 pickup missing block fix */
.pickup-store-line{
  border-bottom:1px solid #efe1d1 !important;
}

.pickup-store-line .delivery-compact-address-text{
  display:grid;
  gap:2px;
}

.pickup-store-line .delivery-compact-address-text strong{
  color:#241b17;
  font-size:17px;
  font-weight:950;
}

.pickup-store-line .delivery-compact-address-text small{
  color:#8a7363;
  font-size:13px;
  line-height:1.4;
}

.order-extra-panel.is-pickup [data-pickup-reserve-fields].is-active{
  display:grid !important;
}

.order-extra-panel.is-pickup [data-pickup-wait].is-hidden{
  display:none !important;
}

.order-extra-panel.is-pickup [data-pickup-wait]:not(.is-hidden){
  display:grid !important;
}


/* v75b dine-in note */
.dinein-note-textarea{
  margin-top:14px;
}
.dinein-note-textarea textarea{
  min-height:88px;
}
@media (max-width:760px){
  .dinein-note-textarea textarea{
    min-height:82px;
  }
}


/* v76 clean mode panel visibility fix */
.mode-panel{
  width:100% !important;
  max-width:none !important;
  margin:0 0 22px !important;
}

.mode-panel .mode-info-card{
  display:none !important;
}

.mode-panel.is-delivery .mode-delivery-card{
  display:block !important;
}

.mode-panel.is-pickup .mode-pickup-card{
  display:block !important;
}

.mode-panel.is-dinein .mode-dinein-card{
  display:block !important;
}

.mode-panel .delivery-compact-card{
  width:100% !important;
  max-width:none !important;
}

.pickup-store-line .delivery-compact-address-text{
  display:grid;
  gap:2px;
}

.pickup-store-line .delivery-compact-address-text strong{
  color:#241b17;
  font-size:17px;
  font-weight:950;
}

.pickup-store-line .delivery-compact-address-text small{
  color:#8a7363;
  font-size:13px;
  line-height:1.4;
}

.mode-panel.is-pickup [data-pickup-reserve-fields].is-active{
  display:grid !important;
}

.mode-panel.is-pickup [data-pickup-wait].is-hidden{
  display:none !important;
}

.mode-panel.is-pickup [data-pickup-wait]:not(.is-hidden){
  display:grid !important;
}

.dinein-counts{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  padding-top:14px;
}

.dinein-note-textarea{
  margin-top:14px;
}

.dinein-note-textarea textarea{
  min-height:88px;
}

@media (max-width:760px){
  .dinein-counts{
    grid-template-columns:1fr;
    gap:10px;
  }

  .dinein-note-textarea textarea{
    min-height:82px;
  }
}


/* v77 pickup behavior fix */
.mode-panel.is-pickup [data-pickup-wait]{
  display:grid !important;
}
.mode-panel.is-pickup [data-pickup-wait].is-hidden{
  display:none !important;
}
.mode-panel.is-pickup [data-pickup-reserve-fields]{
  display:none !important;
}
.mode-panel.is-pickup [data-pickup-reserve-fields].is-active{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.mode-panel.is-pickup .pickup-store-line{
  display:grid !important;
}
@media (max-width:760px){
  .mode-panel.is-pickup [data-pickup-reserve-fields].is-active{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* v78 mode cleanup */
.pickup-wait-card.is-hidden{display:none !important;}
.delivery-compact-reserve.pickup-reserve{display:none;}
.delivery-compact-reserve.pickup-reserve.is-active{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
@media (max-width:760px){.delivery-compact-reserve.pickup-reserve.is-active{grid-template-columns:1fr;}}


/* v79 pickup uses v70 layout/behavior */
.mode-panel .mode-pickup-card{
  display:none !important;
}

.mode-panel.is-pickup .mode-pickup-card,
.order-extra-panel.is-pickup .mode-pickup-card{
  display:block !important;
}

.mode-panel.is-delivery .mode-pickup-card,
.mode-panel.is-dinein .mode-pickup-card{
  display:none !important;
}

.mode-panel.is-pickup .mode-delivery-card,
.mode-panel.is-pickup .mode-dinein-card{
  display:none !important;
}

.mode-panel.is-pickup [data-pickup-reserve-fields]{
  display:none !important;
}

.mode-panel.is-pickup [data-pickup-reserve-fields].is-active{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.mode-panel.is-pickup [data-pickup-wait]{
  display:grid !important;
}

.mode-panel.is-pickup [data-pickup-wait].is-hidden{
  display:none !important;
}

.mode-panel.is-pickup .pickup-store-line{
  display:grid !important;
}

.mode-panel.is-pickup .pickup-compact-card{
  width:100% !important;
  max-width:none !important;
}

@media (max-width:760px){
  .mode-panel.is-pickup [data-pickup-reserve-fields].is-active{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* v81 mobile cart bar redesign */
@media (max-width:980px){
  .order-mobile-bar{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:12px 14px 14px;
    background:rgba(255,250,244,.98);
  }
  .order-mobile-summary{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    padding:0 2px;
  }
  .order-mobile-summary span{
    display:block;
    color:#8a7363;
    font-size:12px;
    letter-spacing:.04em;
  }
  .order-mobile-summary strong{
    color:#8f2b21;
    font-size:22px;
    line-height:1;
    font-weight:900;
  }
  .order-mobile-bar .mobile-cart-view-btn{
    width:100%;
    min-height:48px;
    justify-content:center !important;
    font-size:16px;
    font-weight:900;
    letter-spacing:.02em;
    border-radius:16px;
  }
  .back-to-top{
    bottom:132px !important;
  }
}
@media (max-width:520px){
  .order-mobile-bar{
    padding:10px 12px 12px;
    gap:8px;
  }
  .order-mobile-summary strong{
    font-size:20px;
  }
  .order-mobile-bar .mobile-cart-view-btn{
    min-height:46px;
    font-size:15px;
  }
  .back-to-top{
    bottom:124px !important;
    right:12px;
  }
}


/* v82 mobile cart bar hard layout fix */
@media (max-width:980px){
  .order-mobile-bar{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    width:100% !important;
    max-width:100% !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    box-sizing:border-box !important;
    gap:8px !important;
    padding:10px 12px 12px !important;
    background:rgba(255,250,244,.98) !important;
    border-top:1px solid #e9d1b8 !important;
    transform:none !important;
  }

  .order-mobile-bar > *{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  .order-mobile-summary{
    grid-column:1 / -1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    padding:0 2px !important;
    box-sizing:border-box !important;
  }

  .order-mobile-summary span{
    color:#8a7363 !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  .order-mobile-summary strong{
    color:#8f2b21 !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-align:right !important;
  }

  .order-mobile-bar .btn,
  .order-mobile-bar .mobile-cart-view-btn{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:16px !important;
    text-align:center !important;
    white-space:nowrap !important;
    transform:none !important;
  }

  .order-mobile-bar .mobile-cart-view-btn span{
    display:inline !important;
    color:inherit !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .back-to-top{
    bottom:118px !important;
    right:14px !important;
  }

  body{
    padding-bottom:112px;
  }
}

@media (max-width:520px){
  .order-mobile-bar{
    padding:9px 10px 11px !important;
  }

  .order-mobile-bar .btn,
  .order-mobile-bar .mobile-cart-view-btn{
    height:46px !important;
    min-height:46px !important;
    border-radius:14px !important;
  }

  .back-to-top{
    bottom:112px !important;
    right:12px !important;
  }
}

/* v83 homepage popular thumbnails */
.menu-card{position:relative;overflow:hidden;}
.popular-card-thumb{width:92px;height:92px;object-fit:cover;border-radius:22px;display:block;margin:0 0 18px;box-shadow:0 12px 26px rgba(92,48,24,.12);}
.menu-card .menu-card-badge{position:absolute;top:34px;right:34px;}

/* v83 menu image switcher */
.menu-image-section{margin:28px 0 42px;padding:28px;border:1px solid #e6d2ba;border-radius:28px;background:rgba(255,253,248,.94);box-shadow:0 16px 38px rgba(92,48,24,.06);}
.menu-image-head{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end;margin-bottom:22px;}
.menu-image-head h2{margin:4px 0 6px;color:#241b17;font-size:40px;line-height:1.1;font-weight:950;}
.menu-image-head p:not(.kicker){margin:0;color:#8a7363;line-height:1.7;}
.menu-image-tabs{display:flex;gap:10px;padding:6px;border:1px solid #ead8c3;border-radius:999px;background:#f2e5d6;}
.menu-image-tabs button{min-height:42px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:#6b5748;font-weight:950;cursor:pointer;}
.menu-image-tabs button.active{background:#d07b31;color:#fff;box-shadow:0 8px 18px rgba(196,111,42,.18);}
.menu-image-frame{border-radius:24px;background:linear-gradient(180deg,#f8efe4,#fffaf3);border:1px solid #ead8c3;padding:18px;}
.menu-image-panel{display:none;margin:0;}
.menu-image-panel.active{display:block;}
.menu-image-panel img{width:100%;max-height:900px;object-fit:contain;display:block;border-radius:18px;background:#fff;box-shadow:0 16px 35px rgba(92,48,24,.10);}
.menu-image-panel figcaption{margin-top:12px;color:#8a7363;font-size:14px;text-align:center;}
@media (max-width:980px){.popular-card-thumb{width:86px;height:86px;}.menu-image-head{grid-template-columns:1fr;align-items:start;}.menu-image-tabs{width:100%;border-radius:18px;}.menu-image-tabs button{flex:1;padding:0 12px;}}
@media (max-width:520px){.popular-card-thumb{width:76px;height:76px;border-radius:18px;margin-bottom:14px;}.menu-card .menu-card-badge{top:26px;right:24px;}.menu-image-section{padding:18px;border-radius:22px;}.menu-image-head h2{font-size:30px;}.menu-image-tabs{flex-direction:column;}.menu-image-panel img{max-height:720px;}}


/* v84 homepage drink thumbnails hard fix */
.popular-card-thumb{
  width:118px !important;
  height:118px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:24px !important;
  margin:0 0 18px !important;
  box-shadow:0 16px 34px rgba(92,48,24,.16) !important;
}

.menu-card .popular-card-thumb + h3,
.menu-card .popular-card-thumb ~ h3{
  margin-top:0 !important;
}

@media (max-width:760px){
  .popular-card-thumb{
    width:96px !important;
    height:96px !important;
    border-radius:20px !important;
  }
}

/* v84 menu image zoom */
.menu-image-zoom-btn{
  width:100%;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in;
  display:block;
}

.menu-image-zoom-btn img{
  transition:transform .22s ease, box-shadow .22s ease;
}

.menu-image-zoom-btn:hover img{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 22px 46px rgba(92,48,24,.16);
}

.menu-zoom-modal{
  position:fixed;
  inset:0;
  z-index:220;
  display:none;
  padding:24px;
}

.menu-zoom-modal.is-open{
  display:grid;
  place-items:center;
}

.menu-zoom-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(35,24,18,.72);
  cursor:zoom-out;
}

.menu-zoom-dialog{
  position:relative;
  z-index:1;
  width:min(96vw, 980px);
  max-height:92vh;
  overflow:auto;
  border-radius:24px;
  background:#fffaf3;
  padding:14px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}

.menu-zoom-dialog img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
  background:#fff;
}

.menu-zoom-close{
  position:sticky;
  top:0;
  margin-left:auto;
  margin-bottom:10px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#241b17;
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  z-index:2;
}

body.menu-zoom-open{
  overflow:hidden;
}

@media (max-width:760px){
  .menu-zoom-modal{
    padding:10px;
  }

  .menu-zoom-dialog{
    width:100%;
    max-height:94vh;
    border-radius:18px;
    padding:10px;
  }

  .menu-zoom-close{
    width:40px;
    height:40px;
    font-size:26px;
  }
}


/* v86 product modal footer layout fix */
@media (min-width: 761px){
  .product-modal .modal-card{
    display:flex;
    flex-direction:column;
  }
  .product-modal .modal-content{
    padding:26px 30px 24px !important;
  }
  .product-modal .modal-footer{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:auto !important;
    display:grid;
    grid-template-columns:132px 1fr;
    gap:12px;
    padding:18px 30px 28px !important;
    background:#fffdf8 !important;
    border-top:1px solid #ead5bd !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
}
@media (max-width: 760px){
  .product-modal .modal-content{
    padding:22px 22px 112px !important;
  }
  .product-modal .modal-footer{
    position:fixed !important;
    left:auto !important;
    right:0 !important;
    bottom:0 !important;
    transform:none !important;
    width:min(560px,100%) !important;
    grid-template-columns:118px 1fr !important;
    gap:10px;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background:rgba(255,253,248,.96) !important;
    border-top:1px solid #ead5bd !important;
    box-shadow:0 -8px 24px rgba(0,0,0,.08) !important;
    backdrop-filter:blur(12px) !important;
    z-index:4;
  }
}


/* v87 order customer name + product note */
.order-customer-name-card{
  width:100%;
  margin:0 0 14px;
  min-height:68px;
  padding:12px 16px;
  border:1px solid #e6d2ba;
  border-radius:18px;
  background:#fffdf9;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:12px;
  align-items:center;
  box-sizing:border-box;
}

.order-customer-name-body{
  display:grid;
  gap:6px;
  min-width:0;
}

.order-customer-name-body span{
  color:#8c7564;
  font-size:13px;
  font-weight:800;
}

.order-customer-name-body input{
  width:100%;
  min-height:38px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:#241b17;
  font-size:17px;
  font-weight:900;
}

.order-customer-name-body input::placeholder{
  color:#a79585;
  font-weight:700;
}

.product-note-group{
  padding-bottom:8px;
}

.product-note-textarea{
  width:100%;
  min-height:88px;
  padding:14px 16px;
  border:1px solid #ead8c3;
  border-radius:16px;
  background:#fffaf3;
  color:#241b17;
  font-size:15px;
  line-height:1.6;
  resize:vertical;
  outline:none;
  box-sizing:border-box;
}

.product-note-textarea::placeholder{
  color:#a79585;
}

.product-note-textarea:focus{
  border-color:#d8893a;
  box-shadow:0 0 0 3px rgba(216,137,58,.12);
  background:#fffdf8;
}

.cart-item-note{
  margin:4px 0 0;
  color:#8a7363;
  font-size:12px;
  line-height:1.45;
}

@media (max-width:760px){
  .order-customer-name-card{
    min-height:62px;
    padding:11px 13px;
    border-radius:16px;
  }

  .order-customer-name-body input{
    font-size:15px;
  }

  .product-note-textarea{
    min-height:76px;
    font-size:14px;
  }
}


/* v88 modal note + customer input refinements */
.product-customer-group,
.product-note-group{
  margin-top: 24px;
  padding: 20px 18px;
  border: 1px solid #ead8c3;
  border-radius: 18px;
  background: #fffdf9;
}

.product-customer-group h3,
.product-note-group h3{
  margin: 0 0 6px;
}

.product-customer-group p,
.product-note-group p{
  margin: 0 0 12px;
}

.product-customer-input,
.product-note-textarea{
  width: 100%;
  border: 1px solid #ead8c3;
  border-radius: 16px;
  background: #fffaf3;
  color: #241b17;
  font-size: 15px;
  line-height: 1.6;
  box-sizing: border-box;
  outline: none;
}

.product-customer-input{
  min-height: 52px;
  padding: 0 16px;
  font-weight: 700;
}

.product-customer-input::placeholder,
.product-note-textarea::placeholder{
  color: #a79585;
}

.product-note-textarea{
  min-height: 108px;
  padding: 14px 16px;
  resize: vertical;
}

.product-customer-input:focus,
.product-note-textarea:focus{
  border-color: #d8893a;
  box-shadow: 0 0 0 3px rgba(216,137,58,.12);
  background: #fffdf8;
}

@media (max-width: 760px){
  .product-customer-group,
  .product-note-group{
    margin-top: 18px;
    padding: 16px 14px;
    border-radius: 16px;
  }

  .product-customer-input{
    min-height: 48px;
    font-size: 14px;
  }

  .product-note-textarea{
    min-height: 96px;
    font-size: 14px;
  }
}


/* v89 product modal open fix + field spacing */
.product-modal .product-customer-group,
.product-modal .product-note-group{
  margin:24px 0 0 !important;
  padding:20px 18px !important;
  border:1px solid #ead8c3 !important;
  border-radius:18px !important;
  background:#fffdf9 !important;
  box-sizing:border-box !important;
}

.product-modal .product-customer-input,
.product-modal .product-note-textarea{
  width:100% !important;
  box-sizing:border-box !important;
}

.product-modal .product-customer-input{
  min-height:52px;
  padding:0 16px;
  border:1px solid #ead8c3;
  border-radius:16px;
  background:#fffaf3;
  color:#241b17;
  font-size:15px;
  font-weight:800;
  outline:none;
}

.product-modal .product-note-textarea{
  min-height:108px !important;
}

@media (max-width:760px){
  .product-modal .product-customer-group,
  .product-modal .product-note-group{
    margin-top:18px !important;
    padding:16px 14px !important;
    border-radius:16px !important;
  }
}


/* v90 required validation */
.required-mark{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:3px 7px;
  border-radius:999px;
  background:#fff1e3;
  color:#b35b25;
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:900;
  vertical-align:middle;
}

.option-group.has-error,
.product-customer-group.has-error,
.product-note-group.has-error{
  border-color:#c93f2e !important;
  box-shadow:0 0 0 3px rgba(201,63,46,.10) !important;
}

.option-group.has-error .option-list,
.product-customer-group.has-error .product-customer-input,
.product-note-group.has-error .product-note-textarea{
  border-color:#c93f2e !important;
}

.field-error{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff1ee;
  color:#b52d20;
  font-size:14px;
  font-weight:900;
  line-height:1.5;
}

.modal-add-cart.is-disabled,
.modal-add-cart:disabled{
  opacity:.55;
  cursor:not-allowed;
}

@media (max-width:760px){
  .field-error{
    font-size:13px;
    padding:9px 10px;
  }
}


/* v91 single / multi required options */
.multi-option-group{
  border:1px solid #ead8c3;
  border-radius:18px;
  background:#fffdf9;
  padding:20px 18px;
}

.multi-option-list label{
  padding:14px 0;
}

.multi-option-list input[type="checkbox"]{
  width:22px;
  height:22px;
  accent-color:#d8893a;
}

.multi-option-group.has-error{
  border-color:#c93f2e !important;
  box-shadow:0 0 0 3px rgba(201,63,46,.10) !important;
}

@media (max-width:760px){
  .multi-option-group{
    padding:16px 14px;
    border-radius:16px;
  }
}


/* v92 mobile product modal scroll/layout fix */
@media (max-width: 760px){
  body.modal-open{
    overflow:hidden !important;
    touch-action:none;
  }

  .product-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:3000 !important;
    overflow:hidden !important;
  }

  .product-modal.is-open{
    display:block !important;
  }

  .product-modal .modal-backdrop{
    position:fixed !important;
    inset:0 !important;
    background:rgba(28,20,16,.55) !important;
  }

  .product-modal .modal-card{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    border-radius:0 !important;
    background:#fffaf3 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .product-modal .modal-close{
    position:fixed !important;
    top:12px !important;
    right:12px !important;
    z-index:3020 !important;
    width:44px !important;
    height:44px !important;
    background:rgba(255,255,255,.96) !important;
  }

  .product-modal .modal-img{
    width:100% !important;
    height:260px !important;
    max-height:36vh !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    display:block !important;
  }

  .product-modal .modal-content{
    padding:24px 22px 24px !important;
  }

  .product-modal .modal-content h2{
    font-size:26px !important;
    line-height:1.25 !important;
  }

  .product-modal .option-group{
    margin-top:24px !important;
  }

  .product-modal .option-list{
    gap:0 !important;
  }

  .product-modal .option-list label{
    min-height:58px !important;
    padding:13px 0 !important;
  }

  .product-modal .product-customer-group,
  .product-modal .product-note-group,
  .product-modal .multi-option-group{
    margin-top:20px !important;
    padding:16px 14px !important;
  }

  .product-modal .modal-footer{
    position:sticky !important;
    left:0 !important;
    right:auto !important;
    bottom:0 !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:122px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background:rgba(255,250,244,.98) !important;
    border-top:1px solid #ead4bf !important;
    box-shadow:0 -10px 24px rgba(92,48,24,.10) !important;
    backdrop-filter:blur(12px) !important;
    z-index:3010 !important;
    box-sizing:border-box !important;
  }

  .product-modal .modal-qty{
    grid-template-columns:38px 1fr 38px !important;
    gap:6px !important;
  }

  .product-modal .modal-qty button{
    height:44px !important;
    border-radius:10px !important;
  }

  .product-modal .modal-add-cart{
    min-width:0 !important;
    min-height:44px !important;
    height:44px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
  }
}

@media (max-width: 420px){
  .product-modal .modal-img{
    height:236px !important;
    max-height:34vh !important;
  }

  .product-modal .modal-content{
    padding:22px 18px 22px !important;
  }

  .product-modal .modal-footer{
    grid-template-columns:116px minmax(0,1fr) !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .product-modal .modal-add-cart{
    gap:8px !important;
    font-size:14px !important;
  }
}


/* v93 option prices are included in total */
.option-list em{
  min-width:52px;
  text-align:right;
}

.cart-item-note{
  word-break:break-word;
}


/* v94 optional option support */
.optional-mark{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:3px 7px;
  border-radius:999px;
  background:#f3eadf;
  color:#8a7363;
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:900;
  vertical-align:middle;
}

.optional-option-group{
  border:1px solid #ead8c3;
  border-radius:18px;
  background:#fffdf9;
  padding:20px 18px;
}

.optional-option-group.has-error{
  border-color:#c93f2e !important;
  box-shadow:0 0 0 3px rgba(201,63,46,.10) !important;
}

@media (max-width:760px){
  .optional-option-group{
    padding:16px 14px;
    border-radius:16px;
  }
}


/* v95 multi-select examples */
.required-multi-example{
  border:1px solid #e0b98f;
  border-radius:18px;
  background:#fffaf3;
  padding:20px 18px;
}

.required-multi-example h3,
.optional-option-group h3{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
}

.required-multi-example.has-error,
.optional-option-group.has-error{
  border-color:#c93f2e !important;
  box-shadow:0 0 0 3px rgba(201,63,46,.10) !important;
}

@media (max-width:760px){
  .required-multi-example{
    padding:16px 14px;
    border-radius:16px;
  }
}


/* v96 iOS mobile input zoom fix */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

@media (max-width:760px){
  input,
  textarea,
  select,
  .product-modal input,
  .product-modal textarea,
  .product-modal select,
  .order-native-input,
  .order-native-select,
  .product-customer-input,
  .product-note-textarea,
  .delivery-note-body textarea,
  .order-customer-name-body input{
    font-size:16px !important;
  }

  input::placeholder,
  textarea::placeholder{
    font-size:16px !important;
  }

  .product-modal .product-customer-input,
  .product-modal .product-note-textarea{
    font-size:16px !important;
  }
}

/* Keep visual size close to previous design while real font-size stays 16px */
@media (max-width:420px){
  .product-modal .product-customer-input,
  .product-modal .product-note-textarea,
  .delivery-note-body textarea,
  .order-customer-name-body input{
    line-height:1.5;
  }
}


/* v97 mobile flicker fix */
/* Keep iOS from zooming inputs, but avoid JS viewport/transform resets that caused flashing. */
@media (max-width:760px){
  input,
  textarea,
  select,
  button{
    -webkit-tap-highlight-color:transparent;
  }

  input,
  textarea,
  select,
  .product-modal input,
  .product-modal textarea,
  .product-modal select,
  .order-native-input,
  .order-native-select,
  .product-customer-input,
  .product-note-textarea,
  .delivery-note-body textarea,
  .order-customer-name-body input{
    font-size:16px !important;
  }

  .product-modal .modal-card{
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:none !important;
    will-change:auto !important;
  }

  .product-modal .modal-footer{
    will-change:auto !important;
  }

  html,
  body{
    scroll-behavior:auto;
  }
}

/* v98 customer name optional */
.product-customer-group.optional-field-group{
  border-color:#ead8c3 !important;
}


/* v99 login + member pages */
.member-page-main{
  width:var(--container);
  margin:0 auto;
  padding:40px 0 72px;
}
.member-login-page,
.member-home-page{
  background:
    radial-gradient(circle at 10% 12%, rgba(242,190,115,.18), transparent 22%),
    linear-gradient(180deg,var(--cream-2),var(--cream));
}
.login-hero{
  padding:8px 0 24px;
}
.login-card{
  display:grid;
  grid-template-columns:minmax(320px, 480px) minmax(0, 1fr);
  background:rgba(255,255,255,.62);
  border:1px solid var(--line);
  border-radius:36px;
  overflow:hidden;
  box-shadow:var(--soft-shadow);
}
.login-visual{
  min-height:100%;
  background:linear-gradient(180deg, rgba(191,109,46,.08), rgba(212,135,63,.18));
}
.login-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:560px;
}
.login-content{
  padding:44px 46px;
}
.eyebrow{
  margin:0 0 12px;
  color:var(--brand-2);
  letter-spacing:.22em;
  font-weight:900;
  font-size:13px;
}
.login-content h1{
  margin:0 0 14px;
  font-size:44px;
  line-height:1.08;
}
.login-copy{
  margin:0 0 24px;
  color:var(--muted);
  font-size:18px;
}
.login-methods{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-bottom:24px;
}
.login-method{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
  min-height:64px;
  padding:14px 18px;
  font-weight:900;
  color:var(--ink);
}
.login-line{
  background:linear-gradient(180deg, #34c759, #16a74a);
  color:#fff;
  border-color:#1da64a;
}
.login-method-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  border-radius:14px;
  font-size:12px;
  font-weight:900;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
}
.login-phone .login-method-icon{
  background:var(--milk);
  border-color:var(--line);
}
.login-form{
  display:grid;
  gap:16px;
}
.login-field{
  display:grid;
  gap:10px;
  font-weight:800;
}
.login-field span{
  font-size:15px;
}
.login-field input{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:15px 18px;
  min-height:56px;
}
.login-code-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
}
.btn-code{
  border:1px solid var(--line);
  background:var(--milk);
  color:var(--tea);
  border-radius:18px;
  padding:0 18px;
  font-weight:900;
}
.btn-login-submit{
  min-height:58px;
  justify-content:center;
}
.login-tips{
  margin-top:20px;
  color:var(--muted);
  font-size:14px;
}
.login-tips p{
  margin:6px 0;
}

.member-shell{
  display:flex;
  justify-content:center;
}
.member-app-card{
  width:min(640px, 100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:34px;
  box-shadow:var(--soft-shadow);
  padding:18px 18px 12px;
}
.member-app-head{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:6px 0 16px;
}
.member-app-head h1{
  margin:0;
  font-size:24px;
  font-weight:900;
}
.member-collapse{
  position:absolute;
  right:0;
  top:0;
  border:0;
  background:transparent;
  color:#8e857b;
  font-size:28px;
  line-height:1;
}
.member-profile{
  text-align:center;
  padding:4px 8px 14px;
}
.member-avatar{
  width:120px;
  height:120px;
  border-radius:50%;
  margin:0 auto 18px;
  background:#f0efef;
  color:#b8b8b8;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:62px;
  font-weight:700;
}
.member-profile h2{
  margin:0 0 14px;
  font-size:44px;
  line-height:1.1;
}
.member-level-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  text-align:left;
}
.member-label{
  margin:0 0 6px;
  color:#8a847e;
  font-size:14px;
}
.member-level-row strong{
  font-size:36px;
  font-weight:900;
}
.member-level-image{
  width:122px;
  height:72px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--line);
}
.member-status-grid{
  display:grid;
  gap:14px;
  margin:6px 0 14px;
}
.member-status-card{
  background:#faf8f6;
  border:1px solid #ece5dd;
  border-radius:22px;
  padding:18px 20px;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.member-status-left{
  display:flex;
  align-items:center;
  gap:12px;
}
.member-status-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ece7e2;
  font-size:20px;
}
.member-status-title{
  font-size:26px;
  font-weight:900;
  line-height:1.2;
}
.member-status-number{
  font-size:56px;
  line-height:1;
  color:#6d645b;
  white-space:nowrap;
}
.member-status-number span{
  font-size:22px;
  margin-left:2px;
}
.member-shortcuts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.member-shortcut-card{
  min-height:86px;
  border-radius:22px;
  background:#faf8f6;
  border:1px solid #ece5dd;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:28px;
  font-weight:900;
}
.member-shortcut-icon{
  width:42px;
  text-align:center;
  flex:0 0 auto;
}
.member-app-footer{
  padding:24px 10px 8px;
  text-align:center;
  color:#8a847e;
  font-size:16px;
}
.member-app-footer p{
  margin:4px 0;
}
.member-logout-row{
  display:flex;
  justify-content:flex-end;
  padding:8px 0 2px;
}
.member-logout-btn{
  border:0;
  background:#f2f2f2;
  color:#6f6962;
  border-radius:999px;
  min-width:80px;
  min-height:42px;
  font-weight:900;
}
.compact-footer .footer-bottom{
  display:flex;
  gap:18px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}

@media (max-width:980px){
  .login-card{
    grid-template-columns:1fr;
  }
  .login-visual img{
    min-height:280px;
    max-height:360px;
  }
}

@media (max-width:760px){
  .member-page-main{
    width:min(100% - 24px, 720px);
    padding:24px 0 52px;
  }
  .login-content{
    padding:28px 20px;
  }
  .login-content h1{
    font-size:34px;
  }
  .login-copy{
    font-size:16px;
  }
  .login-methods{
    grid-template-columns:1fr;
  }
  .login-code-row{
    grid-template-columns:1fr;
  }
  .member-app-card{
    padding:14px 14px 10px;
    border-radius:28px;
  }
  .member-app-head h1{
    font-size:18px;
  }
  .member-avatar{
    width:98px;
    height:98px;
    font-size:52px;
    margin-bottom:14px;
  }
  .member-profile h2{
    font-size:24px;
    margin-bottom:12px;
  }
  .member-level-row{
    align-items:center;
    gap:12px;
  }
  .member-level-row strong{
    font-size:20px;
  }
  .member-level-image{
    width:92px;
    height:46px;
    border-radius:12px;
  }
  .member-status-card{
    padding:15px 16px;
    min-height:70px;
    border-radius:18px;
  }
  .member-status-title{
    font-size:18px;
  }
  .member-status-number{
    font-size:32px;
  }
  .member-status-number span{
    font-size:14px;
  }
  .member-shortcuts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .member-shortcut-card{
    min-height:70px;
    border-radius:18px;
    padding:14px;
    font-size:18px;
    line-height:1.25;
  }
  .member-shortcut-icon{
    width:28px;
  }
  .member-app-footer{
    font-size:13px;
    padding-top:18px;
  }
}


/* v100 login buttons redesign */
.login-social-panel{
  display:grid;
  gap:14px;
  margin:26px 0 22px;
}

.social-login-btn{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0, 1fr) 28px;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:14px 16px;
  border-radius:24px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 14px 34px rgba(92,48,24,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.social-login-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(92,48,24,.12);
}

.social-login-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  letter-spacing:.02em;
}

.line-login-btn{
  background:linear-gradient(135deg, #15c755 0%, #06a83f 100%);
  color:#fff;
  border-color:#10b84a;
}

.line-login-btn .line-icon{
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-size:13px;
}

.google-login-btn{
  background:#fff;
  color:var(--ink);
  border-color:#ead8c3;
}

.google-login-btn .google-icon{
  background:
    radial-gradient(circle at 50% 50%, #fff 0 48%, transparent 49%),
    conic-gradient(#4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);
  color:#241b17;
  font-size:26px;
  font-family:Arial, sans-serif;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}

.social-login-text{
  display:grid;
  gap:2px;
  min-width:0;
}

.social-login-text strong{
  font-size:20px;
  line-height:1.25;
  font-weight:950;
}

.social-login-text small{
  font-size:14px;
  line-height:1.4;
  opacity:.78;
  font-weight:700;
}

.social-login-arrow{
  justify-self:end;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.22);
  font-size:28px;
  line-height:1;
}

.google-login-btn .social-login-arrow{
  background:#f5eadf;
  color:#9a5b2e;
}

.login-form{
  display:none;
}

@media (max-width:760px){
  .social-login-btn{
    grid-template-columns:50px minmax(0,1fr) 24px;
    min-height:70px;
    padding:12px 14px;
    border-radius:20px;
  }

  .social-login-icon{
    width:50px;
    height:50px;
    border-radius:16px;
  }

  .social-login-text strong{
    font-size:17px;
  }

  .social-login-text small{
    font-size:12px;
  }
}


/* v101: login buttons refined to look less AI / more like a real branded site */
.member-login-page .login-card{
  overflow:hidden;
}

.member-login-page .login-content{
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(255,251,245,.96));
}

.member-login-page .login-copy{
  max-width:760px;
}

.member-login-page .login-social-panel{
  display:grid;
  gap:16px;
  margin:28px 0 22px;
}

.member-login-page .social-login-btn{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 32px;
  align-items:center;
  gap:16px;
  min-height:88px;
  padding:14px 18px;
  border-radius:24px;
  border:1px solid #ead9c6;
  background:#fffdfa;
  box-shadow:0 10px 24px rgba(106,61,31,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow:hidden;
}

.member-login-page .social-login-btn::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:24px 0 0 24px;
  background:#ddd;
}

.member-login-page .social-login-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 30px rgba(106,61,31,.10);
}

.member-login-page .line-login-btn{
  color:#1d2a20;
  border-color:#d7eadb;
}

.member-login-page .line-login-btn::before{
  background:#1ec85a;
}

.member-login-page .google-login-btn{
  color:#1f1d1a;
  border-color:#eadfd1;
}

.member-login-page .google-login-btn::before{
  background:linear-gradient(180deg,#4285f4 0 24%, #34a853 24% 49%, #fbbc05 49% 74%, #ea4335 74% 100%);
}

.member-login-page .social-login-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  letter-spacing:.02em;
  flex-shrink:0;
}

.member-login-page .line-icon{
  background:#18c44f;
  color:#fff;
  font-size:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.member-login-page .google-icon{
  background:#fff;
  border:1px solid #eee0d1;
  box-shadow:0 6px 16px rgba(82,60,39,.08);
}

.member-login-page .google-g{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:conic-gradient(#4285f4 0 25%, #34a853 25% 50%, #fbbc05 50% 75%, #ea4335 75% 100%);
  color:#1e1e1e;
  font-size:22px;
  font-weight:900;
  font-family:Arial, sans-serif;
  box-shadow:inset 0 0 0 8px #fff;
}

.member-login-page .social-login-text{
  display:grid;
  gap:3px;
  min-width:0;
}

.member-login-page .social-login-text strong{
  font-size:18px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.01em;
}

.member-login-page .social-login-text small{
  font-size:13px;
  line-height:1.45;
  color:#6d625b;
  font-weight:700;
}

.member-login-page .social-login-arrow{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  font-size:24px;
  line-height:1;
  justify-self:end;
  color:#9b5f34;
  background:#f8efe5;
}

.member-login-page .line-login-btn .social-login-arrow{
  background:#e6f7eb;
  color:#0da743;
}

.member-login-page .login-tips{
  margin-top:8px;
  color:#7e6f66;
}

.member-login-page .login-tips p{
  margin:6px 0;
}

@media (max-width: 960px){
  .member-login-page .social-login-btn{
    grid-template-columns:64px minmax(0,1fr) 28px;
    min-height:82px;
    padding:13px 16px;
    border-radius:20px;
  }
  .member-login-page .social-login-icon{
    width:50px;
    height:50px;
    border-radius:16px;
  }
  .member-login-page .line-icon{
    font-size:16px;
  }
  .member-login-page .social-login-text strong{
    font-size:17px;
  }
}

@media (max-width: 640px){
  .member-login-page .social-login-btn{
    grid-template-columns:56px minmax(0,1fr) 24px;
    min-height:76px;
    padding:12px 14px;
    gap:12px;
  }
  .member-login-page .social-login-icon{
    width:46px;
    height:46px;
    border-radius:14px;
  }
  .member-login-page .google-g{
    width:38px;
    height:38px;
    box-shadow:inset 0 0 0 7px #fff;
    font-size:20px;
  }
  .member-login-page .social-login-text strong{
    font-size:16px;
  }
  .member-login-page .social-login-text small{
    font-size:12px;
  }
}


/* v102: alternative login page design with portrait visual and full footer */
.member-login-page .member-page-main{
  width:min(100% - 48px, 1320px);
}

.login-hero-v2{
  padding:18px 0 20px;
}

.login-layout-v2{
  display:grid;
  grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
  gap:34px;
  align-items:stretch;
}

.login-visual-side{
  display:grid;
  gap:18px;
  align-content:start;
}

.login-portrait-card{
  position:relative;
  min-height:640px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid #e6cfb1;
  background:#f7efe5;
  box-shadow:0 18px 44px rgba(124,62,37,.10);
}

.login-portrait-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.login-portrait-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg, rgba(41,24,18,0) 0%, rgba(41,24,18,.72) 100%);
}

.login-portrait-caption{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:2;
  color:#fff8ef;
  display:grid;
  gap:10px;
}

.portrait-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter: blur(6px);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.login-portrait-caption strong{
  font-size:34px;
  line-height:1.2;
  letter-spacing:-.03em;
  text-shadow:0 8px 24px rgba(0,0,0,.28);
}

.login-side-points{
  display:grid;
  gap:12px;
}

.login-point-chip{
  min-height:54px;
  padding:0 18px;
  border-radius:18px;
  display:flex;
  align-items:center;
  font-weight:800;
  color:#6b4f3b;
  background:rgba(255,253,250,.84);
  border:1px solid #ead8c4;
  box-shadow:0 10px 24px rgba(106,61,31,.05);
}

.login-panel-v2{
  background:linear-gradient(180deg, rgba(255,253,249,.95), rgba(255,249,242,.96));
  border:1px solid #e4ccb0;
  border-radius:34px;
  padding:38px 40px;
  box-shadow:0 18px 40px rgba(112,44,25,.08);
}

.login-panel-v2 .eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid #e8caa8;
  margin-bottom:14px;
}

.login-panel-v2 h1{
  margin:0 0 14px;
  font-size:58px;
  line-height:1.02;
  letter-spacing:-.04em;
}

.login-panel-v2 .login-copy{
  margin:0 0 24px;
  color:#6e5c51;
  font-size:19px;
  line-height:1.9;
  max-width:760px;
}

.login-feature-strip{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-bottom:20px;
}

.login-feature-item{
  padding:18px 20px;
  border-radius:22px;
  background:#fff;
  border:1px solid #eddcc9;
  box-shadow:0 10px 24px rgba(112,44,25,.04);
  display:grid;
  gap:4px;
}

.login-feature-item strong{
  font-size:18px;
  color:#2e1d15;
}

.login-feature-item span{
  color:#7d6b60;
  font-size:14px;
  line-height:1.6;
}

.member-login-page .login-social-panel{
  display:grid;
  gap:16px;
  margin:26px 0 24px;
}

.member-login-page .social-login-btn.alt-login-design{
  position:relative;
  display:grid;
  grid-template-columns:74px minmax(0,1fr) 34px;
  gap:18px;
  align-items:center;
  min-height:92px;
  padding:16px 20px;
  border-radius:26px;
  background:#fff;
  border:1px solid #ebd9c6;
  box-shadow:0 12px 30px rgba(112,44,25,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.member-login-page .social-login-btn.alt-login-design:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(112,44,25,.10);
  border-color:#ddb88d;
}

.member-login-page .social-login-btn.alt-login-design::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(221,184,141,.15), rgba(221,184,141,.45), rgba(221,184,141,.15));
}

.member-login-page .line-login-btn.alt-login-design::before,
.member-login-page .google-login-btn.alt-login-design::before{
  display:none;
}

.member-login-page .social-login-btn.alt-login-design .social-login-icon{
  width:58px;
  height:58px;
  border-radius:18px;
}

.member-login-page .social-login-btn.alt-login-design .line-icon{
  background:linear-gradient(180deg, #20c355, #10ae41);
  color:#fff;
  box-shadow:0 12px 22px rgba(16,174,65,.18);
}

.member-login-page .social-login-btn.alt-login-design .google-icon{
  background:#fff;
  border:1px solid #eddcc9;
  box-shadow:0 10px 22px rgba(76,56,37,.07);
}

.member-login-page .social-login-btn.alt-login-design .social-login-text strong{
  font-size:26px;
  line-height:1.2;
  font-weight:900;
  color:#221710;
}

.member-login-page .social-login-btn.alt-login-design .social-login-text small{
  display:block;
  margin-top:4px;
  font-size:14px;
  color:#7b6a5e;
}

.member-login-page .social-login-btn.alt-login-design .social-login-arrow{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#f8efe5;
  color:#9b5f34;
  font-size:18px;
  font-weight:900;
}

.login-note-box{
  padding:22px 24px;
  border-radius:24px;
  background:#fffaf4;
  border:1px dashed #e4c6a0;
}

.login-note-box h2{
  margin:0 0 12px;
  font-size:22px;
}

.login-note-box ul{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:8px;
  color:#6d5c51;
  line-height:1.7;
}

@media (max-width: 1100px){
  .login-layout-v2{
    grid-template-columns:1fr;
  }
  .login-visual-side{
    grid-template-columns:minmax(0, 1fr);
  }
  .login-portrait-card{
    min-height:440px;
  }
}

@media (max-width: 760px){
  .member-login-page .member-page-main{
    width:min(100% - 24px, 1320px);
  }
  .login-hero-v2{
    padding:12px 0 10px;
  }
  .login-panel-v2{
    padding:26px 20px;
    border-radius:28px;
  }
  .login-panel-v2 h1{
    font-size:42px;
  }
  .login-panel-v2 .login-copy{
    font-size:16px;
    line-height:1.8;
  }
  .login-feature-strip{
    grid-template-columns:1fr;
  }
  .login-portrait-card{
    min-height:420px;
    border-radius:28px;
  }
  .login-portrait-caption{
    left:18px;
    right:18px;
    bottom:18px;
  }
  .login-portrait-caption strong{
    font-size:28px;
  }
  .member-login-page .social-login-btn.alt-login-design{
    grid-template-columns:60px minmax(0,1fr) 26px;
    gap:12px;
    min-height:80px;
    padding:14px 14px;
    border-radius:22px;
  }
  .member-login-page .social-login-btn.alt-login-design .social-login-icon{
    width:48px;
    height:48px;
    border-radius:15px;
  }
  .member-login-page .social-login-btn.alt-login-design .social-login-text strong{
    font-size:18px;
  }
  .member-login-page .social-login-btn.alt-login-design .social-login-text small{
    font-size:12px;
  }
}


/* v103 login cleanup */
.login-hero-v3{
  padding-top: 10px;
}

.login-layout-v3{
  grid-template-columns:minmax(340px, 420px) minmax(0, 1fr);
  gap:32px;
}

.login-visual-side-clean,
.login-portrait-card-clean{
  height:100%;
}

.login-portrait-card-clean{
  min-height:820px;
  background:#f8ede1;
}

.login-portrait-card-clean img{
  object-fit:cover;
  object-position:center;
}

.login-panel-v3{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:820px;
}

.login-panel-v3 .login-copy{
  max-width:860px;
  margin-bottom:30px;
}

.login-panel-v3 .login-social-panel{
  margin:10px 0 20px;
}

.login-legal-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
  color:#8a6c55;
  font-size:14px;
}

.login-legal-links a{
  color:#8a6c55;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s ease, border-color .18s ease;
}

.login-legal-links a:hover{
  color:#a95d2f;
  border-color:#a95d2f;
}

@media (max-width: 1100px){
  .login-layout-v3{
    grid-template-columns:1fr;
  }
  .login-portrait-card-clean,
  .login-panel-v3{
    min-height:auto;
  }
  .login-portrait-card-clean{
    min-height:560px;
  }
}

@media (max-width: 760px){
  .login-layout-v3{
    gap:20px;
  }
  .login-portrait-card-clean{
    min-height:460px;
  }
  .login-panel-v3{
    min-height:auto;
  }
  .login-legal-links{
    justify-content:center;
    font-size:13px;
  }
}


/* v107 global header/footer + member cart block */
.member-cart-card{
  position:relative;
  background:linear-gradient(135deg,#fffdf8,#fff3e4);
  border-color:#e4c6a6;
}

.member-cart-card em{
  margin-left:auto;
  min-width:28px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#ff5c6b;
  color:#fff;
  font-size:13px;
  font-style:normal;
  font-weight:950;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.member-home-page .header-account{
  color:var(--brand);
}

.member-home-page .header-account svg{
  stroke:currentColor;
}

.member-home-page .header-cart,
.member-login-page .header-cart{
  display:inline-flex;
}

.member-home-page .footer-v2,
.member-login-page .footer-v2{
  margin-top:56px;
}

@media (max-width:760px){
  .member-cart-card em{
    min-width:24px;
    height:22px;
    font-size:12px;
  }
}


/* v108 member tabs + rewards */
.member-tabs-app{
  overflow:hidden;
}
.member-tab-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:8px 0 18px;
  background:#fbf6f0;
  border:1px solid #ece5dd;
  padding:8px;
  border-radius:22px;
}
.member-tab-btn{
  min-height:54px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:#7b6f63;
  font-weight:900;
  font-size:18px;
}
.member-tab-btn.is-active{
  background:linear-gradient(180deg,#f1b45e,#d88434);
  color:#fff;
  box-shadow:0 10px 20px rgba(191,109,46,.18);
}
.member-tab-panel{ display:none; }
.member-tab-panel.is-active{ display:block; }
.member-points-summary{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px;
  border-radius:24px;
  border:1px solid #ece5dd;
  background:linear-gradient(135deg,#fff9f0,#fffdf9);
  margin:6px 0 16px;
}
.member-points-label{
  display:block;
  margin-bottom:4px;
  color:#8a847e;
  font-size:14px;
}
.member-points-balance strong{
  display:block;
  font-size:42px;
  line-height:1;
  margin-bottom:8px;
}
.member-points-balance p{
  margin:0;
  color:#7e746b;
  font-size:15px;
}
.member-points-link{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:#fff;
  color:var(--brand);
  border-radius:999px;
  min-height:44px;
  padding:0 18px;
  font-weight:900;
}
.member-reward-list{
  display:grid;
  gap:14px;
  margin-bottom:18px;
}
.reward-item-card{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:16px;
  background:#faf8f6;
  border:1px solid #ece5dd;
  border-radius:24px;
  padding:14px;
}
.reward-item-thumb{
  width:100%;
  height:112px;
  object-fit:cover;
  border-radius:18px;
}
.reward-item-body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
}
.reward-item-body h3{
  margin:0;
  font-size:24px;
  line-height:1.15;
}
.reward-item-body p{
  margin:0;
  color:#7b746c;
  font-size:15px;
  line-height:1.65;
}
.reward-item-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.reward-points-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:#fff1dc;
  color:#af5c1f;
  font-weight:900;
}
.reward-action-btn{
  border:0;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  background:linear-gradient(180deg,#f1b45e,#d88434);
  color:#fff;
  font-weight:900;
}
.reward-action-btn.disabled,
.reward-action-btn:disabled{
  background:#ddd4cb;
  color:#8b8279;
  cursor:not-allowed;
}
.reward-item-card-muted{ opacity:.88; }
.member-history-block{
  border:1px solid #ece5dd;
  border-radius:24px;
  background:#fff;
  padding:18px 18px 8px;
}
.member-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.member-history-head h3{
  margin:0;
  font-size:24px;
}
.member-history-head span{
  color:#8a847e;
  font-size:14px;
}
.member-history-list{ display:grid; }
.member-history-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  border-top:1px solid #eee7de;
}
.member-history-item:first-child{ border-top:0; }
.member-history-item strong{
  display:block;
  margin-bottom:4px;
  font-size:17px;
}
.member-history-item p{
  margin:0;
  color:#8a847e;
  font-size:14px;
}
.member-history-item em{
  font-style:normal;
  font-weight:900;
  font-size:22px;
  white-space:nowrap;
}
.history-plus{ color:#4f8357; }
.history-minus{ color:#b55036; }

@media (max-width:760px){
  .member-tab-btn{ font-size:15px; min-height:48px; }
  .member-points-summary{
    padding:16px;
    border-radius:18px;
    flex-direction:column;
    align-items:flex-start;
  }
  .member-points-balance strong{ font-size:30px; }
  .reward-item-card{
    grid-template-columns:84px minmax(0,1fr);
    gap:12px;
    border-radius:18px;
    padding:12px;
  }
  .reward-item-thumb{ height:84px; border-radius:14px; }
  .reward-item-body h3{ font-size:18px; }
  .reward-item-body p{ font-size:13px; line-height:1.55; }
  .reward-item-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .reward-action-btn{ width:100%; }
  .member-history-block{ border-radius:18px; padding:16px 14px 6px; }
  .member-history-head h3{ font-size:20px; }
  .member-history-item{ flex-direction:column; }
  .member-history-item em{ font-size:18px; }
}


/* v109 member redesign */
.member-redesign-card{
  padding:34px 34px 26px;
}
.member-redesign-head{
  margin-bottom:22px;
}
.member-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  gap:22px;
  align-items:end;
  padding:0 0 24px;
  border-bottom:1px solid #efe6db;
}
.member-identity-block{
  display:flex;
  align-items:center;
  gap:20px;
}
.member-avatar-lg{
  width:124px;
  height:124px;
  font-size:56px;
  border-radius:38px;
}
.member-caption{
  margin:0 0 8px;
  color:#9a8e81;
  font-size:14px;
  letter-spacing:.08em;
}
.member-identity-text h2{
  margin:0 0 8px;
  font-size:56px;
  line-height:1;
}
.member-subline{
  margin:0;
  color:#7f746a;
  font-size:17px;
}
.member-hero-side{
  justify-self:end;
  width:126px;
  text-align:center;
}
.member-hero-side img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:26px;
  border:1px solid #ede2d3;
  background:#fff;
}
.member-hero-side span{
  display:block;
  margin-top:8px;
  color:#8e8070;
  font-size:13px;
}
.member-tabbar-alt{
  display:flex;
  gap:28px;
  padding:18px 0 6px;
  border-bottom:1px solid #efe6db;
  margin-bottom:22px;
}
.member-tab-link{
  position:relative;
  padding:0 0 14px;
  border:0;
  background:none;
  color:#86796b;
  font-size:24px;
  font-weight:900;
}
.member-tab-link.is-active{
  color:#221916;
}
.member-tab-link.is-active::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#eab159,#d67e33);
}
.member-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.member-metric-card{
  padding:24px;
  border:1px solid #ece4d9;
  border-radius:28px;
  background:linear-gradient(180deg,#fffefe,#fbf8f4);
  display:block;
  text-decoration:none;
  color:inherit;
}
.member-metric-card-accent{
  background:linear-gradient(135deg,#f7c980,#e8a95a);
  color:#2f190e;
}
.member-metric-label{
  display:block;
  color:#9a8d81;
  font-size:14px;
  margin-bottom:10px;
}
.member-metric-card-accent .member-metric-label{ color:#6f4d2e; }
.member-metric-card strong{
  display:block;
  font-size:38px;
  line-height:1;
  margin-bottom:10px;
}
.member-metric-card p{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:#7f746a;
}
.member-metric-card-accent p{ color:#5b3d22; }
.member-utility-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.member-utility-item{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 16px;
  border:1px solid #ece4d9;
  border-radius:18px;
  background:#fff;
  text-decoration:none;
  color:#4b4036;
  font-weight:800;
}
.points-stage{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);
  gap:16px;
  margin-bottom:22px;
}
.points-stage-main,
.points-side-box,
.points-history-card{
  border:1px solid #ece4d9;
  border-radius:28px;
  background:#fffdfb;
}
.points-stage-main{
  padding:28px;
}
.points-stage-kicker{
  margin:0 0 10px;
  color:#b56e2f;
  font-weight:900;
  letter-spacing:.14em;
  font-size:13px;
}
.points-stage-main h3{
  margin:0 0 14px;
  font-size:24px;
}
.points-balance-row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.points-balance-row strong{
  font-size:72px;
  line-height:.95;
}
.points-stage-note{
  margin:0;
  color:#7e746b;
  font-size:15px;
}
.points-back-btn{
  border:1px solid #e4c7a8;
  background:#fff;
  color:#b05c22;
  border-radius:999px;
  min-height:44px;
  padding:0 18px;
  font-weight:900;
}
.points-stage-side{
  display:grid;
  gap:16px;
}
.points-side-box{
  padding:22px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.points-side-box span{
  color:#9b8d80;
  font-size:14px;
  margin-bottom:8px;
}
.points-side-box strong{
  font-size:34px;
  line-height:1;
}
.reward-showcase-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.reward-showcase-head h3{
  margin:0;
  font-size:28px;
}
.reward-showcase-head p{
  margin:0;
  color:#8a7f74;
  font-size:14px;
}
.reward-strip-list{ display:grid; gap:14px; margin-bottom:18px; }
.reward-strip-card{
  display:grid;
  grid-template-columns:96px 108px minmax(0,1fr) 130px;
  gap:16px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #ece4d9;
  border-radius:28px;
  background:#fff;
}
.reward-strip-points{
  height:100%;
  min-height:112px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff4df,#f7e1bd);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#b45f1f;
}
.reward-strip-points span{ font-size:34px; font-weight:900; line-height:1; }
.reward-strip-points em{ font-style:normal; font-weight:800; }
.reward-strip-thumb{
  width:108px;
  height:108px;
  object-fit:cover;
  border-radius:22px;
}
.reward-strip-body h4{
  margin:0 0 8px;
  font-size:28px;
}
.reward-strip-body p{
  margin:0;
  color:#7f746a;
  font-size:15px;
  line-height:1.7;
}
.reward-strip-action{ justify-self:end; }
.reward-strip-action button{
  min-width:112px;
  min-height:48px;
  border-radius:999px;
  border:0;
  background:linear-gradient(180deg,#efb764,#d88534);
  color:#fff;
  font-weight:900;
  font-size:16px;
}
.reward-strip-card.is-disabled{
  opacity:.9;
  background:#fcfbfa;
}
.reward-strip-card.is-disabled .reward-strip-action button{
  background:#ddd5cc;
  color:#8b8279;
}
.points-history-card{ padding:22px 24px 10px; }
.points-history-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.points-history-head h3{ margin:0; font-size:24px; }
.points-history-head span{ color:#8a847e; font-size:14px; }
.points-history-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  border-top:1px solid #eee7de;
}
.points-history-row:first-child{ border-top:0; }
.points-history-row strong{ display:block; margin-bottom:4px; font-size:17px; }
.points-history-row p{ margin:0; color:#8a847e; font-size:14px; }
.points-history-row em{ font-style:normal; font-weight:900; font-size:22px; white-space:nowrap; }

@media (max-width:900px){
  .member-redesign-card{ padding:22px 18px 20px; }
  .member-hero-panel{ grid-template-columns:1fr; }
  .member-hero-side{ justify-self:start; width:100px; }
  .member-avatar-lg{ width:90px; height:90px; border-radius:28px; font-size:42px; }
  .member-identity-text h2{ font-size:42px; }
  .member-tabbar-alt{ gap:18px; }
  .member-tab-link{ font-size:18px; }
  .member-summary-grid,
  .member-utility-strip,
  .points-stage{ grid-template-columns:1fr; }
  .reward-showcase-head{ flex-direction:column; align-items:flex-start; }
  .reward-strip-card{
    grid-template-columns:82px 1fr;
    gap:12px;
    align-items:start;
  }
  .reward-strip-points{ min-height:82px; border-radius:18px; }
  .reward-strip-points span{ font-size:28px; }
  .reward-strip-thumb{ width:82px; height:82px; border-radius:16px; }
  .reward-strip-body{ grid-column:2; }
  .reward-strip-action{ grid-column:1 / -1; justify-self:stretch; }
  .reward-strip-action button{ width:100%; }
  .points-balance-row{ flex-direction:column; align-items:flex-start; }
}


/* v110 app-like custom member center */
.member-app-main-v110{
  width:min(100% - 28px, 760px);
  padding-top:34px;
}
.member-app-shell-v110{
  display:flex;
  justify-content:center;
}
.member-phone-v110{
  width:min(100%, 560px);
  border:1px solid #e8d7c2;
  border-radius:38px;
  background:
    linear-gradient(180deg, rgba(255,253,249,.98), rgba(255,249,241,.96));
  box-shadow:0 22px 60px rgba(112,44,25,.10);
  padding:22px;
  overflow:hidden;
}
.member-app-top-v110{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.member-app-title-v110{
  display:grid;
  gap:2px;
}
.member-app-title-v110 span{
  color:#a87545;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
.member-app-title-v110 strong{
  font-size:26px;
}
.member-bell-v110{
  width:42px;
  height:42px;
  border-radius:16px;
  border:1px solid #ead8c4;
  background:#fff;
  color:#d88434;
}
.member-card-v110{
  position:relative;
  min-height:210px;
  border-radius:30px;
  overflow:hidden;
  color:#fffaf4;
  background:#3b281f;
  margin-bottom:16px;
}
.member-card-bg-v110{
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(43,27,20,.88), rgba(137,80,42,.50)),
    url('../images/hero-doublea-drink.jpg') center/cover;
  transform:scale(1.03);
}
.member-card-content-v110{
  position:relative;
  z-index:1;
  min-height:210px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.member-card-user-v110{
  display:flex;
  align-items:center;
  gap:16px;
}
.member-avatar-v110{
  width:74px;
  height:74px;
  border-radius:26px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(6px);
  display:grid;
  place-items:center;
  font-size:32px;
  font-weight:900;
}
.member-card-user-v110 p{
  margin:0 0 5px;
  opacity:.8;
  font-weight:800;
}
.member-card-user-v110 h1{
  margin:0;
  font-size:38px;
}
.member-card-no-v110{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.member-card-no-v110 span{
  font-size:12px;
  letter-spacing:.16em;
  opacity:.75;
  font-weight:900;
}
.member-card-no-v110 strong{
  font-size:15px;
  letter-spacing:.08em;
}
.member-tabbar-v110{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  padding:7px;
  border-radius:22px;
  background:#f1e7da;
  margin-bottom:18px;
}
.member-tab-v110{
  min-height:48px;
  border:0;
  border-radius:17px;
  background:transparent;
  color:#7b6a5d;
  font-weight:900;
  font-size:15px;
}
.member-tab-v110.is-active{
  background:#fffaf4;
  color:#2c1d16;
  box-shadow:0 8px 18px rgba(92,48,24,.08);
}
.member-stat-row-v110{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.member-stat-v110{
  min-height:116px;
  border-radius:24px;
  background:#fff;
  border:1px solid #ead8c4;
  padding:16px 12px;
  display:grid;
  align-content:center;
  text-align:center;
  color:#2c1d16;
}
.member-stat-v110 small{
  color:#8a786a;
  font-weight:800;
}
.member-stat-v110 strong{
  font-size:38px;
  line-height:1;
  margin:8px 0 4px;
}
.member-stat-v110 span{
  color:#c07a37;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.member-action-grid-v110{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-bottom:14px;
}
.member-action-grid-v110 a{
  border:1px solid #ead8c4;
  border-radius:24px;
  background:#fffdf9;
  padding:18px;
  color:#2c1d16;
  display:grid;
  gap:7px;
}
.member-action-grid-v110 em{
  font-style:normal;
  font-size:24px;
}
.member-action-grid-v110 strong{
  font-size:18px;
}
.member-action-grid-v110 span{
  color:#827366;
  font-size:13px;
  line-height:1.5;
}
.member-mini-campaign-v110,
.points-wallet-v110,
.order-card-v110{
  border-radius:26px;
  background:linear-gradient(135deg,#fff2dd,#fffaf4);
  border:1px solid #ead0af;
  padding:20px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.member-mini-campaign-v110 span,
.reward-board-head-v110 span{
  display:block;
  color:#b76d2d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  margin-bottom:6px;
}
.member-mini-campaign-v110 strong{
  display:block;
  font-size:18px;
  margin-bottom:4px;
}
.member-mini-campaign-v110 p,
.points-wallet-v110 p{
  margin:0;
  color:#7e7166;
  font-size:13px;
  line-height:1.55;
}
.member-mini-campaign-v110 button,
.points-wallet-v110 button,
.order-card-v110 a{
  border:0;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#d88434;
  color:#fff;
  font-weight:900;
  white-space:nowrap;
}
.points-wallet-v110{
  align-items:flex-end;
  margin-bottom:16px;
}
.points-wallet-v110 small{
  display:block;
  color:#8a786a;
  font-weight:800;
  margin-bottom:4px;
}
.points-wallet-v110 strong{
  display:block;
  font-size:48px;
  line-height:1;
}
.reward-board-v110{
  margin-bottom:16px;
}
.reward-board-head-v110{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:end;
  margin-bottom:12px;
}
.reward-board-head-v110 h2,
.points-history-head-v110 h2,
.order-history-v110 h2{
  margin:0;
  font-size:26px;
}
.reward-board-head-v110 p{
  margin:0;
  color:#827366;
  font-size:13px;
  line-height:1.55;
  max-width:260px;
}
.reward-ticket-list-v110{
  display:grid;
  gap:12px;
}
.reward-ticket-v110{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px;
  gap:12px;
  align-items:stretch;
  border-radius:26px;
  background:#fff;
  border:1px solid #ead8c4;
  overflow:hidden;
}
.reward-ticket-v110::before,
.reward-ticket-v110::after{
  content:'';
  position:absolute;
  right:84px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff9f1;
  border:1px solid #ead8c4;
  z-index:2;
}
.reward-ticket-v110::before{ top:-9px; }
.reward-ticket-v110::after{ bottom:-9px; }
.reward-ticket-main-v110{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
}
.reward-ticket-main-v110 img{
  width:92px;
  height:92px;
  border-radius:20px;
  object-fit:cover;
}
.reward-type-v110{
  display:inline-flex;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#fff1df;
  color:#b86a2b;
  font-size:12px;
  font-weight:900;
  margin-bottom:7px;
}
.reward-ticket-main-v110 h3{
  margin:0 0 5px;
  font-size:19px;
  line-height:1.25;
}
.reward-ticket-main-v110 p{
  margin:0;
  color:#7e7166;
  font-size:13px;
  line-height:1.5;
}
.reward-ticket-side-v110{
  border-left:1px dashed #e3c9aa;
  padding:14px 12px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  background:#fffaf4;
}
.reward-ticket-side-v110 strong{
  font-size:34px;
  line-height:.9;
  color:#a85b20;
}
.reward-ticket-side-v110 span{
  font-size:13px;
  color:#8b796a;
  font-weight:900;
  margin:4px 0 10px;
}
.reward-ticket-side-v110 button{
  border:0;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#d88434;
  color:#fff;
  font-weight:900;
}
.reward-ticket-v110.is-locked{
  opacity:.72;
}
.reward-ticket-v110.is-locked .reward-ticket-side-v110 button{
  background:#d8cec3;
  color:#7d7166;
}
.points-history-v110,
.order-history-v110{
  border:1px solid #ead8c4;
  border-radius:26px;
  background:#fff;
  padding:18px;
}
.points-history-head-v110{
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:8px;
}
.points-history-head-v110 span{
  color:#8a786a;
  font-size:13px;
  font-weight:800;
}
.points-timeline-v110{
  display:grid;
}
.points-timeline-v110 article,
.order-history-v110 article{
  display:grid;
  grid-template-columns:16px minmax(0,1fr) auto;
  gap:12px;
  padding:14px 0;
  border-top:1px solid #efe5da;
  align-items:start;
}
.points-timeline-v110 article:first-child,
.order-history-v110 article:first-of-type{
  border-top:0;
}
.points-timeline-v110 i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d88434;
  margin-top:6px;
}
.points-timeline-v110 strong,
.order-history-v110 strong{
  display:block;
  margin-bottom:4px;
}
.points-timeline-v110 p,
.order-history-v110 span{
  margin:0;
  color:#827366;
  font-size:13px;
}
.points-timeline-v110 em{
  font-style:normal;
  font-weight:900;
  font-size:18px;
}
.order-card-v110{
  align-items:center;
  margin-bottom:14px;
}
.order-card-v110 span{
  color:#b76d2d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
.order-card-v110 h2{
  margin:6px 0 6px;
  font-size:24px;
}
.order-card-v110 p{
  margin:0;
  color:#827366;
}
.order-history-v110 article{
  grid-template-columns:minmax(0,1fr);
}
.member-tab-panel{ display:none; }
.member-tab-panel.is-active{ display:block; }

@media (max-width:760px){
  .member-app-main-v110{
    width:min(100% - 20px, 760px);
    padding-top:22px;
  }
  .member-phone-v110{
    border-radius:30px;
    padding:16px;
  }
  .member-card-v110,
  .member-card-content-v110{
    min-height:190px;
  }
  .member-card-user-v110 h1{
    font-size:30px;
  }
  .member-stat-row-v110{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .member-stat-v110{
    min-height:96px;
    padding:12px 8px;
    border-radius:20px;
  }
  .member-stat-v110 strong{
    font-size:30px;
  }
  .member-action-grid-v110{
    grid-template-columns:1fr;
  }
  .member-mini-campaign-v110,
  .points-wallet-v110,
  .order-card-v110{
    flex-direction:column;
    align-items:flex-start;
  }
  .reward-board-head-v110{
    flex-direction:column;
    align-items:flex-start;
  }
  .reward-board-head-v110 p{
    max-width:none;
  }
  .reward-ticket-v110{
    grid-template-columns:1fr;
  }
  .reward-ticket-v110::before,
  .reward-ticket-v110::after{
    display:none;
  }
  .reward-ticket-side-v110{
    border-left:0;
    border-top:1px dashed #e3c9aa;
    grid-template-columns:auto auto auto;
    gap:8px;
    justify-content:space-between;
    padding:12px 14px;
  }
  .reward-ticket-side-v110 strong{
    font-size:26px;
  }
  .reward-ticket-main-v110{
    grid-template-columns:76px minmax(0,1fr);
  }
  .reward-ticket-main-v110 img{
    width:76px;
    height:76px;
    border-radius:17px;
  }
}


/* v111 desktop dashboard refresh */
.member-top-desc-v111{
  display:block;
  margin-top:6px;
  color:#8a786a;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}
.member-desktop-quick-v111{
  display:none;
}
.member-bell-v110{
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
@media (min-width:1101px){
  .member-app-main-v110{
    width:min(100% - 52px, 1380px);
    padding-top:38px;
    padding-bottom:18px;
  }
  .member-phone-v110{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:340px minmax(0,1fr);
    grid-template-areas:
      'top top'
      'card quick'
      'card tabs'
      'card panel'
      'footer footer'
      'logout logout';
    gap:22px 28px;
    padding:30px;
    border-radius:42px;
  }
  .member-app-top-v110{
    grid-area:top;
    margin-bottom:0;
    padding-bottom:10px;
    border-bottom:1px solid #efdfcb;
  }
  .member-app-title-v110 strong{
    font-size:42px;
    line-height:1.05;
  }
  .member-card-v110{
    grid-area:card;
    min-height:520px;
    margin-bottom:0;
    position:sticky;
    top:110px;
  }
  .member-card-content-v110{
    min-height:520px;
    padding:28px;
  }
  .member-card-user-v110{
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
  }
  .member-avatar-v110{
    width:86px;
    height:86px;
    border-radius:28px;
    font-size:36px;
  }
  .member-card-user-v110 h1{
    font-size:46px;
  }
  .member-card-user-v110 p{
    font-size:16px;
  }
  .member-card-no-v110{
    display:block;
  }
  .member-card-no-v110 strong{
    display:block;
    margin-top:10px;
    font-size:18px;
  }
  .member-desktop-quick-v111{
    grid-area:quick;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
    gap:16px;
  }
  .member-desktop-hello-v111,
  .member-desktop-side-stats-v111{
    border:1px solid #ead8c4;
    background:#fffdf9;
    border-radius:26px;
    padding:24px;
  }
  .member-desktop-hello-v111 span{
    display:block;
    color:#b76d2d;
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
    margin-bottom:8px;
  }
  .member-desktop-hello-v111 h2{
    margin:0 0 10px;
    font-size:34px;
    line-height:1.1;
  }
  .member-desktop-hello-v111 p{
    margin:0;
    color:#7d7065;
    line-height:1.75;
    font-size:15px;
  }
  .member-desktop-side-stats-v111{
    display:grid;
    gap:18px;
    align-content:center;
    background:linear-gradient(135deg,#fff8ef,#fff0db);
  }
  .member-desktop-side-stats-v111 div{
    display:grid;
    gap:5px;
  }
  .member-desktop-side-stats-v111 small{
    color:#8a786a;
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
  }
  .member-desktop-side-stats-v111 strong{
    font-size:24px;
    line-height:1.2;
  }
  .member-tabbar-v110{
    grid-area:tabs;
    margin-bottom:0;
    width:max-content;
    min-width:420px;
  }
  .member-tab-panel.is-active{
    grid-area:panel;
  }
  .member-stat-row-v110{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
  }
  .member-stat-v110{
    min-height:150px;
    padding:22px 16px;
    border-radius:28px;
  }
  .member-stat-v110 strong{
    font-size:52px;
  }
  .member-action-grid-v110{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
  }
  .member-action-grid-v110 a{
    min-height:156px;
    padding:22px;
    border-radius:28px;
  }
  .member-action-grid-v110 strong{
    font-size:22px;
  }
  .member-action-grid-v110 span{
    font-size:14px;
  }
  .member-mini-campaign-v110{
    padding:24px 26px;
  }
  .reward-board-head-v110{
    margin-bottom:16px;
  }
  .reward-ticket-list-v110{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:16px;
  }
  .reward-ticket-v110{
    min-height:176px;
  }
  .reward-ticket-main-v110{
    grid-template-columns:112px minmax(0,1fr);
    padding:18px;
    gap:16px;
  }
  .reward-ticket-main-v110 img{
    width:112px;
    height:112px;
  }
  .reward-ticket-main-v110 h3{
    font-size:22px;
  }
  .reward-ticket-main-v110 p{
    font-size:14px;
  }
  .reward-ticket-side-v110{
    padding:18px 14px;
  }
  .reward-ticket-side-v110 strong{
    font-size:42px;
  }
  .points-history-v110, .order-history-v110{
    padding:24px 26px;
  }
  .points-history-head-v110 h2,
  .order-history-v110 h2{
    font-size:30px;
  }
  .points-wallet-v110{
    padding:24px 26px;
  }
  .points-wallet-v110 strong{
    font-size:64px;
  }
  .order-card-v110{
    padding:24px 26px;
  }
  .member-app-footer{
    grid-area:footer;
    text-align:center;
    padding-top:8px;
  }
  .member-logout-row{
    grid-area:logout;
    justify-content:flex-end;
  }
}
@media (min-width:1101px) and (max-width:1270px){
  .member-phone-v110{
    grid-template-columns:300px minmax(0,1fr);
    gap:18px 22px;
  }
  .member-desktop-quick-v111{
    grid-template-columns:1fr;
  }
  .reward-ticket-list-v110{
    grid-template-columns:1fr;
  }
}


/* v112 mobile order toolbar: category icon + keyword search + scrollable category tabs */
.order-mobile-category-open,
.order-mobile-category-tabs{
  display:none;
}

.order-product.is-search-hidden,
.ocard-menu-section.is-search-empty{
  display:none !important;
}

@media (max-width:980px){
  .order-toolbar-card{
    position:sticky;
    top:70px;
    z-index:72;
    padding:14px;
    gap:12px;
    border-radius:24px;
    backdrop-filter:blur(14px);
  }

  .order-toolbar-card .order-search-tools{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
  }

  .order-mobile-category-open{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid #e7d3bd;
    border-radius:16px;
    background:#fffdf8;
    color:#49352b;
    box-shadow:0 8px 18px rgba(92,48,24,.06);
  }

  .order-mobile-category-open svg{
    width:24px;
    height:24px;
  }

  .order-toolbar-card .order-search-box{
    min-height:48px;
    border-radius:16px;
    padding:0 14px;
    background:#fffdf8;
    border:1px solid #e7d3bd;
    box-shadow:0 8px 18px rgba(92,48,24,.04);
  }

  .order-toolbar-card .order-search-box svg{
    width:20px;
    height:20px;
    color:#7c6a5d;
  }

  .order-toolbar-card .order-search-box input{
    font-size:16px;
    font-weight:700;
  }

  .order-toolbar-card .order-view-toggle{
    min-height:48px;
    border-radius:16px;
  }

  .order-category-mobile-wrap > .order-category-trigger{
    display:none !important;
  }

  .order-mobile-category-tabs{
    position:sticky;
    top:190px;
    z-index:70;
    display:flex;
    gap:22px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    padding:12px 18px 10px;
    margin:0 calc((100vw - 100%) / -2) 18px;
    background:rgba(255,250,244,.96);
    border-top:1px solid #eddcc9;
    border-bottom:1px solid #eddcc9;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .order-mobile-category-tabs::-webkit-scrollbar{
    display:none;
  }

  .order-mobile-category-tabs a{
    position:relative;
    flex:0 0 auto;
    padding:8px 0 11px;
    color:#67584d;
    font-size:17px;
    font-weight:900;
    letter-spacing:.02em;
  }

  .order-mobile-category-tabs a.active{
    color:#8f2b21;
  }

  .order-mobile-category-tabs a.active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    border-radius:999px;
    background:#8f2b21;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:260px;
  }
}

@media (max-width:760px){
  .order-toolbar-card{
    top:66px;
  }

  .order-toolbar-card .order-toolbar-brand{
    display:none;
  }

  .order-toolbar-card .order-search-tools{
    grid-template-columns:46px minmax(0,1fr) 96px;
  }

  .order-toolbar-card .order-mode-tabs{
    order:-1;
  }

  .order-mobile-category-open,
  .order-toolbar-card .order-search-box{
    height:46px;
    min-height:46px;
  }

  .order-mobile-category-tabs{
    top:176px;
    gap:28px;
    padding-left:20px;
    padding-right:20px;
  }

  .order-mobile-category-tabs a{
    font-size:18px;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:244px;
  }
}

@media (max-width:520px){
  .order-toolbar-card .order-search-tools{
    grid-template-columns:44px minmax(0,1fr) 88px;
    gap:8px;
  }

  .order-mobile-category-open{
    width:44px;
    height:44px;
    border-radius:14px;
  }

  .order-toolbar-card .order-search-box{
    min-height:44px;
    height:44px;
    border-radius:14px;
  }

  .order-toolbar-card .order-view-toggle{
    min-height:44px;
  }

  .order-mobile-category-tabs{
    top:170px;
  }
}


/* v113 order mobile: single-page menu nav, full-screen category modal, search top sheet */
.order-mobile-icon-actions,
.order-search-modal,
.order-search-backdrop{
  display:none;
}

.order-product.is-search-hidden,
.ocard-menu-section.is-search-empty{
  display:none !important;
}

@media (max-width:980px){
  .order-toolbar-card{
    position:sticky;
    top:66px;
    z-index:78;
    padding:12px 14px;
    gap:12px;
    border-radius:0;
    margin-left:calc((100vw - 100%) / -2);
    margin-right:calc((100vw - 100%) / -2);
    background:rgba(255,250,244,.98);
    border-left:0;
    border-right:0;
    border-radius:0 !important;
    box-shadow:0 8px 20px rgba(92,48,24,.06);
  }

  .order-toolbar-card .order-toolbar-brand{
    display:none;
  }

  .order-toolbar-card .order-mode-tabs{
    display:none;
  }

  .order-toolbar-card .order-search-tools{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:18px;
    min-height:54px;
  }

  .order-mobile-icon-actions{
    display:flex;
    align-items:center;
    gap:18px;
  }

  .order-mobile-category-open,
  .order-mobile-search-open{
    display:grid !important;
    place-items:center;
    width:42px;
    height:42px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#68615c;
    box-shadow:none;
    padding:0;
  }

  .order-mobile-category-open svg,
  .order-mobile-search-open svg{
    width:30px;
    height:30px;
  }

  .order-desktop-search-box,
  .order-toolbar-card .order-view-toggle{
    display:none !important;
  }

  .order-mobile-category-tabs{
    position:sticky;
    top:132px;
    z-index:76;
    display:flex;
    gap:34px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    padding:15px 22px 0;
    height:58px;
    margin:0 calc((100vw - 100%) / -2) 22px;
    background:rgba(255,250,244,.98);
    border-top:1px solid #ead8c4;
    border-bottom:1px solid #ead8c4;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .order-mobile-category-tabs::-webkit-scrollbar{
    display:none;
  }

  .order-mobile-category-tabs a{
    position:relative;
    flex:0 0 auto;
    color:#6e665f;
    font-size:18px;
    font-weight:900;
    line-height:40px;
    padding:0 0 14px;
    letter-spacing:.01em;
  }

  .order-mobile-category-tabs a.active{
    color:#8f2b21;
  }

  .order-mobile-category-tabs a.active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    border-radius:999px;
    background:#8f2b21;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:202px;
  }

  .order-category-mobile-wrap{
    position:static !important;
  }

  .order-category-mobile-wrap > .order-category-trigger{
    display:none !important;
  }

  .order-category-backdrop{
    position:fixed;
    inset:0;
    z-index:180;
    display:block;
    background:rgba(31,23,18,.42);
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
  }

  .order-category-backdrop.is-open{
    opacity:1;
    visibility:visible;
  }

  .order-category-panel{
    position:fixed !important;
    inset:0 !important;
    z-index:181;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    overflow:auto;
    transform:translateX(-100%);
    transition:transform .24s ease;
    border-radius:0 !important;
    border:0 !important;
    padding:0 !important;
    background:#fffaf4 !important;
    box-shadow:none !important;
  }

  .order-category-panel.is-open{
    transform:translateX(0);
  }

  .order-category-modal-head{
    position:sticky;
    top:0;
    z-index:2;
    min-height:72px;
    display:grid;
    grid-template-columns:56px 1fr 56px;
    align-items:center;
    padding:8px 14px;
    background:rgba(255,250,244,.98);
    border-bottom:1px solid #ead8c4;
  }

  .order-category-modal-head button{
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#3a2b24;
    font-size:34px;
    line-height:1;
  }

  .order-category-modal-head h2{
    margin:0;
    text-align:center;
    font-size:22px;
    font-weight:950;
  }

  .order-category-panel .order-category-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0;
    padding:10px 22px 40px;
  }

  .order-category-panel .order-category-list a{
    display:flex;
    align-items:center;
    min-height:64px;
    padding:0 4px;
    border-radius:0;
    border-bottom:1px solid #ead8c4;
    background:transparent !important;
    color:#352821;
    font-size:22px;
    font-weight:900;
  }

  .order-category-panel .order-category-list a.active{
    color:#8f2b21;
  }

  body.category-panel-open,
  body.search-panel-open{
    overflow:hidden;
  }

  .order-search-backdrop{
    position:fixed;
    inset:0;
    z-index:185;
    display:block;
    background:rgba(31,23,18,.35);
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
  }

  body.search-panel-open .order-search-backdrop{
    opacity:1;
    visibility:visible;
  }

  .order-search-modal{
    position:fixed;
    left:0;
    right:0;
    top:0;
    z-index:186;
    display:block;
    padding:calc(12px + env(safe-area-inset-top, 0px)) 16px 18px;
    background:#fffaf4;
    border-radius:0 0 24px 24px;
    box-shadow:0 18px 34px rgba(41,24,16,.16);
    transform:translateY(-110%);
    transition:transform .22s ease;
  }

  .order-search-modal.is-open{
    transform:translateY(0);
  }

  .order-search-modal-head{
    display:grid;
    grid-template-columns:44px 1fr 44px;
    align-items:center;
    margin-bottom:12px;
  }

  .order-search-modal-head button{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f5e8da;
    color:#3a2b24;
    font-size:30px;
    line-height:1;
  }

  .order-search-modal-head strong{
    text-align:center;
    font-size:18px;
    font-weight:950;
  }

  .order-search-modal-box{
    min-height:54px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 16px;
    border-radius:18px;
    background:#fff;
    border:1px solid #e4ccb0;
  }

  .order-search-modal-box svg{
    width:22px;
    height:22px;
    color:#7c6a5d;
  }

  .order-search-modal-box input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    font-size:16px;
    font-weight:800;
  }
}

@media (max-width:520px){
  .order-toolbar-card{
    top:64px;
  }

  .order-mobile-category-tabs{
    top:130px;
    gap:30px;
    padding-left:20px;
    padding-right:20px;
  }

  .order-mobile-category-tabs a{
    font-size:18px;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:198px;
  }
}


/* v114 clean JS behavior support */
@media (max-width:980px){
  .order-category-panel:not(.is-open){
    pointer-events:none;
  }

  .order-search-modal:not(.is-open){
    pointer-events:none;
  }

  .order-search-backdrop{
    pointer-events:none;
  }

  body.search-panel-open .order-search-backdrop{
    pointer-events:auto;
  }

  .order-category-backdrop{
    pointer-events:none;
  }

  .order-category-backdrop.is-open{
    pointer-events:auto;
  }
}


/* v115 overlay and anchor behavior fixes */
html{
  scroll-behavior:smooth;
}

@media (max-width:980px){
  body:not(.category-panel-open) .order-category-backdrop,
  .order-category-backdrop:not(.is-open){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.category-panel-open .order-category-backdrop.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-category-panel:not(.is-open){
    transform:translateX(-100%) !important;
    pointer-events:none !important;
    visibility:hidden !important;
  }

  .order-category-panel.is-open{
    transform:translateX(0) !important;
    pointer-events:auto !important;
    visibility:visible !important;
  }

  body:not(.search-panel-open) .order-search-backdrop,
  .order-search-backdrop:not(.is-open){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.search-panel-open .order-search-backdrop{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-search-modal:not(.is-open){
    transform:translateY(-110%) !important;
    pointer-events:none !important;
    visibility:hidden !important;
  }

  .order-search-modal.is-open{
    transform:translateY(0) !important;
    pointer-events:auto !important;
    visibility:visible !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:210px !important;
  }
}


/* v116 final mobile nav fix */
@media (max-width:980px){
  .order-category-backdrop{
    display:block !important;
  }

  body:not(.category-panel-open) .order-category-backdrop,
  .order-category-backdrop:not(.is-open){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.category-panel-open .order-category-backdrop.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-category-panel:not(.is-open){
    transform:translateX(-100%) !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .order-category-panel.is-open{
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  body:not(.search-panel-open) .order-search-backdrop{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.search-panel-open .order-search-backdrop{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-search-modal:not(.is-open){
    transform:translateY(-120%) !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .order-search-modal.is-open{
    transform:translateY(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:220px !important;
  }
}


/* v117 final anchor positioning + translucent overlay */
@media (max-width:980px){
  .order-category-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:9998 !important;
    display:block !important;
    background:rgba(34, 24, 18, .26) !important;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }

  .order-category-panel{
    z-index:9999 !important;
    background:#fffaf4 !important;
  }

  body:not(.category-panel-open) .order-category-backdrop,
  .order-category-backdrop:not(.is-open){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.category-panel-open .order-category-backdrop.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-category-panel:not(.is-open){
    transform:translateX(-100%) !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .order-category-panel.is-open{
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-search-backdrop{
    z-index:10002 !important;
    background:rgba(34, 24, 18, .22) !important;
  }

  .order-search-modal{
    z-index:10003 !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:220px !important;
  }
}


/* v118 immediate anchor fix + overlay cleanup */
@media (max-width:980px){
  .order-category-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:9998 !important;
    display:block !important;
    background:rgba(34,24,18,.18) !important;
    backdrop-filter:blur(1.5px);
    -webkit-backdrop-filter:blur(1.5px);
  }

  .order-category-panel{
    z-index:9999 !important;
    background:#fffaf4 !important;
  }

  body:not(.category-panel-open) .order-category-backdrop,
  .order-category-backdrop:not(.is-open){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.category-panel-open .order-category-backdrop.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-category-panel:not(.is-open){
    transform:translateX(-100%) !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .order-category-panel.is-open{
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:230px !important;
  }

  .order-search-backdrop{
    background:rgba(34,24,18,.16) !important;
  }
}


/* v119 deterministic mobile category positioning */
@media (max-width:980px){
  html{
    scroll-behavior:auto !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:190px !important;
  }

  .order-category-backdrop{
    background:rgba(34,24,18,.18) !important;
  }
}


/* v120 real anchor script replacement + target compensation */
@media (max-width:980px){
  html{
    scroll-behavior:auto !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:0 !important;
  }

  .order-category-backdrop{
    background:rgba(34,24,18,.18) !important;
  }
}


/* v121 mobile combined category nav row */
@media (max-width:980px){
  html{
    scroll-behavior:auto !important;
  }

  .order-toolbar-card{
    position:sticky !important;
    top:68px !important;
    z-index:180 !important;
    margin-left:calc((100vw - 100%) / -2) !important;
    margin-right:calc((100vw - 100%) / -2) !important;
    padding:0 12px !important;
    min-height:58px !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    background:rgba(255,250,244,.98) !important;
    box-shadow:0 6px 18px rgba(92,48,24,.08) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .order-toolbar-card .order-mode-tabs,
  .order-toolbar-card .order-toolbar-brand,
  .order-desktop-search-box,
  .order-toolbar-card .order-view-toggle{
    display:none !important;
  }

  .order-toolbar-card .order-search-tools{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:58px !important;
    padding:0 !important;
  }

  .order-mobile-icon-actions{
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    gap:14px !important;
  }

  .order-mobile-category-open,
  .order-mobile-search-open{
    display:grid !important;
    place-items:center !important;
    width:34px !important;
    height:44px !important;
    border:0 !important;
    background:transparent !important;
    color:#5f5751 !important;
    padding:0 !important;
    box-shadow:none !important;
  }

  .order-mobile-category-open svg,
  .order-mobile-search-open svg{
    width:28px !important;
    height:28px !important;
  }

  .order-mobile-category-tabs{
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:30px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch;
  }

  .order-mobile-category-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .order-mobile-category-tabs a{
    flex:0 0 auto !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    height:58px !important;
    padding:0 0 3px !important;
    color:#5f5751 !important;
    font-size:17px !important;
    font-weight:950 !important;
    line-height:1 !important;
  }

  .order-mobile-category-tabs a.active{
    color:#8f2b21 !important;
  }

  .order-mobile-category-tabs a.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    border-radius:999px !important;
    background:#8f2b21 !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:0 !important;
  }

  .order-category-backdrop{
    background:rgba(34,24,18,.18) !important;
  }
}

@media (max-width:520px){
  .order-toolbar-card{
    top:66px !important;
  }

  .order-toolbar-card .order-search-tools{
    gap:12px !important;
  }

  .order-mobile-icon-actions{
    gap:12px !important;
  }

  .order-mobile-category-tabs{
    gap:26px !important;
  }

  .order-mobile-category-tabs a{
    font-size:16px !important;
  }
}


/* v122 mobile order navigation: restore mode tabs + native anchor offset */
@media (max-width:980px){
  html{
    scroll-behavior:smooth !important;
    scroll-padding-top:198px !important;
  }

  .order-toolbar-card{
    position:sticky !important;
    top:68px !important;
    z-index:180 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-left:calc((100vw - 100%) / -2) !important;
    margin-right:calc((100vw - 100%) / -2) !important;
    padding:10px 12px 0 !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    background:rgba(255,250,244,.98) !important;
    box-shadow:0 6px 18px rgba(92,48,24,.08) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .order-toolbar-card .order-toolbar-brand,
  .order-desktop-search-box,
  .order-toolbar-card .order-view-toggle{
    display:none !important;
  }

  .order-toolbar-card .order-mode-tabs{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    order:1 !important;
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .order-toolbar-card .order-search-tools{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:58px !important;
    padding:0 !important;
    border-top:1px solid #ead8c4 !important;
  }

  .order-mobile-icon-actions{
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    gap:14px !important;
  }

  .order-mobile-category-open,
  .order-mobile-search-open{
    display:grid !important;
    place-items:center !important;
    width:34px !important;
    height:44px !important;
    border:0 !important;
    background:transparent !important;
    color:#5f5751 !important;
    padding:0 !important;
    box-shadow:none !important;
  }

  .order-mobile-category-open svg,
  .order-mobile-search-open svg{
    width:28px !important;
    height:28px !important;
  }

  .order-mobile-category-tabs{
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:30px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch;
  }

  .order-mobile-category-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .order-mobile-category-tabs a{
    flex:0 0 auto !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    height:58px !important;
    padding:0 0 3px !important;
    color:#5f5751 !important;
    font-size:17px !important;
    font-weight:950 !important;
    line-height:1 !important;
  }

  .order-mobile-category-tabs a.active{
    color:#8f2b21 !important;
  }

  .order-mobile-category-tabs a.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    border-radius:999px !important;
    background:#8f2b21 !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:198px !important;
  }

  .guide-modal{
    z-index:10050 !important;
  }

  .guide-modal-backdrop{
    z-index:10051 !important;
  }

  .guide-modal-card{
    z-index:10052 !important;
  }

  .order-category-backdrop{
    background:rgba(34,24,18,.18) !important;
  }
}

@media (max-width:520px){
  html{
    scroll-padding-top:190px !important;
  }

  .order-toolbar-card{
    top:66px !important;
  }

  .order-toolbar-card .order-mode-tabs{
    min-height:42px !important;
  }

  .order-toolbar-card .order-search-tools{
    min-height:56px !important;
    gap:12px !important;
  }

  .order-mobile-icon-actions{
    gap:12px !important;
  }

  .order-mobile-category-tabs{
    height:56px !important;
    gap:26px !important;
  }

  .order-mobile-category-tabs a{
    height:56px !important;
    font-size:16px !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:190px !important;
  }
}


/* v123 mobile: category nav after order settings */
.mobile-menu-nav-card{
  display:none;
}

@media (max-width:980px){
  html{
    scroll-behavior:auto !important;
    scroll-padding-top:0 !important;
  }

  .order-toolbar-card{
    position:sticky !important;
    top:68px !important;
    z-index:170 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin-left:calc((100vw - 100%) / -2) !important;
    margin-right:calc((100vw - 100%) / -2) !important;
    padding:10px 12px !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    background:rgba(255,250,244,.98) !important;
    box-shadow:0 6px 18px rgba(92,48,24,.08) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .order-toolbar-card .order-toolbar-brand,
  .order-toolbar-card .order-search-tools{
    display:none !important;
  }

  .order-toolbar-card .order-mode-tabs{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .mobile-menu-nav-card{
    position:sticky !important;
    top:126px !important;
    z-index:168 !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:58px !important;
    margin:0 calc((100vw - 100%) / -2) 18px !important;
    padding:0 12px !important;
    background:rgba(255,250,244,.98) !important;
    border-top:1px solid #ead8c4 !important;
    border-bottom:1px solid #ead8c4 !important;
    box-shadow:0 6px 18px rgba(92,48,24,.06) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .mobile-menu-nav-card .order-mobile-icon-actions{
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    gap:14px !important;
  }

  .mobile-menu-nav-card .order-mobile-category-open,
  .mobile-menu-nav-card .order-mobile-search-open{
    display:grid !important;
    place-items:center !important;
    width:34px !important;
    height:44px !important;
    border:0 !important;
    background:transparent !important;
    color:#5f5751 !important;
    padding:0 !important;
    box-shadow:none !important;
  }

  .mobile-menu-nav-card .order-mobile-category-open svg,
  .mobile-menu-nav-card .order-mobile-search-open svg{
    width:28px !important;
    height:28px !important;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs{
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:30px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs a{
    flex:0 0 auto !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    height:58px !important;
    padding:0 0 3px !important;
    color:#5f5751 !important;
    font-size:17px !important;
    font-weight:950 !important;
    line-height:1 !important;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs a.active{
    color:#8f2b21 !important;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs a.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    border-radius:999px !important;
    background:#8f2b21 !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:0 !important;
  }

  .guide-modal{
    z-index:10050 !important;
  }

  .guide-modal-backdrop{
    z-index:10051 !important;
  }

  .guide-modal-card{
    z-index:10052 !important;
  }
}

@media (max-width:520px){
  .order-toolbar-card{
    top:66px !important;
  }

  .mobile-menu-nav-card{
    top:122px !important;
    gap:12px !important;
  }

  .mobile-menu-nav-card .order-mobile-icon-actions{
    gap:12px !important;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs{
    gap:26px !important;
  }

  .mobile-menu-nav-card .order-mobile-category-tabs a{
    font-size:16px !important;
  }
}


/* v124: category nav becomes fixed after reaching product list */
@media (max-width:980px){
  .mobile-menu-nav-placeholder{
    display:block !important;
    height:0;
  }

  .mobile-menu-nav-card{
    transition:none !important;
  }

  .mobile-menu-nav-card.is-fixed{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:var(--mobile-menu-top, 126px) !important;
    z-index:220 !important;
    width:100vw !important;
    margin:0 !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:0 !important;
  }
}

@media (max-width:520px){
  .mobile-menu-nav-card.is-fixed{
    top:var(--mobile-menu-top, 122px) !important;
  }
}


/* v125: fixed category nav directly below logo/header */
@media (max-width:980px){
  .mobile-menu-nav-card.is-fixed{
    top:var(--mobile-menu-top, 68px) !important;
    z-index:260 !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:0 !important;
  }
}

@media (max-width:520px){
  .mobile-menu-nav-card.is-fixed{
    top:var(--mobile-menu-top, 66px) !important;
  }
}


/* v126 desktop category sidebar cleanup */
@media (min-width:981px){
  .order-left-sidebar .order-category-mobile-wrap{
    position:sticky;
    top:130px;
  }

  .order-left-sidebar .order-category-trigger,
  .order-left-sidebar .order-category-backdrop{
    display:none !important;
  }

  .order-left-sidebar .order-category-panel{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    overflow:visible !important;
    padding:22px 22px 24px !important;
    border:1px solid #e7d1b8 !important;
    border-radius:24px !important;
    background:#fffdf8 !important;
    box-shadow:0 18px 42px rgba(88,50,24,.08) !important;
  }

  .order-left-sidebar .order-category-modal-head{
    position:static !important;
    display:block !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 0 16px !important;
    background:transparent !important;
    border:0 !important;
  }

  .order-left-sidebar .order-category-modal-head button{
    display:none !important;
  }

  .order-left-sidebar .order-category-modal-head h2{
    margin:0 !important;
    text-align:left !important;
    font-size:24px !important;
    line-height:1.2 !important;
    font-weight:950 !important;
    color:#1f1714 !important;
  }

  .order-left-sidebar .order-category-list{
    display:grid !important;
    gap:10px !important;
    padding:0 !important;
  }

  .order-left-sidebar .order-category-list a{
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 18px !important;
    border:0 !important;
    border-radius:16px !important;
    background:transparent !important;
    color:#2d211b !important;
    font-size:17px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }

  .order-left-sidebar .order-category-list a.active{
    background:#eadbc6 !important;
    color:#9b2f22 !important;
  }

  .order-left-sidebar .order-guide-card{
    margin-bottom:14px !important;
  }
}


/* v128 mobile main MENU should stay above category nav / cart / modals */
@media (max-width:980px){
  .site-header{
    z-index:30000 !important;
    overflow:visible !important;
  }

  .site-header .nav-wrap{
    overflow:visible !important;
  }

  .site-header .nav{
    z-index:30001 !important;
  }

  .site-header .nav.open{
    display:flex !important;
    position:fixed !important;
    top:68px !important;
    left:14px !important;
    right:14px !important;
    z-index:30001 !important;
    background:#fffaf2 !important;
    border:1px solid #ead8c4 !important;
    box-shadow:0 20px 48px rgba(34,24,18,.20) !important;
  }

  .mobile-menu-nav-card,
  .mobile-menu-nav-card.is-fixed,
  .order-toolbar-card,
  .order-mobile-bar,
  .back-to-top{
    z-index:260 !important;
  }
}

@media (max-width:520px){
  .site-header .nav.open{
    top:66px !important;
  }
}


/* v129 member reward tickets: full-bleed images */
.reward-ticket-v110{
  overflow:hidden !important;
}

.reward-ticket-main-v110{
  grid-template-columns:minmax(150px, 34%) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:stretch !important;
  padding:0 18px 0 0 !important;
  min-height:154px !important;
}

.reward-ticket-main-v110 img{
  width:100% !important;
  height:100% !important;
  min-height:154px !important;
  border-radius:0 !important;
  object-fit:cover !important;
}

.reward-ticket-main-v110 > div{
  align-self:center !important;
  padding:18px 0 !important;
}

@media (min-width:1101px){
  .reward-ticket-v110{
    min-height:180px !important;
  }

  .reward-ticket-main-v110{
    grid-template-columns:minmax(170px, 38%) minmax(0,1fr) !important;
    min-height:180px !important;
    padding:0 20px 0 0 !important;
  }

  .reward-ticket-main-v110 img{
    min-height:180px !important;
  }
}

@media (max-width:760px){
  .reward-ticket-main-v110{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
    min-height:0 !important;
  }

  .reward-ticket-main-v110 img{
    width:100% !important;
    height:190px !important;
    min-height:190px !important;
    border-radius:0 !important;
  }

  .reward-ticket-main-v110 > div{
    padding:16px 18px 18px !important;
  }
}


/* v131: group-buy button placed between brand block and mode tabs */
.order-toolbar-card{
  grid-template-columns:minmax(260px,1.25fr) 156px minmax(360px,1.05fr) minmax(250px,.95fr);
}

.order-groupbuy-button{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
  min-height:78px;
  border-radius:24px;
  border:2px solid #cf8849;
  background:linear-gradient(180deg,#fff4de 0%, #ffe3bf 100%);
  color:#8a4319;
  box-shadow:0 14px 28px rgba(177,105,39,.14);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.order-groupbuy-button .order-groupbuy-label{
  font-size:22px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.06em;
}

.order-groupbuy-button small{
  font-size:12px;
  font-weight:700;
  color:#a76a38;
  letter-spacing:.02em;
}

.order-groupbuy-button:hover,
.order-groupbuy-button:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(177,105,39,.2);
  filter:saturate(1.03);
}

@media (max-width:1100px){
  .order-toolbar-card{
    grid-template-columns:minmax(240px,1.1fr) 138px minmax(320px,1fr) minmax(220px,.9fr);
  }
  .order-groupbuy-button{
    min-height:74px;
    border-radius:22px;
  }
  .order-groupbuy-button .order-groupbuy-label{
    font-size:20px;
  }
}

@media (max-width:980px){
  .order-groupbuy-button{
    display:none;
  }
}


/* v132: make group-buy button same visual scale as mode buttons */
.order-toolbar-card{
  grid-template-columns:minmax(260px,1.25fr) 120px minmax(360px,1.05fr) minmax(250px,.95fr) !important;
}

.order-groupbuy-button{
  min-height:48px !important;
  height:48px !important;
  padding:0 18px !important;
  border-radius:16px !important;
  border:1px solid #d8b994 !important;
  background:linear-gradient(135deg,#c7772c,#a63b2a) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(166,59,42,.14) !important;
  gap:0 !important;
  white-space:nowrap !important;
}

.order-groupbuy-button .order-groupbuy-label{
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
}

.order-groupbuy-button small{
  display:none !important;
}

@media (max-width:1100px){
  .order-toolbar-card{
    grid-template-columns:minmax(240px,1.1fr) 112px minmax(320px,1fr) minmax(220px,.9fr) !important;
  }

  .order-groupbuy-button{
    min-height:46px !important;
    height:46px !important;
    padding:0 14px !important;
    border-radius:15px !important;
  }

  .order-groupbuy-button .order-groupbuy-label{
    font-size:15px !important;
  }
}


/* v133: show group-buy button on mobile order page */
@media (max-width:980px){
  .order-toolbar-card{
    gap:10px !important;
  }

  .order-groupbuy-button{
    display:flex !important;
    order:0 !important;
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    padding:0 14px !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:14px !important;
    white-space:nowrap !important;
  }

  .order-groupbuy-button .order-groupbuy-label{
    font-size:15px !important;
    letter-spacing:.03em !important;
  }

  .order-groupbuy-button small{
    display:none !important;
  }
}

@media (max-width:520px){
  .order-groupbuy-button{
    min-height:42px !important;
    height:42px !important;
    border-radius:13px !important;
  }

  .order-groupbuy-button .order-groupbuy-label{
    font-size:14px !important;
  }
}


/* v134: mobile group-buy button on its own row */
@media (max-width:980px){
  .order-toolbar-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  .order-toolbar-card .order-search-tools{
    order:1 !important;
    width:100% !important;
    min-height:52px !important;
  }

  .order-groupbuy-button{
    display:flex !important;
    order:2 !important;
    width:100% !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    margin:0 !important;
    grid-column:1 / -1 !important;
  }

  .order-mobile-category-tabs{
    top:188px !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:258px !important;
  }
}

@media (max-width:520px){
  .order-mobile-category-tabs{
    top:182px !important;
  }

  .order-content-area .ocard-menu-section{
    scroll-margin-top:250px !important;
  }
}


/* v136: category > subcategory support */
.order-subcategory-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:-4px 0 16px;
}

.order-subcategory-tabs a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#fff6ea;
  border:1px solid #ead5bc;
  color:#8b4e2d;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
}

.order-subcategory-tabs a:hover{
  background:#f3dfc8;
}

.order-subcategory-heading{
  margin:18px 0 12px;
  padding-left:12px;
  border-left:4px solid #b95b33;
  color:#2b1f19;
  font-size:18px;
  font-weight:950;
  scroll-margin-top:180px;
}

.order-category-list .sub-category-link{
  min-height:38px !important;
  margin-left:14px !important;
  padding:0 14px 0 26px !important;
  border-radius:14px !important;
  color:#8a6650 !important;
  font-size:15px !important;
  font-weight:800 !important;
  background:#fff6eb !important;
  position:relative;
}

.order-category-list .sub-category-link::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#c78a55;
  transform:translateY(-50%);
}

.order-category-list .sub-category-link.active{
  background:#eadbc6 !important;
  color:#9b2f22 !important;
}

@media (max-width:980px){
  .order-subcategory-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    white-space:nowrap;
    margin:0 0 14px;
    padding-bottom:2px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .order-subcategory-tabs::-webkit-scrollbar{
    display:none;
  }

  .order-subcategory-tabs a{
    flex:0 0 auto;
    min-height:32px;
    padding:0 12px;
    font-size:13px;
  }

  .order-subcategory-heading{
    font-size:17px;
    margin:16px 0 10px;
    scroll-margin-top:150px;
  }

  .order-category-panel .order-category-list .sub-category-link{
    min-height:48px !important;
    margin-left:18px !important;
    font-size:17px !important;
  }
}


/* v137: mobile sub-category horizontal scroll */
@media (max-width:980px){
  .order-subcategory-tabs{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    padding:0 18px 4px 0 !important;
    margin:0 0 14px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    overscroll-behavior-x:contain !important;
    touch-action:pan-x !important;
  }

  .order-subcategory-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .order-subcategory-tabs a{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    scroll-snap-align:start;
  }

  .ocard-menu-section{
    overflow:hidden;
  }

  .ocard-menu-section .order-subcategory-tabs{
    overflow-x:auto !important;
  }
}

@media (max-width:520px){
  .order-subcategory-tabs{
    gap:8px !important;
    padding-right:22px !important;
  }
}


/* v138: sub-category changed from pill badges to underline text tabs */
.order-subcategory-tabs{
  gap:22px !important;
  margin:2px 0 18px !important;
  padding:0 0 8px !important;
  border-bottom:1px solid #ead9c7 !important;
}

.order-subcategory-tabs a{
  position:relative !important;
  min-height:34px !important;
  padding:0 2px 8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#755845 !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
}

.order-subcategory-tabs a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-9px !important;
  height:3px !important;
  border-radius:99px !important;
  background:transparent !important;
}

.order-subcategory-tabs a:hover{
  background:transparent !important;
  color:#9b2f22 !important;
}

.order-subcategory-tabs a:hover::after{
  background:#d9aa7c !important;
}

.order-subcategory-heading{
  margin:18px 0 12px !important;
  padding:0 0 0 12px !important;
  border-left:4px solid #b95b33 !important;
  border-bottom:0 !important;
  color:#2b1f19 !important;
  font-size:18px !important;
  font-weight:950 !important;
}

@media (max-width:980px){
  .order-subcategory-tabs{
    gap:24px !important;
    padding:0 24px 8px 0 !important;
    margin:0 0 16px !important;
    border-bottom:1px solid #ead9c7 !important;
  }

  .order-subcategory-tabs a{
    min-height:36px !important;
    padding:0 1px 8px !important;
    font-size:15px !important;
    color:#66554a !important;
  }

  .order-subcategory-tabs a::after{
    bottom:-9px !important;
    height:3px !important;
  }

  .order-subcategory-heading{
    font-size:17px !important;
    margin:16px 0 12px !important;
  }
}

@media (max-width:520px){
  .order-subcategory-tabs{
    gap:22px !important;
    padding-right:28px !important;
  }

  .order-subcategory-tabs a{
    font-size:14px !important;
  }
}


/* v139: make sidebar subcategories easier to distinguish */
.order-category-list > a:not(.sub-category-link){
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}

.order-category-list .sub-category-link{
  display:flex !important;
  align-items:center !important;
  min-height:36px !important;
  margin:6px 0 6px 22px !important;
  padding:8px 14px 8px 36px !important;
  border:1px dashed #e6ccb1 !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#fffaf5 0%, #fffdfb 100%) !important;
  color:#7a5a47 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  position:relative !important;
}

.order-category-list .sub-category-link::before{
  content:"" !important;
  position:absolute !important;
  left:14px !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#c98349 !important;
  transform:translateY(-50%) !important;
  box-shadow:0 0 0 3px #fff3e6 !important;
}

.order-category-list .sub-category-link::after{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  top:-7px !important;
  width:1px !important;
  height:calc(50% + 7px) !important;
  background:#e8d1b8 !important;
}

.order-category-list > a:not(.sub-category-link) + .sub-category-link{
  margin-top:10px !important;
}

.order-category-list .sub-category-link + .sub-category-link{
  margin-top:4px !important;
}

.order-category-list .sub-category-link.active,
.order-category-list .sub-category-link:hover{
  background:linear-gradient(180deg,#f7ecdf 0%, #fff8f1 100%) !important;
  border-color:#d8ae83 !important;
  color:#982f22 !important;
  box-shadow:inset 3px 0 0 #b65d34 !important;
}

@media (max-width:980px){
  .order-category-panel .order-category-list .sub-category-link{
    min-height:46px !important;
    margin:8px 0 8px 18px !important;
    padding:10px 16px 10px 38px !important;
    font-size:15px !important;
    border-radius:14px !important;
  }

  .order-category-panel .order-category-list .sub-category-link::before{
    left:15px !important;
    width:9px !important;
    height:9px !important;
  }

  .order-category-panel .order-category-list .sub-category-link::after{
    left:19px !important;
  }
}


/* v140: redesign subcategory as directory-style hierarchy for clearer distinction */
.order-category-list > a:not(.sub-category-link){
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}

.order-category-list .sub-category-link{
  display:block !important;
  margin:6px 0 6px 26px !important;
  padding:6px 8px 6px 18px !important;
  min-height:auto !important;
  border:none !important;
  border-left:2px solid #e7d2bd !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#7b5e4b !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  position:relative !important;
  box-shadow:none !important;
}

.order-category-list .sub-category-link::before{
  content:"" !important;
  position:absolute !important;
  left:-5px !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#d28b50 !important;
  border:2px solid #fff7f0 !important;
  transform:translateY(-50%) !important;
  box-shadow:none !important;
}

.order-category-list .sub-category-link::after{
  content:none !important;
}

.order-category-list > a:not(.sub-category-link) + .sub-category-link{
  margin-top:10px !important;
}

.order-category-list .sub-category-link + .sub-category-link{
  margin-top:2px !important;
}

.order-category-list .sub-category-link.active,
.order-category-list .sub-category-link:hover{
  color:#9a3325 !important;
  border-left-color:#c2693a !important;
  background:linear-gradient(90deg, rgba(234, 212, 188, .22) 0%, rgba(234, 212, 188, 0) 100%) !important;
  padding-left:20px !important;
}

.order-category-list .sub-category-link.active::before,
.order-category-list .sub-category-link:hover::before{
  background:#b95f36 !important;
}

@media (max-width:980px){
  .order-category-panel .order-category-list .sub-category-link{
    margin:8px 0 8px 22px !important;
    padding:8px 10px 8px 18px !important;
    font-size:15px !important;
    border-left-width:2px !important;
  }
}


/* v141: cleaner, less AI-looking subcategory style */
.order-category-list{
  gap:4px !important;
}

.order-category-list > a:not(.sub-category-link){
  display:flex !important;
  align-items:center !important;
  min-height:46px !important;
  padding:0 16px !important;
  margin-top:8px !important;
  border-radius:14px !important;
  background:transparent !important;
  color:#211814 !important;
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

.order-category-list > a:not(.sub-category-link):first-child{
  margin-top:0 !important;
}

.order-category-list > a:not(.sub-category-link).active,
.order-category-list > a:not(.sub-category-link):hover{
  background:#eadbc6 !important;
  color:#9b2f22 !important;
}

.order-category-list .sub-category-link{
  display:flex !important;
  align-items:center !important;
  min-height:32px !important;
  margin:0 0 0 20px !important;
  padding:4px 10px 4px 14px !important;
  border:0 !important;
  border-left:2px solid #e5cfb7 !important;
  border-radius:0 8px 8px 0 !important;
  background:transparent !important;
  color:#735f52 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  letter-spacing:.01em !important;
  box-shadow:none !important;
}

.order-category-list .sub-category-link::before,
.order-category-list .sub-category-link::after{
  content:none !important;
  display:none !important;
}

.order-category-list > a:not(.sub-category-link) + .sub-category-link{
  margin-top:2px !important;
}

.order-category-list .sub-category-link + .sub-category-link{
  margin-top:0 !important;
}

.order-category-list .sub-category-link:hover,
.order-category-list .sub-category-link.active{
  color:#9b2f22 !important;
  background:#fff6ec !important;
  border-left-color:#bd7447 !important;
  padding-left:16px !important;
}

/* content subcategory tabs: calmer underline style */
.order-subcategory-tabs{
  gap:22px !important;
  margin:2px 0 18px !important;
  padding:0 0 9px !important;
  border-bottom:1px solid #ead9c7 !important;
}

.order-subcategory-tabs a{
  min-height:30px !important;
  padding:0 0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#6b5b51 !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.order-subcategory-tabs a::after{
  bottom:-10px !important;
  height:2px !important;
  border-radius:0 !important;
}

.order-subcategory-tabs a:hover{
  color:#9b2f22 !important;
  background:transparent !important;
}

.order-subcategory-heading{
  margin:20px 0 12px !important;
  padding:0 !important;
  border:0 !important;
  color:#1f1714 !important;
  font-size:18px !important;
  font-weight:900 !important;
}

.order-subcategory-heading::before{
  content:"";
  display:inline-block;
  width:5px;
  height:18px;
  margin-right:8px;
  border-radius:99px;
  background:#c8854d;
  vertical-align:-3px;
}

@media (max-width:980px){
  .order-category-panel .order-category-list > a:not(.sub-category-link){
    min-height:48px !important;
    font-size:17px !important;
  }

  .order-category-panel .order-category-list .sub-category-link{
    min-height:38px !important;
    margin-left:22px !important;
    padding:5px 12px 5px 14px !important;
    font-size:15px !important;
  }

  .order-subcategory-tabs{
    gap:24px !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    padding-right:24px !important;
    scrollbar-width:none !important;
  }

  .order-subcategory-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .order-subcategory-tabs a{
    flex:0 0 auto !important;
  }

  .order-subcategory-heading{
    font-size:17px !important;
  }
}


/* v142: softer, less AI-looking subcategory active / hover */
.order-category-list .sub-category-link{
  position: relative !important;
  min-height: 30px !important;
  margin: 2px 0 0 22px !important;
  padding: 4px 8px 4px 16px !important;
  border-left: 1px solid #e6d5c4 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #6f6157 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  transition: color .18s ease, padding-left .18s ease, border-color .18s ease;
}

.order-category-list .sub-category-link::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: -5px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: -4px !important;
  border-radius: 50% !important;
  background: #dcc2a4 !important;
  box-shadow: 0 0 0 3px #fffaf4 !important;
}

.order-category-list .sub-category-link::after{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 16px !important;
  right: 8px !important;
  bottom: 1px !important;
  height: 1px !important;
  background: transparent !important;
  transition: background .18s ease;
}

.order-category-list .sub-category-link:hover{
  background: transparent !important;
  color: #9b3a28 !important;
  border-left-color: #d0b396 !important;
  padding-left: 18px !important;
}

.order-category-list .sub-category-link:hover::before{
  background: #c7834e !important;
}

.order-category-list .sub-category-link.active{
  background: transparent !important;
  color: #9b2f22 !important;
  border-left-color: #c7834e !important;
  padding-left: 18px !important;
  font-weight: 900 !important;
}

.order-category-list .sub-category-link.active::before{
  background: #c7834e !important;
}

.order-category-list .sub-category-link.active::after{
  background: #d4b08b !important;
}

@media (max-width: 980px){
  .order-category-panel .order-category-list .sub-category-link{
    min-height: 34px !important;
    margin-left: 24px !important;
    padding: 4px 8px 4px 16px !important;
    font-size: 15px !important;
  }
}


/* v143: remove half-moon / node shapes from subcategory active & hover */
.order-category-list .sub-category-link,
.order-category-panel .order-category-list .sub-category-link{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:32px !important;
  margin:2px 0 2px 22px !important;
  padding:5px 8px 5px 14px !important;
  border:0 !important;
  border-left:2px solid #e2d2c2 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#6f6157 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  box-shadow:none !important;
  transition:color .16s ease, border-color .16s ease, padding-left .16s ease !important;
}

.order-category-list .sub-category-link::before,
.order-category-list .sub-category-link::after,
.order-category-panel .order-category-list .sub-category-link::before,
.order-category-panel .order-category-list .sub-category-link::after{
  content:none !important;
  display:none !important;
}

.order-category-list .sub-category-link:hover,
.order-category-panel .order-category-list .sub-category-link:hover{
  background:transparent !important;
  color:#9b3a28 !important;
  border-left-color:#c98652 !important;
  padding-left:17px !important;
}

.order-category-list .sub-category-link.active,
.order-category-panel .order-category-list .sub-category-link.active{
  background:transparent !important;
  color:#9b2f22 !important;
  border-left:3px solid #9b2f22 !important;
  padding-left:16px !important;
  font-weight:900 !important;
}

@media (max-width:980px){
  .order-category-panel .order-category-list .sub-category-link{
    min-height:36px !important;
    margin-left:24px !important;
    padding:5px 10px 5px 14px !important;
    font-size:15px !important;
  }

  .order-category-panel .order-category-list .sub-category-link:hover{
    padding-left:17px !important;
  }

  .order-category-panel .order-category-list .sub-category-link.active{
    padding-left:16px !important;
  }
}


/* v144: dine-in note textarea slightly smaller */
.dinein-note-textarea{
  margin-top: 12px !important;
}
.dinein-note-textarea textarea{
  min-height: 72px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
@media (max-width: 760px){
  .dinein-note-textarea textarea{
    min-height: 68px !important;
  }
}


/* v145: dine-in child seat / child tableware fields */
.dinein-subline{
  grid-template-columns:28px 72px minmax(0, 1fr) !important;
}
.dinein-child-item-line .delivery-compact-label{
  letter-spacing:-.02em;
}
@media (max-width:760px){
  .dinein-subline{
    grid-template-columns:24px 68px minmax(0, 1fr) !important;
  }
}

/* v146: fix grid view product alignment
   原本井字瀏覽把次分類 tab / 小標題也當成商品格子，
   造成商品被擠到第 2、3 欄。這裡讓標題元素跨整列，商品才正常排列。 */
.order-content-area.is-grid-view .ocard-menu-section{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}

.order-content-area.is-grid-view .ocard-menu-section > h2,
.order-content-area.is-grid-view .ocard-menu-section > .order-subcategory-tabs,
.order-content-area.is-grid-view .ocard-menu-section > .order-subcategory-heading{
  grid-column:1 / -1 !important;
}

.order-content-area.is-grid-view .order-subcategory-tabs{
  width:100% !important;
  margin:2px 0 4px !important;
}

.order-content-area.is-grid-view .order-subcategory-heading{
  width:100% !important;
  margin:12px 0 0 !important;
}

.order-content-area.is-grid-view .hybrid-product{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.order-content-area.is-grid-view .hybrid-product img{
  display:block !important;
}

@media (min-width:981px){
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)) !important;
  }
}

@media (max-width:760px){
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }

  .order-content-area.is-grid-view .order-subcategory-tabs{
    margin-bottom:2px !important;
  }

  .order-content-area.is-grid-view .order-subcategory-heading{
    margin-top:10px !important;
  }
}

@media (max-width:380px){
  .order-content-area.is-grid-view .ocard-menu-section{
    grid-template-columns:1fr !important;
  }
}

/* v147: mobile search bar cleanup + cancel button
   手機搜尋改成 header 下方的橫向搜尋列，避免原本 top sheet 被主選單壓住後只露出奇怪的大圓角搜尋框。 */
.order-search-mobile-row,
.order-search-cancel-btn{
  display:none;
}

@media (max-width:980px){
  .order-search-backdrop{
    top:68px !important;
    z-index:29970 !important;
    background:rgba(34,24,18,.10) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .order-search-modal{
    top:68px !important;
    left:0 !important;
    right:0 !important;
    z-index:29980 !important;
    display:block !important;
    padding:10px 14px 12px !important;
    border-radius:0 0 20px 20px !important;
    border:0 !important;
    border-bottom:1px solid #ead8c4 !important;
    background:rgba(255,250,244,.98) !important;
    box-shadow:0 10px 24px rgba(72,42,25,.10) !important;
    transform:translateY(-120%) !important;
  }

  .order-search-modal.is-open{
    transform:translateY(0) !important;
  }

  .order-search-modal-head{
    display:none !important;
  }

  .order-search-mobile-row{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
  }

  .order-search-modal-box{
    flex:1 1 auto !important;
    min-width:0 !important;
    min-height:46px !important;
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    border:1px solid #e3c6a8 !important;
    background:#fffdf8 !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55) !important;
  }

  .order-search-modal-box svg{
    flex:0 0 auto !important;
    width:20px !important;
    height:20px !important;
    color:#8b7769 !important;
  }

  .order-search-modal-box input{
    min-width:0 !important;
    width:100% !important;
    height:44px !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:#2b211c !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  .order-search-modal-box input::placeholder{
    color:#8a7c70 !important;
    opacity:1 !important;
    font-weight:800 !important;
  }

  .order-search-cancel-btn{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:48px !important;
    height:46px !important;
    padding:0 2px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#9b3528 !important;
    font-size:16px !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
    box-shadow:none !important;
  }

  .order-search-cancel-btn:active{
    transform:translateY(1px);
  }
}

@media (max-width:520px){
  .order-search-backdrop{
    top:64px !important;
  }

  .order-search-modal{
    top:64px !important;
    padding:9px 12px 11px !important;
    border-radius:0 0 18px 18px !important;
  }

  .order-search-modal-box{
    min-height:44px !important;
    height:44px !important;
    padding:0 13px !important;
  }

  .order-search-modal-box input{
    height:42px !important;
    font-size:15px !important;
  }

  .order-search-cancel-btn{
    min-width:44px !important;
    height:44px !important;
    font-size:15px !important;
  }
}


/* v144 persistent fix: 商品彈窗 X 關閉鈕永遠固定在右上角，不跟著內容捲動 */
.product-modal > .modal-close{
  position:fixed !important;
  top:calc(env(safe-area-inset-top, 0px) + 16px) !important;
  right:calc((100vw - min(100vw, 520px)) / 2 + 16px) !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  color:#111 !important;
  font-size:28px !important;
  line-height:1 !important;
  box-shadow:0 8px 26px rgba(34,20,12,.16) !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.product-modal.is-open > .modal-close{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
@media (max-width:760px){
  .product-modal > .modal-close{
    top:calc(env(safe-area-inset-top, 0px) + 14px) !important;
    right:14px !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    font-size:30px !important;
  }
}


/* v145 fix2: 手機商品彈窗 X 使用 body 層固定按鈕，避免被 modal-card / 圖片 / 捲動層蓋掉 */
.product-modal-global-close{
  position:fixed !important;
  top:calc(env(safe-area-inset-top, 0px) + 14px) !important;
  right:14px !important;
  z-index:2147483647 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.98) !important;
  color:#111 !important;
  font-size:32px !important;
  line-height:1 !important;
  font-weight:400 !important;
  box-shadow:0 10px 30px rgba(28,18,12,.22) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent !important;
}
.product-modal-global-close.is-visible,
body.product-modal-open .product-modal-global-close{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.product-modal.is-open > .modal-close{
  display:flex !important;
}
@media (min-width:761px){
  body.product-modal-open .product-modal-global-close{
    right:calc((100vw - min(100vw, 520px)) / 2 + 16px) !important;
  }
}
@media (max-width:520px){
  .product-modal-global-close{
    top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
    right:12px !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
    font-size:34px !important;
  }
}

/* v145 fix3: 商品彈窗 X 僅在商品內容開啟時顯示，且手機版避開上方 header */
.product-modal-global-close{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.product-modal > .modal-close{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.product-modal.is-open > .modal-close{
  position:fixed !important;
  top:calc(env(safe-area-inset-top, 0px) + 16px) !important;
  right:calc((100vw - min(100vw, 560px)) / 2 + 16px) !important;
  z-index:3060 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.98) !important;
  color:#111 !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:400 !important;
  box-shadow:0 10px 28px rgba(28,18,12,.18) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent !important;
}

@media (max-width:980px){
  .product-modal.is-open > .modal-close{
    top:calc(env(safe-area-inset-top, 0px) + 78px) !important;
    right:14px !important;
    z-index:3060 !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    font-size:32px !important;
  }
}

@media (max-width:520px){
  .product-modal.is-open > .modal-close{
    top:calc(env(safe-area-inset-top, 0px) + 76px) !important;
    right:12px !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
  }
}

