
:root{--bg:#090909;--card:#171717;--text:#f7f4ef;--muted:#b6aea5;--red:#c71e1e;--red2:#ee3d32;--line:rgba(255,255,255,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}img{display:block;width:100%}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.nav-wrap{position:fixed;inset:0 0 auto 0;z-index:50;background:linear-gradient(to bottom,rgba(8,8,8,.95),rgba(8,8,8,.58),transparent);backdrop-filter:blur(8px)}
.nav{height:86px;display:flex;align-items:center;gap:30px}.brand{width:145px;height:66px;display:flex;align-items:center;overflow:hidden}.brand img{object-fit:contain;max-height:64px}
.nav-links{display:flex;gap:28px;margin-left:auto}.nav-links a{font-size:14px;color:#ddd;position:relative;padding:12px 0}.nav-links a:after{content:"";position:absolute;left:0;bottom:6px;width:0;height:2px;background:var(--red2);transition:.3s}.nav-links a:hover:after{width:100%}
.cta{display:inline-flex;align-items:center;gap:12px;border-radius:999px;background:linear-gradient(135deg,var(--red2),var(--red));padding:15px 24px;font-weight:800;box-shadow:0 12px 30px rgba(199,30,30,.25);transition:.25s}.cta:hover{transform:translateY(-2px)}.cta-small{padding:11px 18px;font-size:13px}
.menu-toggle{display:none;margin-left:auto;background:transparent;color:white;border:1px solid var(--line);font-size:22px;border-radius:10px;padding:8px 11px}
.hero{min-height:100vh;display:grid;align-items:center;position:relative;padding:120px 0 70px;background:linear-gradient(90deg,#090909 0%,#090909 42%,rgba(9,9,9,.92) 56%,rgba(9,9,9,.45) 100%)}
.hero-glow{position:absolute;width:520px;height:520px;background:rgba(199,30,30,.14);filter:blur(90px);border-radius:50%;right:8%;top:18%;animation:pulseGlow 6s ease-in-out infinite}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:68px;position:relative;z-index:2}.eyebrow{letter-spacing:.24em;font-size:12px;font-weight:800;color:#df6a62}
.hero h1{font-family:Georgia,serif;font-size:clamp(64px,8vw,122px);line-height:.86;margin:18px 0 28px;letter-spacing:-.05em}.hero-lead{font-size:19px;line-height:1.7;color:var(--muted);max-width:620px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.ghost{display:inline-flex;align-items:center;border:1px solid var(--line);padding:15px 22px;border-radius:999px;font-weight:700;color:#ddd;transition:.25s}.ghost:hover{background:#fff;color:#111}
.hero-meta{display:flex;gap:45px;margin-top:46px;padding-top:28px;border-top:1px solid var(--line)}.hero-meta div{display:grid;gap:5px}.hero-meta strong{font-size:14px}.hero-meta span{font-size:12px;color:var(--muted)}
.hero-visual{position:relative}.hero-card{position:relative;border-radius:34px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);transform-style:preserve-3d}.hero-card img{height:650px;object-fit:cover}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.76),transparent 45%)}.hero-card-label{position:absolute;z-index:2;left:28px;bottom:28px;display:grid;gap:6px}.hero-card-label span{color:#ddd;font-size:12px;text-transform:uppercase;letter-spacing:.15em}.hero-card-label strong{font-family:Georgia,serif;font-size:29px}
.dish-orbit{position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-40px;top:40px;animation:spin 22s linear infinite}.dish-orbit:before,.dish-orbit:after{content:"";position:absolute;border-radius:50%;background:var(--red2)}.dish-orbit:before{width:10px;height:10px;top:25px;left:90px}.dish-orbit:after{width:6px;height:6px;right:22px;bottom:120px}
section{padding:110px 0}.section-heading{max-width:720px;margin-bottom:38px}.section-heading h2{font-family:Georgia,serif;font-size:clamp(40px,6vw,72px);line-height:1.02;margin:12px 0 16px}.section-heading p{color:var(--muted);line-height:1.7}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.category-card{height:420px;border-radius:22px;overflow:hidden;position:relative;border:1px solid var(--line);cursor:pointer;transform-style:preserve-3d}.category-card img{height:100%;object-fit:cover;transition:transform .6s}.category-card:hover img{transform:scale(1.07)}.category-card .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.06) 65%)}.card-copy{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}.card-copy span{color:#e35a52;font-weight:800}.card-copy h3{font-family:Georgia,serif;font-size:25px;margin:8px 0}.card-copy p{color:#d0cac3;font-size:13px;line-height:1.5}
.featured{background:#0f0f0f;overflow:hidden}.featured-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:70px;align-items:center}.featured-copy h2{font-family:Georgia,serif;font-size:58px;line-height:1.05;margin:14px 0}.featured-copy p{color:var(--muted);line-height:1.7}.light{margin-top:22px}.featured-images{height:590px;position:relative}.photo{position:absolute;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45)}.photo img{height:100%;object-fit:cover}.photo-a{width:68%;height:88%;left:0;top:6%}.photo-b{width:48%;height:60%;right:0;bottom:0;transform:rotate(3deg)}
.promos{background:linear-gradient(180deg,#090909,#120808)}.promo-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.promo-card{min-height:330px;border-radius:26px;padding:38px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end}.promo-red{background:linear-gradient(135deg,#d22323,#741010)}.promo-dark{background:#151515}.promo-card small{letter-spacing:.2em}.promo-card h3{font-family:Georgia,serif;font-size:44px;margin:10px 0}.promo-card p{color:#eee;line-height:1.6}.promo-card button,.promo-card a{width:max-content;margin-top:15px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:12px 18px;border-radius:999px}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.visit-card,.map-art{border:1px solid var(--line);border-radius:28px;min-height:420px}.visit-card{padding:42px;background:#111}.visit-card h2{font-family:Georgia,serif;font-size:52px;margin:14px 0}.visit-card p{color:var(--muted)}.visit-data{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.visit-data div{padding:18px;border:1px solid var(--line);border-radius:16px;display:grid;gap:5px}.visit-data span{color:var(--muted);font-size:12px}
.map-art{position:relative;overflow:hidden;background:radial-gradient(circle at center,#292929,#101010)}.map-lines{position:absolute;inset:-20%;background:repeating-linear-gradient(35deg,transparent 0 44px,rgba(255,255,255,.06) 45px 47px),repeating-linear-gradient(-42deg,transparent 0 62px,rgba(255,255,255,.04) 63px 65px);transform:rotate(8deg)}.map-pin{position:absolute;z-index:3;left:50%;top:43%;color:var(--red2);font-size:70px;transform:translate(-50%,-50%)}.map-art span{position:absolute;z-index:3;bottom:34px;left:34px;letter-spacing:.24em;font-size:13px}
footer{padding:60px 0 25px;border-top:1px solid var(--line);background:#050505}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px}.footer-brand img{width:170px;max-height:120px;object-fit:contain}.footer-grid h4{margin:0 0 12px}.footer-grid a,.footer-grid p{display:block;color:var(--muted);margin:7px 0;font-size:14px}.footer-bottom{padding-top:28px;margin-top:32px;border-top:1px solid var(--line);font-size:12px;color:#777}
.whatsapp-float{position:fixed;z-index:40;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:white;font-size:25px;box-shadow:0 16px 35px rgba(0,0,0,.35);transition:.25s}.whatsapp-float:hover{transform:scale(1.08)}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@keyframes pulseGlow{50%{transform:scale(1.13);opacity:.72}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.nav-links{display:none}.menu-toggle{display:block}.nav-links.open{display:flex;position:absolute;top:78px;left:20px;right:20px;background:#111;border:1px solid var(--line);padding:16px;border-radius:16px;flex-direction:column}.cta-small{display:none}.hero-grid,.featured-grid,.visit-grid{grid-template-columns:1fr}.hero-card img{height:520px}.category-grid{grid-template-columns:repeat(2,1fr)}.featured-images{height:520px}.promo-grid{grid-template-columns:1fr}}
@media(max-width:650px){.container{width:min(100% - 24px,1180px)}.nav{height:72px}.brand{width:112px;height:58px}.hero{padding-top:100px;min-height:auto}.hero-grid{gap:32px}.hero h1{font-size:64px}.hero-lead{font-size:16px}.hero-meta{gap:18px;flex-direction:column}.hero-card img{height:430px}section{padding:76px 0}.category-grid{grid-template-columns:1fr}.category-card{height:300px}.featured-copy h2,.visit-card h2{font-size:42px}.featured-images{height:420px}.photo-a{width:78%}.photo-b{width:55%}.promo-card h3{font-size:36px}.visit-data{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}

/* V2 Firebase */
.public-slogan{margin-top:16px;color:#fff;text-transform:uppercase;letter-spacing:.22em;font-size:13px;min-height:18px}
.public-filters{display:flex;gap:10px;overflow:auto;padding:4px 0 22px;scrollbar-width:none}.public-filter{white-space:nowrap;border:1px solid var(--line);background:#151515;color:#ddd;padding:11px 17px;border-radius:999px;cursor:pointer;transition:.2s}.public-filter.active,.public-filter:hover{background:var(--red2);border-color:var(--red2);color:white}
.public-menu-grid,.featured-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.featured-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.public-product-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#131313;transition:.25s}.public-product-card:hover{transform:translateY(-5px);border-color:rgba(238,61,50,.55);box-shadow:0 20px 45px rgba(0,0,0,.35)}.public-product-image{height:250px;position:relative;overflow:hidden}.public-product-image img{height:100%;object-fit:cover;transition:.5s}.public-product-card:hover img{transform:scale(1.05)}.soldout .public-product-image img{filter:grayscale(.7) brightness(.65)}.soldout-label{position:absolute;inset:16px 16px auto auto;background:#111;color:#fff;border:1px solid rgba(255,255,255,.25);padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em}.public-product-body{padding:18px}.public-product-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.public-product-head h3{font-family:Georgia,serif;font-size:24px;margin:0}.public-product-head strong{color:#ff5a4f;white-space:nowrap}.public-product-body p{color:var(--muted);line-height:1.55;min-height:48px}.category-tag{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:#bbb}.loading-card,.empty-public{grid-column:1/-1;padding:35px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center}
@media(max-width:1000px){.public-menu-grid{grid-template-columns:repeat(2,1fr)}.featured-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.public-menu-grid,.featured-product-grid{grid-template-columns:1fr}.public-product-image{height:230px}}


/* SushiDesu V2.2 Themes */
html[data-public-theme="elegant"]{
  --bg:#08090b;--card:#15171a;--text:#f6f2ed;--muted:#b8b1aa;
  --red:#a81818;--red2:#e44237;--line:rgba(255,255,255,.10);
  --theme-accent:#e44237;--theme-accent2:#7b0d0d;
}
html[data-public-theme="neon"]{
  --bg:#08080d;--card:#13131a;--text:#fbf7fb;--muted:#b8b3c1;
  --red:#e22367;--red2:#ff466e;--line:rgba(91,238,238,.16);
  --theme-accent:#ff3d76;--theme-accent2:#00dbe5;
}
html[data-public-theme="minimal"]{
  --bg:#0d0d0e;--card:#161616;--text:#f5f3ef;--muted:#aaa59f;
  --red:#b51d1d;--red2:#d92b24;--line:rgba(255,255,255,.075);
  --theme-accent:#d92b24;--theme-accent2:#efeee9;
}
body{
  background:
    radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--theme-accent) 15%,transparent),transparent 28%),
    radial-gradient(circle at 8% 55%,color-mix(in srgb,var(--theme-accent2) 9%,transparent),transparent 25%),
    var(--bg);
}
body:after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:56px 56px;
}
.hero{overflow:hidden}
.hero-grid,.container{width:min(1480px,calc(100% - clamp(28px,5vw,110px)))}
.public-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.public-product-card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 96%,white 4%),var(--card))}
.public-product-image{
  background:
    radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--theme-accent) 14%,transparent),transparent 58%),
    linear-gradient(145deg,#1b1b1d,#101012);
}
.public-product-image img{object-fit:contain;padding:16px}
.public-product-card:hover{border-color:color-mix(in srgb,var(--theme-accent) 52%,transparent)}
.cta,.public-filter.active{background:linear-gradient(135deg,var(--theme-accent),color-mix(in srgb,var(--theme-accent) 70%,black))}

/* Elegant */
html[data-public-theme="elegant"] .hero-card{
  border-color:rgba(255,255,255,.12);
  box-shadow:0 45px 110px rgba(0,0,0,.62),0 0 80px rgba(158,22,22,.08);
}

/* Neon */
html[data-public-theme="neon"] body{
  background:
    radial-gradient(circle at 78% 10%,rgba(255,40,110,.19),transparent 30%),
    radial-gradient(circle at 88% 36%,rgba(0,220,229,.13),transparent 26%),
    #08080d;
}
html[data-public-theme="neon"] .hero h1{
  text-shadow:-2px 0 0 rgba(0,219,229,.55),2px 1px 0 rgba(255,43,118,.45),0 0 38px rgba(255,43,118,.16);
}
html[data-public-theme="neon"] .hero-card{
  border-color:rgba(0,219,229,.26);
  box-shadow:0 45px 110px rgba(0,0,0,.6),0 0 55px rgba(255,43,118,.16),0 0 28px rgba(0,219,229,.08);
}
html[data-public-theme="neon"] .eyebrow{color:#ff5484}

/* Minimal */
html[data-public-theme="minimal"] body:after,
html[data-public-theme="minimal"] .dish-orbit{display:none}
html[data-public-theme="minimal"] .hero{
  background:linear-gradient(90deg,#0d0d0e 0%,#0d0d0e 48%,#151516 100%);
}
html[data-public-theme="minimal"] .hero h1{
  font-family:Inter,system-ui,sans-serif;font-weight:900;letter-spacing:-.065em;
}
html[data-public-theme="minimal"] .hero-card,
html[data-public-theme="minimal"] .public-product-card,
html[data-public-theme="minimal"] .promo-card,
html[data-public-theme="minimal"] .visit-card{border-radius:14px}
html[data-public-theme="minimal"] .category-tag,
html[data-public-theme="minimal"] .public-filter,
html[data-public-theme="minimal"] .ghost{border-radius:8px}

/* Motion */
html[data-motion="soft"] .dish-orbit,
html[data-motion="soft"] .hero-glow{animation:none}
html[data-motion="soft"] .reveal{transition-duration:.45s}
html[data-motion="soft"] .public-product-card:hover{transform:translateY(-2px)}

@media(min-width:1900px){
  .hero h1{font-size:clamp(100px,6.3vw,150px)}
  .hero-lead{font-size:22px;max-width:700px}
  .hero-card img{height:720px}
  .section-heading{max-width:860px}
  .section-heading h2{font-size:clamp(58px,4vw,82px)}
  .public-product-image{height:300px}
}
@media(max-width:1200px){
  .hero-grid,.container{width:min(1180px,calc(100% - 40px))}
}
@media(max-width:650px){
  .public-product-image img{padding:10px}
}


/* =========================================================
   SushiDesu! V2.3 — Cinematic structural redesign
   ========================================================= */

:root{
  --content-wide:min(1680px,calc(100% - clamp(28px,5vw,130px)));
  --section-gap:clamp(90px,8vw,150px);
}

/* Global depth */
body{
  min-height:100%;
  background:
    radial-gradient(circle at 76% 3%,rgba(173,26,26,.18),transparent 23%),
    radial-gradient(circle at 18% 34%,rgba(116,15,15,.08),transparent 25%),
    linear-gradient(180deg,#08090a 0%,#0a0a0b 34%,#111012 66%,#08090a 100%);
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;
  background:
    repeating-radial-gradient(circle at 0 0,transparent 0 32px,rgba(255,255,255,.018) 33px 34px),
    repeating-radial-gradient(circle at 100% 30%,transparent 0 48px,rgba(197,42,38,.025) 49px 50px);
  opacity:.58;
}
body:after{
  opacity:.48;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:64px 64px;
}
.container,.hero-grid{width:var(--content-wide)}
section{position:relative;padding:var(--section-gap) 0;isolation:isolate}
section + section:before{
  content:"";position:absolute;left:50%;top:0;width:min(86%,1500px);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
}

/* Nav */
.nav{width:var(--content-wide);height:92px}
.nav-wrap{background:linear-gradient(to bottom,rgba(7,8,10,.96),rgba(7,8,10,.72),transparent);border-bottom:1px solid rgba(255,255,255,.035)}
.brand{width:190px;height:74px}
.brand img{max-height:70px}

/* Hero */
.hero{
  min-height:100vh;
  padding:136px 0 100px;
  background:
    linear-gradient(90deg,rgba(6,7,8,.98) 0%,rgba(6,7,8,.94) 39%,rgba(8,8,10,.72) 58%,rgba(8,8,10,.22) 100%);
}
.hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);
  gap:clamp(60px,6vw,110px);
}
.hero-pattern{
  position:absolute;inset:0;z-index:-1;opacity:.42;
  background:
    repeating-radial-gradient(circle at 17% 42%,transparent 0 54px,rgba(255,255,255,.025) 55px 57px),
    repeating-radial-gradient(circle at 17% 42%,transparent 0 84px,rgba(190,33,31,.025) 85px 87px);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 35%,transparent 72%);
}
.hero-noise{
  position:absolute;inset:0;z-index:-1;opacity:.12;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.45) 0 1px,transparent 1.5px),
    radial-gradient(circle at 70% 80%,rgba(255,255,255,.3) 0 1px,transparent 1.5px);
  background-size:17px 17px,23px 23px;
}
.hero-red-sun{
  position:absolute;right:9%;top:20%;width:clamp(280px,25vw,540px);aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle at 38% 36%,rgba(232,70,57,.65),rgba(154,20,20,.2) 55%,transparent 72%);
  filter:blur(2px);
  opacity:.62;
}
.hero-strokes{position:absolute;right:3%;bottom:11%;width:34%;height:22%;z-index:-1;opacity:.24;transform:rotate(-8deg)}
.hero-strokes i{position:absolute;left:0;right:0;height:4px;border-radius:10px;background:linear-gradient(90deg,transparent,rgba(232,70,57,.8),transparent)}
.hero-strokes i:nth-child(1){top:18%;transform:translateX(8%)}
.hero-strokes i:nth-child(2){top:48%;transform:translateX(-6%)}
.hero-strokes i:nth-child(3){top:78%;transform:translateX(13%)}
.hero-copy{max-width:760px}
.hero h1{
  font-size:clamp(76px,6.4vw,142px);
  line-height:.83;
  letter-spacing:-.065em;
  text-shadow:0 16px 70px rgba(0,0,0,.35);
}
.hero-lead{font-size:clamp(17px,1.15vw,22px);max-width:680px}
.hero-meta{max-width:640px}
.hero-visual{min-width:0}
.hero-card{
  border-radius:40px;
  transform:rotate(1.4deg);
  box-shadow:0 55px 140px rgba(0,0,0,.62),0 0 120px rgba(161,25,22,.12);
}
.hero-card img{
  height:min(72vh,760px);
  min-height:560px;
  object-fit:cover;
  padding:0;
}
.hero-card:before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -90px 120px rgba(0,0,0,.28);
  border-radius:inherit;
}
.dish-orbit{width:640px;height:640px;right:-85px;top:18px;opacity:.52}

/* Headings */
.section-heading{max-width:900px;margin-bottom:48px}
.section-heading h2{
  font-size:clamp(48px,4.7vw,88px);
  line-height:.95;
  letter-spacing:-.045em;
}
.section-heading p{font-size:clamp(15px,1vw,19px);max-width:720px}

