:root{--cream:#F7F1E7;--cream2:#FFF9EF;--red:#D6453D;--gold:#D4A017;--green:#86B141;--black:#1A1A1A;--muted:#6C675F;--blue:#2196F3;--pink:#E91E63;--orange:#F39C12;--shadow:0 18px 45px rgba(76,48,18,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);font-family:Montserrat,sans-serif;background:var(--cream)}body.cart-open{overflow:hidden}a{text-decoration:none;color:inherit}button,select{font:inherit}
.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;display:flex;align-items:center;gap:24px;padding:14px clamp(18px,4vw,68px);transition:.3s}.site-header.scrolled{background:rgba(247,241,231,.94);box-shadow:0 8px 24px rgba(31,22,11,.08);backdrop-filter:blur(14px)}
.brand{margin-right:auto;display:flex;flex-direction:column}.brand-script{font:2.65rem/1 Parisienne,cursive}.brand-sub{font-size:.58rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase}.main-nav{display:flex;gap:24px}.main-nav a{font-size:.88rem;font-weight:700;text-transform:uppercase;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--red);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}
.whatsapp-top{padding:13px 18px;border-radius:999px;background:var(--red);color:#fff;font-weight:700}.cart-button{width:48px;height:48px;border:1px solid rgba(214,69,61,.45);border-radius:50%;background:transparent;cursor:pointer;position:relative}.cart-button span{position:absolute;top:-7px;right:-3px;min-width:20px;height:20px;border-radius:999px;background:var(--gold);display:grid;place-items:center;font-size:.7rem;font-weight:800}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem}
.hero{position:relative;min-height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(220px,.45fr) minmax(440px,1.6fr);gap:30px;align-items:center;padding:130px clamp(24px,5vw,78px) 150px;background:radial-gradient(circle at 70% 35%,rgba(255,255,255,.9),transparent 25%),linear-gradient(115deg,#fbf4e9 0%,var(--cream) 48%,#fffaf2 100%)}
.hero-left{z-index:4}.eyebrow{color:var(--gold);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.hero h1{margin:0;font:clamp(5rem,9vw,9rem)/.8 "Bebas Neue",sans-serif;letter-spacing:.04em}.hero h2{margin:16px 0 0;color:var(--gold);font-size:clamp(1.3rem,2.1vw,2.2rem);letter-spacing:.26em}.ornament{width:290px;display:flex;align-items:center;gap:10px;margin:18px 0}.ornament span{flex:1;height:1px;background:var(--gold)}.ornament i{width:12px;height:12px;border-radius:50%;background:var(--red)}
.slogan{margin:6px 0 16px;font:clamp(3rem,5vw,5.5rem)/1 Parisienne,cursive}.slogan span{color:var(--red)}.hero-copy{max-width:560px;font-size:1.03rem;line-height:1.8}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 22px;border:1px solid transparent;text-transform:uppercase;font-weight:800;cursor:pointer;transition:.22s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--red);color:#fff}.btn-outline{background:rgba(255,255,255,.36);border-color:var(--gold)}
.status-card{z-index:5;padding:26px;border:1px solid rgba(212,160,23,.22);border-radius:20px;background:rgba(255,250,242,.66);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.status{font-weight:800;text-transform:uppercase}.status.open{color:#2f982d}.status.closed{color:var(--red)}.status.waiting{color:var(--gold)}.status-divider{height:1px;background:rgba(212,160,23,.25);margin:18px 0}.status-card>p{text-align:center;color:var(--muted);margin:0}.status-card>strong{display:block;text-align:center;font-size:1.7rem;margin:8px 0 18px}.feature-row{display:flex;align-items:center;gap:16px;padding:17px 0;border-top:1px solid rgba(212,160,23,.16);line-height:1.45}
.hero-visual{position:relative;align-self:stretch;min-height:590px;display:grid;place-items:center}.gold-ring{position:absolute;width:600px;height:600px;border:18px solid rgba(212,160,23,.78);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-18deg)}.branch{position:absolute;right:8%;top:10%;font-size:4rem}
.sushi-scene{position:relative;width:min(720px,100%);height:500px;transform:translateY(25px)}.sushi-scene:before{content:"";position:absolute;left:8%;right:0;bottom:50px;height:160px;border-radius:30px;background:linear-gradient(180deg,#efe4d4,#d9c5aa);box-shadow:0 20px 30px rgba(70,45,10,.12);transform:skewX(-8deg)}
.sushi-roll{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at center,#f9f5ef 0 26%,#7cad45 27% 34%,#f1d67f 35% 41%,#ead8be 42% 57%,#111 58% 65%,#d4a26b 66% 74%,#fff4df 75%);box-shadow:inset 0 0 0 10px rgba(255,255,255,.65),0 18px 30px rgba(73,48,19,.18)}.sushi-roll:after{content:"";position:absolute;inset:18px -9px auto -9px;height:14px;border-radius:999px;background:linear-gradient(90deg,#b2352c,#e68332,#9f2f27);box-shadow:0 15px 0 #7b251e,0 30px 0 #d7662f;transform:rotate(9deg);opacity:.85}.front{left:12%;bottom:70px;transform:scale(1.15)}.mid{left:39%;bottom:125px;transform:scale(.95)}.back{left:65%;bottom:170px;transform:scale(.78)}.chopsticks{position:absolute;right:20px;bottom:18px;width:250px;height:10px;background:linear-gradient(90deg,#2d241d,#d4a017 70%,#2d241d);transform:rotate(-12deg);box-shadow:0 20px 0 rgba(62,46,30,.9);border-radius:999px}
.petals span{position:absolute;z-index:2;width:18px;height:10px;background:#ef94a5;border-radius:70% 30% 70% 30%;animation:drift 8s linear infinite;opacity:.75}.petals span:nth-child(1){left:50%;top:12%}.petals span:nth-child(2){left:58%;top:18%;animation-delay:1.8s}.petals span:nth-child(3){left:72%;top:22%;animation-delay:3.4s}.petals span:nth-child(4){left:63%;top:31%;animation-delay:5s}.petals span:nth-child(5){left:84%;top:17%;animation-delay:6.5s}@keyframes drift{to{transform:translate(-80px,420px) rotate(280deg)}}
.hero-stats{position:absolute;left:7%;right:7%;bottom:40px;z-index:6;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(212,160,23,.24);border-radius:18px;background:rgba(255,250,242,.88);box-shadow:var(--shadow);overflow:hidden}.hero-stats>div{min-height:96px;padding:18px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-content:center;border-right:1px solid rgba(212,160,23,.17)}.hero-stats span{grid-row:1/3;align-self:center;color:var(--gold);font-size:1.9rem}.hero-stats strong{font-size:.96rem}.hero-stats small{color:var(--muted)}.scroll-cue{position:absolute;bottom:5px;left:50%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.7rem;z-index:7}
.section{padding:88px clamp(20px,5vw,76px)}.section-light{background:var(--cream2)}.section-heading{max-width:760px;margin:0 auto 40px;text-align:center}.section-heading span{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:800}.section-heading h3,.about-section h3,.contact-section h3{margin:8px 0 10px;font:clamp(2.8rem,5vw,5rem)/1 Parisienne,cursive}.section-heading p{color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:32px}.filter{border:1px solid rgba(26,26,26,.12);border-radius:999px;padding:10px 16px;background:#fff;font-weight:700;cursor:pointer}.filter.active{color:#fff;background:var(--black)}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px;max-width:1280px;margin:auto}.product-card{--cat:var(--red);overflow:hidden;border:1px solid #ddd;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(81,52,19,.08)}.product-image{height:180px;display:grid;place-items:center;background:linear-gradient(135deg,#fff6ef,#fff);color:var(--cat);font:2.1rem "Bebas Neue",sans-serif;position:relative}.season{position:absolute;top:12px;left:12px;padding:6px 9px;border-radius:999px;background:var(--gold);font:.68rem Montserrat,sans-serif}.product-content{padding:20px}.product-tag{color:var(--cat);font-size:.72rem;font-weight:800;text-transform:uppercase}.product-content h4{margin:5px 0 8px;font:2rem "Bebas Neue",sans-serif}.product-content p{min-height:72px;color:var(--muted);line-height:1.6;font-size:.87rem}.product-bottom{display:flex;justify-content:space-between;align-items:center}.add-btn{border:0;border-radius:9px;padding:10px 13px;background:var(--cat);color:#fff;font-weight:800;cursor:pointer}
.promo-section{background:var(--black);color:#fff}.section-heading.light h3{color:#fff}.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.promo-grid article{padding:28px;border:1px solid rgba(212,160,23,.3);border-radius:18px;background:rgba(255,255,255,.04)}.promo-grid strong{color:var(--gold);font-size:2.3rem}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:auto}.reviews blockquote{margin:0;padding:24px;border-radius:18px;background:#fff;box-shadow:var(--shadow);color:var(--gold)}.reviews p{color:var(--black)}.reviews cite{color:var(--muted)}
.about-section,.contact-section{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.about-section p{line-height:1.8;color:var(--muted)}.about-card{align-self:center;padding:28px;border-radius:18px;background:var(--black);color:#fff}.about-card strong{color:var(--gold)}.contact-card{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.contact-card a{color:var(--red);font-weight:700}
.cart-panel{position:fixed;top:0;right:0;z-index:1300;width:min(430px,100%);height:100dvh;display:flex;flex-direction:column;padding:22px;background:var(--black);color:#fff;transform:translateX(105%);transition:.28s}.cart-panel.open{transform:none}.cart-head{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px}.cart-head span{color:var(--gold);font-size:.72rem}.cart-head button{border:0;background:none;color:#fff;font-size:2rem}.cart-items{flex:1;overflow:auto}.empty{text-align:center;color:#aaa}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.09)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#2b2b2b;color:#fff}.cart-summary{border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.cart-summary>div{display:flex;justify-content:space-between;margin-bottom:14px}.cart-summary select{width:100%;padding:11px;border-radius:8px;background:#262626;color:#fff}.cart-summary p{color:#aaa;font-size:.8rem}.full{width:100%}.backdrop{display:none;position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.5)}.backdrop.show{display:block}
footer{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;padding:28px;background:var(--black);color:#fff}footer span{color:var(--gold)}
@media(max-width:1100px){.hero{grid-template-columns:1fr .65fr;padding-bottom:190px}.hero-visual{grid-column:1/3;min-height:470px;margin-top:-60px}.hero-stats{grid-template-columns:repeat(3,1fr)}.main-nav{display:none}.menu-toggle{display:block}.main-nav.open{display:flex;position:absolute;top:88px;left:0;right:0;flex-direction:column;padding:20px 28px;background:rgba(247,241,231,.98)}}
@media(max-width:760px){.site-header{padding:10px 14px}.whatsapp-top{display:none}.hero{display:block;padding:110px 18px 210px}.hero-left{text-align:center}.ornament{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.status-card{margin:28px auto 0;max-width:360px}.hero-visual{min-height:390px}.gold-ring{width:380px;height:380px}.sushi-scene{height:350px}.sushi-roll{width:115px;height:115px}.front{left:8%;bottom:52px}.mid{left:38%;bottom:88px}.back{left:65%;bottom:120px}.hero-stats{left:14px;right:14px;bottom:44px;grid-template-columns:1fr 1fr;max-height:150px;overflow:auto}.promo-grid,.reviews,.about-section,.contact-section{grid-template-columns:1fr}}


/* =========================================================
   HERO V2 — composición corregida según referencia aprobada
   ========================================================= */
.hero{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(430px, 0.95fr) minmax(255px, 0.46fr) minmax(540px, 1.5fr);
  grid-template-areas:"copy status visual";
  gap:34px;
  align-items:center;
  padding:118px clamp(44px,5vw,82px) 150px;
}

.hero-left{
  grid-area:copy;
  align-self:center;
  max-width:610px;
}

.status-card{
  grid-area:status;
  align-self:center;
  width:100%;
  max-width:290px;
  justify-self:center;
}

.hero-visual{
  grid-area:visual;
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  overflow:visible;
  margin-right:calc(clamp(44px,5vw,82px) * -1);
}

.hero-visual img{
  position:relative;
  z-index:2;
  display:block;
  width:min(850px, 112%);
  max-width:none;
  height:610px;
  object-fit:cover;
  object-position:center;
  border-radius:48% 0 0 48% / 45% 0 0 45%;
  filter:saturate(1.04) contrast(1.02);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
}

.hero-photo-ring{
  position:absolute;
  z-index:1;
  width:620px;
  height:620px;
  left:4%;
  top:50%;
  transform:translateY(-50%) rotate(-10deg);
  border:14px solid rgba(212,160,23,.72);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
}

.hero-stats{
  left:7%;
  right:7%;
  bottom:34px;
}

@media(max-width:1200px){
  .hero{
    grid-template-columns:1fr 330px;
    grid-template-areas:
      "copy status"
      "visual visual";
    padding-bottom:205px;
  }
  .hero-left{max-width:650px}
  .hero-visual{
    min-height:500px;
    margin:20px -44px -10px 0;
  }
  .hero-visual img{
    width:82%;
    height:500px;
    margin-left:auto;
  }
  .hero-photo-ring{
    width:500px;
    height:500px;
    left:35%;
  }
}

@media(max-width:760px){
  .hero{
    display:block;
    min-height:auto;
    padding:105px 18px 220px;
  }
  .hero-left{
    max-width:100%;
    text-align:center;
  }
  .status-card{
    max-width:365px;
    margin:28px auto 0;
  }
  .hero-visual{
    min-height:360px;
    margin:28px -18px 0;
    overflow:hidden;
  }
  .hero-visual img{
    width:115%;
    height:360px;
    margin-left:0;
    object-position:52% center;
    border-radius:0;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 9%, #000 100%);
    mask-image:linear-gradient(90deg, transparent 0%, #000 9%, #000 100%);
  }
  .hero-photo-ring{
    width:370px;
    height:370px;
    left:31%;
  }
  .hero-stats{
    left:14px;
    right:14px;
    bottom:42px;
  }
}

/* The former CSS-drawn sushi is intentionally hidden in V2. */
.sushi-scene,.sushi-roll,.gold-ring,.branch{display:none!important;}