/* Menu section */
.categories{
  overflow:hidden;
  background:
    linear-gradient(180deg,#0d0d0f 0%,#111012 44%,#0b0b0c 100%);
}
.categories:after{
  content:"MENU";position:absolute;right:-.03em;top:.11em;z-index:-1;
  font:900 clamp(150px,22vw,390px)/.8 Inter,system-ui,sans-serif;
  letter-spacing:-.09em;color:rgba(255,255,255,.018);
}
.section-orb{position:absolute;border-radius:50%;filter:blur(70px);z-index:-1}
.section-orb-a{width:460px;height:460px;left:-180px;top:20%;background:rgba(124,16,16,.13)}
.section-orb-b{width:560px;height:560px;right:-180px;bottom:-120px;background:rgba(196,39,32,.08)}
.japanese-divider{
  position:absolute;left:0;right:0;top:0;height:120px;opacity:.18;pointer-events:none;
  background:
    repeating-radial-gradient(circle at 50% 100%,transparent 0 31px,rgba(255,255,255,.14) 32px 34px);
  mask-image:linear-gradient(to bottom,#000,transparent);
}
.menu-stage{
  position:relative;height:180px;margin:-10px 0 34px;border-radius:30px;overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 75% 44%,rgba(201,45,37,.24),transparent 22%),
    linear-gradient(115deg,#171719,#0c0c0d 72%);
}
.menu-stage:before{
  content:"";position:absolute;inset:0;
  background:repeating-radial-gradient(circle at 86% 50%,transparent 0 28px,rgba(255,255,255,.045) 29px 30px);
  opacity:.55;
}
.menu-stage-copy{position:absolute;left:34px;top:50%;transform:translateY(-50%);display:grid;gap:8px;z-index:2}
.menu-stage-copy span{font-size:12px;letter-spacing:.27em;color:#d75d55}
.menu-stage-copy strong{font:700 clamp(36px,3vw,58px)/1 Georgia,serif}
.menu-stage-lines{position:absolute;width:52%;right:-2%;top:0;bottom:0;opacity:.2;transform:skewX(-20deg)}
.menu-stage-lines:before,.menu-stage-lines:after{content:"";position:absolute;left:10%;right:0;height:3px;background:linear-gradient(90deg,transparent,#d54137,transparent)}
.menu-stage-lines:before{top:35%}.menu-stage-lines:after{top:64%}
.public-filters{margin-bottom:10px}
.public-filter{padding:12px 20px;background:rgba(26,26,29,.92);backdrop-filter:blur(10px)}
.public-menu-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,1.5vw,28px);
}
.public-product-card{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(28,28,31,.98),rgba(17,17,19,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.public-product-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(140deg,rgba(255,255,255,.035),transparent 28%);
}
.public-product-image{
  height:clamp(250px,18vw,340px);
  background:
    radial-gradient(circle at 50% 50%,rgba(176,34,29,.16),transparent 42%),
    linear-gradient(145deg,#222225,#111113);
  display:grid;place-items:center;
}
.public-product-image:before{
  content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(211,55,45,.16),rgba(211,55,45,.025) 62%,transparent 70%);
  filter:blur(4px);
}
.public-product-image img{
  position:relative;z-index:1;width:88%;height:88%;object-fit:contain;padding:10px;
  filter:drop-shadow(0 24px 24px rgba(0,0,0,.32));
}
.public-product-body{padding:22px 22px 24px}
.public-product-head h3{font-size:clamp(22px,1.6vw,30px)}
.public-product-head strong{font-size:clamp(18px,1.2vw,24px)}
.public-product-body p{font-size:15px;min-height:46px}
.category-tag{background:rgba(255,255,255,.025)}

/* Featured */
.featured{
  min-height:640px;overflow:hidden;
  background:
    radial-gradient(circle at 82% 46%,rgba(163,24,23,.17),transparent 30%),
    linear-gradient(135deg,#09090a 0%,#131214 48%,#09090a 100%);
}
.featured-backdrop-word{
  position:absolute;left:-.04em;bottom:-.14em;z-index:-1;
  font:900 clamp(220px,27vw,520px)/.8 Inter,system-ui,sans-serif;
  letter-spacing:-.11em;color:rgba(255,255,255,.018);pointer-events:none;
}
.featured-glow{position:absolute;width:620px;height:620px;right:-170px;top:-80px;border-radius:50%;filter:blur(80px);background:rgba(177,28,25,.09);z-index:-1}
.featured-product-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(18px,1.5vw,28px);
}
.featured .public-product-card:nth-child(2n){transform:translateY(26px)}
.featured .public-product-card:hover{transform:translateY(-5px)}
.featured .public-product-card:nth-child(2n):hover{transform:translateY(18px)}

/* Promos */
.promos{
  min-height:650px;overflow:hidden;
  background:
    radial-gradient(circle at 16% 24%,rgba(174,29,25,.16),transparent 26%),
    linear-gradient(180deg,#10090a,#160b0b 50%,#0b0b0c 100%);
}
.promo-kanji{
  position:absolute;right:5%;top:2%;z-index:-1;
  font:700 clamp(260px,29vw,560px)/1 serif;color:rgba(255,255,255,.024);pointer-events:none;
}
.promo-rings{
  position:absolute;width:620px;height:620px;left:-240px;bottom:-320px;border-radius:50%;z-index:-1;
  border:1px solid rgba(230,64,53,.15);box-shadow:0 0 0 70px rgba(230,64,53,.025),0 0 0 140px rgba(230,64,53,.018);
}
.promo-grid{gap:26px}
.promo-card{
  min-height:390px;border-radius:30px;padding:44px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  overflow:hidden;
}
.promo-card h3{font-size:clamp(40px,3.5vw,62px);max-width:650px}
.promo-card p{font-size:17px;max-width:650px}

/* Visit */
.visit{
  overflow:hidden;
  background:
    linear-gradient(180deg,#0a0a0b,#0f0f10);
}
.visit-bg-word{
  position:absolute;left:50%;top:8%;transform:translateX(-50%);z-index:-1;
  font:900 clamp(110px,16vw,300px)/1 Inter,system-ui,sans-serif;
  letter-spacing:.06em;color:rgba(255,255,255,.018);white-space:nowrap;
}
.visit-grid{gap:30px}
.visit-card,.map-art{
  min-height:500px;border-radius:32px;box-shadow:0 25px 70px rgba(0,0,0,.22)
}
.visit-card{
  padding:clamp(34px,3vw,54px);
  background:
    linear-gradient(150deg,rgba(27,27,29,.98),rgba(15,15,16,.98));
}
.map-art{
  background:
    radial-gradient(circle at center,rgba(180,33,28,.12),transparent 24%),
    radial-gradient(circle at center,#272729,#111113);
}

/* Footer */
footer{
  padding-top:78px;
  background:
    linear-gradient(180deg,#070708,#030304);
}

/* Elegant theme structural nuances */
html[data-public-theme="elegant"] .menu-stage{
  background:
    radial-gradient(circle at 77% 45%,rgba(170,31,28,.25),transparent 24%),
    linear-gradient(115deg,#171719,#0b0b0c 72%);
}
html[data-public-theme="elegant"] .public-product-card:hover{
  box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 60px rgba(164,31,27,.08);
}

/* Neon theme gets more luminous scenery */
html[data-public-theme="neon"] .menu-stage{
  background:
    radial-gradient(circle at 75% 45%,rgba(255,50,110,.22),transparent 22%),
    radial-gradient(circle at 88% 45%,rgba(0,220,229,.17),transparent 20%),
    linear-gradient(115deg,#17141c,#09090d 72%);
}
html[data-public-theme="neon"] .public-product-image{
  background:
    radial-gradient(circle at 45% 48%,rgba(255,50,110,.18),transparent 34%),
    radial-gradient(circle at 65% 48%,rgba(0,220,229,.12),transparent 36%),
    #121218;
}
html[data-public-theme="neon"] .categories,
html[data-public-theme="neon"] .featured,
html[data-public-theme="neon"] .promos{
  box-shadow:inset 0 0 120px rgba(0,220,229,.015),inset 0 0 180px rgba(255,50,110,.02);
}

/* Minimal keeps scenery restrained */
html[data-public-theme="minimal"] .hero-pattern,
html[data-public-theme="minimal"] .hero-strokes,
html[data-public-theme="minimal"] .japanese-divider,
html[data-public-theme="minimal"] .promo-kanji{display:none}
html[data-public-theme="minimal"] .categories,
html[data-public-theme="minimal"] .featured,
html[data-public-theme="minimal"] .promos,
html[data-public-theme="minimal"] .visit{background:#0e0e0f}
html[data-public-theme="minimal"] .menu-stage{border-radius:14px}
html[data-public-theme="minimal"] .public-product-card{border-radius:14px}

/* Big displays */
@media(min-width:1900px){
  .hero{padding-top:150px}
  .hero-grid{grid-template-columns:minmax(0,.88fr) minmax(720px,1.12fr)}
  .hero-card img{height:min(76vh,840px)}
  .menu-stage{height:210px}
  .public-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .featured-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .public-product-image{height:320px}
}

/* Laptop */
@media(max-width:1280px){
  :root{--content-wide:min(1180px,calc(100% - 40px))}
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero-card img{min-height:500px;height:620px}
  .public-menu-grid{grid-template-columns:repeat(3,1fr)}
}

/* Tablet */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-card{transform:none}
  .hero-card img{height:560px;min-height:0}
  .public-menu-grid,.featured-product-grid{grid-template-columns:repeat(2,1fr)}
  .featured .public-product-card:nth-child(2n){transform:none}
  .menu-stage{height:150px}
}

/* Mobile */
@media(max-width:650px){
  :root{--content-wide:min(100% - 24px,1180px);--section-gap:76px}
  .hero{padding-top:105px}
  .hero h1{font-size:clamp(58px,18vw,78px)}
  .hero-card img{height:430px}
  .menu-stage{height:130px;border-radius:20px}
  .menu-stage-copy{left:20px}
  .menu-stage-copy strong{font-size:34px}
  .public-menu-grid,.featured-product-grid{grid-template-columns:1fr}
  .public-product-image{height:260px}
  .promo-card{min-height:340px;padding:28px}
  .visit-card,.map-art{min-height:390px}
  .hero-red-sun{right:-25%;top:28%;width:360px}
}


/* =========================================================
   SushiDesu! V2.4 — TRUE MULTI-LAYOUT
   Elegant / Neon / Minimal now use distinct compositions.
   ========================================================= */

.layout-signature{position:fixed;pointer-events:none;z-index:0}
.layout-signature span{display:none}

/* -----------------------------
   LAYOUT 1: ELEGANT JAPANESE
   Editorial, cinematic, refined.
   ----------------------------- */
html[data-public-layout="elegant"] .sig-elegant{
  display:block;position:fixed;right:2vw;top:18vh;
  font:700 clamp(170px,18vw,340px)/1 Georgia,serif;
  color:rgba(255,255,255,.018);writing-mode:vertical-rl;
}
html[data-public-layout="elegant"] .nav{
  display:grid;grid-template-columns:210px 1fr auto;align-items:center;
}
html[data-public-layout="elegant"] .nav-links{justify-self:center}
html[data-public-layout="elegant"] .hero-grid{
  grid-template-columns:minmax(0,.86fr) minmax(600px,1.14fr);
}
html[data-public-layout="elegant"] .hero-copy{
  align-self:center;padding-left:clamp(0px,2vw,38px)
}
html[data-public-layout="elegant"] .hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;letter-spacing:-.07em;
}
html[data-public-layout="elegant"] .hero-card{
  transform:rotate(1.8deg);border-radius:42px;
}
html[data-public-layout="elegant"] .menu-stage{
  width:72%;margin-left:auto;height:210px;
}
html[data-public-layout="elegant"] .section-heading{
  display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:34px;align-items:end;
}
html[data-public-layout="elegant"] .section-heading .eyebrow{
  grid-row:1 / span 2;align-self:start;margin-top:13px;
  writing-mode:vertical-rl;letter-spacing:.3em;
}
html[data-public-layout="elegant"] .section-heading h2{grid-column:2}
html[data-public-layout="elegant"] .section-heading p{grid-column:2}
html[data-public-layout="elegant"] .public-menu-grid{
  grid-template-columns:repeat(12,1fr);gap:22px;
}
html[data-public-layout="elegant"] .public-menu-grid .public-product-card{
  grid-column:span 4;
}
html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+1){
  grid-column:span 5;
}
html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+2){
  grid-column:span 7;
}
html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+1) .public-product-image,
html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+2) .public-product-image{
  height:370px;
}
html[data-public-layout="elegant"] .featured .container{
  display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start;
}
html[data-public-layout="elegant"] .featured .section-heading{
  display:block;position:sticky;top:150px;
}
html[data-public-layout="elegant"] .featured .section-heading .eyebrow{
  writing-mode:horizontal-tb;
}
html[data-public-layout="elegant"] .featured-product-grid{
  grid-template-columns:repeat(2,1fr);
}
html[data-public-layout="elegant"] .promo-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:30px;
}
html[data-public-layout="elegant"] .promo-card:first-child{
  min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;
}
html[data-public-layout="elegant"] .visit-grid{
  grid-template-columns:.9fr 1.1fr;
}

/* -----------------------------
   LAYOUT 2: BOLD NEON SUSHI
   Side navigation, diagonal hero,
   horizontal menu cards and glow.
   ----------------------------- */
html[data-public-layout="neon"] body{
  padding-left:92px;
  background:
    radial-gradient(circle at 72% 14%,rgba(255,35,112,.20),transparent 24%),
    radial-gradient(circle at 20% 62%,rgba(0,220,235,.12),transparent 27%),
    #07070c;
}
html[data-public-layout="neon"] .sig-neon{
  display:block;position:fixed;right:-1.5vw;bottom:4vh;
  font:900 clamp(100px,13vw,260px)/1 Inter,system-ui,sans-serif;
  color:rgba(0,220,235,.026);transform:rotate(-90deg) translateX(25%);
  transform-origin:right bottom;letter-spacing:.08em;
}
html[data-public-layout="neon"] .nav-wrap{
  position:fixed;left:0;top:0;bottom:0;width:92px;height:100vh;
  border-right:1px solid rgba(0,220,235,.16);border-bottom:0;
  background:rgba(8,8,14,.96);backdrop-filter:blur(18px);
}
html[data-public-layout="neon"] .nav{
  width:92px;height:100%;padding:18px 10px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:28px;
}
html[data-public-layout="neon"] .brand{width:70px;height:70px}
html[data-public-layout="neon"] .brand img{max-width:68px;max-height:68px;object-fit:contain}
html[data-public-layout="neon"] .nav-links{
  display:flex!important;flex-direction:column;gap:22px;margin-top:18px;
}
html[data-public-layout="neon"] .nav-links a{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
}
html[data-public-layout="neon"] .nav .cta-small{
  margin-top:auto;width:60px;min-height:116px;padding:10px 8px;
  writing-mode:vertical-rl;transform:rotate(180deg);
  display:flex;align-items:center;justify-content:center;border-radius:18px;
  font-size:11px;letter-spacing:.08em;
}
html[data-public-layout="neon"] .menu-toggle{display:none}
html[data-public-layout="neon"] .hero{
  min-height:100vh;padding:70px 0 50px;
  clip-path:polygon(0 0,100% 0,100% 92%,82% 100%,0 95%);
}
html[data-public-layout="neon"] .hero-grid{
  width:min(1760px,calc(100% - 90px));
  grid-template-columns:.78fr 1.22fr;gap:38px;
}
html[data-public-layout="neon"] .hero-copy{padding-top:12vh}
html[data-public-layout="neon"] .hero h1{
  font-family:Inter,system-ui,sans-serif;font-weight:950;
  font-size:clamp(82px,7.4vw,158px);letter-spacing:-.085em;
  text-transform:uppercase;
}
html[data-public-layout="neon"] .hero-card{
  border-radius:4px 54px 4px 54px;
  transform:skewX(-3deg) rotate(-1deg);
  overflow:hidden;
}
html[data-public-layout="neon"] .hero-card img{
  transform:scale(1.05) skewX(3deg);height:min(82vh,860px);
}
html[data-public-layout="neon"] .hero-actions .cta,
html[data-public-layout="neon"] .hero-actions .ghost{
  border-radius:7px;text-transform:uppercase;letter-spacing:.08em;
}
html[data-public-layout="neon"] .hero-meta{
  display:flex;gap:10px;
}
html[data-public-layout="neon"] .hero-meta > div{
  flex:1;border:1px solid rgba(0,220,235,.14);
  background:rgba(12,12,20,.64);padding:16px;border-radius:8px;
}
html[data-public-layout="neon"] .categories{
  padding-top:150px;
  clip-path:polygon(0 5%,12% 0,100% 4%,100% 100%,0 100%);
}
html[data-public-layout="neon"] .section-heading{
  max-width:1180px;margin-left:0;
}
html[data-public-layout="neon"] .section-heading h2{
  text-transform:uppercase;font-weight:950;font-family:Inter,system-ui,sans-serif;
}
html[data-public-layout="neon"] .menu-stage{
  width:100%;height:155px;border-radius:8px;
  transform:skewX(-4deg);
}
html[data-public-layout="neon"] .menu-stage-copy{transform:translateY(-50%) skewX(4deg)}
html[data-public-layout="neon"] .public-filters{
  display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;
}
html[data-public-layout="neon"] .public-filter{
  flex:0 0 auto;border-radius:5px;text-transform:uppercase;letter-spacing:.08em;
}
html[data-public-layout="neon"] .public-menu-grid{
  display:flex;flex-direction:column;gap:18px;
}
html[data-public-layout="neon"] .public-product-card{
  display:grid;grid-template-columns:330px 1fr;
  min-height:230px;border-radius:10px;
}
html[data-public-layout="neon"] .public-product-card:nth-child(even){
  grid-template-columns:1fr 330px;
}
html[data-public-layout="neon"] .public-product-card:nth-child(even) .public-product-image{order:2}
html[data-public-layout="neon"] .public-product-image{
  height:100%;min-height:230px;border-radius:0;
}
html[data-public-layout="neon"] .public-product-body{
  display:flex;flex-direction:column;justify-content:center;padding:30px 38px;
}
html[data-public-layout="neon"] .public-product-head h3{
  font-size:clamp(28px,2.4vw,46px);text-transform:uppercase;letter-spacing:-.04em;
}
html[data-public-layout="neon"] .public-product-head strong{
  font-size:clamp(25px,2vw,38px);
}
html[data-public-layout="neon"] .featured{
  clip-path:polygon(0 0,100% 5%,100% 95%,86% 100%,0 96%);
}
html[data-public-layout="neon"] .featured-product-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
html[data-public-layout="neon"] .featured .public-product-card{
  display:block;min-height:auto;border-radius:12px;
}
html[data-public-layout="neon"] .featured .public-product-card .public-product-image{height:310px}
html[data-public-layout="neon"] .featured .public-product-card:nth-child(even) .public-product-image{order:initial}
html[data-public-layout="neon"] .promo-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:18px;
}
html[data-public-layout="neon"] .promo-card{
  grid-column:span 6;border-radius:10px;min-height:420px;
  transform:skewX(-2deg);
}
html[data-public-layout="neon"] .promo-card > *{transform:skewX(2deg)}
html[data-public-layout="neon"] .visit-grid{
  grid-template-columns:1.15fr .85fr;
}
html[data-public-layout="neon"] .visit-card,
html[data-public-layout="neon"] .map-art{border-radius:10px}

/* -----------------------------
   LAYOUT 3: MINIMAL RED & CREAM
   Bright editorial catalog.
   Completely different visual rhythm.
   ----------------------------- */
html[data-public-layout="minimal"] body{
  padding:0;
  background:#f2eee8;color:#171717;
}
html[data-public-layout="minimal"] body:before,
html[data-public-layout="minimal"] body:after{display:none}
html[data-public-layout="minimal"] .sig-minimal{
  display:block;position:fixed;right:2vw;bottom:0;
  font:950 clamp(160px,25vw,480px)/.75 Inter,system-ui,sans-serif;
  letter-spacing:-.12em;color:rgba(175,26,26,.035);
}
html[data-public-layout="minimal"] .nav-wrap{
  position:sticky;top:0;height:auto;
  background:rgba(242,238,232,.92);border-bottom:1px solid #d8d0c6;
  backdrop-filter:blur(14px);
}
html[data-public-layout="minimal"] .nav{
  height:76px;width:min(1440px,calc(100% - 64px));
  display:grid;grid-template-columns:170px 1fr auto;
}
html[data-public-layout="minimal"] .brand{width:150px;height:58px}
html[data-public-layout="minimal"] .brand img{
  max-height:56px;filter:contrast(1.1);
}
html[data-public-layout="minimal"] .nav-links{justify-content:flex-end}
html[data-public-layout="minimal"] .nav-links a{color:#191919;font-weight:700}
html[data-public-layout="minimal"] .nav .cta-small{
  border-radius:999px;background:#171717;color:white;margin-left:24px;
}
html[data-public-layout="minimal"] section{
  padding:clamp(75px,7vw,120px) 0;
}
html[data-public-layout="minimal"] .hero{
  min-height:auto;padding:90px 0 115px;
  background:#f2eee8;color:#171717;clip-path:none;
}
html[data-public-layout="minimal"] .hero-grid{
  width:min(1440px,calc(100% - 64px));
  grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;
}
html[data-public-layout="minimal"] .hero-pattern,
html[data-public-layout="minimal"] .hero-noise,
html[data-public-layout="minimal"] .hero-red-sun,
html[data-public-layout="minimal"] .hero-strokes,
html[data-public-layout="minimal"] .hero-glow,
html[data-public-layout="minimal"] .dish-orbit{display:none}
html[data-public-layout="minimal"] .eyebrow{color:#b01f1f}
html[data-public-layout="minimal"] .hero h1{
  color:#171717;font-size:clamp(84px,8vw,156px);
  font-family:Inter,system-ui,sans-serif;font-weight:950;line-height:.82;
  text-transform:none;text-shadow:none;
}
html[data-public-layout="minimal"] .hero-lead{color:#58514b;font-size:20px}
html[data-public-layout="minimal"] .hero-card{
  transform:none;border-radius:0;border:0;box-shadow:none;
  background:transparent;
}
html[data-public-layout="minimal"] .hero-card img{
  height:650px;min-height:0;border-radius:0;object-fit:cover;
  clip-path:polygon(0 8%,92% 0,100% 92%,9% 100%);
}
html[data-public-layout="minimal"] .hero-card:before{display:none}
html[data-public-layout="minimal"] .hero-card-label{
  background:#171717;color:white;right:-18px;bottom:28px;border-radius:0;
}
html[data-public-layout="minimal"] .hero-actions .cta{
  background:#b01f1f;border-radius:999px;
}
html[data-public-layout="minimal"] .hero-actions .ghost{
  color:#171717;border-color:#bcb3a9;border-radius:999px;
}
html[data-public-layout="minimal"] .hero-meta{
  border-top:1px solid #cfc7be;
}
html[data-public-layout="minimal"] .hero-meta strong{color:#171717}
html[data-public-layout="minimal"] .hero-meta span{color:#756d66}
html[data-public-layout="minimal"] .categories{
  background:#171717;color:#f2eee8;clip-path:none;
}
html[data-public-layout="minimal"] .categories:after{
  content:"SUSHI";color:rgba(255,255,255,.025)
}
html[data-public-layout="minimal"] .categories .section-heading h2{color:#f4efe9}
html[data-public-layout="minimal"] .menu-stage{
  display:none;
}
html[data-public-layout="minimal"] .public-filters{
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
  padding:18px 0;margin-bottom:38px;
}
html[data-public-layout="minimal"] .public-filter{
  border:0;border-radius:0;background:transparent;color:#aaa39b;
  padding:8px 18px;text-transform:uppercase;letter-spacing:.09em;
}
html[data-public-layout="minimal"] .public-filter.active{
  color:#fff;background:transparent;box-shadow:inset 0 -2px #b01f1f;
}
html[data-public-layout="minimal"] .public-menu-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:rgba(255,255,255,.16);
}
html[data-public-layout="minimal"] .public-product-card{
  border:0;border-radius:0;background:#171717;color:white;
  display:grid;grid-template-columns:44% 56%;
  box-shadow:none;min-height:320px;
}
html[data-public-layout="minimal"] .public-product-image{
  height:100%;min-height:320px;border-radius:0;background:#242424;
}
html[data-public-layout="minimal"] .public-product-body{
  padding:34px;display:flex;flex-direction:column;justify-content:center;
}
html[data-public-layout="minimal"] .public-product-head h3{
  color:white;font-size:clamp(28px,2.3vw,42px);
}
html[data-public-layout="minimal"] .public-product-head strong{color:#d84b42}
html[data-public-layout="minimal"] .public-product-body p{color:#a8a3a0}
html[data-public-layout="minimal"] .category-tag{
  width:max-content;border:1px solid rgba(255,255,255,.2);border-radius:0;color:#d8d3ce;
}
html[data-public-layout="minimal"] .featured{
  background:#f2eee8;color:#171717;clip-path:none;
}
html[data-public-layout="minimal"] .featured-backdrop-word{
  color:rgba(176,31,31,.035);
}
html[data-public-layout="minimal"] .featured .section-heading h2{color:#171717}
html[data-public-layout="minimal"] .featured-product-grid{
  grid-template-columns:repeat(4,1fr);gap:18px;
}
html[data-public-layout="minimal"] .featured .public-product-card{
  display:block;background:#fff;color:#171717;border:1px solid #ddd4ca;border-radius:0;
}
html[data-public-layout="minimal"] .featured .public-product-image{
  height:260px;min-height:0;background:#ece7e0;
}
html[data-public-layout="minimal"] .featured .public-product-head h3{color:#171717;font-size:24px}
html[data-public-layout="minimal"] .featured .public-product-body p{color:#6e6761}
html[data-public-layout="minimal"] .featured .category-tag{color:#6e6761;border-color:#d4cbc1}
html[data-public-layout="minimal"] .promos{
  background:#b01f1f;color:white;clip-path:none;
}
html[data-public-layout="minimal"] .promos .section-heading .eyebrow{color:#ffd8d2}
html[data-public-layout="minimal"] .promos .section-heading h2{color:#fff}
html[data-public-layout="minimal"] .promo-kanji,
html[data-public-layout="minimal"] .promo-rings{display:none}
html[data-public-layout="minimal"] .promo-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.3);
}
html[data-public-layout="minimal"] .promo-card{
  border:0;border-radius:0;min-height:430px;background:#b01f1f;
  box-shadow:none;padding:44px;
}
html[data-public-layout="minimal"] .promo-card:nth-child(even){background:#171717}
html[data-public-layout="minimal"] .visit{
  background:#f2eee8;color:#171717;clip-path:none;
}
html[data-public-layout="minimal"] .visit-bg-word{color:rgba(176,31,31,.035)}
html[data-public-layout="minimal"] .visit-grid{
  grid-template-columns:1fr 1fr;gap:0;
}
html[data-public-layout="minimal"] .visit-card,
html[data-public-layout="minimal"] .map-art{
  border-radius:0;box-shadow:none;min-height:520px;
}
html[data-public-layout="minimal"] .visit-card{
  background:#fff;color:#171717;border:1px solid #ddd4ca;
}
html[data-public-layout="minimal"] .visit-card h2{color:#171717}
html[data-public-layout="minimal"] .visit-card p,
html[data-public-layout="minimal"] .visit-card span{color:#6d665f}
html[data-public-layout="minimal"] .visit-card strong{color:#171717}
html[data-public-layout="minimal"] .map-art{
  background:#171717;
}
html[data-public-layout="minimal"] footer{
  background:#171717;color:#fff;
}

/* Responsive corrections for true layouts */
@media(max-width:1180px){
  html[data-public-layout="neon"] body{padding-left:0}
  html[data-public-layout="neon"] .nav-wrap{
    position:sticky;left:auto;right:auto;bottom:auto;width:100%;height:auto;
    border-right:0;border-bottom:1px solid rgba(0,220,235,.16);
  }
  html[data-public-layout="neon"] .nav{
    width:min(1180px,calc(100% - 36px));height:76px;padding:0;
    flex-direction:row;gap:18px;
  }
  html[data-public-layout="neon"] .nav-links{
    margin:0;flex-direction:row;margin-left:auto;
  }
  html[data-public-layout="neon"] .nav-links a{
    writing-mode:horizontal-tb;transform:none;font-size:13px;
  }
  html[data-public-layout="neon"] .nav .cta-small{
    width:auto;min-height:0;margin:0;padding:12px 16px;
    writing-mode:horizontal-tb;transform:none;
  }
  html[data-public-layout="neon"] .hero-grid{width:min(1180px,calc(100% - 40px))}
}
@media(max-width:980px){
  html[data-public-layout="elegant"] .section-heading{
    display:block;
  }
  html[data-public-layout="elegant"] .section-heading .eyebrow{
    writing-mode:horizontal-tb;
  }
  html[data-public-layout="elegant"] .menu-stage{width:100%}
  html[data-public-layout="elegant"] .public-menu-grid{
    grid-template-columns:repeat(2,1fr);
  }
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card,
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+1),
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+2){
    grid-column:auto;
  }
  html[data-public-layout="elegant"] .featured .container{
    display:block;
  }
  html[data-public-layout="elegant"] .featured .section-heading{position:static}
  html[data-public-layout="minimal"] .hero-grid{grid-template-columns:1fr}
  html[data-public-layout="minimal"] .public-menu-grid{grid-template-columns:1fr}
  html[data-public-layout="minimal"] .featured-product-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  html[data-public-layout="neon"] .nav-links{display:none!important}
  html[data-public-layout="neon"] .menu-toggle{display:block}
  html[data-public-layout="neon"] .nav .cta-small{margin-left:auto}
  html[data-public-layout="neon"] .hero{clip-path:none}
  html[data-public-layout="neon"] .hero-copy{padding-top:20px}
  html[data-public-layout="neon"] .hero-card{transform:none;border-radius:20px}
  html[data-public-layout="neon"] .hero-card img{transform:none}
  html[data-public-layout="neon"] .public-product-card,
  html[data-public-layout="neon"] .public-product-card:nth-child(even){
    grid-template-columns:1fr;
  }
  html[data-public-layout="neon"] .public-product-card:nth-child(even) .public-product-image{order:initial}
  html[data-public-layout="neon"] .featured-product-grid{grid-template-columns:1fr}
  html[data-public-layout="neon"] .promo-grid{grid-template-columns:1fr}
  html[data-public-layout="neon"] .promo-card{grid-column:auto}
  html[data-public-layout="minimal"] .nav{width:calc(100% - 24px);grid-template-columns:1fr auto}
  html[data-public-layout="minimal"] .nav-links{display:none}
  html[data-public-layout="minimal"] .menu-toggle{display:block}
  html[data-public-layout="minimal"] .nav .cta-small{display:none}
  html[data-public-layout="minimal"] .hero-grid{width:calc(100% - 28px)}
  html[data-public-layout="minimal"] .hero-card img{height:440px}
  html[data-public-layout="minimal"] .public-product-card{grid-template-columns:1fr}
  html[data-public-layout="minimal"] .public-product-image{min-height:250px}
  html[data-public-layout="minimal"] .featured-product-grid{grid-template-columns:1fr}
  html[data-public-layout="minimal"] .promo-grid{grid-template-columns:1fr}
  html[data-public-layout="minimal"] .visit-grid{grid-template-columns:1fr}
}


/* =========================================================
   SushiDesu! V2.5 — Premium Japanese Editorial
   ========================================================= */
html[data-public-layout="elegant"] body{
  background:
    radial-gradient(circle at 77% 10%,rgba(203,52,39,.16),transparent 20%),
    radial-gradient(circle at 16% 40%,rgba(126,18,18,.10),transparent 22%),
    linear-gradient(180deg,#070708 0%,#0b0a0b 42%,#09090a 100%);
}
html[data-public-layout="elegant"] body:before{
  background:
    radial-gradient(circle at 8% 10%,rgba(255,255,255,.02) 0 1px,transparent 1.6px),
    radial-gradient(circle at 30% 80%,rgba(255,255,255,.014) 0 1px,transparent 1.8px),
    repeating-radial-gradient(circle at 14% 34%,transparent 0 45px,rgba(255,255,255,.016) 46px 48px);
  background-size:18px 18px,22px 22px,auto;
  opacity:.75;
}
html[data-public-layout="elegant"] .cta-small{
  border:1px solid rgba(255,255,255,.20);
  background:rgba(24,24,24,.48);
  box-shadow:0 6px 24px rgba(0,0,0,.24);
}
html[data-public-layout="elegant"] .hero{
  min-height:950px;
  padding:120px 0 70px;
  background:
    linear-gradient(90deg,rgba(6,6,7,.96) 0%,rgba(6,6,7,.92) 42%,rgba(7,7,8,.55) 60%,rgba(8,8,9,.10) 100%);
}
html[data-public-layout="elegant"] .hero-grid{
  position:relative;
  grid-template-columns:minmax(0,.85fr) minmax(640px,1.15fr);
  gap:36px;
}
html[data-public-layout="elegant"] .hero-copy{
  padding-top:90px;
  padding-left:4px;
  position:relative;
}
html[data-public-layout="elegant"] .hero-copy:before{
  content:"";position:absolute;left:-36px;top:104px;width:1px;height:160px;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);
}
html[data-public-layout="elegant"] .hero-copy:after{
  content:"01\a 02\a 03";white-space:pre;position:absolute;left:-24px;top:278px;
  font:500 22px/2.35 Inter,system-ui,sans-serif;color:rgba(255,255,255,.52);
}
html[data-public-layout="elegant"] .eyebrow{
  color:#bdb6ae;
  font-size:13px;
  letter-spacing:.36em;
}
html[data-public-layout="elegant"] .hero h1{
  max-width:760px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(84px,7.3vw,150px);
  line-height:.88;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
html[data-public-layout="elegant"] .hero-lead{
  max-width:560px;
  font-size:clamp(18px,1.2vw,25px);
  line-height:1.6;color:#d2ccc5;
}
html[data-public-layout="elegant"] .hero-actions .cta{
  min-width:170px;border-radius:999px;
  box-shadow:0 14px 34px rgba(217,71,58,.18);
}
html[data-public-layout="elegant"] .hero-actions .ghost{
  width:auto;padding:0 10px 0 0;border:0;background:transparent;
  display:flex;align-items:center;gap:12px;color:#fff;
}
html[data-public-layout="elegant"] .hero-actions .ghost:before{
  content:"▶";display:grid;place-items:center;
  width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);padding-left:3px;
}
html[data-public-layout="elegant"] .hero-card{
  margin-left:auto;width:min(100%,760px);
  transform:none;border-radius:34px;background:transparent;border:0;box-shadow:none;
}
html[data-public-layout="elegant"] .hero-card img{
  width:100%;height:760px;object-fit:cover;border-radius:34px;
  filter:brightness(.92) contrast(1.04) saturate(1.02);
  box-shadow:0 55px 120px rgba(0,0,0,.54);
}
html[data-public-layout="elegant"] .hero-visual:after{
  content:"Good\a Sushi\a Good\a Mood";white-space:pre;position:absolute;
  right:-20px;top:210px;
  font:400 clamp(24px,2vw,44px)/1.07 "Brush Script MT","Segoe Script",cursive;
  color:rgba(255,255,255,.88);
  text-align:left;text-shadow:0 12px 25px rgba(0,0,0,.35);
}
html[data-public-layout="elegant"] .hero-visual:before{
  content:"";position:absolute;right:30px;bottom:120px;width:130px;height:6px;
  border-radius:10px;background:linear-gradient(90deg,#d9473a,transparent);
  transform:rotate(-10deg);
}
html[data-public-layout="elegant"] .hero-meta{
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:18px;margin-top:16px;max-width:640px;
}
html[data-public-layout="elegant"] .categories{padding-top:18px;margin-top:-18px}
html[data-public-layout="elegant"] .category-rail{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 34px;
}
html[data-public-layout="elegant"] .category-card{
  position:relative;min-height:126px;border-radius:22px;overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(90deg,rgba(14,14,15,.84),rgba(12,12,12,.38) 72%,rgba(10,10,11,.18) 100%);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
html[data-public-layout="elegant"] .category-card-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:brightness(.72) saturate(.95);
}
html[data-public-layout="elegant"] .cat-rollos .category-card-bg{
  background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.08)),radial-gradient(circle at 24% 50%,rgba(240,160,120,.24),transparent 16%),linear-gradient(135deg,#573523,#181212);
}
html[data-public-layout="elegant"] .cat-entradas .category-card-bg{
  background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.08)),radial-gradient(circle at 28% 52%,rgba(100,170,90,.18),transparent 18%),linear-gradient(135deg,#2b3928,#161717);
}
html[data-public-layout="elegant"] .cat-bebidas .category-card-bg{
  background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.08)),radial-gradient(circle at 28% 52%,rgba(255,120,95,.22),transparent 18%),linear-gradient(135deg,#4b2a2d,#171516);
}
html[data-public-layout="elegant"] .cat-postres .category-card-bg{
  background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.08)),radial-gradient(circle at 28% 52%,rgba(211,155,108,.22),transparent 18%),linear-gradient(135deg,#4b3526,#171513);
}
html[data-public-layout="elegant"] .category-card:before{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.10),rgba(0,0,0,.48) 48%,rgba(0,0,0,.85) 100%);
}
html[data-public-layout="elegant"] .category-card-content{
  position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;
}
html[data-public-layout="elegant"] .category-card-content span{display:block;font-size:11px;letter-spacing:.28em;color:#b59f94;margin-bottom:8px}
html[data-public-layout="elegant"] .category-card-content h3{font:500 clamp(28px,2vw,38px)/1.04 Georgia,serif;color:#fff}
html[data-public-layout="elegant"] .category-arrow{
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.18);color:#fff;font-size:24px;cursor:pointer;
}
html[data-public-layout="elegant"] .section-heading{
  display:grid;grid-template-columns:210px 1fr;gap:30px;align-items:end;
}
html[data-public-layout="elegant"] .section-heading .eyebrow{
  writing-mode:vertical-rl;align-self:start;margin-top:8px;
}
html[data-public-layout="elegant"] .public-menu-grid{
  display:grid;grid-template-columns:1.06fr .94fr;gap:18px;
}
html[data-public-layout="elegant"] .public-menu-grid .public-product-card:first-child{
  grid-row:span 2;min-height:100%;
}
html[data-public-layout="elegant"] .public-menu-grid .public-product-card:first-child .public-product-image{height:420px}
html[data-public-layout="elegant"] .public-product-card{border-radius:26px;min-height:280px}
html[data-public-layout="elegant"] .public-product-image{height:220px}
html[data-public-layout="elegant"] .public-product-head h3{font-family:Georgia,serif}
html[data-public-layout="elegant"] .featured{padding-top:110px}
html[data-public-layout="elegant"] .featured .container{
  display:grid;grid-template-columns:.54fr .96fr .50fr;gap:0;align-items:stretch;
}
html[data-public-layout="elegant"] .featured .section-heading{
  display:block;padding:44px 26px 34px 0;position:relative;
}
html[data-public-layout="elegant"] .featured .section-heading .eyebrow{writing-mode:horizontal-tb;margin-bottom:18px}
html[data-public-layout="elegant"] .featured-product-grid{display:block;padding:0 16px}
html[data-public-layout="elegant"] .featured-product-grid .public-product-card{
  min-height:100%;height:100%;border-radius:28px;
}
html[data-public-layout="elegant"] .featured-product-grid .public-product-card .public-product-image{height:100%;min-height:560px}
html[data-public-layout="elegant"] .promos{background:transparent;padding:0}
html[data-public-layout="elegant"] .promos .section-heading{display:none}
html[data-public-layout="elegant"] .promo-grid{display:block;height:100%}
html[data-public-layout="elegant"] .promo-card{
  min-height:560px;border-radius:30px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(8,8,8,.04),rgba(7,7,8,.82)),radial-gradient(circle at 80% 28%,rgba(255,72,66,.22),transparent 22%),linear-gradient(135deg,#391513,#100d0d);
  box-shadow:0 30px 90px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.08);
}
html[data-public-layout="elegant"] .promo-card h3{
  font:500 clamp(48px,4vw,84px)/.95 "Brush Script MT","Segoe Script",cursive;
}
html[data-public-layout="elegant"] .promo-card p{
  text-transform:uppercase;letter-spacing:.22em;font-size:15px;max-width:320px;
}
html[data-public-layout="elegant"] .visit-card,
html[data-public-layout="elegant"] .map-art{min-height:420px;border-radius:28px}
html[data-public-layout="elegant"] .premium-info-band{padding:22px 0 36px;background:transparent}
html[data-public-layout="elegant"] .premium-info-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);
}
html[data-public-layout="elegant"] .premium-info-item{
  min-height:118px;padding:22px 26px;display:flex;align-items:center;gap:18px;
  border-right:1px solid rgba(255,255,255,.08);background:rgba(8,8,9,.34);
}
html[data-public-layout="elegant"] .premium-info-item:last-child{border-right:0}
html[data-public-layout="elegant"] .premium-info-icon{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(217,71,58,.12);border:1px solid rgba(217,71,58,.32);font-size:24px;
}
html[data-public-layout="elegant"] .premium-mini-map{
  position:relative;justify-content:center;background:linear-gradient(135deg,rgba(32,32,34,.92),rgba(17,17,19,.96));
}
html[data-public-layout="elegant"] .premium-mini-map:before{
  content:"";position:absolute;inset:12px;border-radius:18px;
  background:linear-gradient(45deg,transparent 48%,rgba(255,255,255,.06) 49%,transparent 50%) 0 0/38px 38px,linear-gradient(-45deg,transparent 48%,rgba(255,255,255,.05) 49%,transparent 50%) 0 0/38px 38px;
}
html[data-public-layout="elegant"] .mini-map-pin{
  width:28px;height:28px;border-radius:50% 50% 50% 0;background:#d9473a;transform:rotate(-45deg);position:relative;z-index:1;box-shadow:0 0 0 14px rgba(217,71,58,.08);
}
html[data-public-layout="elegant"] .mini-map-pin:after{
  content:"";position:absolute;inset:7px;border-radius:50%;background:#fff;
}
@media(max-width:1200px){
  html[data-public-layout="elegant"] .hero-grid{grid-template-columns:1fr}
  html[data-public-layout="elegant"] .hero-copy{padding-top:36px}
  html[data-public-layout="elegant"] .hero-copy:before,
  html[data-public-layout="elegant"] .hero-copy:after,
  html[data-public-layout="elegant"] .hero-visual:after,
  html[data-public-layout="elegant"] .hero-visual:before{display:none}
  html[data-public-layout="elegant"] .category-rail{grid-template-columns:repeat(2,1fr)}
  html[data-public-layout="elegant"] .featured .container{grid-template-columns:1fr;gap:18px}
  html[data-public-layout="elegant"] .featured-product-grid{padding:0}
  html[data-public-layout="elegant"] .promo-card{min-height:420px}
  html[data-public-layout="elegant"] .premium-info-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  html[data-public-layout="elegant"] .section-heading{display:block}
  html[data-public-layout="elegant"] .section-heading .eyebrow{writing-mode:horizontal-tb;margin-bottom:16px}
  html[data-public-layout="elegant"] .public-menu-grid{grid-template-columns:1fr}
  html[data-public-layout="elegant"] .featured-product-grid .public-product-card .public-product-image{min-height:380px}
  html[data-public-layout="elegant"] .category-rail{grid-template-columns:1fr}
  html[data-public-layout="elegant"] .premium-info-grid{grid-template-columns:1fr}
}



/* =========================================================
   SushiDesu! V2.6 — Two polished layouts + fixed menu cards
   ========================================================= */

/* Visual category rail, always below hero */
.category-visual-strip{
  position:relative;
  padding:26px 0 34px;
  background:
    linear-gradient(180deg,#09090a,#0d0d0f);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  z-index:3;
}
.category-visual-rail{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.category-visual-card{
  min-width:0;
  height:190px;
  padding:20px;
  position:relative;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  text-align:left;
  color:white;
  cursor:pointer;
  background:#171719;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  transition:.22s ease;
}
.category-visual-card:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.72)),
    radial-gradient(circle at 78% 24%,rgba(216,66,53,.22),transparent 27%);
}
.category-visual-card:after{
  content:"";
  position:absolute;
  right:-35px;bottom:-38px;
  width:135px;height:135px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 26px rgba(255,255,255,.018);
}
.category-visual-card > *{position:relative;z-index:2}
.category-visual-card .cat-num{
  display:block;margin-bottom:30px;
  color:#e75a4e;font:800 13px/1 Inter,system-ui,sans-serif;
  letter-spacing:.12em;
}
.category-visual-card strong{
  display:block;
  font:700 clamp(20px,1.55vw,29px)/1.02 Georgia,serif;
  min-height:58px;
}
.category-visual-card em{
  display:block;margin-top:11px;
  color:rgba(255,255,255,.68);font:400 12px/1.25 Inter,system-ui,sans-serif;
}
.category-visual-card b{
  position:absolute;right:17px;top:17px;
  width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.20);
  display:grid;place-items:center;font-weight:400;
}
.category-visual-card:hover,
.category-visual-card.active{
  transform:translateY(-4px);
  border-color:rgba(224,70,57,.58);
  box-shadow:0 22px 50px rgba(0,0,0,.38),0 0 35px rgba(210,49,42,.08);
}
.category-visual-card.active b{background:#d9473a;border-color:#d9473a}
.cat-natural{background:linear-gradient(135deg,#332018,#111214)}
.cat-empanizado{background:linear-gradient(135deg,#38291e,#121214)}
.cat-platillos{background:linear-gradient(135deg,#253023,#111214)}
.cat-entradas{background:linear-gradient(135deg,#3b251a,#111214)}
.cat-bebidas{background:linear-gradient(135deg,#37201d,#111214)}
.cat-postres{background:linear-gradient(135deg,#38251f,#111214)}

/* Published products must NEVER become giant full-width image panels */
#menuGrid.public-menu-grid{
  align-items:stretch;
}
#menuGrid .public-product-card{
  min-width:0 !important;
  min-height:0 !important;
}
#menuGrid .public-product-image{
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  min-height:0 !important;
}
#menuGrid .public-product-image img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:78% !important;
  max-height:78% !important;
  object-fit:contain !important;
  padding:0 !important;
  border-radius:14px;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.28));
}
/* White-background product photos are kept inside a contained visual plate */
#menuGrid .public-product-image:after{
  content:"";
  position:absolute;
  inset:12%;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.035);
  pointer-events:none;
}

/* ---- ELEGANT: compact 3-column catalog cards ---- */
html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-card,
html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child{
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  height:auto !important;
  min-height:0 !important;
  border-radius:24px;
}
html[data-public-layout="elegant"] #menuGrid .public-product-image,
html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child .public-product-image{
  height:245px !important;
  min-height:245px !important;
  background:
    radial-gradient(circle at 50% 48%,rgba(207,55,45,.13),transparent 39%),
    linear-gradient(145deg,#232326,#151517);
}
html[data-public-layout="elegant"] #menuGrid .public-product-body,
html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child .public-product-body{
  padding:22px !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-head h3{
  font-size:clamp(21px,1.4vw,29px) !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-head strong{
  font-size:clamp(18px,1.2vw,24px) !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-body p{
  min-height:38px;
}

/* ---- NEON: compact two-column horizontal cards ---- */
html[data-public-layout="neon"] #menuGrid.public-menu-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
html[data-public-layout="neon"] #menuGrid .public-product-card,
html[data-public-layout="neon"] #menuGrid .public-product-card:nth-child(even){
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  min-height:210px !important;
  height:210px !important;
  border-radius:14px !important;
  overflow:hidden;
}
html[data-public-layout="neon"] #menuGrid .public-product-image,
html[data-public-layout="neon"] #menuGrid .public-product-card:nth-child(even) .public-product-image{
  order:0 !important;
  width:190px !important;
  height:210px !important;
  min-height:210px !important;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,55,118,.13),transparent 38%),
    linear-gradient(145deg,#1b1b22,#101015);
}
html[data-public-layout="neon"] #menuGrid .public-product-body{
  padding:24px !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
}
html[data-public-layout="neon"] #menuGrid .public-product-head h3{
  font-size:clamp(21px,1.6vw,31px) !important;
  line-height:1.03;
}
html[data-public-layout="neon"] #menuGrid .public-product-head strong{
  font-size:23px !important;
}
html[data-public-layout="neon"] #menuGrid .public-product-body p{
  min-height:34px;
}

/* Category rails inherit each design */
html[data-public-layout="neon"] .category-visual-strip{
  margin-left:0;
  background:
    radial-gradient(circle at 75% 25%,rgba(255,45,118,.10),transparent 22%),
    radial-gradient(circle at 20% 80%,rgba(0,220,235,.07),transparent 25%),
    #09090e;
}
html[data-public-layout="neon"] .category-visual-card{
  border-radius:8px;
  border-color:rgba(0,220,235,.14);
}
html[data-public-layout="neon"] .category-visual-card:hover,
html[data-public-layout="neon"] .category-visual-card.active{
  border-color:rgba(0,220,235,.45);
  box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 26px rgba(255,45,118,.09);
}
html[data-public-layout="neon"] .category-visual-card b{
  border-radius:7px;
}
html[data-public-layout="neon"] .category-visual-card.active b{
  background:#ff3d76;border-color:#ff3d76;
}

/* Remove leftover minimal visuals if dataset somehow contains old value */
html[data-public-layout="minimal"] body{
  background:#08090b !important;color:#fff !important;
}
html[data-public-layout="minimal"] .sig-minimal{display:none!important}

/* Responsive */
@media(max-width:1250px){
  .category-visual-rail{grid-template-columns:repeat(3,1fr)}
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  html[data-public-layout="neon"] #menuGrid.public-menu-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .category-visual-rail{grid-template-columns:repeat(2,1fr);gap:10px}
  .category-visual-card{height:165px;padding:16px}
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:1fr !important;
  }
  html[data-public-layout="neon"] #menuGrid .public-product-card,
  html[data-public-layout="neon"] #menuGrid .public-product-card:nth-child(even){
    grid-template-columns:130px minmax(0,1fr) !important;
    height:180px !important;
    min-height:180px !important;
  }
  html[data-public-layout="neon"] #menuGrid .public-product-image{
    width:130px !important;height:180px !important;min-height:180px !important;
  }
  html[data-public-layout="neon"] #menuGrid .public-product-body{padding:16px !important}
}
@media(max-width:500px){
  .category-visual-rail{grid-template-columns:1fr}
  .category-visual-card{height:140px}
  html[data-public-layout="neon"] #menuGrid .public-product-card,
  html[data-public-layout="neon"] #menuGrid .public-product-card:nth-child(even){
    grid-template-columns:110px minmax(0,1fr) !important;
  }
  html[data-public-layout="neon"] #menuGrid .public-product-image{
    width:110px !important;
  }
}



/* =========================================================
   SushiDesu! V2.7 — Admin-driven rich menu + video details
   ========================================================= */
.public-product-card{cursor:pointer}
.public-product-image{position:relative}
.product-card-video,
.public-product-image > img{
  width:100%;height:100%;object-fit:cover;
}
.media-play-badge{
  position:absolute;right:16px;top:16px;z-index:4;
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;font-size:15px;
  backdrop-filter:blur(8px);
}
.price-stack{
  display:flex;flex-direction:column;align-items:flex-end;gap:3px;
  white-space:nowrap;
}
.price-two{
  font:700 13px/1 Inter,system-ui,sans-serif;
  color:#d9d3cd;
}
.ingredient-preview{
  display:flex;gap:7px;margin:14px 0 10px;
}
.ingredient-preview span{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
  font-size:16px;
}
.detail-hint{
  display:block;margin-top:11px;
  font:700 11px/1 Inter,system-ui,sans-serif;
  letter-spacing:.10em;text-transform:uppercase;
  color:#df655a;
}

/* Product detail popup */
.product-detail-dialog{
  width:min(1180px,calc(100% - 28px));
  max-height:92vh;padding:0;border:0;border-radius:28px;
  background:#111113;color:#f5f1ec;
  box-shadow:0 45px 140px rgba(0,0,0,.72);
}
.product-detail-dialog::backdrop{
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(9px);
}
.product-detail-shell{
  position:relative;
  display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);
  min-height:610px;
}
.detail-close{
  position:absolute;right:16px;top:16px;z-index:10;
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(10,10,11,.70);color:#fff;
  cursor:pointer;font-size:17px;
}
.product-detail-media{
  min-height:610px;background:#09090a;overflow:hidden;
}
.product-detail-media img,
.product-detail-media video,
.product-detail-media iframe{
  width:100%;height:100%;min-height:610px;display:block;object-fit:cover;border:0;
}
.product-detail-content{
  padding:clamp(32px,4vw,58px);
  overflow:auto;
}
.detail-kicker{
  color:#df5b50;font:800 12px/1 Inter,system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;
}
.detail-title-row{
  display:flex;justify-content:space-between;gap:28px;align-items:flex-start;
  padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.09);
}
.detail-title-row h2{
  margin:0;font:700 clamp(42px,4vw,68px)/.93 Georgia,serif;
}
.detail-prices{
  display:flex;flex-direction:column;align-items:flex-end;gap:7px;
}
.detail-prices strong{
  color:#ef5a4f;font-size:28px;
}
.detail-prices span{
  color:#d8d0ca;font-weight:700;
}
.detail-description{
  margin:22px 0;color:#c9c2bc;font-size:17px;line-height:1.6;
}
.detail-sections{
  display:grid;gap:22px;margin:24px 0 34px;
}
.detail-section h4{
  margin:0 0 10px;color:#fff;
  font:800 12px/1 Inter,system-ui,sans-serif;
  text-transform:uppercase;letter-spacing:.16em;
}
.ingredient-chip-grid{
  display:flex;flex-wrap:wrap;gap:9px;
}
.ingredient-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  color:#e9e4de;font-size:14px;
}
.ingredient-chip i{font-style:normal;font-size:18px}
.product-detail-content .cta{display:inline-flex;text-decoration:none}

/* Admin modal improvements */
#productPublicDialog .modal-card{max-width:920px;width:min(920px,94vw)}
#productPublicDialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#productPublicDialog .span-2{grid-column:1/-1}
#productPublicDialog textarea{resize:vertical}
.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}
.check-row input{width:auto!important}

@media(max-width:850px){
  .product-detail-shell{grid-template-columns:1fr}
  .product-detail-media{min-height:320px}
  .product-detail-media img,
  .product-detail-media video,
  .product-detail-media iframe{min-height:320px;height:320px}
  .detail-title-row{display:block}
  .detail-prices{align-items:flex-start;margin-top:15px}
}
@media(max-width:650px){
  #productPublicDialog .form-grid{grid-template-columns:1fr}
  #productPublicDialog .span-2{grid-column:auto}
  .product-detail-dialog{width:calc(100% - 14px);border-radius:20px}
  .product-detail-content{padding:26px 20px}
}


/* =========================================================
   SushiDesu! V2.8 — Structural cleanup
   Preserve visual style, fix spacing / alignment / inherited heights
   ========================================================= */

/* Global rhythm */
:root{
  --sd-wrap:min(1500px,calc(100% - clamp(28px,5vw,90px)));
  --sd-section-y:clamp(64px,5.4vw,96px);
}
.container,
.hero-grid,
.nav{
  width:var(--sd-wrap) !important;
  max-width:none !important;
}
section{
  min-height:0 !important;
}
.categories,
.featured,
.promos,
.visit{
  padding-top:var(--sd-section-y) !important;
  padding-bottom:var(--sd-section-y) !important;
}
section + section:before{
  width:min(92%,1500px) !important;
}

/* Header */
.nav{
  min-height:86px !important;
  height:auto !important;
}
.nav-wrap{
  min-height:86px !important;
}
.brand{
  flex:0 0 auto !important;
}

/* Hero */
.hero{
  min-height:auto !important;
  padding-top:118px !important;
  padding-bottom:72px !important;
}
html[data-public-layout="elegant"] .hero{
  min-height:auto !important;
  padding-top:118px !important;
  padding-bottom:72px !important;
}
.hero-grid,
html[data-public-layout="elegant"] .hero-grid{
  align-items:center !important;
  gap:clamp(34px,4vw,68px) !important;
}
html[data-public-layout="elegant"] .hero-copy{
  padding-top:20px !important;
}
.hero h1,
html[data-public-layout="elegant"] .hero h1{
  font-size:clamp(66px,5.6vw,116px) !important;
  line-height:.9 !important;
  max-width:760px !important;
  overflow-wrap:normal !important;
}
.hero-lead{
  max-width:650px !important;
}
.hero-card,
html[data-public-layout="elegant"] .hero-card{
  width:100% !important;
  max-width:760px !important;
}
.hero-card img,
html[data-public-layout="elegant"] .hero-card img{
  height:clamp(460px,52vw,690px) !important;
  min-height:0 !important;
}
.hero-meta{
  margin-top:20px !important;
}

/* Category strip directly follows hero */
.category-visual-strip{
  padding:26px 0 30px !important;
}
.category-visual-rail{
  align-items:stretch !important;
}
.category-visual-card{
  height:170px !important;
}

/* Menu section */
.categories{
  margin-top:0 !important;
  overflow:visible !important;
}
.categories .section-heading{
  margin-bottom:34px !important;
}
.menu-stage{
  height:150px !important;
  margin:0 0 28px !important;
}
.public-filters{
  margin:0 0 24px !important;
}
#menuGrid.public-menu-grid{
  margin:0 !important;
  padding:0 !important;
}
html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-card{
  height:auto !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-image{
  height:230px !important;
  min-height:230px !important;
}
html[data-public-layout="elegant"] #menuGrid .public-product-body{
  min-height:180px !important;
}

/* Remove huge empty gap before featured */
.featured{
  min-height:0 !important;
  margin:0 !important;
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.featured .container,
html[data-public-layout="elegant"] .featured .container{
  display:block !important;
}
.featured .section-heading,
html[data-public-layout="elegant"] .featured .section-heading{
  position:static !important;
  display:block !important;
  padding:0 !important;
  margin:0 0 28px !important;
  max-width:900px !important;
}
.featured .section-heading .eyebrow{
  writing-mode:horizontal-tb !important;
  margin:0 0 12px !important;
}
.featured .section-heading:after{
  display:none !important;
}
.featured-product-grid,
html[data-public-layout="elegant"] .featured-product-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  padding:0 !important;
}
.featured .public-product-card,
html[data-public-layout="elegant"] .featured-product-grid .public-product-card{
  min-height:0 !important;
  height:auto !important;
  transform:none !important;
}
.featured .public-product-image,
html[data-public-layout="elegant"] .featured-product-grid .public-product-card .public-product-image{
  height:260px !important;
  min-height:260px !important;
}
.featured .public-product-body,
html[data-public-layout="elegant"] .featured-product-grid .public-product-card .public-product-body{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  background:none !important;
}

/* Promotions should size to content, not fixed poster height */
.promos{
  min-height:0 !important;
  padding-top:72px !important;
  padding-bottom:72px !important;
  background:
    radial-gradient(circle at 78% 32%,rgba(174,29,25,.13),transparent 26%),
    linear-gradient(180deg,#10090a,#120b0b 52%,#0b0b0c 100%) !important;
}
.promos .container{
  display:block !important;
}
.promos .section-heading{
  display:block !important;
  margin-bottom:28px !important;
}
.promo-grid,
html[data-public-layout="elegant"] .promo-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  height:auto !important;
}
.promo-card,
html[data-public-layout="elegant"] .promo-card{
  min-height:360px !important;
  height:auto !important;
  padding:38px !important;
  border-radius:26px !important;
}
.promo-card h3,
html[data-public-layout="elegant"] .promo-card h3{
  font-size:clamp(42px,3.7vw,68px) !important;
}
.promo-card p{
  max-width:560px !important;
}

/* Visit */
.visit{
  min-height:0 !important;
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.visit-grid{
  align-items:stretch !important;
  gap:22px !important;
}
.visit-card,
.map-art,
html[data-public-layout="elegant"] .visit-card,
html[data-public-layout="elegant"] .map-art{
  min-height:390px !important;
  height:auto !important;
}
.visit-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

/* Bottom info/footer */
.premium-info-band{
  padding-top:12px !important;
  padding-bottom:24px !important;
}
.premium-info-item{
  min-height:96px !important;
}
footer{
  padding-top:46px !important;
  padding-bottom:24px !important;
}

/* Keep sticky nav from visually covering sections */
section[id]{
  scroll-margin-top:100px;
}

/* 1440p+ */
@media(min-width:1900px){
  :root{
    --sd-wrap:min(1660px,calc(100% - 120px));
    --sd-section-y:88px;
  }
  .hero h1,
  html[data-public-layout="elegant"] .hero h1{
    font-size:clamp(88px,5.2vw,124px) !important;
  }
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:650px !important;
  }
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* 1080p / laptops */
@media(max-width:1500px){
  :root{
    --sd-wrap:min(1320px,calc(100% - 44px));
  }
  .hero h1,
  html[data-public-layout="elegant"] .hero h1{
    font-size:clamp(60px,5.2vw,94px) !important;
  }
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:560px !important;
  }
}

/* Tablet */
@media(max-width:1050px){
  :root{--sd-wrap:min(960px,calc(100% - 32px))}
  .hero-grid,
  html[data-public-layout="elegant"] .hero-grid{
    grid-template-columns:1fr !important;
  }
  .hero-copy{
    max-width:760px !important;
  }
  .hero-card{
    max-width:none !important;
  }
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:520px !important;
  }
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid,
  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .promo-grid,
  html[data-public-layout="elegant"] .promo-grid{
    grid-template-columns:1fr !important;
  }
}

/* Mobile */
@media(max-width:720px){
  :root{
    --sd-wrap:calc(100% - 24px);
    --sd-section-y:58px;
  }
  .nav,
  .container,
  .hero-grid{
    width:var(--sd-wrap) !important;
  }
  .hero{
    padding-top:94px !important;
    padding-bottom:48px !important;
  }
  .hero h1,
  html[data-public-layout="elegant"] .hero h1{
    font-size:clamp(54px,16vw,74px) !important;
  }
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:390px !important;
  }
  .category-visual-card{
    height:145px !important;
  }
  .menu-stage{
    height:118px !important;
  }
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid,
  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:1fr !important;
  }
  html[data-public-layout="elegant"] #menuGrid .public-product-image,
  .featured .public-product-image{
    height:220px !important;
    min-height:220px !important;
  }
  .promo-card,
  html[data-public-layout="elegant"] .promo-card{
    min-height:300px !important;
    padding:26px !important;
  }
  .visit-grid{
    grid-template-columns:1fr !important;
  }
  .visit-card,
  .map-art{
    min-height:330px !important;
  }
}

/* Very small mobile */
@media(max-width:480px){
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:330px !important;
  }
  .category-visual-rail{
    grid-template-columns:1fr !important;
  }
  .category-visual-card{
    height:126px !important;
  }
}


/* =========================================================
   SushiDesu! V2.9 — Responsive hardening
   ========================================================= */

/* Hide sections that have no actual content */
.section-empty{
  display:none !important;
}

/* Prevent horizontal overflow everywhere */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}
*{box-sizing:border-box}

/* Flexible typography */
body{
  font-size:clamp(14px,.95vw,17px);
}
.hero h1{
  font-size:clamp(58px,5.8vw,116px) !important;
}
.section-heading h2{
  font-size:clamp(40px,4.6vw,82px) !important;
}
.public-product-head h3{
  font-size:clamp(20px,1.5vw,28px) !important;
}

/* Flexible main wrappers */
.container,
.hero-grid,
.nav{
  width:min(1500px,calc(100% - clamp(24px,4.5vw,88px))) !important;
}

/* Navigation */
.menu-toggle{
  display:none;
}
@media(max-width:900px){
  .nav{
    grid-template-columns:auto 1fr auto !important;
    gap:12px !important;
  }
  .nav-links{
    position:fixed;
    inset:86px 12px auto 12px;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    padding:16px !important;
    border-radius:18px;
    background:rgba(10,10,12,.97);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 24px 70px rgba(0,0,0,.5);
    backdrop-filter:blur(16px);
    z-index:9999;
  }
  .nav-links.open{
    display:flex !important;
  }
  .nav-links a{
    padding:14px 12px !important;
    border-radius:12px;
    font-size:15px !important;
  }
  .nav-links a:hover{
    background:rgba(255,255,255,.05);
  }
  .menu-toggle{
    display:grid;
    place-items:center;
    width:44px;height:44px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.03);
    color:#fff;
    cursor:pointer;
  }
  .cta-small{
    display:none !important;
  }
}

/* Hero adapts naturally */
@media(max-width:1100px){
  .hero-grid,
  html[data-public-layout="elegant"] .hero-grid{
    grid-template-columns:1fr !important;
  }
  .hero-copy{
    max-width:760px !important;
  }
  .hero-visual{
    width:100% !important;
  }
  .hero-card,
  html[data-public-layout="elegant"] .hero-card{
    max-width:none !important;
  }
}
@media(max-width:760px){
  .hero{
    padding-top:96px !important;
    padding-bottom:46px !important;
  }
  .hero-copy{
    padding-top:0 !important;
  }
  .hero h1{
    font-size:clamp(48px,15vw,72px) !important;
    line-height:.92 !important;
  }
  .hero-lead{
    font-size:16px !important;
    line-height:1.55 !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .hero-actions .cta,
  .hero-actions .ghost{
    width:100% !important;
    justify-content:center !important;
  }
  .hero-meta{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:clamp(300px,82vw,430px) !important;
  }
}

/* Main category strip */
@media(max-width:1180px){
  .category-visual-rail{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .category-visual-strip{
    padding:18px 0 22px !important;
  }
  .category-visual-rail{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .category-visual-card{
    height:138px !important;
    padding:15px !important;
  }
  .category-visual-card .cat-num{
    margin-bottom:18px !important;
  }
  .category-visual-card strong{
    font-size:20px !important;
    min-height:auto !important;
  }
  .category-visual-card em{
    font-size:11px !important;
  }
}
@media(max-width:430px){
  .category-visual-rail{
    grid-template-columns:1fr !important;
  }
  .category-visual-card{
    height:116px !important;
  }
}

/* Filter pills: swipe horizontally instead of overflowing */
.public-filters{
  display:flex !important;
  gap:8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:8px !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.public-filters::-webkit-scrollbar{display:none}
.public-filter{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

/* Menu cards */
@media(min-width:1500px){
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:1100px){
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:650px){
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:1fr !important;
  }
  html[data-public-layout="elegant"] #menuGrid .public-product-image{
    height:220px !important;
    min-height:220px !important;
  }
  #menuGrid .public-product-image img{
    max-width:84% !important;
    max-height:84% !important;
  }
}

/* Featured products */
@media(max-width:1100px){
  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:650px){
  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:1fr !important;
  }
}

/* Promos */
@media(max-width:900px){
  .promo-grid,
  html[data-public-layout="elegant"] .promo-grid{
    grid-template-columns:1fr !important;
  }
  .promo-card,
  html[data-public-layout="elegant"] .promo-card{
    min-height:280px !important;
    padding:28px !important;
  }
}
@media(max-width:560px){
  .promo-card h3,
  html[data-public-layout="elegant"] .promo-card h3{
    font-size:clamp(36px,12vw,54px) !important;
  }
}

/* Visit / map */
@media(max-width:900px){
  .visit-grid{
    grid-template-columns:1fr !important;
  }
  .visit-card,
  .map-art{
    min-height:330px !important;
  }
}
@media(max-width:560px){
  .visit-card{
    padding:26px !important;
  }
  .visit-card h2{
    font-size:clamp(38px,12vw,58px) !important;
  }
  .visit-card .info-grid,
  .visit-card .visit-info-grid{
    grid-template-columns:1fr !important;
  }
}

/* Footer */
@media(max-width:760px){
  footer .footer-grid,
  footer .container{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}

/* Product detail popup */
@media(max-width:900px){
  .product-detail-shell{
    grid-template-columns:1fr !important;
  }
  .product-detail-media{
    min-height:300px !important;
  }
  .product-detail-media img,
  .product-detail-media video,
  .product-detail-media iframe{
    min-height:300px !important;
    height:300px !important;
  }
}
@media(max-width:520px){
  .product-detail-dialog{
    width:calc(100% - 10px) !important;
    max-height:96vh !important;
    border-radius:18px !important;
  }
  .product-detail-content{
    padding:22px 18px !important;
  }
  .detail-title-row{
    display:block !important;
  }
  .detail-prices{
    align-items:flex-start !important;
    margin-top:12px !important;
  }
}

/* Short-height screens */
@media(max-height:760px) and (min-width:900px){
  .hero{
    padding-top:96px !important;
  }
  .hero-card img{
    max-height:560px !important;
  }
}


/* =========================================================
   SushiDesu! V2.10 — Desktop scale tuning
   Base desktop: 1920x1080
   Wide: 2560x1440+
   Compact desktop: 1366x768
   ========================================================= */

/* Default desktop = Full HD philosophy */
:root{
  --sd-wrap:min(1660px,calc(100% - 72px));
  --sd-section-y:76px;
}

.container,
.hero-grid,
.nav{
  width:var(--sd-wrap) !important;
}

/* Full HD standard: use more horizontal real estate */
@media(min-width:1600px) and (max-width:2199px){
  :root{
    --sd-wrap:min(1720px,calc(100% - 84px));
  }

  .hero{
    padding-top:108px !important;
    padding-bottom:64px !important;
  }

  .hero-grid,
  html[data-public-layout="elegant"] .hero-grid{
    grid-template-columns:minmax(0,.82fr) minmax(700px,1.18fr) !important;
    gap:52px !important;
  }

  .hero h1,
  html[data-public-layout="elegant"] .hero h1{
    font-size:clamp(72px,5.1vw,104px) !important;
  }

  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:590px !important;
  }

  .category-visual-rail{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .category-visual-card{
    height:160px !important;
  }

  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
  }

  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .visit-grid{
    grid-template-columns:.92fr 1.08fr !important;
  }

  .promo-card,
  html[data-public-layout="elegant"] .promo-card{
    min-height:340px !important;
  }
}

/* Wide displays: 2560x1440 and above */
@media(min-width:2200px){
  :root{
    --sd-wrap:min(1960px,calc(100% - 150px));
    --sd-section-y:88px;
  }

  .hero{
    padding-top:124px !important;
    padding-bottom:76px !important;
  }

  .hero-grid,
  html[data-public-layout="elegant"] .hero-grid{
    grid-template-columns:minmax(0,.84fr) minmax(820px,1.16fr) !important;
    gap:78px !important;
  }

  .hero h1,
  html[data-public-layout="elegant"] .hero h1{
    font-size:clamp(94px,5vw,136px) !important;
  }

  .hero-lead{
    font-size:21px !important;
    max-width:720px !important;
  }

  .hero-card,
  html[data-public-layout="elegant"] .hero-card{
    max-width:900px !important;
  }

  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:720px !important;
  }

  .category-visual-card{
    height:182px !important;
  }

  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
  }

  html[data-public-layout="elegant"] #menuGrid .public-product-image{
    height:270px !important;
    min-height:270px !important;
  }

  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .promo-grid,
  html[data-public-layout="elegant"] .promo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .visit-grid{
    grid-template-columns:.86fr 1.14fr !important;
  }
}

/* Compact desktop / 1366x768 class */
@media(min-width:901px) and (max-width:1599px){
  :root{
    --sd-wrap:min(1280px,calc(100% - 38px));
    --sd-section-y:62px;
  }

  .nav{
    min-height:76px !important;
  }

  .hero{
    padding-top:92px !important;
    padding-bottom:52px !important;
  }

  .hero-grid,
  html[data-public-layout="elegant"] .hero-grid{
    grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr) !important;
    gap:32px !important;
  }

  .hero h1,
  html[data-public-layout="elegant"] .hero h1{
    font-size:clamp(58px,5vw,80px) !important;
  }

  .hero-lead{
    font-size:16px !important;
  }

  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    height:470px !important;
  }

  .category-visual-rail{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .category-visual-card{
    height:145px !important;
  }

  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .featured-product-grid,
  html[data-public-layout="elegant"] .featured-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .promo-card,
  html[data-public-layout="elegant"] .promo-card{
    min-height:300px !important;
  }

  .visit-card,
  .map-art{
    min-height:340px !important;
  }
}

/* Avoid side-nav consuming too much at Full HD in neon */
@media(min-width:1500px){
  html[data-public-layout="neon"] body{
    padding-left:76px !important;
  }
  html[data-public-layout="neon"] .nav-wrap{
    width:76px !important;
  }
  html[data-public-layout="neon"] .nav{
    width:76px !important;
  }
  html[data-public-layout="neon"] .hero-grid{
    width:min(1720px,calc(100% - 120px)) !important;
  }
}

/* Better vertical fit on 1080p */
@media(min-width:1500px) and (max-height:1100px){
  .hero{
    min-height:0 !important;
  }
  .hero-card img,
  html[data-public-layout="elegant"] .hero-card img{
    max-height:610px !important;
  }
  .category-visual-strip{
    padding-top:20px !important;
    padding-bottom:24px !important;
  }
}

/* Preserve mobile/tablet rules from V2.9 */


/* =========================================================
   SushiDesu! V2.11 — Real catalog
   ========================================================= */
.product-placeholder,
.detail-placeholder{
  width:100%;height:100%;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:26px;
  background:
    radial-gradient(circle at 72% 28%,rgba(218,53,44,.18),transparent 28%),
    repeating-radial-gradient(circle at 20% 70%,transparent 0 30px,rgba(255,255,255,.025) 31px 32px),
    linear-gradient(145deg,#232326,#111113);
}
.product-placeholder span,
.detail-placeholder span{
  color:#df5b50;
  font:700 13px/1 Inter,system-ui,sans-serif;
  letter-spacing:.28em;
  margin-bottom:12px;
}
.product-placeholder strong{
  max-width:90%;
  color:#f4efe9;
  font:700 clamp(22px,1.8vw,32px)/1 Georgia,serif;
}
.detail-placeholder strong{
  max-width:80%;
  color:#f4efe9;
  font:700 clamp(44px,5vw,76px)/.96 Georgia,serif;
}


/* ===== V2.12 — navegación limpia del menú =====
   Las tarjetas visuales son ahora el único selector de categoría.
   Se conserva el diseño V2.11; solo se refuerza el estado seleccionado.
*/
.category-visual-card{
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,filter .22s ease;
}
.category-visual-card.active{
  border-color:rgba(255,54,72,.62)!important;
  box-shadow:0 14px 42px rgba(205,18,38,.18), inset 0 0 0 1px rgba(255,66,82,.10)!important;
  filter:saturate(1.08) brightness(1.04);
}
.category-visual-card.active b{
  background:#ed2942!important;
  color:#fff!important;
}
#menuSectionTitle{
  transition:opacity .18s ease;
}

/* ===== V2.14 · carrito y pedido web ===== */
.cart-nav-btn{border:0;cursor:pointer}.cart-nav-btn span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:#c51930;font-size:.72rem}
.public-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.public-card-actions .detail-hint{border:0;background:transparent;padding:0;color:inherit;cursor:pointer;font:inherit}
.card-add-order{width:34px;height:34px;border:1px solid rgba(255,70,83,.35);border-radius:11px;background:rgba(220,28,47,.12);color:#ff4455;font-size:1.18rem;cursor:pointer}
.card-add-order:hover{background:#e5213b;color:#fff}
.detail-order-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.detail-order-actions .ghost{display:inline-flex;align-items:center;justify-content:center}
.order-dialog{border:0;padding:0;background:transparent;color:inherit;width:min(720px,calc(100vw - 22px));max-width:720px}
.order-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
.order-dialog-shell{position:relative;border:1px solid rgba(255,255,255,.11);border-radius:24px;padding:28px;background:linear-gradient(150deg,#151517,#09090b);box-shadow:0 32px 90px rgba(0,0,0,.55)}
.order-dialog-shell h2{font-size:clamp(1.8rem,5vw,3rem);margin:.3rem 0 1.2rem}
.web-cart-items{display:grid;gap:10px;max-height:52vh;overflow:auto;padding-right:3px}
.web-cart-row{display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;gap:12px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}
.web-cart-thumb{width:64px;height:56px;border-radius:11px;overflow:hidden;background:#111;display:grid;place-items:center}.web-cart-thumb img{width:100%;height:100%;object-fit:cover}.web-cart-thumb span{font-weight:800;color:#d2263b}
.web-cart-copy{display:grid;gap:4px}.web-cart-copy strong{font-size:.92rem}.web-cart-copy small{color:#aaa}
.web-cart-qty{display:flex;align-items:center;gap:7px}.web-cart-qty button{width:29px;height:29px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#171719;color:#fff;cursor:pointer}.web-cart-line-total{min-width:70px;text-align:right}
.web-cart-total,.checkout-summary{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.08);padding-top:17px;margin-top:17px}.web-cart-total strong,.checkout-summary strong{font-size:1.35rem}
.cart-actions,.tracking-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.cart-actions button,.tracking-actions button{cursor:pointer}
.checkout-help{color:#aaa;line-height:1.55;font-size:.9rem}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-dialog-shell label{display:grid;gap:6px;margin-top:12px;font-size:.78rem;color:#bbb}.order-dialog-shell input,.order-dialog-shell textarea{width:100%;padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#101012;color:#fff;font:inherit}.order-dialog-shell label span{color:#777}.web-fulfillment{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.web-fulfillment input{width:auto}
.tracking-steps{display:grid;gap:10px;margin:20px 0}.tracking-step{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;color:#777}.tracking-step i{width:34px;height:34px;border:1px solid rgba(255,255,255,.09);border-radius:50%;display:grid;place-items:center;font-style:normal}.tracking-step.done{color:#ddd}.tracking-step.done i{background:#164a2d;color:#67e39a;border-color:#2c8351}.tracking-step.current{color:#fff;font-weight:800}.tracking-step.current i{box-shadow:0 0 0 5px rgba(53,210,116,.08)}
.tracking-cancelled{padding:12px;border:1px solid rgba(255,70,83,.25);border-radius:12px;color:#ff7580;background:rgba(180,10,28,.08)}
.web-cart-empty{padding:35px 10px;text-align:center;color:#aaa}.web-cart-empty small{color:#777}.web-toast{position:fixed;left:50%;bottom:22px;z-index:90;transform:translate(-50%,130%);opacity:0;padding:12px 17px;border-radius:12px;background:#f1ede7;color:#111;font-weight:800;font-size:.78rem;transition:.25s;box-shadow:0 15px 45px rgba(0,0,0,.35)}.web-toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:640px){.checkout-grid{grid-template-columns:1fr}.web-cart-row{grid-template-columns:52px 1fr auto}.web-cart-thumb{width:52px;height:50px}.web-cart-line-total{grid-column:2/4;text-align:right}.order-dialog-shell{padding:20px}.cart-actions{flex-direction:column-reverse}.cart-actions>*{width:100%}}


/* =========================================================
   SushiDesu! V2.15 — Pedido claro, ficha compacta y feedback
   ========================================================= */

/* Ficha de producto más compacta */
.product-detail-dialog{
  width:min(920px,calc(100% - 28px)) !important;
  max-height:84vh !important;
  border-radius:24px !important;
}
.product-detail-shell{
  grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr) !important;
  min-height:0 !important;
  max-height:84vh;
}
.product-detail-media{min-height:0 !important;height:auto;max-height:84vh}
.product-detail-media img,
.product-detail-media video,
.product-detail-media iframe{
  min-height:0 !important;
  height:100% !important;
  max-height:84vh;
  object-fit:cover;
}
.product-detail-content{
  padding:30px 30px 26px !important;
  max-height:84vh;
  overflow:auto;
}
.detail-title-row h2{
  font-size:clamp(30px,3vw,44px) !important;
  line-height:.98 !important;
}
.detail-prices strong{font-size:24px !important}
.detail-description{
  margin:15px 0 !important;
  font-size:14px !important;
  line-height:1.52 !important;
}
.detail-sections{
  gap:14px !important;
  margin:16px 0 20px !important;
}
.ingredient-chip{padding:7px 10px !important;font-size:12px !important}
.ingredient-chip i{font-size:15px !important}
.detail-order-actions{margin-top:12px !important}

/* Carrito siempre comprensible, pero sin saturar cuando está vacío */
.order-dock[hidden]{display:none!important}
.order-dock{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:85;
  width:min(390px,calc(100vw - 24px));
  display:grid;
  gap:7px;
  filter:drop-shadow(0 18px 45px rgba(0,0,0,.45));
}
.order-dock-main{
  width:100%;
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid rgba(255,70,83,.42);
  border-radius:17px;
  padding:11px 13px;
  background:linear-gradient(135deg,#251014,#111114 62%);
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.order-dock-main[hidden]{display:none!important}
.order-dock-icon{
  width:36px;height:36px;border-radius:11px;
  background:rgba(239,41,66,.14);
  display:grid;place-items:center;
}
.order-dock-copy{display:grid;gap:2px}
.order-dock-copy small{
  color:#ff6675;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.order-dock-copy strong{font-size:12px}
.order-dock-arrow{font-size:11px;font-weight:900;color:#fff}
.order-dock-track{
  border:1px solid rgba(84,218,139,.28);
  background:#102018;
  color:#9bf0bd;
  border-radius:12px;
  padding:9px 12px;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.order-dock-track[hidden]{display:none!important}

.cart-helper{
  color:#9e9994;
  font-size:12px;
  margin:-8px 0 18px;
  line-height:1.5;
}

/* El error/success del checkout siempre se muestra DENTRO del modal */
.checkout-status{
  margin:14px 0 4px;
  padding:12px 14px;
  border-radius:12px;
  font-size:12px;
  line-height:1.5;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.checkout-status[hidden]{display:none!important}
.checkout-status.loading{
  color:#ddd;
  border-color:rgba(255,255,255,.10);
}
.checkout-status.error{
  color:#ffadb5;
  border-color:rgba(255,75,91,.34);
  background:rgba(180,15,32,.13);
}
.checkout-status.success{
  color:#9af0bc;
  border-color:rgba(65,210,124,.32);
  background:rgba(30,130,72,.12);
}

/* El toast jamás debe competir visualmente con un dialog abierto */
dialog[open] ~ .web-toast{
  z-index:1;
}

@media(max-width:850px){
  .product-detail-dialog{width:calc(100% - 14px)!important;max-height:90vh!important}
  .product-detail-shell{grid-template-columns:1fr!important;max-height:90vh}
  .product-detail-media{height:210px!important;min-height:210px!important}
  .product-detail-media img,
  .product-detail-media video,
  .product-detail-media iframe{height:210px!important;min-height:210px!important}
  .product-detail-content{max-height:calc(90vh - 210px);padding:22px 18px 20px!important}
}
@media(max-width:640px){
  .order-dock{right:12px;bottom:12px;width:calc(100vw - 24px)}
  .order-dock-main{grid-template-columns:34px 1fr auto;padding:10px 11px}
}


/* =========================================================
   SushiDesu! V2.16 — Ficha de producto sin scroll interno
   ========================================================= */

/* Escritorio: usar el ancho disponible y mostrar todo de un vistazo */
.product-detail-dialog{
  width:min(1180px,calc(100% - 34px)) !important;
  max-height:none !important;
  overflow:visible !important;
  border-radius:24px !important;
}
.product-detail-dialog::backdrop{
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(10px);
}
.product-detail-shell{
  display:grid !important;
  grid-template-columns:minmax(380px,.92fr) minmax(520px,1.08fr) !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.product-detail-media{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
}
.product-detail-media img,
.product-detail-media video,
.product-detail-media iframe{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
}
.product-detail-content{
  padding:28px 30px 26px !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Compactar cabecera */
.detail-title-row{
  gap:18px !important;
  margin-bottom:8px !important;
}
.detail-title-row h2{
  font-size:clamp(30px,3vw,42px) !important;
  line-height:.98 !important;
  margin-bottom:4px !important;
}
.detail-prices strong{
  font-size:23px !important;
}
.detail-prices small{
  font-size:11px !important;
}
.detail-description{
  margin:12px 0 15px !important;
  font-size:13px !important;
  line-height:1.48 !important;
  max-width:760px;
}

/* Ingredientes en una sola zona compacta */
.detail-sections{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:14px 0 16px !important;
}
.detail-section{
  min-width:0;
  padding:12px 13px !important;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.detail-section h3{
  margin:0 0 10px !important;
  font-size:10px !important;
  letter-spacing:.13em !important;
}
.ingredient-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
}
.ingredient-chip{
  padding:6px 9px !important;
  font-size:10px !important;
  line-height:1.15 !important;
}
.ingredient-chip i{
  font-size:13px !important;
}

/* Acciones visibles sin bajar */
.detail-order-actions{
  margin-top:12px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(255,255,255,.08);
}
.detail-order-actions .qty-control{
  min-height:38px !important;
}
.detail-order-actions .public-btn{
  min-height:42px !important;
}

/* Pantallas medianas: aún sin scroll interno; reducimos foto y espacios */
@media (max-width:980px){
  .product-detail-dialog{
    width:calc(100% - 18px)!important;
  }
  .product-detail-shell{
    grid-template-columns:minmax(300px,.78fr) minmax(430px,1.22fr)!important;
  }
  .product-detail-content{
    padding:22px 22px 20px!important;
  }
  .detail-sections{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:8px!important;
  }
  .detail-section{
    padding:10px!important;
  }
}

/* Móvil: modal tipo hoja, sin panel interior con scroll independiente */
@media (max-width:760px){
  .product-detail-dialog{
    width:calc(100% - 12px)!important;
    max-width:none!important;
    margin:6px auto!important;
    max-height:calc(100vh - 12px)!important;
    overflow:auto!important; /* solo scroll de la ficha completa */
    border-radius:20px!important;
  }
  .product-detail-shell{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .product-detail-media{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
  .product-detail-media img,
  .product-detail-media video,
  .product-detail-media iframe{
    height:190px!important;
    min-height:190px!important;
  }
  .product-detail-content{
    max-height:none!important;
    overflow:visible!important;
    padding:18px 16px 18px!important;
  }
  .detail-title-row h2{
    font-size:30px!important;
  }
  .detail-description{
    font-size:12px!important;
  }
  .detail-sections{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .detail-section{
    padding:10px 11px!important;
  }
}


/* =========================================================
   SushiDesu! V2.17 — Carrito persistente en TODAS las apariencias
   ========================================================= */

/*
  El carrito deja de pertenecer visualmente al header o al menú lateral.
  Siempre se ancla al viewport y queda por encima de las dos apariencias.
*/
.order-dock{
  position:fixed !important;
  right:18px !important;
  left:auto !important;
  bottom:18px !important;
  top:auto !important;
  z-index:9990 !important;
  width:min(390px,calc(100vw - 36px)) !important;
  margin:0 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.order-dock[hidden]{display:none!important}

.order-dock-main{
  position:relative !important;
  z-index:1 !important;
  box-shadow:
    0 18px 55px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,69,82,.08) !important;
  backdrop-filter:blur(14px);
}
.order-dock-track{
  position:relative !important;
  z-index:1 !important;
  box-shadow:0 12px 34px rgba(0,0,0,.36) !important;
}

/* Si una apariencia utiliza navegación lateral, reservamos espacio sin mover el carrito. */
body.sidebar-mode .order-dock,
body.has-sidebar .order-dock,
.layout-sidebar .order-dock,
.theme-neon .order-dock,
.theme-elegant .order-dock{
  right:18px !important;
  left:auto !important;
}

/* Nada del menú o sidebar debe superponerse al carrito. */
.sidebar,
.side-nav,
.public-sidebar,
.site-sidebar,
.theme-sidebar,
.left-nav{
  z-index:200 !important;
}

/* Dialogs siguen por encima del carrito cuando están abiertos. */
dialog{
  z-index:10000 !important;
}
dialog::backdrop{
  z-index:9999 !important;
}

/* Cuando un dialog está abierto ocultamos visualmente el dock para no competir con la acción actual. */
body:has(dialog[open]) .order-dock{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Tablet */
@media(max-width:900px){
  .order-dock{
    right:14px !important;
    bottom:14px !important;
    width:min(370px,calc(100vw - 28px)) !important;
  }
}

/* Celular: barra inferior prácticamente a todo lo ancho. */
@media(max-width:640px){
  .order-dock{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    width:auto !important;
  }
  .order-dock-main{
    grid-template-columns:34px 1fr auto !important;
    border-radius:15px !important;
  }
}

/* Espacio inferior para que el dock no tape el último contenido de la página. */
body{
  padding-bottom:96px;
}
@media(max-width:640px){
  body{padding-bottom:108px}
}


/* =========================================================
   SushiDesu! V2.18 — Hero con marca integrada
   SOLO mejora el hero. Todo lo demás hereda V2.17.
   ========================================================= */

.hero-brand-lockup{
  position:relative;
  display:inline-flex;
  align-items:center;
  margin:0 0 18px;
  min-height:58px;
}
.hero-brand-logo{
  position:relative;
  z-index:2;
  display:block;
  max-width:190px;
  max-height:76px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.44));
}
.hero-brand-word{
  position:relative;
  z-index:2;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.04em;
}
.hero-brand-glow{
  position:absolute;
  inset:50% auto auto 50%;
  width:150px;
  height:70px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(229,36,57,.22),rgba(229,36,57,.06) 45%,transparent 72%);
  filter:blur(16px);
  pointer-events:none;
}

.hero-media-branding{
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:4;
  display:grid;
  gap:4px;
  pointer-events:none;
  text-shadow:0 3px 18px rgba(0,0,0,.78);
}
.hero-media-branding span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
  color:#eee5de;
}
.hero-media-branding strong{
  font-size:clamp(24px,2.3vw,38px);
  line-height:.95;
  letter-spacing:-.04em;
  color:#fff;
}
.hero-media-branding-fallback{
  right:28px;
  left:auto;
  bottom:28px;
  text-align:right;
}

/* Marca integrada, sin competir con el título principal */
.hero h1,
.hero-title{
  margin-top:0!important;
}

/* Mantener el cuadro visual con más presencia sin cambiar su composición */
.hero-media,
.hero-visual,
.hero-image,
.showcase{
  position:relative;
  overflow:hidden;
}
.hero-media::after,
.hero-visual::after,
.hero-image::after,
.showcase::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.46) 100%),
    radial-gradient(circle at 85% 16%,rgba(231,34,52,.11),transparent 30%);
}

/* Mobile: logo y sello discretos */
@media(max-width:700px){
  .hero-brand-lockup{margin-bottom:12px;min-height:46px}
  .hero-brand-logo{max-width:150px;max-height:58px}
  .hero-media-branding{left:18px;bottom:16px}
  .hero-media-branding strong{font-size:24px}
}

/* V2.22 · categorías en orden oficial */
.category-visual-rail{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:900px){
  .category-visual-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .category-visual-rail{grid-template-columns:1fr}
}

/* V2.23 · imágenes faltantes */
.product-placeholder{
  width:100%;
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:
    radial-gradient(circle at 70% 20%,rgba(220,35,45,.14),transparent 35%),
    linear-gradient(135deg,#0f1013,#17181d);
  color:#f4f0eb;
  text-align:center;
  padding:16px;
}
.product-placeholder span{font-size:12px;letter-spacing:.18em;color:#ff5555}
.product-placeholder strong{font-size:16px}

/* V2.24 · precio x2 real en carrito web */
.web-promo-badge{
  display:inline-flex;
  margin-left:7px;
  padding:2px 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  background:rgba(220,50,50,.16);
  color:#ff5b5b;
  border:1px solid rgba(220,50,50,.35);
}

/* V2.25 · precio x2 en carrito */
.web-promo-line{
  display:block;
  margin-top:3px;
  color:#ff6b61;
  font-weight:800;
}

/* V2.26 · compra directa individual o Promo x2 */
.detail-order-actions{
  align-items:center;
  flex-wrap:wrap;
}
.detail-purchase-options{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.detail-purchase-options .cta{
  min-height:54px;
  min-width:165px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.detail-purchase-options .cta span{
  font-size:13px;
  font-weight:800;
}
.detail-purchase-options .cta strong{
  font-size:15px;
  font-weight:900;
}
.detail-single-btn{
  background:#d6335c;
}
.detail-promo-btn{
  background:linear-gradient(135deg,#ef4b39,#c8203c);
  box-shadow:0 10px 30px rgba(215,40,62,.24);
  border-color:rgba(255,255,255,.42)!important;
}
.detail-promo-btn:not([hidden]){
  display:inline-flex;
}
@media(max-width:680px){
  .detail-purchase-options{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }
  .detail-purchase-options .cta{
    width:100%;
    min-width:0;
  }
  .detail-order-actions .ghost{
    width:100%;
    text-align:center;
  }
}

/* V2.28 · promociones con video */
.promo-card{position:relative;overflow:hidden}.promo-card.has-video{min-height:360px;background:#080808}
.promo-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52}
.promo-card.has-video::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,8,.92),rgba(6,6,8,.28))}
.promo-content{position:relative;z-index:2}.promo-video-link{position:absolute;right:18px;top:18px;z-index:3;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;border:1px solid rgba(255,255,255,.18);text-decoration:none;font-weight:800;font-size:12px}
.promo-cta{display:inline-flex;margin-top:14px;padding:10px 14px;border-radius:999px;background:#fff;color:#111;font-weight:900;text-decoration:none}
.promo-style-dark{background:#0b0b0d!important}.promo-style-image{min-height:340px}

/* V2.36 · mapa real + galería desplazable */
.location-carousel{
  position:relative;
  min-width:0;
  min-height:420px;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:#0d0d0e;
}
.location-carousel-track{
  width:100%;
  height:100%;
  display:flex;
  transition:transform .65s cubic-bezier(.22,.75,.24,1);
}
.location-slide{
  position:relative;
  min-width:100%;
  height:420px;
  overflow:hidden;
  background:#111;
}
.location-slide iframe,
.location-slide img{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.location-slide img{object-fit:cover}
.location-map-label,
.location-photo-caption{
  position:absolute;
  left:24px;right:24px;bottom:22px;
  z-index:3;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(8,8,9,.78);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.location-photo-caption{
  right:auto;
  max-width:70%;
  text-transform:none;
  letter-spacing:.02em;
  font-size:12px;
}
.location-carousel-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(6,6,7,.72);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:29px;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
  backdrop-filter:blur(8px);
}
.location-carousel-arrow.prev{left:14px}
.location-carousel-arrow.next{right:14px}
.location-carousel-arrow:hover{background:rgba(180,35,48,.88)}
.location-carousel-arrow.hidden{display:none}
.location-carousel-dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(5,5,6,.58);
  backdrop-filter:blur(7px);
}
.location-carousel-dots button{
  width:7px;height:7px;
  border:0;border-radius:999px;
  padding:0;
  background:rgba(255,255,255,.38);
  cursor:pointer;
}
.location-carousel-dots button.active{
  width:20px;
  background:var(--red2);
}
@media(max-width:1050px){
  .location-carousel,.location-slide{min-height:390px;height:390px}
}
@media(max-width:650px){
  .location-carousel,.location-slide{min-height:360px;height:360px}
  .location-carousel-arrow{width:38px;height:38px}
  .location-map-label,.location-photo-caption{left:16px;right:16px;bottom:22px}
}


/* ============================================================
   V2.37 · SushiDesu! Fresh Japanese Visual System
   Solo presentación: no altera lógica, pedidos ni catálogo.
   ============================================================ */

:root{
  --sd-red:#ef2639;
  --sd-red-deep:#7e0e1c;
  --sd-wine:#25070d;
  --sd-black:#050607;
  --sd-ink:#0a0d0f;
  --sd-cream:#f3eee7;
  --sd-green:#89a66f;
}

/* Atmosphere shared through the existing sections */
body{
  background:
    radial-gradient(circle at 84% 10%,rgba(116,11,29,.16),transparent 30%),
    radial-gradient(circle at 12% 38%,rgba(57,88,58,.07),transparent 22%),
    #060708;
}
.hero,
.category-visual-strip,
.categories,
.featured,
.promos,
.visit{
  position:relative;
  isolation:isolate;
}
.hero::after,
.categories::after,
.featured::after,
.promos::after,
.visit::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);
}

/* Hero */
.hero{
  min-height:720px;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 28%,rgba(191,20,42,.22),transparent 32%),
    radial-gradient(circle at 7% 72%,rgba(80,117,70,.075),transparent 24%),
    linear-gradient(118deg,#050708 0%,#080a0b 54%,#18070c 100%);
}
.hero-pattern{opacity:.44}
.hero-red-sun{
  opacity:.32;
  filter:blur(1px);
}
.hero-grid{
  align-items:center;
  gap:clamp(32px,5vw,74px);
}
.hero-copy{
  position:relative;
  z-index:4;
}
.hero-copy::before{
  content:"";
  position:absolute;
  width:270px;height:270px;
  left:-118px;top:48px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(223,27,45,.17) 0 34%,transparent 35%),
    repeating-conic-gradient(from 16deg,rgba(225,38,52,.08) 0 3deg,transparent 3deg 11deg);
  filter:blur(.2px);
  opacity:.72;
  z-index:-1;
}
.hero h1{
  text-transform:uppercase;
  letter-spacing:-.055em;
  text-shadow:0 8px 36px rgba(0,0,0,.46);
}
.hero .eyebrow{
  letter-spacing:.21em;
  color:#ff6070;
}
.hero-lead{
  max-width:640px;
  color:#c8c3be;
  font-size:clamp(15px,1.25vw,19px);
}
.hero-actions .cta{
  box-shadow:0 14px 42px rgba(231,35,61,.22);
}
.hero-meta>div{
  background:linear-gradient(145deg,rgba(14,20,21,.92),rgba(8,10,11,.72));
  border-color:rgba(113,147,126,.19);
  backdrop-filter:blur(10px);
}

/* Real-photo moving visual */
.hero-visual{
  position:relative;
  min-width:0;
  z-index:3;
}
.hero-photo-stage{
  position:relative;
  width:100%;
  transform:perspective(1200px) rotateY(-1.5deg);
  transition:transform .5s ease;
}
.hero-photo-stage:hover{transform:perspective(1200px) rotateY(0deg) translateY(-3px)}
.hero-photo-glow{
  position:absolute;
  inset:8% -7% -8% 5%;
  border-radius:50%;
  background:
    radial-gradient(circle at 68% 45%,rgba(226,28,49,.28),transparent 48%),
    radial-gradient(circle at 25% 78%,rgba(88,123,73,.13),transparent 40%);
  filter:blur(38px);
  pointer-events:none;
}
.hero-photo-frame{
  position:relative;
  width:100%;
  aspect-ratio:1.38/1;
  min-height:430px;
  overflow:hidden;
  border-radius:30px 78px 30px 30px;
  border:1px solid rgba(255,79,94,.28);
  background:#0b0c0d;
  box-shadow:
    0 32px 80px rgba(0,0,0,.48),
    0 0 0 1px rgba(255,255,255,.025) inset;
}
.hero-photo-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 80px rgba(0,0,0,.25);
}
.hero-rotating-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.055);
  transition:opacity 1.15s ease,transform 6.2s cubic-bezier(.2,.7,.2,1);
  filter:saturate(1.03) contrast(1.03);
}
.hero-rotating-photo.active{
  opacity:1;
  transform:scale(1);
}
.hero-photo-vignette{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 48%,rgba(4,5,5,.74) 100%),
    linear-gradient(90deg,rgba(0,0,0,.08),transparent 32%);
}
.hero-card-label-real{
  z-index:5;
  left:26px;
  right:auto;
  bottom:24px;
  width:auto;
  max-width:78%;
  padding:0;
  background:none;
  border:0;
  backdrop-filter:none;
}
.hero-card-label-real span{
  color:#d0cbc4;
  font-size:10px;
  letter-spacing:.18em;
  font-weight:800;
}
.hero-card-label-real strong{
  display:block;
  margin-top:5px;
  color:#f4eee7;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(27px,2.4vw,38px);
  font-weight:700;
  text-shadow:0 3px 18px rgba(0,0,0,.75);
}
.hero-photo-controls{
  position:absolute;
  z-index:7;
  right:22px;
  bottom:20px;
  display:flex;
  gap:7px;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(5,6,7,.58);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
}
.hero-photo-controls button{
  width:8px;height:8px;
  padding:0;border:0;border-radius:999px;
  background:rgba(255,255,255,.38);
  cursor:pointer;
  transition:.22s ease;
}
.hero-photo-controls button.active{
  width:24px;
  background:var(--sd-red);
  box-shadow:0 0 14px rgba(239,38,57,.55);
}

/* Fresh botanical accents made with lightweight CSS, never covering product imagery */
.hero-fresh-accent{
  position:absolute;
  z-index:6;
  pointer-events:none;
  width:140px;height:170px;
  opacity:.34;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.5));
}
.hero-fresh-accent-a{left:-54px;bottom:-28px;transform:rotate(-25deg)}
.hero-fresh-accent-b{right:-38px;top:-34px;transform:rotate(34deg) scale(.82)}
.hero-fresh-accent::before{
  content:"";
  position:absolute;
  width:5px;height:160px;
  left:66px;top:4px;
  border-radius:999px;
  background:linear-gradient(#637b55,#263a27);
}
.hero-fresh-accent i{
  position:absolute;
  width:62px;height:23px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(135deg,rgba(121,153,100,.9),rgba(43,73,43,.68));
  transform-origin:100% 50%;
}
.hero-fresh-accent i:nth-child(1){left:8px;top:28px;transform:rotate(15deg)}
.hero-fresh-accent i:nth-child(2){right:8px;top:72px;transform:scaleX(-1) rotate(12deg)}
.hero-fresh-accent i:nth-child(3){left:7px;top:112px;transform:rotate(-7deg)}

/* Category rail – same layout, richer material */
.category-visual-strip{
  background:
    linear-gradient(180deg,rgba(29,7,12,.82),rgba(8,9,10,.96)),
    radial-gradient(circle at 20% 0,rgba(115,16,28,.14),transparent 36%);
}
.category-visual-card{
  background:
    radial-gradient(circle at 84% 46%,rgba(182,36,49,.09),transparent 42%),
    linear-gradient(140deg,rgba(28,19,20,.96),rgba(10,12,13,.95));
  border-color:rgba(135,112,103,.2);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.category-visual-card:hover,
.category-visual-card.active{
  border-color:rgba(239,38,57,.62);
  box-shadow:0 16px 34px rgba(0,0,0,.25),0 0 32px rgba(196,25,43,.06);
}

/* Existing menu cards – same dimensions and click behavior */
.categories{
  background:
    radial-gradient(circle at 92% 14%,rgba(107,15,27,.11),transparent 31%),
    linear-gradient(180deg,#0a0c0d,#080a0a);
}
.public-product-card,
.featured-product-card{
  border-color:rgba(126,102,96,.24);
  background:
    linear-gradient(145deg,rgba(21,23,24,.98),rgba(10,11,12,.98));
  box-shadow:0 12px 36px rgba(0,0,0,.17);
}
.public-product-card:hover,
.featured-product-card:hover{
  transform:translateY(-3px);
  border-color:rgba(230,47,63,.46);
  box-shadow:0 19px 48px rgba(0,0,0,.26);
}

/* Section headlines and recurring Japanese-red visual language */
.section-heading .eyebrow,
.visit .eyebrow{
  color:#f55264;
}
.section-heading h2,
.visit-card h2{
  text-shadow:0 7px 30px rgba(0,0,0,.28);
}
.menu-stage,
.promo-card,
.visit-card,
.location-carousel{
  border-color:rgba(113,90,86,.28);
  box-shadow:0 24px 58px rgba(0,0,0,.18);
}
.menu-stage{
  background:
    radial-gradient(circle at 78% 60%,rgba(128,18,31,.16),transparent 34%),
    linear-gradient(115deg,#111415,#171012);
}

/* Featured / promo / visit continuity */
.featured{
  background:
    radial-gradient(circle at 6% 50%,rgba(41,79,64,.08),transparent 29%),
    linear-gradient(180deg,#080b0c,#071014);
}
.promos{
  background:
    radial-gradient(circle at 80% 35%,rgba(139,15,30,.15),transparent 33%),
    linear-gradient(180deg,#0d090a,#10080a);
}
.visit{
  background:
    radial-gradient(circle at 72% 24%,rgba(50,85,58,.07),transparent 28%),
    linear-gradient(180deg,#080a0b,#060708);
}
.visit-card{
  background:
    linear-gradient(145deg,rgba(23,23,24,.98),rgba(11,12,13,.97));
}
.location-carousel{
  background:#0a0d0e;
}

/* Buttons: same functions, more polished */
.cta{
  background:linear-gradient(135deg,#f2384d,#c92735);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(217,36,53,.16);
}
.cta:hover{
  filter:brightness(1.08);
  transform:translateY(-2px);
}
.ghost{
  background:rgba(7,10,11,.54);
  backdrop-filter:blur(8px);
}

/* Footer cohesion */
footer,
.footer{
  background:linear-gradient(180deg,#060708,#030404);
  border-top-color:rgba(139,109,100,.16);
}

@media(max-width:980px){
  .hero{min-height:auto}
  .hero-photo-frame{
    min-height:380px;
    border-radius:26px 56px 26px 26px;
  }
}
@media(max-width:650px){
  .hero-photo-stage{transform:none}
  .hero-photo-frame{
    min-height:330px;
    border-radius:22px 42px 22px 22px;
  }
  .hero-fresh-accent{opacity:.22;transform:scale(.72)}
  .hero-card-label-real strong{font-size:28px}
  .hero-photo-controls{right:14px;bottom:14px}
}


/* ============================================================
   V2.38 HOTFIX · estructura correcta del hero
   ============================================================ */
.hero > .hero-grid,
html[data-public-layout="elegant"] .hero > .hero-grid,
html[data-public-layout="neon"] .hero > .hero-grid,
html[data-public-layout="minimal"] .hero > .hero-grid{
  display:grid !important;
  grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr) !important;
  align-items:center !important;
  gap:clamp(42px,5vw,82px) !important;
  width:min(1480px,calc(100% - clamp(46px,7vw,140px))) !important;
  margin:0 auto !important;
}

.hero > .hero-grid > .hero-copy{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:680px !important;
  padding-top:0 !important;
  align-self:center !important;
}

.hero > .hero-grid > .hero-visual{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:820px !important;
  justify-self:end !important;
  align-self:center !important;
}

.hero .hero-copy #siteName{
  display:block !important;
  position:static !important;
  margin:18px 0 22px !important;
  max-width:100% !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:clamp(70px,6.3vw,120px) !important;
  font-weight:950 !important;
  line-height:.86 !important;
  letter-spacing:-.065em !important;
  text-transform:uppercase !important;
  color:#f7f2ed !important;
}

.hero .public-slogan{
  margin:8px 0 0 !important;
}

.hero-photo-stage{
  width:100% !important;
  max-width:820px !important;
  margin-left:auto !important;
}

.hero-photo-frame{
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:1.32 / 1 !important;
  max-height:650px !important;
}

.hero-rotating-photo{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
}

@media(max-width:1100px){
  .hero > .hero-grid,
  html[data-public-layout="elegant"] .hero > .hero-grid,
  html[data-public-layout="neon"] .hero > .hero-grid,
  html[data-public-layout="minimal"] .hero > .hero-grid{
    grid-template-columns:1fr !important;
    width:min(920px,calc(100% - 40px)) !important;
  }

  .hero > .hero-grid > .hero-copy,
  .hero > .hero-grid > .hero-visual{
    grid-column:1 !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
  }

  .hero > .hero-grid > .hero-copy{grid-row:1 !important}
  .hero > .hero-grid > .hero-visual{grid-row:2 !important}

  .hero-photo-stage{max-width:none !important}
  .hero-photo-frame{aspect-ratio:1.5 / 1 !important}
}

@media(max-width:650px){
  .hero > .hero-grid,
  html[data-public-layout="elegant"] .hero > .hero-grid,
  html[data-public-layout="neon"] .hero > .hero-grid,
  html[data-public-layout="minimal"] .hero > .hero-grid{
    width:calc(100% - 24px) !important;
    gap:28px !important;
  }

  .hero .hero-copy #siteName{
    font-size:clamp(48px,15vw,72px) !important;
    margin:13px 0 17px !important;
  }

  .hero-photo-frame{
    aspect-ratio:1.08 / 1 !important;
    border-radius:22px 42px 22px 22px !important;
  }
}


/* ============================================================
   V2.39 · PREMIUM JAPANESE BRAND PASS
   Mantiene toda la lógica y estructura funcional.
   ============================================================ */

:root{
  --premium-red:#ef1738;
  --premium-red-2:#b70f26;
  --premium-red-dark:#5b0712;
  --premium-black:#040506;
  --premium-panel:#0b0d0e;
  --premium-cream:#f5efe8;
  --premium-green:#6c8d5d;
  --premium-gold:#b99861;
}

/* ---------- Navigation ---------- */
.nav-wrap{
  background:linear-gradient(180deg,rgba(3,4,4,.97),rgba(4,5,5,.87)) !important;
  border-bottom:1px solid rgba(236,37,59,.18) !important;
  box-shadow:0 12px 42px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
}
.nav{
  min-height:84px !important;
}
.brand img{
  width:150px !important;
  max-height:68px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.45));
}
.nav-links{
  gap:30px !important;
}
.nav-links a{
  position:relative;
  padding:31px 0 27px !important;
  font-size:13px !important;
  letter-spacing:.02em;
  color:#ddd5cf !important;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:18px;
  height:2px;
  background:var(--premium-red);
  transition:.22s ease;
}
.nav-links a:hover::after{right:0}
.nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.nav-whatsapp-premium{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 18px;
  border-radius:9px;
  color:#fff;
  text-decoration:none;
  font-weight:850;
  font-size:12px;
  background:linear-gradient(135deg,#f02543,#b60f28);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 12px 28px rgba(205,15,43,.24);
}
.nav-whatsapp-premium::before{
  content:"◉";
  font-size:12px;
}
.cart-nav-btn{
  background:rgba(14,15,16,.88) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#eee !important;
  box-shadow:none !important;
}

/* ---------- Hero: much closer to approved premium reference ---------- */
.hero{
  min-height:760px !important;
  padding-top:84px !important;
  background:
    radial-gradient(circle at 77% 36%,rgba(199,17,43,.26),transparent 34%),
    linear-gradient(90deg,rgba(2,3,3,.98) 0%,rgba(4,6,6,.96) 42%,rgba(17,5,8,.96) 100%) !important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.22;
  background:
    repeating-radial-gradient(circle at 0 100%,transparent 0 34px,rgba(255,255,255,.065) 35px 36px,transparent 37px 68px),
    linear-gradient(115deg,transparent 72%,rgba(218,20,45,.09) 72.2%,transparent 72.6%);
  mask-image:linear-gradient(90deg,#000,transparent 52%,#000);
}
.hero-copy{
  padding:36px 0 !important;
}
.hero .eyebrow{
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.36em !important;
  color:#d8d3cc !important;
}
.hero-title-wrap{
  position:relative;
  display:inline-block;
}
.hero .hero-copy #siteName{
  margin:24px 0 20px !important;
  font-size:clamp(78px,7vw,128px) !important;
  letter-spacing:-.075em !important;
  line-height:.78 !important;
  color:#f8f4ef !important;
  text-shadow:0 9px 34px rgba(0,0,0,.5) !important;
}
.hero-brush-stroke{
  position:absolute;
  left:-10px;
  bottom:6px;
  width:62%;
  height:12px;
  background:linear-gradient(90deg,transparent,#e51534 8%,#e51534 89%,transparent);
  transform:rotate(-2deg);
  clip-path:polygon(0 42%,9% 20%,23% 36%,37% 13%,54% 29%,74% 8%,100% 32%,94% 66%,72% 50%,57% 83%,38% 59%,17% 76%,0 63%);
  opacity:.95;
}
.hero-lead{
  color:#d1cbc5 !important;
  font-size:17px !important;
  line-height:1.65 !important;
  max-width:580px !important;
}
.hero-actions{
  margin-top:28px !important;
  gap:12px !important;
}
.hero-actions .cta{
  min-height:52px !important;
  padding:0 26px !important;
  border-radius:8px !important;
  text-transform:none !important;
  font-size:14px !important;
  background:linear-gradient(135deg,#f32747,#bd112c) !important;
  box-shadow:0 16px 35px rgba(212,18,48,.28) !important;
}
.hero-actions .ghost{
  min-height:52px !important;
  padding:0 24px !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.2) !important;
  background:rgba(7,8,9,.7) !important;
  color:#fff !important;
}
.hero-meta{
  margin-top:28px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  max-width:560px;
}
.hero-meta>div{
  min-height:76px !important;
  padding:15px 18px !important;
  border-radius:10px !important;
  background:linear-gradient(145deg,rgba(12,15,16,.92),rgba(5,7,8,.9)) !important;
  border:1px solid rgba(93,127,107,.24) !important;
}
.hero-meta strong{
  color:#fff !important;
  font-size:13px !important;
}
.hero-meta span{
  color:#8f9994 !important;
}

/* real visual becomes the premium showcase */
.hero-photo-stage{
  position:relative;
}
.hero-photo-stage::before{
  content:"";
  position:absolute;
  width:150px;height:330px;
  right:-62px;top:-62px;
  z-index:-1;
  opacity:.52;
  background:
    linear-gradient(88deg,transparent 48%,rgba(101,139,82,.38) 49% 51%,transparent 52%),
    repeating-linear-gradient(38deg,transparent 0 26px,rgba(95,133,75,.2) 27px 31px,transparent 32px 52px);
  transform:rotate(8deg);
  filter:blur(.3px);
}
.hero-photo-frame{
  aspect-ratio:1.42/1 !important;
  border-radius:14px 42px 14px 14px !important;
  border:1px solid rgba(237,36,60,.28) !important;
  box-shadow:
    0 40px 90px rgba(0,0,0,.53),
    0 0 72px rgba(133,14,32,.12) !important;
}
.hero-photo-frame::after{
  content:"";
  position:absolute;
  right:0;bottom:0;
  width:250px;height:170px;
  z-index:3;
  pointer-events:none;
  background:
    repeating-radial-gradient(circle at 100% 100%,transparent 0 18px,rgba(225,25,48,.19) 19px 21px,transparent 22px 38px);
  mask-image:linear-gradient(315deg,#000,transparent 70%);
}
.hero-card-label-real{
  max-width:66% !important;
}
.hero-card-label-real span{
  letter-spacing:.22em !important;
  color:#cac4bc !important;
}
.hero-card-label-real strong{
  font-size:39px !important;
  font-style:italic;
}
.hero-photo-controls{
  bottom:18px !important;
  right:18px !important;
}

/* ---------- Category showcase ---------- */
.category-visual-strip{
  padding:30px 0 42px !important;
  background:
    linear-gradient(180deg,#08090a,#070708) !important;
  border-top:1px solid rgba(197,20,43,.2);
  border-bottom:1px solid rgba(197,20,43,.13);
}
.category-visual-rail{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:13px !important;
}
.category-visual-card{
  position:relative !important;
  min-height:215px !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:#111 !important;
  text-align:left !important;
  isolation:isolate;
}
.category-visual-card:nth-child(n+5){
  min-height:185px !important;
}
.category-visual-card .cat-photo{
  position:absolute;
  inset:0;
  z-index:-3;
  background-size:cover;
  background-position:center;
  transition:transform .5s ease,filter .4s ease;
  filter:saturate(.92) brightness(.68);
}
.category-visual-card .cat-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.35) 44%,rgba(4,5,5,.96) 100%),
    linear-gradient(90deg,rgba(98,6,18,.24),transparent 56%);
}
.category-visual-card:hover .cat-photo,
.category-visual-card.active .cat-photo{
  transform:scale(1.045);
  filter:saturate(1.05) brightness(.76);
}
.category-visual-card.active{
  border-color:#e71d3b !important;
  box-shadow:0 0 0 1px rgba(231,29,59,.18),0 18px 40px rgba(0,0,0,.33) !important;
}
.category-visual-card .cat-num{
  position:absolute !important;
  left:16px !important;
  top:14px !important;
  z-index:2;
  color:#ff4f62 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.14em;
}
.category-visual-card .cat-copy{
  position:absolute;
  left:16px;right:42px;bottom:16px;
  z-index:2;
}
.category-visual-card strong{
  color:#fff !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:21px !important;
  line-height:1.02 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.7);
}
.category-visual-card em{
  display:block !important;
  margin-top:7px !important;
  color:#c3bab4 !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-style:normal !important;
}
.category-visual-card>b{
  position:absolute !important;
  right:15px !important;
  bottom:17px !important;
  z-index:2;
  width:31px;height:31px;
  display:grid !important;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  color:#fff !important;
  background:rgba(0,0,0,.45);
}

/* ---------- Menu ---------- */
.categories{
  padding-top:80px !important;
  background:
    radial-gradient(circle at 95% 8%,rgba(100,10,22,.15),transparent 28%),
    linear-gradient(180deg,#090b0b,#090909 56%,#0c090a) !important;
}
.section-heading{
  max-width:700px;
}
.section-heading .eyebrow{
  font-size:9px !important;
  letter-spacing:.4em !important;
  color:#d54053 !important;
}
.section-heading h2{
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(48px,5vw,78px) !important;
  line-height:.94 !important;
  letter-spacing:-.04em !important;
  color:#f4eee8 !important;
}
.menu-stage{
  border-radius:18px !important;
  min-height:120px !important;
  overflow:hidden;
  background:
    repeating-radial-gradient(circle at 94% 50%,transparent 0 22px,rgba(255,255,255,.055) 23px 24px,transparent 25px 46px),
    linear-gradient(100deg,#151719,#171013) !important;
}
.menu-stage-copy strong{
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:32px !important;
}
.public-menu-grid{
  gap:16px !important;
}
.public-product-card{
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.1) !important;
  background:linear-gradient(150deg,#151718,#0c0d0e) !important;
  overflow:hidden !important;
  transition:.22s ease !important;
}
.public-product-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(231,29,59,.43) !important;
  box-shadow:0 24px 50px rgba(0,0,0,.28) !important;
}

/* ---------- Featured ---------- */
.featured{
  padding-top:88px !important;
  padding-bottom:96px !important;
  background:
    radial-gradient(circle at 5% 80%,rgba(26,83,67,.15),transparent 28%),
    linear-gradient(180deg,#071010,#071112) !important;
}
.featured-product-card{
  border-radius:15px !important;
  overflow:hidden;
  background:#0e1112 !important;
  border:1px solid rgba(255,255,255,.1) !important;
}
.featured-product-card img{
  min-height:190px;
  object-fit:cover;
}

/* ---------- Promotions ---------- */
.promos{
  padding:92px 0 110px !important;
  background:
    radial-gradient(circle at 78% 36%,rgba(175,18,38,.2),transparent 33%),
    linear-gradient(180deg,#17090c,#090707) !important;
  border-top:1px solid rgba(218,28,51,.14);
}
.promos::before{
  content:"";
  position:absolute;
  left:-70px;bottom:0;
  width:440px;height:290px;
  opacity:.2;
  background:
    repeating-radial-gradient(circle at 0 100%,transparent 0 27px,rgba(219,27,47,.18) 28px 30px,transparent 31px 55px);
  pointer-events:none;
}
.promo-card{
  border-radius:20px !important;
  border:1px solid rgba(220,37,53,.26) !important;
  background:
    linear-gradient(135deg,rgba(72,9,18,.82),rgba(14,11,12,.96)) !important;
  box-shadow:0 25px 65px rgba(0,0,0,.27) !important;
}

/* ---------- Visit / gallery ---------- */
.visit{
  padding:94px 0 !important;
  background:
    radial-gradient(circle at 78% 12%,rgba(66,103,61,.08),transparent 31%),
    linear-gradient(180deg,#07090a,#050607) !important;
}
.visit-grid{
  gap:16px !important;
  align-items:stretch !important;
}
.visit-card,
.location-carousel{
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.11) !important;
}
.visit-card{
  padding:38px !important;
  background:
    linear-gradient(150deg,rgba(24,24,25,.98),rgba(10,11,12,.98)) !important;
}
.visit-card h2{
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(42px,4vw,63px) !important;
  line-height:.96 !important;
}
.location-carousel{
  overflow:hidden !important;
  box-shadow:0 26px 65px rgba(0,0,0,.24) !important;
}

/* ---------- Footer ---------- */
footer{
  padding-top:34px !important;
  background:#030404 !important;
  border-top:1px solid rgba(233,33,55,.12) !important;
}
.footer-brand img{
  width:108px !important;
  border-radius:0 !important;
}
.footer-grid h4{
  color:#eee8e2 !important;
  letter-spacing:.09em;
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .nav-whatsapp-premium{display:none}
  .category-visual-rail{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .category-visual-card:nth-child(n+5){min-height:200px !important}
}
@media(max-width:760px){
  .brand img{width:122px !important}
  .nav{min-height:72px !important}
  .hero{padding-top:72px !important}
  .hero .hero-copy #siteName{
    font-size:clamp(58px,15vw,82px) !important;
  }
  .category-visual-rail{
    display:flex !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
  }
  .category-visual-card{
    min-width:245px !important;
    min-height:200px !important;
    scroll-snap-align:start;
  }
  .section-heading h2{
    font-size:clamp(42px,12vw,62px) !important;
  }
}


/* ============================================================
   V2.40 · HERO INTEGRADO, NO TARJETA
   Foto real fundida con la portada + bambú + textura japonesa.
   ============================================================ */
.hero-premium-integrated{
  position:relative !important;
  min-height:760px !important;
  overflow:hidden !important;
  padding-top:84px !important;
  background:
    radial-gradient(circle at 80% 31%,rgba(155,11,31,.28),transparent 31%),
    radial-gradient(circle at 5% 83%,rgba(60,97,55,.12),transparent 26%),
    linear-gradient(103deg,#030505 0%,#050707 42%,#13070a 74%,#080506 100%) !important;
  isolation:isolate;
}
.hero-premium-integrated::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.34;
  background:
    radial-gradient(circle at 6% 8%,rgba(255,255,255,.05) 0 1px,transparent 1.5px) 0 0/17px 17px,
    repeating-radial-gradient(circle at 100% 100%,transparent 0 31px,rgba(231,24,50,.10) 32px 34px,transparent 35px 61px),
    linear-gradient(115deg,transparent 72%,rgba(225,25,48,.08) 72.3%,transparent 72.7%);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.64) 48%,#000 100%);
}
.hero-premium-integrated::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:118px;
  z-index:4;
  pointer-events:none;
  background:
    repeating-radial-gradient(circle at 0 100%,transparent 0 22px,rgba(210,17,40,.15) 23px 25px,transparent 26px 46px);
  mask-image:linear-gradient(to top,#000,transparent);
  opacity:.66;
}

.hero-integrated-grid{
  position:relative;
  z-index:6;
  display:block !important;
  width:min(1480px,calc(100% - clamp(48px,8vw,150px))) !important;
  min-height:650px;
  margin:0 auto !important;
}
.hero-integrated-grid .hero-copy{
  width:min(620px,47vw) !important;
  max-width:620px !important;
  min-height:650px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 0 66px !important;
  position:relative;
  z-index:8;
}
.hero-premium-integrated .hero-copy::after{
  content:"";
  position:absolute;
  width:420px;height:420px;
  left:-215px;top:130px;
  z-index:-1;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(192,15,38,.18) 0 34%,transparent 35%),
    repeating-conic-gradient(from 4deg,rgba(231,35,54,.08) 0 2deg,transparent 2deg 10deg);
  opacity:.72;
}
.hero-premium-integrated .hero-copy #siteName{
  color:#faf6f0 !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:clamp(78px,7.2vw,130px) !important;
  line-height:.80 !important;
  letter-spacing:-.078em !important;
  text-transform:uppercase !important;
  max-width:590px !important;
  margin:25px 0 23px !important;
  text-shadow:0 10px 46px rgba(0,0,0,.64) !important;
}
.hero-premium-integrated .eyebrow{
  color:#e9dfd8 !important;
  letter-spacing:.34em !important;
  font-size:10px !important;
  font-weight:900 !important;
}
.hero-premium-integrated .hero-lead{
  max-width:550px !important;
  color:#d0c8c2 !important;
  font-size:17px !important;
  line-height:1.58 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.62);
}
.hero-premium-integrated .hero-actions{
  margin-top:27px !important;
}
.hero-premium-integrated .hero-meta{
  margin-top:26px !important;
  max-width:545px !important;
}
.hero-premium-integrated .hero-meta>div{
  background:rgba(5,9,9,.73) !important;
  backdrop-filter:blur(12px);
  border:1px solid rgba(108,151,115,.23) !important;
}

/* Real photos are part of the background composition, not a card */
.hero-integrated-media{
  position:absolute;
  z-index:2;
  top:84px;
  right:-2%;
  bottom:0;
  width:69%;
  overflow:hidden;
  pointer-events:auto;
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 8%,#000 29%,#000 91%,transparent 100%),
    linear-gradient(to bottom,#000 0%,#000 84%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 8%,#000 29%,#000 91%,transparent 100%);
}
.hero-integrated-photo{
  position:absolute;
  inset:-2%;
  width:104%;
  height:104%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.045);
  transition:opacity 1.25s ease,transform 7.2s cubic-bezier(.18,.72,.18,1);
  filter:saturate(1.03) contrast(1.035) brightness(.94);
}
.hero-integrated-photo.active{
  opacity:1;
  transform:scale(1);
}
.hero-media-shade{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,4,4,.88) 0%,rgba(3,4,4,.27) 29%,transparent 48%),
    linear-gradient(180deg,rgba(0,0,0,.03) 48%,rgba(3,4,4,.72) 100%),
    radial-gradient(circle at 88% 12%,rgba(194,12,37,.25),transparent 26%);
}
.hero-integrated-controls{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:23px;
  min-height:16px;
}
.hero-integrated-controls button{
  width:8px;height:8px;
  border:0;
  border-radius:99px;
  padding:0;
  background:rgba(255,255,255,.38);
  cursor:pointer;
  transition:.24s ease;
  box-shadow:none;
}
.hero-integrated-controls button.active{
  width:29px;
  background:var(--premium-red,#ef1738);
  box-shadow:0 0 17px rgba(239,23,56,.55);
}

/* Japanese brush title accent */
.hero-premium-integrated .hero-brush-stroke{
  width:64% !important;
  height:13px !important;
  bottom:4px !important;
  background:linear-gradient(90deg,transparent,#ec1738 7%,#c60d29 91%,transparent) !important;
}

/* Bamboo is intentionally visible now */
.premium-bamboo{
  position:absolute;
  z-index:7;
  pointer-events:none;
  width:190px;
  height:440px;
  opacity:.72;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.5));
}
.premium-bamboo-left{
  left:-27px;
  top:70px;
  transform:rotate(-7deg);
}
.premium-bamboo-right{
  right:-52px;
  top:10px;
  transform:rotate(17deg) scale(.86);
  opacity:.50;
}
.premium-bamboo::before,
.premium-bamboo::after{
  content:"";
  position:absolute;
  top:-20px;
  width:9px;
  height:470px;
  border-radius:99px;
  background:
    repeating-linear-gradient(to bottom,#526c3f 0 52px,#253c27 52px 58px,#5b7548 58px 112px);
  box-shadow:inset 2px 0 rgba(196,222,163,.16);
}
.premium-bamboo::before{left:46px;transform:rotate(7deg)}
.premium-bamboo::after{left:83px;transform:rotate(-3deg)}
.premium-bamboo i{
  position:absolute;
  z-index:2;
  width:115px;
  height:35px;
  border-radius:100% 0 100% 0;
  background:
    linear-gradient(145deg,rgba(113,150,83,.98),rgba(38,72,38,.90));
  box-shadow:inset -8px -3px 16px rgba(0,0,0,.20);
}
.premium-bamboo i:nth-child(1){left:-18px;top:36px;transform:rotate(19deg)}
.premium-bamboo i:nth-child(2){left:70px;top:107px;transform:scaleX(-1) rotate(14deg)}
.premium-bamboo i:nth-child(3){left:-29px;top:184px;transform:rotate(-1deg)}
.premium-bamboo i:nth-child(4){left:76px;top:260px;transform:scaleX(-1) rotate(-4deg)}
.premium-bamboo i:nth-child(5){left:-25px;top:338px;transform:rotate(11deg)}

/* decorative lantern: never overlaps product on small screens */
.premium-lantern{
  position:absolute;
  z-index:7;
  right:2.8%;
  top:119px;
  width:82px;
  height:139px;
  border-radius:28px 28px 20px 20px;
  display:grid;
  place-items:center;
  color:#170306;
  background:
    repeating-linear-gradient(90deg,transparent 0 8px,rgba(98,0,14,.14) 9px 11px),
    linear-gradient(#fa3850,#c70e2b);
  border:2px solid rgba(60,0,8,.58);
  box-shadow:
    0 0 38px rgba(239,23,56,.30),
    inset 0 0 26px rgba(255,180,180,.22);
  opacity:.82;
}
.premium-lantern::before,
.premium-lantern::after{
  content:"";
  position:absolute;
  left:19px;right:19px;
  height:8px;
  border-radius:5px;
  background:#220609;
}
.premium-lantern::before{top:-8px}
.premium-lantern::after{bottom:-8px}
.premium-lantern span{
  writing-mode:vertical-rl;
  font-family:Georgia,'Times New Roman',serif;
  font-size:27px;
  font-weight:900;
  letter-spacing:.12em;
}

/* lower edge waves connect hero to categories */
.hero-wave-pattern{
  position:absolute;
  z-index:5;
  left:0;right:0;bottom:-1px;
  height:98px;
  pointer-events:none;
  opacity:.82;
  background:
    repeating-radial-gradient(circle at 0 100%,transparent 0 23px,rgba(189,17,40,.22) 24px 26px,transparent 27px 49px);
  mask-image:linear-gradient(to top,#000,transparent 92%);
}

/* Category thumbnails keep the real-photo premium treatment */
.category-visual-strip{
  background:
    linear-gradient(180deg,#060707 0%,#090708 100%) !important;
}
.category-visual-rail{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.category-visual-card{
  min-height:220px !important;
  border-radius:13px !important;
}
.category-visual-card .cat-photo{
  filter:saturate(1.02) contrast(1.03) brightness(.72) !important;
}
.category-visual-card:hover .cat-photo,
.category-visual-card.active .cat-photo{
  filter:saturate(1.08) contrast(1.04) brightness(.79) !important;
}
.category-visual-card .cat-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.20) 40%,rgba(2,3,3,.96) 100%),
    linear-gradient(100deg,rgba(112,5,20,.30),transparent 58%) !important;
}

/* Carry the premium botanical/Japanese visual system into the existing sections */
.categories,
.featured,
.promos,
.visit{
  overflow:hidden;
}
.categories::before,
.featured::before,
.promos::before,
.visit::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:360px;
  height:360px;
  border-radius:50%;
  opacity:.12;
  background:
    repeating-radial-gradient(circle,transparent 0 25px,rgba(224,24,48,.22) 26px 28px,transparent 29px 52px);
}
.categories::before{right:-170px;top:90px}
.featured::before{left:-190px;bottom:40px}
.promos::before{right:-160px;top:120px}
.visit::before{left:-200px;top:70px}

/* Mobile */
@media(max-width:1100px){
  .hero-integrated-grid{
    width:min(940px,calc(100% - 40px)) !important;
  }
  .hero-integrated-grid .hero-copy{
    width:55% !important;
  }
  .hero-integrated-media{
    width:72%;
    right:-12%;
  }
  .premium-lantern{right:1%;transform:scale(.82)}
}
@media(max-width:760px){
  .hero-premium-integrated{
    min-height:790px !important;
    padding-top:72px !important;
  }
  .hero-integrated-grid{
    width:calc(100% - 28px) !important;
    min-height:718px;
  }
  .hero-integrated-grid .hero-copy{
    width:100% !important;
    max-width:none !important;
    min-height:718px;
    justify-content:flex-end;
    padding:250px 4px 54px !important;
  }
  .hero-integrated-media{
    top:72px;
    left:0;right:0;
    width:100%;
    height:430px;
    bottom:auto;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 70%,transparent 100%);
  }
  .hero-media-shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.04),rgba(2,4,4,.05) 35%,rgba(3,4,4,.94) 100%),
      linear-gradient(90deg,rgba(2,4,4,.36),transparent 45%);
  }
  .hero-premium-integrated .hero-copy #siteName{
    font-size:clamp(54px,16vw,82px) !important;
    max-width:100% !important;
  }
  .premium-bamboo-left{
    top:50px;
    left:-75px;
    transform:rotate(-8deg) scale(.72);
    opacity:.60;
  }
  .premium-bamboo-right{
    display:none;
  }
  .premium-lantern{
    right:11px;
    top:96px;
    transform:scale(.62);
    transform-origin:top right;
  }
  .hero-integrated-controls{
    margin-top:17px;
  }
  .category-visual-rail{
    display:flex !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
  }
  .category-visual-card{
    min-width:250px !important;
    min-height:210px !important;
  }
}

/* V2.41 · DiDi sin confusión */
.hero-actions{flex-wrap:wrap}.didi-cta{min-height:58px;padding:8px 18px;border-radius:9px;display:inline-flex;flex-direction:column;justify-content:center;gap:2px;text-decoration:none;color:#111;background:linear-gradient(135deg,#ffd735,#ffbf19);border:1px solid rgba(255,255,255,.16);box-shadow:0 15px 34px rgba(255,194,25,.16)}.didi-cta:hover{transform:translateY(-2px);filter:brightness(1.04)}.didi-cta-main{font-size:14px;font-weight:950}.didi-cta-sub{font-size:9px;font-weight:750;opacity:.72;white-space:nowrap}.delivery-choice{position:relative;padding:34px 0 18px;background:linear-gradient(180deg,#08090a,#0b0908)}.delivery-choice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px 28px;border-radius:18px;border:1px solid rgba(255,201,35,.22);background:radial-gradient(circle at 92% 50%,rgba(255,201,35,.10),transparent 31%),linear-gradient(145deg,rgba(20,20,19,.98),rgba(10,10,10,.98));box-shadow:0 22px 52px rgba(0,0,0,.18)}.delivery-choice-copy h3{margin:5px 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3vw,46px);color:#f4eee8}.delivery-choice-copy p{margin:0;max-width:720px;color:#bdb5ad;line-height:1.55}.delivery-didi-button{min-width:230px;padding:15px 19px;border-radius:11px;display:grid;gap:3px;text-decoration:none;color:#111;background:linear-gradient(135deg,#ffd735,#ffbf19);box-shadow:0 15px 32px rgba(255,193,19,.14)}.delivery-didi-button strong{font-size:15px}.delivery-didi-button small{font-size:9px;opacity:.72}@media(max-width:850px){.delivery-choice-card{grid-template-columns:1fr}.delivery-didi-button{min-width:0}}@media(max-width:650px){.didi-cta{width:100%;align-items:flex-start}.didi-cta-sub{white-space:normal}}

/* V2.44 / V3.71 DESKTOP PREMIUM MASTER - desktop only */
@media (min-width:1200px){
:root{--sd-red:#ef1738;--sd-ink:#030404;--sd-cream:#f5f0e9}
body{background:#030404!important;color:#f3eee8}.container{width:min(1460px,calc(100% - 90px))!important;max-width:none!important}
.nav-wrap{height:94px!important;background:rgba(2,3,3,.94)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 18px 50px rgba(0,0,0,.24)!important;backdrop-filter:blur(14px)}
.nav{min-height:94px!important;height:94px!important;display:grid!important;grid-template-columns:240px 1fr auto!important;gap:30px!important}.brand{display:flex!important;align-items:center!important;height:94px!important}.brand img{width:190px!important;height:76px!important;max-height:none!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 8px 24px rgba(0,0,0,.48))}.nav-links{justify-content:center!important;gap:38px!important}.nav-links a{padding:36px 0 31px!important;font-size:13px!important;color:#e3ddd7!important;font-weight:720!important}.nav-links a::after{bottom:23px!important;background:var(--sd-red)!important}.nav-actions{gap:12px!important}.nav-whatsapp-premium{min-height:50px!important;padding:0 22px!important;border-radius:8px!important;background:linear-gradient(135deg,#ef1738,#b60e29)!important;box-shadow:0 12px 34px rgba(224,17,48,.26)!important}.cart-nav-btn{min-height:50px!important;border-radius:8px!important}
.hero-premium-integrated{min-height:720px!important;height:calc(100vh - 94px)!important;max-height:830px!important;padding-top:94px!important;border-bottom:0!important;background:radial-gradient(circle at 81% 46%,rgba(202,14,42,.25),transparent 34%),radial-gradient(circle at 11% 8%,rgba(63,91,52,.11),transparent 22%),linear-gradient(104deg,#020303 0%,#030505 41%,#16060a 76%,#080405 100%)!important}.hero-premium-integrated::before{opacity:.46!important;background:radial-gradient(circle at 9% 12%,rgba(255,255,255,.055) 0 1px,transparent 1.6px) 0 0/18px 18px,repeating-radial-gradient(circle at 100% 100%,transparent 0 35px,rgba(229,25,52,.12) 36px 38px,transparent 39px 69px),linear-gradient(112deg,transparent 69%,rgba(231,24,51,.09) 69.3%,transparent 69.8%)!important}
.hero-integrated-grid{min-height:calc(100vh - 94px)!important;height:100%!important;width:min(1460px,calc(100% - 90px))!important;position:relative!important;z-index:8!important}.hero-integrated-grid .hero-copy{width:49%!important;max-width:670px!important;min-height:100%!important;padding:54px 0 62px!important;justify-content:center!important}
.hero-premium-integrated #siteName{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important;padding:0!important}.hero-display-title{display:grid!important;position:relative;margin:24px 0 22px;width:max-content;line-height:.72;filter:drop-shadow(0 11px 25px rgba(0,0,0,.55))}.hero-display-title span{display:block;font-family:Arial Black,Impact,Inter,sans-serif;font-weight:950;font-size:clamp(86px,7vw,132px);letter-spacing:-.085em;transform:skew(-5deg)}.hero-word-sushi{color:#f8f3ed}.hero-word-desu{color:var(--sd-red);margin-left:34px;margin-top:10px;text-shadow:3px 3px 0 rgba(86,0,15,.64)}.hero-display-title small{justify-self:end;margin:-1px 20px 0 0;font-family:Georgia,'Times New Roman',serif;font-size:24px;letter-spacing:.42em;line-height:1;color:#f4eee7}.hero-brush-stroke{width:62%!important;height:10px!important;left:28px!important;bottom:-2px!important;transform:rotate(-2deg)!important}.hero-premium-integrated .eyebrow{font-size:11px!important;letter-spacing:.38em!important;color:#e4d9d1!important}.hero-premium-integrated .hero-lead{width:545px!important;max-width:545px!important;font-size:18px!important;line-height:1.52!important;color:#ddd4ce!important;margin-top:4px!important}.hero-actions{gap:12px!important;margin-top:27px!important;align-items:stretch!important}.hero-actions .cta,.hero-actions .ghost{min-height:54px!important;border-radius:8px!important;padding:0 25px!important}.didi-cta{min-height:54px!important;border-radius:8px!important;padding:8px 18px!important}.hero-meta{margin-top:24px!important;max-width:560px!important;gap:10px!important}.hero-meta>div{height:78px!important;padding:15px 18px!important;border-radius:10px!important;background:rgba(5,8,8,.68)!important;border-color:rgba(122,157,116,.22)!important}.hero-integrated-controls{margin-top:18px!important}
.hero-integrated-media{top:94px!important;right:-1vw!important;bottom:0!important;width:66vw!important;max-width:1120px!important;height:auto!important;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 9%,#000 30%,#000 96%,transparent 100%)!important;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 9%,#000 30%,#000 96%,transparent 100%)!important}.hero-integrated-photo{inset:-3% -2% -3% 0!important;width:104%!important;height:106%!important;object-fit:cover!important;filter:saturate(1.04) contrast(1.04) brightness(.93)!important}.hero-media-shade{background:linear-gradient(90deg,#030505 0%,rgba(3,5,5,.88) 13%,rgba(3,5,5,.28) 33%,transparent 53%),linear-gradient(180deg,rgba(0,0,0,.04) 45%,rgba(2,3,3,.56) 100%),radial-gradient(circle at 89% 12%,rgba(191,9,33,.24),transparent 26%)!important}
.premium-bamboo{opacity:.92!important;width:240px!important;height:500px!important;z-index:9!important}.premium-bamboo-left{left:-38px!important;top:80px!important;transform:rotate(-9deg) scale(1.05)!important}.premium-bamboo-right{right:-65px!important;top:92px!important;transform:rotate(17deg) scale(.98)!important;opacity:.64!important}.premium-bamboo i{width:142px!important;height:42px!important;background:linear-gradient(145deg,#789658,#315237)!important;box-shadow:inset -10px -4px 18px rgba(0,0,0,.25),0 8px 24px rgba(0,0,0,.25)!important}.premium-lantern{right:3.2%!important;top:148px!important;width:95px!important;height:168px!important;opacity:.92!important;z-index:10!important;box-shadow:0 0 45px rgba(239,23,56,.42),inset 0 0 28px rgba(255,188,188,.24)!important}.premium-lantern span{font-size:31px!important}.hero-red-stamp{position:absolute;right:9.5%;bottom:108px;z-index:10;width:68px;height:68px;border:2px solid rgba(239,23,56,.78);border-radius:50%;display:grid;place-items:center;color:#ef1738;font-family:Georgia,'Times New Roman',serif;font-size:32px;transform:rotate(8deg);background:rgba(22,4,7,.38);box-shadow:0 8px 30px rgba(0,0,0,.28)}.hero-corner-brush{position:absolute;z-index:5;pointer-events:none;height:80px;width:420px;opacity:.48;background:linear-gradient(90deg,transparent,rgba(221,19,47,.35),transparent);clip-path:polygon(0 48%,10% 34%,25% 45%,42% 20%,59% 38%,74% 12%,100% 30%,92% 58%,70% 50%,55% 76%,35% 58%,16% 78%,0 64%)}.hero-corner-brush-a{left:-90px;bottom:28px;transform:rotate(4deg)}.hero-corner-brush-b{right:-75px;bottom:24px;transform:rotate(178deg)}.hero-wave-pattern{height:115px!important;opacity:.95!important}
.category-visual-strip{position:relative;z-index:12;padding:20px 0 30px!important;margin-top:0!important;background:linear-gradient(180deg,#070808,#080707)!important;border-top:1px solid rgba(218,23,49,.18)!important}.category-visual-rail{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important}.category-visual-card,.category-visual-card:nth-child(n+5){min-height:176px!important;height:176px!important;border-radius:12px!important}.category-visual-card strong{font-size:18px!important}.category-visual-card em{font-size:9px!important;line-height:1.25!important}
.categories{padding:72px 0 84px!important;background:radial-gradient(circle at 96% 14%,rgba(102,9,22,.15),transparent 30%),linear-gradient(180deg,#080a0a,#080909)!important}.categories .section-heading{margin-bottom:26px!important}.section-heading h2{font-size:clamp(54px,4.2vw,76px)!important}.menu-stage{min-height:102px!important;margin-bottom:18px!important}.public-menu-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}.public-product-card{min-width:0!important}.public-product-card .product-image,.public-product-card>img{aspect-ratio:1.6/1!important;height:auto!important;min-height:0!important;object-fit:cover!important}
.featured{padding:82px 0 88px!important;background:radial-gradient(circle at 3% 80%,rgba(20,92,73,.14),transparent 27%),linear-gradient(180deg,#061011,#081011)!important}.featured .section-heading{margin-bottom:28px!important}.featured-product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}.featured-product-card{min-height:0!important}.featured-product-card img{height:230px!important;min-height:0!important}
.delivery-choice{padding:24px 0!important;background:#080909!important}.delivery-choice-card{min-height:118px!important;padding:22px 28px!important}
.promos{min-height:520px!important;padding:82px 0 90px!important;background:radial-gradient(circle at 78% 38%,rgba(190,16,40,.24),transparent 34%),linear-gradient(104deg,#14070a,#080707 58%,#110407)!important}.promos .container{display:grid;grid-template-columns:.86fr 1.14fr;gap:42px;align-items:center}.promos .section-heading{margin:0!important;align-self:center}.promos .section-heading h2{font-size:clamp(52px,4vw,76px)!important;max-width:580px}.promo-grid{margin-top:0!important;align-self:center}.promo-card{min-height:310px!important;border-radius:22px!important}.promo-kanji{font-size:310px!important;right:2%!important;top:12%!important;opacity:.08!important}
.visit{padding:82px 0 86px!important;background:radial-gradient(circle at 84% 12%,rgba(67,101,61,.09),transparent 28%),linear-gradient(180deg,#060808,#050606)!important}.visit-grid{grid-template-columns:.88fr 1.12fr!important;min-height:440px!important;gap:18px!important}.visit-card{min-height:440px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:44px!important}.visit-card h2{font-size:clamp(46px,3.7vw,66px)!important;margin:10px 0 18px!important}.location-carousel{min-height:440px!important;height:440px!important}.location-carousel-track,.location-slide{height:100%!important}.location-slide iframe,.location-slide img{width:100%!important;height:100%!important;object-fit:cover!important}
footer{padding-top:30px!important;min-height:180px!important}.footer-grid{grid-template-columns:1.35fr .85fr .85fr .85fr!important;align-items:start!important}.footer-brand img{width:130px!important}.reveal{transform:none}
}


/* ================================================================
   V2.45 · DESKTOP FIDELITY + SCROLL CLEANUP
   Solo escritorio. Elimina artefactos heredados que quedaban pegados.
   ================================================================ */
@media (min-width:1200px){
  /* La propuesta tiene navegación dentro de la portada, no elementos flotantes al hacer scroll. */
  .nav-wrap{
    position:absolute !important;
    inset:0 0 auto 0 !important;
    height:92px !important;
    background:linear-gradient(180deg,rgba(2,3,3,.90),rgba(2,3,3,.63),transparent) !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:blur(8px) !important;
  }
  main{padding-top:0 !important}

  /* Quitar firmas/etiquetas heredadas que parecían atoradas sobre el contenido. */
  .layout-signature,
  .sig-elegant,
  .sig-neon,
  .sig-minimal{display:none !important}
  html[data-public-layout="elegant"] .section-heading,
  html[data-public-layout="elegant"] .featured .section-heading{
    position:static !important;
  }
  html[data-public-layout="elegant"] .section-heading .eyebrow,
  .section-heading .eyebrow{
    writing-mode:horizontal-tb !important;
    transform:none !important;
    position:static !important;
    margin:0 0 12px !important;
    letter-spacing:.30em !important;
  }

  /* El dock sólo aparece abajo a la derecha cuando existe un pedido; nunca como pestaña vertical. */
  .order-dock{
    position:fixed !important;
    right:22px !important;
    left:auto !important;
    top:auto !important;
    bottom:22px !important;
    width:340px !important;
    height:auto !important;
    writing-mode:horizontal-tb !important;
    transform:none !important;
  }
  .order-dock-main,.order-dock-track{
    writing-mode:horizontal-tb !important;
    transform:none !important;
  }

  /* Composición más cercana a la propuesta aprobada. */
  .hero-premium-integrated{
    min-height:780px !important;
    height:780px !important;
    max-height:none !important;
    padding-top:92px !important;
    background:
      radial-gradient(circle at 80% 35%,rgba(165,10,34,.26),transparent 34%),
      linear-gradient(100deg,#020303 0%,#030404 38%,#120609 70%,#050304 100%) !important;
  }
  .hero-integrated-grid{
    min-height:688px !important;
    height:688px !important;
    width:min(1500px,calc(100% - 120px)) !important;
  }
  .hero-integrated-grid .hero-copy{
    width:45% !important;
    max-width:630px !important;
    min-height:688px !important;
    padding:84px 0 54px !important;
    justify-content:center !important;
  }
  .hero-integrated-media{
    top:92px !important;
    right:0 !important;
    bottom:auto !important;
    width:64vw !important;
    height:688px !important;
    max-width:1100px !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 10%,#000 29%,#000 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 10%,#000 29%,#000 100%) !important;
  }
  .hero-integrated-photo{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .hero-media-shade{
    background:
      linear-gradient(90deg,#030404 0%,rgba(3,4,4,.92) 12%,rgba(3,4,4,.20) 37%,transparent 56%),
      linear-gradient(180deg,rgba(0,0,0,.06) 40%,rgba(0,0,0,.48) 100%) !important;
  }
  .hero-display-title span{
    font-family:Impact,"Arial Black",Inter,sans-serif !important;
    font-style:italic !important;
    letter-spacing:-.065em !important;
  }
  .hero-display-title .hero-word-sushi{font-size:118px !important}
  .hero-display-title .hero-word-desu{font-size:112px !important;margin-left:20px !important}
  .hero-display-title small{font-size:23px !important;margin-right:22px !important}
  .hero-premium-integrated .hero-lead{font-size:17px !important;max-width:520px !important}
  .premium-bamboo-left{left:-42px !important;top:18px !important;opacity:.90 !important}
  .premium-bamboo-right{right:-84px !important;top:84px !important;opacity:.48 !important}
  .premium-lantern{right:2.2% !important;top:115px !important}
  .hero-red-stamp{right:8.2% !important;bottom:92px !important}

  /* Categorías inmediatamente debajo, como una franja fotográfica. */
  .category-visual-strip{padding:14px 0 26px !important}
  .category-visual-rail{
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .category-visual-card{
    height:190px !important;
    min-height:190px !important;
    border-radius:10px !important;
  }
  .category-visual-card .cat-copy{left:18px !important;right:16px !important;bottom:16px !important}
  .category-visual-card .cat-copy strong{font-size:18px !important;line-height:1.0 !important}

  /* Menú: grilla visual de cuatro columnas como la propuesta, sin columnas gigantes. */
  .categories{padding:72px 0 82px !important}
  .public-menu-grid,
  html[data-public-layout="elegant"] .public-menu-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card,
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+1),
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+2){
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .public-product-card{border-radius:12px !important;min-height:0 !important}
  .public-product-image,
  html[data-public-layout="elegant"] .public-product-image,
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:first-child .public-product-image,
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+1) .public-product-image,
  html[data-public-layout="elegant"] .public-menu-grid .public-product-card:nth-child(5n+2) .public-product-image{
    height:200px !important;
    min-height:200px !important;
  }
  .public-product-image img{width:100% !important;height:100% !important;object-fit:cover !important}
  .public-product-body{padding:18px !important}

  /* destacados / promociones / ubicación: sin encabezados sticky. */
  .featured .section-heading,.promos .section-heading,.visit .section-heading{position:static !important}
  .featured-product-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .featured .public-product-image{height:230px !important;min-height:230px !important}

  /* Sólo WhatsApp puede permanecer como utilidad flotante. */
  .whatsapp-float{right:24px !important;bottom:24px !important}
}


/* ================================================================
   V2.47 · MOBILE UX
   Navegación clara, categorías deslizable y tarjetas compactas.
   Escritorio permanece sin cambios.
   ================================================================ */
.mobile-category-guide,.mobile-bottom-nav{display:none}

@media (max-width:720px){
  html{scroll-padding-top:78px}
  body{padding-bottom:72px}
  section{scroll-margin-top:74px}

  /* Hero: identidad primero, pero sin ocupar varias pantallas */
  .hero-premium-integrated,
  html[data-public-layout="elegant"] .hero-premium-integrated{
    min-height:620px!important;
    height:auto!important;
    padding-top:82px!important;
    padding-bottom:26px!important;
  }
  .hero-integrated-grid,
  html[data-public-layout="elegant"] .hero-integrated-grid{
    min-height:510px!important;
    height:auto!important;
  }
  .hero-integrated-grid .hero-copy,
  html[data-public-layout="elegant"] .hero-integrated-grid .hero-copy{
    width:100%!important;
    min-height:0!important;
    padding:32px 0 22px!important;
  }
  .hero-display-title{transform:scale(.82);transform-origin:left center;margin-right:-15%}
  .hero-lead{max-width:92%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero-actions{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:18px!important}
  .hero-actions .cta,.hero-actions .ghost,.hero-actions .didi-cta{min-height:46px!important;padding:11px 12px!important;border-radius:12px!important;font-size:13px!important}
  .hero-actions .didi-cta{grid-column:1/-1;width:100%!important;align-items:center!important;text-align:center}
  .didi-cta-sub{font-size:9px!important}
  .hero-meta{margin-top:15px!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .hero-meta>div{padding:10px 12px!important}
  .hero-meta strong{font-size:12px!important}.hero-meta span{font-size:9px!important}
  .premium-bamboo,.premium-lantern,.hero-red-stamp,.hero-corner-brush{opacity:.22!important;pointer-events:none}
  .hero-integrated-media{opacity:.50!important}

  /* Categories: unmistakably swipeable. The next card peeks in. */
  .category-visual-strip{padding:12px 0 15px!important;position:relative}
  .mobile-category-guide{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 9px;color:#aaa;font-size:11px;letter-spacing:.04em}
  .mobile-category-guide span{color:#f4eee8;font-weight:800}
  .mobile-category-guide strong{color:#df6a62;font-size:10px;text-transform:uppercase;letter-spacing:.10em}
  .category-visual-rail{
    display:flex!important;
    grid-template-columns:none!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0 18vw;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:0 18vw 3px 0!important;
  }
  .category-visual-rail::-webkit-scrollbar{display:none}
  .category-visual-card,.category-visual-card:nth-child(n+5){
    flex:0 0 min(66vw,235px)!important;
    width:min(66vw,235px)!important;
    min-width:min(66vw,235px)!important;
    height:94px!important;
    min-height:94px!important;
    scroll-snap-align:start;
    border-radius:13px!important;
    padding:12px 13px!important;
  }
  .category-visual-card .cat-num{display:none!important}
  .category-visual-card .cat-copy{display:grid;gap:3px;align-content:end}
  .category-visual-card strong{font-size:16px!important;line-height:1.03!important;min-height:0!important}
  .category-visual-card strong br{display:none}
  .category-visual-card em{font-size:9px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
  .category-visual-card b{width:26px!important;height:26px!important;right:9px!important;bottom:9px!important;font-size:12px!important}
  .category-visual-card.active{outline:2px solid rgba(217,71,58,.68);outline-offset:-2px}

  /* Menu header: no decorative block between category and food */
  .categories{padding:34px 0 44px!important}
  .categories .section-heading{margin-bottom:15px!important}
  .categories .section-heading .eyebrow{font-size:9px!important}
  .categories .section-heading h2,
  .section-heading h2{font-size:clamp(30px,9vw,42px)!important;margin:7px 0 6px!important}
  #menuSectionText{font-size:12px!important;line-height:1.35!important;margin:0!important}
  .menu-stage{display:none!important}

  /* Product list: compact horizontal rows instead of tall cards */
  #menuGrid.public-menu-grid,
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  #menuGrid .public-product-card,
  html[data-public-layout="elegant"] #menuGrid .public-product-card,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child{
    display:grid!important;
    grid-template-columns:118px minmax(0,1fr)!important;
    min-height:124px!important;
    height:auto!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  #menuGrid .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child .public-product-image{
    height:100%!important;
    min-height:124px!important;
    max-height:148px!important;
    width:118px!important;
  }
  #menuGrid .public-product-image img,
  html[data-public-layout="elegant"] #menuGrid .public-product-image img{
    width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:cover!important
  }
  #menuGrid .public-product-body,
  html[data-public-layout="elegant"] #menuGrid .public-product-body{
    padding:10px 10px 9px!important;min-width:0!important;display:flex!important;flex-direction:column!important
  }
  #menuGrid .public-product-head{gap:7px!important}
  #menuGrid .public-product-head h3{font-size:16px!important;line-height:1.08!important}
  #menuGrid .price-stack strong{font-size:15px!important}
  #menuGrid .price-two{font-size:10px!important}
  #menuGrid .public-product-body p{
    min-height:0!important;margin:5px 0!important;font-size:10px!important;line-height:1.25!important;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
  }
  #menuGrid .ingredient-preview,#menuGrid .category-tag{display:none!important}
  #menuGrid .public-card-actions{margin-top:auto!important;padding-top:5px!important}
  #menuGrid .detail-hint{font-size:10px!important;padding:7px 9px!important}
  #menuGrid .card-add-order{width:32px!important;height:32px!important;font-size:18px!important}
  #menuGrid .soldout-label{font-size:8px!important;padding:5px 7px!important;inset:7px 7px auto auto!important}

  /* Featured: swipe instead of another long vertical list */
  .featured{padding:42px 0 46px!important}
  .featured .section-heading{margin-bottom:15px!important}
  .featured-product-grid,html[data-public-layout="elegant"] .featured-product-grid{
    display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:10px!important;
    scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 15vw 4px 0!important
  }
  .featured-product-grid::-webkit-scrollbar{display:none}
  .featured-product-grid .public-product-card{flex:0 0 76vw!important;max-width:290px!important;scroll-snap-align:start;border-radius:15px!important}
  .featured-product-grid .public-product-image,html[data-public-layout="elegant"] .featured-product-grid .public-product-card .public-product-image{height:170px!important;min-height:170px!important}
  .featured-product-grid .public-product-body{padding:12px!important}
  .featured-product-grid .public-product-body p{display:none!important}

  /* Secondary sections stay useful, but no longer dominate */
  .delivery-choice{padding:15px 0!important}
  .delivery-choice-card{padding:17px!important;gap:12px!important;border-radius:14px!important}
  .delivery-choice-copy h3{font-size:26px!important;margin:4px 0!important}
  .delivery-choice-copy p{font-size:11px!important;line-height:1.35!important}
  .delivery-didi-button{padding:11px 13px!important}
  .promos{padding:44px 0!important;min-height:0!important}
  .promos .container{display:block!important}
  .promos .section-heading{margin-bottom:15px!important}
  .promo-card,html[data-public-layout="elegant"] .promo-card{min-height:210px!important;padding:20px!important}
  .promo-card h3,html[data-public-layout="elegant"] .promo-card h3{font-size:32px!important}
  .visit{padding:44px 0!important}
  .visit-grid{min-height:0!important;gap:10px!important}
  .visit-card{min-height:0!important;padding:20px!important;border-radius:15px!important}
  .visit-card h2{font-size:32px!important;margin:6px 0 10px!important}
  .visit-data{gap:8px!important}
  .location-carousel{height:235px!important;min-height:235px!important;border-radius:15px!important}
  footer{padding-bottom:28px!important}

  /* Mobile bottom navigation: primary actions are always obvious */
  .mobile-bottom-nav{
    position:fixed;z-index:85;left:8px;right:8px;bottom:8px;height:58px;
    display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;
    background:rgba(8,9,10,.94);border:1px solid rgba(255,255,255,.11);border-radius:17px;
    box-shadow:0 18px 50px rgba(0,0,0,.50);backdrop-filter:blur(16px);overflow:hidden
  }
  .mobile-nav-item{
    border:0;background:transparent;color:#e9e3dd;text-decoration:none;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:2px;min-width:0;font:inherit;cursor:pointer
  }
  .mobile-nav-item span{font-size:17px;line-height:1}
  .mobile-nav-item small{font-size:8px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
  .mobile-nav-item b{display:inline-grid;place-items:center;min-width:14px;height:14px;padding:0 3px;border-radius:99px;background:#d9473a;color:#fff;font-size:8px;margin-left:2px}
  .mobile-nav-item:active{background:rgba(217,71,58,.15)}
  .whatsapp-float{display:none!important}
  .order-dock{bottom:74px!important;left:10px!important;right:10px!important;width:auto!important}
}

@media (max-width:390px){
  .category-visual-card,.category-visual-card:nth-child(n+5){flex-basis:72vw!important;width:72vw!important;min-width:72vw!important}
  #menuGrid .public-product-card,html[data-public-layout="elegant"] #menuGrid .public-product-card{grid-template-columns:104px minmax(0,1fr)!important}
  #menuGrid .public-product-image,html[data-public-layout="elegant"] #menuGrid .public-product-image{width:104px!important}
  .hero-actions{grid-template-columns:1fr!important}
  .hero-actions .didi-cta{grid-column:auto}
}

/* ================================================================
   V2.48 · MOBILE LAYOUT STABILITY HOTFIX
   Evita overflow horizontal, solapamiento de imágenes y precios cortados.
   ================================================================ */
@media (max-width:720px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
  }
  body{position:relative!important}
  main,header,footer,section,
  .hero,.hero-premium-integrated,.category-visual-strip,.categories,.featured,.delivery-choice,.promos,.visit{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip!important;
  }
  .container{
    width:calc(100% - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  *,*::before,*::after{box-sizing:border-box}
  img,video,svg,canvas{max-width:100%}

  /* Evita que decoraciones/hero creen un ancho fantasma fuera del viewport. */
  .hero-integrated-grid,.hero-copy,.hero-integrated-media,
  .premium-bamboo,.premium-bamboo-left,.premium-bamboo-right,.premium-lantern,
  .hero-red-stamp,.hero-corner-brush{
    max-width:100vw!important;
  }
  .hero-display-title{
    max-width:100%!important;
    margin-right:0!important;
  }

  /* El carrusel puede desplazarse dentro de sí mismo, nunca mover la página. */
  .category-visual-strip .container{overflow:visible!important}
  .category-visual-rail{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overscroll-behavior-inline:contain;
    touch-action:pan-x pan-y;
  }

  /* Tarjetas: la imagen queda confinada a su columna. */
  #menuGrid,
  #menuGrid.public-menu-grid,
  html[data-public-layout="elegant"] #menuGrid.public-menu-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  #menuGrid .public-product-card,
  html[data-public-layout="elegant"] #menuGrid .public-product-card,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:nth-child(5n+1),
  html[data-public-layout="elegant"] #menuGrid .public-product-card:nth-child(5n+2){
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    overflow:hidden!important;
    transform:none!important;
  }
  #menuGrid .public-product-card:hover{transform:none!important}

  #menuGrid .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:nth-child(5n+1) .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:nth-child(5n+2) .public-product-image{
    position:relative!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:stretch!important;
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:100%!important;
    min-height:126px!important;
    max-height:none!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  #menuGrid .public-product-image>img,
  html[data-public-layout="elegant"] #menuGrid .public-product-image>img,
  #menuGrid .public-product-image>video{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    object-fit:cover!important;
    transform:none!important;
    margin:0!important;
  }

  #menuGrid .public-product-body,
  html[data-public-layout="elegant"] #menuGrid .public-product-body,
  html[data-public-layout="elegant"] #menuGrid .public-product-card:first-child .public-product-body{
    position:relative!important;
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:11px 11px 10px!important;
  }
  #menuGrid .public-product-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    align-items:start!important;
  }
  #menuGrid .public-product-head h3{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  #menuGrid .price-stack{
    align-items:flex-start!important;
    justify-self:start!important;
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    gap:2px!important;
  }
  #menuGrid .price-stack strong{
    display:block!important;
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  #menuGrid .price-two{
    font-size:9px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  #menuGrid .public-product-body p{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  #menuGrid .public-card-actions{
    width:100%!important;
    min-width:0!important;
    gap:6px!important;
  }
  #menuGrid .detail-hint{
    min-width:0!important;
    max-width:calc(100% - 38px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #menuGrid .card-add-order{flex:0 0 32px!important}

  /* Carruseles secundarios confinados al contenedor. */
  .featured-product-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overscroll-behavior-inline:contain;
  }
  .featured-product-grid .public-product-card{
    min-width:0!important;
    overflow:hidden!important;
  }

  /* Barra inferior respeta el ancho visible incluso con safe-area. */
  .mobile-bottom-nav{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:calc(100vw - 16px)!important;
  }
}

@media (max-width:390px){
  #menuGrid .public-product-card,
  html[data-public-layout="elegant"] #menuGrid .public-product-card{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
  #menuGrid .public-product-image,
  html[data-public-layout="elegant"] #menuGrid .public-product-image{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
  }
  #menuGrid .public-product-head h3{font-size:14px!important}
  #menuGrid .price-stack strong{font-size:14px!important}
}

/* ================================================================
   V2.49 · MOBILE HARD VIEWPORT FIX
   El documento NO puede desplazarse lateralmente. Solo los carruseles.
   ================================================================ */
@media (max-width:720px){
  :root{--mobile-gutter:12px}
  html{
    width:100%!important;
    max-width:100%!important;
    overflow-x:clip!important;
    overscroll-behavior-x:none!important;
  }
  body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:clip!important;
    overscroll-behavior-x:none!important;
    position:relative!important;
  }
  body::before,body::after{max-width:100vw!important;overflow:hidden!important}
  .layout-signature,.sig-elegant,.sig-neon,.sig-minimal{display:none!important}

  header.nav-wrap,
  main,
  footer,
  .hero-premium-integrated,
  .category-visual-strip,
  .categories,
  .featured,
  .delivery-choice,
  .promos,
  .visit{
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    overflow-x:clip!important;
  }

  /* Header: quitar completamente la rejilla editorial de escritorio. */
  header.nav-wrap{
    position:absolute!important;
    inset:0 0 auto 0!important;
  }
  html[data-public-layout="elegant"] .nav,
  .nav{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .brand{flex:0 0 auto!important;min-width:0!important}
  .menu-toggle{margin-left:auto!important;flex:0 0 auto!important}
  .nav-actions{display:none!important}
  .nav-links.open{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:calc(100vw - 24px)!important;
  }

  /* Cada contenedor normal usa exactamente el viewport disponible. */
  .container,
  .hero-grid,
  .hero-integrated-grid,
  html[data-public-layout="elegant"] .hero-integrated-grid{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  .hero-integrated-grid .hero-copy,
  html[data-public-layout="elegant"] .hero-integrated-grid .hero-copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .hero-display-title{
    width:auto!important;
    max-width:100%!important;
    margin-right:0!important;
    transform:scale(.76)!important;
    transform-origin:left center!important;
  }
  .hero-premium-integrated .hero-lead,
  .hero-lead{
    width:100%!important;
    max-width:100%!important;
  }
  .hero-actions,.hero-meta{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-actions>*{min-width:0!important;max-width:100%!important}
  .hero-meta>div{min-width:0!important;overflow:hidden!important}
  .hero-meta strong,.hero-meta span{overflow-wrap:anywhere!important}

  /* El carrusel horizontal vive DENTRO de su sección. */
  .category-visual-strip .container{
    overflow:hidden!important;
  }
  .category-visual-rail{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Secciones que antes heredaban composiciones editoriales de escritorio. */
  .promos .container,
  .visit .container,
  .featured .container,
  .categories .container,
  .delivery-choice .container{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .promos .container{display:block!important}
  .visit-grid,.delivery-choice-card{width:100%!important;max-width:100%!important;min-width:0!important}

  /* Tarjetas y textos jamás pueden ensanchar el documento. */
  #menuGrid,
  #menuGrid>* ,
  .public-product-card,
  .public-product-body,
  .public-product-head,
  .price-stack{
    min-width:0!important;
    max-width:100%!important;
  }
  #menuGrid .public-product-body{overflow:hidden!important}
  #menuGrid .public-product-head h3,
  #menuGrid .public-product-body p{overflow-wrap:anywhere!important}

  /* Elementos fijos también se calculan desde el viewport real. */
  .mobile-bottom-nav{
    box-sizing:border-box!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-width:none!important;
  }
  .order-dock{
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
  }
}
\n/* V2.48 · Checkout propio + entrega DiDi Mi Negocio */\n.fulfillment-picker{border:0;padding:0;margin:14px 0;display:grid;gap:10px}.fulfillment-picker legend{font-weight:800;margin-bottom:8px}.web-fulfillment{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.03);cursor:pointer}.web-fulfillment input{margin-top:4px}.web-fulfillment span{display:grid;gap:3px}.web-fulfillment small{opacity:.7;font-size:.82rem}.didi-delivery-fields{display:grid;gap:12px;margin:12px 0}.didi-delivery-fields[hidden]{display:none!important}.delivery-notice,.delivery-payment-note{border:1px solid rgba(255,48,76,.32);background:rgba(255,48,76,.08);border-radius:14px;padding:13px 14px}.delivery-notice p{margin:5px 0 0;line-height:1.45;opacity:.82}.delivery-payment-note{display:grid;gap:4px}.delivery-payment-note span{font-size:.88rem;line-height:1.4;opacity:.78}\n@media(max-width:720px){.order-dialog-shell{width:min(94vw,520px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important}.checkout-grid{grid-template-columns:1fr!important}.fulfillment-picker{margin-top:10px}.web-fulfillment{padding:11px 12px}.delivery-notice,.delivery-payment-note{padding:11px 12px}}\n
/* ================================================================
   V2.51 / V3.87 · BOLD NEON ORDENADO
   Conserva la identidad visual elegida y corrige la composición del
   header/hero en escritorio: navegación horizontal y CTA sin cruces.
   ================================================================ */
@media (min-width: 960px){
  html[data-public-layout="neon"] body{
    padding-left:0 !important;
  }

  /* Header horizontal y estable */
  html[data-public-layout="neon"] .nav-wrap,
  .nav-wrap{
    position:absolute !important;
    inset:0 0 auto 0 !important;
    width:100% !important;
    height:88px !important;
    background:linear-gradient(180deg,rgba(2,3,3,.97),rgba(2,3,3,.82),rgba(2,3,3,.28)) !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
    box-shadow:none !important;
    backdrop-filter:blur(10px) !important;
  }
  html[data-public-layout="neon"] .nav,
  .nav{
    width:min(1480px,calc(100% - 72px)) !important;
    height:88px !important;
    min-height:88px !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:28px !important;
  }
  html[data-public-layout="neon"] .brand{
    flex:0 0 auto !important;
    width:108px !important;
    height:66px !important;
  }
  html[data-public-layout="neon"] .brand img{
    width:108px !important;
    max-width:108px !important;
    max-height:66px !important;
    object-fit:contain !important;
  }
  html[data-public-layout="neon"] .nav-links{
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:row !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:25px !important;
    margin:0 !important;
  }
  html[data-public-layout="neon"] .nav-links a{
    writing-mode:horizontal-tb !important;
    transform:none !important;
    padding:32px 0 27px !important;
    font-size:12px !important;
    letter-spacing:.035em !important;
    text-transform:none !important;
    white-space:nowrap !important;
  }
  html[data-public-layout="neon"] .nav-actions{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
  }
  html[data-public-layout="neon"] .nav .cta-small,
  html[data-public-layout="neon"] .cart-nav-btn{
    margin:0 !important;
    width:auto !important;
    min-width:105px !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 15px !important;
    writing-mode:horizontal-tb !important;
    transform:none !important;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    border-radius:9px !important;
    font-size:12px !important;
    letter-spacing:0 !important;
  }
  html[data-public-layout="neon"] .menu-toggle{display:none !important}

  /* Portada: una columna de contenido limpia, sin botones atravesados */
  .hero-premium-integrated,
  html[data-public-layout="neon"] .hero-premium-integrated{
    min-height:780px !important;
    height:780px !important;
    padding:88px 0 0 !important;
    clip-path:none !important;
  }
  .hero-integrated-grid,
  html[data-public-layout="neon"] .hero-integrated-grid{
    width:min(1480px,calc(100% - 72px)) !important;
    min-height:692px !important;
    height:692px !important;
    grid-template-columns:1fr !important;
  }
  .hero-integrated-grid .hero-copy,
  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    width:min(47%,640px) !important;
    max-width:640px !important;
    min-height:692px !important;
    padding:56px 0 42px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    position:relative !important;
    z-index:15 !important;
  }
  .hero-display-title{
    margin:18px 0 18px !important;
    max-width:100% !important;
  }
  .hero-display-title .hero-word-sushi{font-size:108px !important}
  .hero-display-title .hero-word-desu{font-size:102px !important;margin-left:18px !important}
  .hero-display-title small{font-size:20px !important;margin-right:18px !important}
  .hero-premium-integrated .hero-lead{
    width:100% !important;
    max-width:540px !important;
    margin:0 !important;
    font-size:17px !important;
    line-height:1.5 !important;
  }

  .hero-actions{
    width:min(100%,560px) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    margin-top:24px !important;
    align-items:stretch !important;
  }
  .hero-actions .cta,
  .hero-actions .ghost,
  .hero-actions .didi-cta{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:54px !important;
    margin:0 !important;
    padding:0 20px !important;
    transform:none !important;
    writing-mode:horizontal-tb !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    border-radius:10px !important;
  }
  .hero-actions .ghost{font-size:13px !important}
  .hero-actions .didi-cta{
    grid-column:1 / -1 !important;
    min-height:62px !important;
    align-items:flex-start !important;
    text-align:left !important;
    padding:11px 22px !important;
  }
  .hero-actions .didi-cta-main{font-size:15px !important}
  .hero-actions .didi-cta-sub{font-size:10px !important;white-space:normal !important}

  .hero-meta{
    width:min(100%,560px) !important;
    max-width:560px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:20px !important;
    padding-top:18px !important;
  }
  .hero-meta>div{
    min-width:0 !important;
    height:82px !important;
    padding:15px 17px !important;
    overflow:hidden !important;
  }
  .hero-meta strong,.hero-meta span{white-space:normal !important}

  /* Fotografía detrás del lado derecho, sin invadir controles */
  .hero-integrated-media{
    top:88px !important;
    right:0 !important;
    bottom:auto !important;
    width:64vw !important;
    max-width:1040px !important;
    height:692px !important;
  }
  .hero-integrated-photo{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .hero-media-shade{
    background:
      linear-gradient(90deg,#030404 0%,rgba(3,4,4,.95) 12%,rgba(3,4,4,.52) 28%,rgba(3,4,4,.08) 49%,transparent 65%),
      linear-gradient(180deg,rgba(0,0,0,.03) 45%,rgba(2,3,3,.44) 100%) !important;
  }

  /* Quitar cualquier firma vertical residual del antiguo layout lateral */
  .layout-signature,.sig-neon,.sig-elegant{display:none !important}
}

@media (min-width:960px) and (max-width:1180px){
  html[data-public-layout="neon"] .nav,
  .nav{width:calc(100% - 38px) !important;gap:16px !important}
  html[data-public-layout="neon"] .nav-links{gap:14px !important}
  html[data-public-layout="neon"] .nav-links a{font-size:11px !important}
  .nav-whatsapp-premium{padding:0 12px !important}
  html[data-public-layout="neon"] .nav .cta-small{min-width:92px !important;padding:0 11px !important}
  .hero-integrated-grid,
  html[data-public-layout="neon"] .hero-integrated-grid{width:calc(100% - 44px) !important}
  .hero-integrated-grid .hero-copy,
  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{width:52% !important}
  .hero-display-title .hero-word-sushi{font-size:92px !important}
  .hero-display-title .hero-word-desu{font-size:88px !important}
}


/* =========================================================
   V3.88 FINAL HERO OVERRIDE
   Debe permanecer al FINAL del archivo para evitar que reglas
   antiguas del theme Neon vuelvan a activar el layout lateral.
   ========================================================= */
@media (min-width: 960px){
  html[data-public-layout="neon"] body{
    padding-left:0 !important;
    overflow-x:hidden !important;
  }

  html[data-public-layout="neon"] .nav-wrap{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:94px !important;
    background:linear-gradient(180deg,rgba(2,3,3,.97),rgba(2,3,3,.82),rgba(2,3,3,.30)) !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
    backdrop-filter:blur(10px) !important;
  }

  html[data-public-layout="neon"] .nav{
    width:min(1460px,calc(100% - 72px)) !important;
    height:94px !important;
    min-height:94px !important;
    padding:0 !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:190px 1fr auto !important;
    align-items:center !important;
    gap:26px !important;
  }

  html[data-public-layout="neon"] .brand{
    width:150px !important;
    height:74px !important;
    display:flex !important;
    align-items:center !important;
  }
  html[data-public-layout="neon"] .brand img{
    width:150px !important;
    height:68px !important;
    max-width:150px !important;
    max-height:68px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  html[data-public-layout="neon"] .nav-links{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:24px !important;
    margin:0 !important;
  }
  html[data-public-layout="neon"] .nav-links a{
    writing-mode:horizontal-tb !important;
    transform:none !important;
    padding:36px 0 31px !important;
    font-size:12px !important;
    letter-spacing:.035em !important;
    text-transform:none !important;
    white-space:nowrap !important;
  }

  html[data-public-layout="neon"] .nav-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:10px !important;
  }

  html[data-public-layout="neon"] .nav .cta-small,
  html[data-public-layout="neon"] .cart-nav-btn{
    width:auto !important;
    min-width:110px !important;
    min-height:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 16px !important;
    writing-mode:horizontal-tb !important;
    transform:none !important;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
    font-size:12px !important;
    letter-spacing:0 !important;
  }

  html[data-public-layout="neon"] .menu-toggle{
    display:none !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated{
    min-height:790px !important;
    height:790px !important;
    padding:94px 0 0 !important;
    clip-path:none !important;
    overflow:hidden !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid{
    width:min(1460px,calc(100% - 72px)) !important;
    height:696px !important;
    min-height:696px !important;
    margin:0 auto !important;
    grid-template-columns:1fr !important;
    position:relative !important;
    z-index:10 !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    width:min(47%,630px) !important;
    max-width:630px !important;
    min-height:696px !important;
    padding:52px 0 48px !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    position:relative !important;
    z-index:20 !important;
  }

  html[data-public-layout="neon"] .hero-display-title{
    margin:12px 0 18px !important;
  }
  html[data-public-layout="neon"] .hero-display-title .hero-word-sushi{
    font-size:100px !important;
  }
  html[data-public-layout="neon"] .hero-display-title .hero-word-desu{
    font-size:94px !important;
    margin-left:16px !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated .hero-lead{
    width:100% !important;
    max-width:540px !important;
    margin:0 !important;
    font-size:17px !important;
    line-height:1.5 !important;
  }

  html[data-public-layout="neon"] .hero-actions{
    width:min(100%,560px) !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:24px !important;
  }

  html[data-public-layout="neon"] .hero-actions .cta,
  html[data-public-layout="neon"] .hero-actions .ghost,
  html[data-public-layout="neon"] .hero-actions .didi-cta{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    margin:0 !important;
    padding:0 18px !important;
    writing-mode:horizontal-tb !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    border-radius:10px !important;
  }

  html[data-public-layout="neon"] .hero-actions .didi-cta{
    grid-column:1 / -1 !important;
    min-height:64px !important;
    align-items:flex-start !important;
    text-align:left !important;
    padding:12px 22px !important;
  }

  html[data-public-layout="neon"] .hero-meta{
    width:min(100%,560px) !important;
    max-width:560px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:20px !important;
    padding-top:18px !important;
  }

  html[data-public-layout="neon"] .hero-meta > div{
    min-width:0 !important;
    height:84px !important;
    padding:15px 17px !important;
  }

  html[data-public-layout="neon"] .hero-integrated-media{
    top:94px !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    width:64vw !important;
    max-width:1040px !important;
    height:696px !important;
  }

  html[data-public-layout="neon"] .hero-integrated-photo{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  html[data-public-layout="neon"] .hero-media-shade{
    background:
      linear-gradient(90deg,#030404 0%,rgba(3,4,4,.96) 11%,rgba(3,4,4,.56) 27%,rgba(3,4,4,.10) 48%,transparent 66%),
      linear-gradient(180deg,rgba(0,0,0,.03) 45%,rgba(2,3,3,.44) 100%) !important;
  }

  /* Desactiva firmas/rotulos verticales heredados del theme */
  html[data-public-layout="neon"] .layout-signature,
  html[data-public-layout="neon"] .sig-neon,
  html[data-public-layout="neon"] .sig-elegant,
  html[data-public-layout="neon"] [style*="writing-mode:vertical"],
  html[data-public-layout="neon"] [style*="writing-mode: vertical"]{
    display:none !important;
  }
}

/* Mantener el móvil con su navegación propia */
@media (max-width:959px){
  html[data-public-layout="neon"] body{
    padding-left:0 !important;
  }
}


/* =========================================================
   V3.89 — Sakura Layered Hero
   Usa arte del usuario como capa transparente sobre las fotos
   reales rotativas. Desktop only; móvil conserva V3.88.
   ========================================================= */
.hero-sakura-overlay{display:none}

@media (min-width:960px){
  html[data-public-layout="neon"] .hero-premium-integrated{
    min-height:820px !important;
    height:820px !important;
    overflow:hidden !important;
    background:
      radial-gradient(circle at 25% 30%,rgba(155,6,29,.13),transparent 32%),
      #020303 !important;
  }

  /* Las fotos reales continúan rotando por debajo del arte */
  html[data-public-layout="neon"] .hero-integrated-media{
    top:94px !important;
    right:-1.5vw !important;
    bottom:auto !important;
    width:74vw !important;
    max-width:none !important;
    height:726px !important;
    z-index:3 !important;
    overflow:hidden !important;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.13) 7%,rgba(0,0,0,.66) 20%,#000 35%,#000 100%) !important;
    mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.13) 7%,rgba(0,0,0,.66) 20%,#000 35%,#000 100%) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-photo{
    inset:-2% -1% -2% 0 !important;
    width:102% !important;
    height:104% !important;
    object-fit:cover !important;
    object-position:center center !important;
    filter:saturate(1.03) contrast(1.04) brightness(.88) !important;
  }

  html[data-public-layout="neon"] .hero-media-shade{
    z-index:2 !important;
    background:
      linear-gradient(90deg,#020303 0%,rgba(2,3,3,.90) 10%,rgba(2,3,3,.43) 24%,rgba(2,3,3,.08) 39%,transparent 55%),
      linear-gradient(180deg,rgba(0,0,0,.03) 45%,rgba(0,0,0,.35) 100%) !important;
  }

  /* Tu arte original: negro eliminado, flores/logo/templo quedan flotando */
  html[data-public-layout="neon"] .hero-sakura-overlay{
    display:block !important;
    position:absolute !important;
    z-index:14 !important;
    top:112px !important;
    left:2.6vw !important;
    width:clamp(620px,44vw,790px) !important;
    height:auto !important;
    max-height:390px !important;
    object-fit:contain !important;
    object-position:left top !important;
    pointer-events:none !important;
    filter:drop-shadow(0 14px 24px rgba(0,0,0,.28)) !important;
  }

  /* Se eliminan las decoraciones planas antiguas: el arte real las sustituye */
  html[data-public-layout="neon"] .premium-bamboo,
  html[data-public-layout="neon"] .premium-lantern,
  html[data-public-layout="neon"] .hero-red-sun,
  html[data-public-layout="neon"] .hero-title-wrap,
  html[data-public-layout="neon"] .hero-premium-integrated .eyebrow{
    display:none !important;
  }

  /* El contenido funcional comienza debajo del logo integrado */
  html[data-public-layout="neon"] .hero-integrated-grid{
    width:min(1500px,calc(100% - 96px)) !important;
    height:726px !important;
    min-height:726px !important;
    margin:0 auto !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    width:590px !important;
    max-width:590px !important;
    min-height:726px !important;
    padding:365px 0 34px !important;
    margin-left:1.7vw !important;
    justify-content:flex-start !important;
    z-index:20 !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated .hero-lead{
    width:520px !important;
    max-width:520px !important;
    margin:0 0 18px !important;
    font-size:17px !important;
    line-height:1.45 !important;
    color:#eee8e3 !important;
    text-shadow:0 2px 12px rgba(0,0,0,.8) !important;
  }

  html[data-public-layout="neon"] .hero-actions{
    width:535px !important;
    max-width:535px !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:0 !important;
  }

  html[data-public-layout="neon"] .hero-actions .didi-cta{
    grid-column:1/-1 !important;
  }

  html[data-public-layout="neon"] .hero-meta{
    width:535px !important;
    max-width:535px !important;
    margin-top:16px !important;
    padding-top:14px !important;
  }

  html[data-public-layout="neon"] .hero-integrated-controls{
    margin-top:10px !important;
  }

  /* Mantiene el arte delante y las fotos detrás incluso en monitores anchos */
  html[data-public-layout="neon"] .hero-wave-pattern{
    z-index:1 !important;
    opacity:.20 !important;
  }
}

/* En móvil conservamos la portada estable mientras hacemos su arte específico. */
@media (max-width:959px){
  .hero-sakura-overlay{display:none !important}
}


/* =========================================================
   V3.90 — refinado visual del hero Sakura
   Ajuste fino basado en captura real de escritorio.
   ========================================================= */
@media (min-width:1200px){
  html[data-public-layout="neon"] .hero-integrated-media{
    right:-3vw !important;
    width:80vw !important;
    -webkit-mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.18) 5%,
      rgba(0,0,0,.58) 15%,
      rgba(0,0,0,.90) 25%,
      #000 34%,
      #000 100%) !important;
    mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.18) 5%,
      rgba(0,0,0,.58) 15%,
      rgba(0,0,0,.90) 25%,
      #000 34%,
      #000 100%) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-photo{
    filter:saturate(1.06) contrast(1.03) brightness(.97) !important;
    object-position:center center !important;
  }

  html[data-public-layout="neon"] .hero-media-shade{
    background:
      linear-gradient(90deg,
        #020303 0%,
        rgba(2,3,3,.82) 8%,
        rgba(2,3,3,.38) 18%,
        rgba(2,3,3,.12) 30%,
        transparent 45%),
      linear-gradient(180deg,
        rgba(0,0,0,.02) 40%,
        rgba(2,3,3,.27) 100%) !important;
  }

  html[data-public-layout="neon"] .hero-sakura-overlay{
    top:101px !important;
    left:1.25vw !important;
    width:clamp(760px,53vw,950px) !important;
    max-height:470px !important;
    opacity:.98 !important;
    filter:
      drop-shadow(0 18px 32px rgba(0,0,0,.32))
      saturate(1.06) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid{
    width:min(1540px,calc(100% - 88px)) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    width:565px !important;
    max-width:565px !important;
    padding:390px 0 28px !important;
    margin-left:3.2vw !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated .hero-lead{
    width:500px !important;
    max-width:500px !important;
    margin-bottom:16px !important;
    font-size:16.5px !important;
    line-height:1.46 !important;
  }

  html[data-public-layout="neon"] .hero-actions,
  html[data-public-layout="neon"] .hero-meta{
    width:510px !important;
    max-width:510px !important;
  }

  html[data-public-layout="neon"] .hero-actions .cta,
  html[data-public-layout="neon"] .hero-actions .ghost{
    min-height:52px !important;
  }

  html[data-public-layout="neon"] .hero-actions .didi-cta{
    min-height:60px !important;
  }

  html[data-public-layout="neon"] .hero-meta > div{
    height:78px !important;
  }
}

/* Monitores muy anchos: evita que el bloque quede pegado al borde izquierdo */
@media (min-width:1700px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    left:4.5vw !important;
    width:min(49vw,980px) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    margin-left:7vw !important;
  }

  html[data-public-layout="neon"] .hero-integrated-media{
    width:77vw !important;
    right:-1vw !important;
  }
}

/* Ventanas medianas conservan la mezcla sin comprimir el contenido */
@media (min-width:960px) and (max-width:1199px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    width:clamp(650px,58vw,760px) !important;
    left:1vw !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    margin-left:2vw !important;
  }
}


/* =========================================================
   V3.91 — Portada curada SushiDesu!
   Imágenes horizontales diseñadas para trabajar con branding a la izquierda.
   ========================================================= */
@media (min-width:960px){
  html[data-public-layout="neon"] .hero-premium-integrated{
    min-height:820px !important;
    height:820px !important;
    background:#030303 !important;
  }

  html[data-public-layout="neon"] .hero-integrated-media{
    top:94px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    height:726px !important;
    z-index:2 !important;
    overflow:hidden !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  html[data-public-layout="neon"] .hero-integrated-photo{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    filter:saturate(1.01) contrast(1.01) brightness(.94) !important;
    transform:scale(1.005) !important;
  }

  html[data-public-layout="neon"] .hero-media-shade{
    z-index:3 !important;
    background:
      linear-gradient(90deg,
        rgba(2,3,3,.92) 0%,
        rgba(2,3,3,.68) 18%,
        rgba(2,3,3,.30) 33%,
        rgba(2,3,3,.05) 49%,
        transparent 64%),
      linear-gradient(180deg,rgba(0,0,0,.02) 52%,rgba(0,0,0,.22) 100%) !important;
  }

  html[data-public-layout="neon"] .hero-sakura-overlay{
    display:block !important;
    position:absolute !important;
    z-index:14 !important;
    top:116px !important;
    left:clamp(54px,5vw,108px) !important;
    width:clamp(550px,35vw,700px) !important;
    height:auto !important;
    max-height:350px !important;
    object-fit:contain !important;
    object-position:left top !important;
    opacity:.98 !important;
    pointer-events:none !important;
    filter:drop-shadow(0 18px 30px rgba(0,0,0,.30)) saturate(1.04) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid{
    width:min(1540px,calc(100% - 96px)) !important;
    height:726px !important;
    min-height:726px !important;
    margin:0 auto !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    width:545px !important;
    max-width:545px !important;
    min-height:726px !important;
    padding:365px 0 28px !important;
    margin-left:clamp(22px,3.5vw,74px) !important;
    justify-content:flex-start !important;
    z-index:20 !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated .hero-lead{
    width:500px !important;
    max-width:500px !important;
    margin:0 0 16px !important;
    font-size:16.5px !important;
    line-height:1.46 !important;
    color:#f1ece8 !important;
    text-shadow:0 2px 14px rgba(0,0,0,.92) !important;
  }

  html[data-public-layout="neon"] .hero-actions,
  html[data-public-layout="neon"] .hero-meta{
    width:510px !important;
    max-width:510px !important;
  }

  html[data-public-layout="neon"] .hero-actions{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:0 !important;
  }
  html[data-public-layout="neon"] .hero-actions .didi-cta{
    grid-column:1/-1 !important;
  }
  html[data-public-layout="neon"] .hero-meta{
    margin-top:14px !important;
    padding-top:12px !important;
  }
  html[data-public-layout="neon"] .hero-meta>div{
    height:74px !important;
  }

  /* El arte real reemplaza adornos antiguos planos */
  html[data-public-layout="neon"] .premium-bamboo,
  html[data-public-layout="neon"] .premium-lantern,
  html[data-public-layout="neon"] .hero-red-sun,
  html[data-public-layout="neon"] .hero-title-wrap,
  html[data-public-layout="neon"] .hero-premium-integrated .eyebrow{
    display:none !important;
  }
}

@media (min-width:1700px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    left:7vw !important;
    width:min(33vw,720px) !important;
  }
  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    margin-left:7.5vw !important;
  }
}

@media (max-width:959px){
  .hero-sakura-overlay{display:none !important}
}


/* =========================================================
   V3.93 — Ajuste MINIMO del logo integrado
   Conserva exactamente el overlay/logo de V3.91.
   Solo corrige escala/posición para evitar corte inferior.
   ========================================================= */
@media (min-width:960px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    top:108px !important;
    left:clamp(40px,4.2vw,88px) !important;
    width:clamp(520px,33vw,650px) !important;
    max-height:none !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left top !important;
    clip-path:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    opacity:1 !important;
    filter:drop-shadow(0 16px 28px rgba(0,0,0,.28)) saturate(1.03) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    padding-top:350px !important;
  }
}

@media (min-width:1700px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    left:6vw !important;
    width:min(31vw,660px) !important;
  }
}


/* =========================================================
   V3.94 — Balance fino de logo/cerezos en hero
   Mantiene exactamente el arte V3.93; solo ajusta escala/posición.
   ========================================================= */
@media (min-width:1200px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    top:92px !important;
    left:clamp(26px,2.8vw,58px) !important;
    width:clamp(470px,29vw,570px) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    padding-top:322px !important;
    margin-left:4vw !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated .hero-lead{
    width:490px !important;
    max-width:490px !important;
  }

  html[data-public-layout="neon"] .hero-actions,
  html[data-public-layout="neon"] .hero-meta{
    width:500px !important;
    max-width:500px !important;
  }
}

@media (min-width:1700px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    left:5.3vw !important;
    width:min(28vw,590px) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    margin-left:7vw !important;
  }
}

@media (min-width:960px) and (max-width:1199px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    top:104px !important;
    left:3vw !important;
    width:470px !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    padding-top:320px !important;
  }
}


/* =========================================================
   V3.95 — Sakura/logo final desde esquina superior
   - Mantiene el arte aprobado.
   - Nace desde la esquina superior izquierda del hero.
   - Sin logo pequeño duplicado en escritorio.
   - Sin corte inferior.
   - Se integra hacia la siguiente sección.
   ========================================================= */
@media (min-width:960px){

  /* Quitar logo pequeño duplicado de la barra superior */
  html[data-public-layout="neon"] .nav .brand{
    visibility:hidden !important;
    pointer-events:none !important;
  }

  /* Reequilibra navegación al desaparecer el logo pequeño */
  html[data-public-layout="neon"] .nav{
    grid-template-columns:1fr auto !important;
  }

  html[data-public-layout="neon"] .nav-links{
    justify-content:flex-end !important;
  }

  /* Hero un poco más alto para que la composición termine de forma natural */
  html[data-public-layout="neon"] .hero-premium-integrated{
    min-height:860px !important;
    height:860px !important;
    overflow:hidden !important;
    background:#020303 !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid{
    height:766px !important;
    min-height:766px !important;
  }

  html[data-public-layout="neon"] .hero-integrated-media{
    height:766px !important;
  }

  /* Arte aprobado: nace desde la esquina superior izquierda del hero,
     sin clip, sin máscara y sin max-height que pueda cortar la parte inferior. */
  html[data-public-layout="neon"] .hero-sakura-overlay{
    display:block !important;
    position:absolute !important;
    z-index:16 !important;
    top:94px !important;
    left:0 !important;
    width:clamp(650px,46vw,890px) !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:left top !important;
    clip-path:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    opacity:1 !important;
    pointer-events:none !important;
    filter:drop-shadow(0 18px 36px rgba(0,0,0,.32)) saturate(1.02) !important;
  }

  /* El texto/botones se asientan debajo del emblema sin dejar hueco raro */
  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    padding-top:410px !important;
    padding-bottom:30px !important;
    margin-left:clamp(46px,4.2vw,88px) !important;
    justify-content:flex-start !important;
  }

  html[data-public-layout="neon"] .hero-premium-integrated .hero-lead{
    margin-top:0 !important;
    margin-bottom:18px !important;
  }

  /* Integración natural hacia la sección siguiente */
  html[data-public-layout="neon"] .hero-premium-integrated::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:150px !important;
    z-index:15 !important;
    pointer-events:none !important;
    background:
      linear-gradient(180deg,transparent 0%,rgba(2,3,3,.18) 28%,rgba(2,3,3,.78) 78%,#020303 100%) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-controls{
    position:relative !important;
    z-index:22 !important;
  }
}

/* Monitores anchos: mantener el inicio real en la esquina, pero escalar el arte */
@media (min-width:1700px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    left:0 !important;
    width:min(43vw,930px) !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    margin-left:6vw !important;
  }
}

/* Ventanas medianas */
@media (min-width:960px) and (max-width:1199px){
  html[data-public-layout="neon"] .hero-sakura-overlay{
    left:0 !important;
    width:650px !important;
  }

  html[data-public-layout="neon"] .hero-integrated-grid .hero-copy{
    padding-top:390px !important;
    margin-left:36px !important;
  }
}

/* Móvil permanece como estaba: no tocar todavía */
@media (max-width:959px){
  html[data-public-layout="neon"] .nav .brand{
    visibility:visible !important;
    pointer-events:auto !important;
  }
}


/* V3.96 · Checkout DiDi visible y confiable */
.web-fulfillment{
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.web-fulfillment.is-selected{
  border-color:rgba(255,65,83,.72)!important;
  background:rgba(255,48,76,.11)!important;
  box-shadow:0 0 0 2px rgba(255,48,76,.08),0 12px 30px rgba(0,0,0,.18)!important;
}
.web-fulfillment:active{transform:scale(.995)}
#didiDeliveryFields[hidden]{display:none!important}
#didiDeliveryFields:not([hidden]){
  display:grid!important;
  animation:didiFieldsIn .22s ease-out;
}
@keyframes didiFieldsIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
