/* =========================================================
   TORTILLERÍA ROSITA — MENU MASTER V1
   Menu-only stylesheet. HOME remains untouched.
   ========================================================= */

.menu-page{background:#f8f3e9;color:#261e19}
.menu-main{position:relative;z-index:1;overflow:hidden}

/* Hero */
.menu-hero{
  position:relative;
  min-height:610px;
  overflow:hidden;
  isolation:isolate;
  background:#1b1714;
}
.menu-hero-collage{
  position:absolute;inset:0;
  display:grid;
  grid-template-columns:1.12fr .88fr 1fr 1.05fr;
  gap:3px;
  transform:scale(1.035);
}
.menu-strip{position:relative;overflow:hidden;margin:0;min-width:0}
.menu-strip img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.08) contrast(1.07) brightness(.78);
  transform:scale(1.08);
  animation:menuStripLife 12s ease-in-out infinite alternate;
}
.menu-strip:nth-child(2) img{animation-delay:-3s}
.menu-strip:nth-child(3) img{animation-delay:-6s}
.menu-strip:nth-child(4) img{animation-delay:-9s}
@keyframes menuStripLife{
  from{transform:scale(1.06) translateY(0)}
  to{transform:scale(1.13) translateY(-1.5%)}
}
.menu-strip span{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.34);font-weight:900;font-size:11px;letter-spacing:.18em;
  writing-mode:vertical-rl;text-orientation:mixed;
}
.menu-hero-vignette{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(20,13,10,.87) 0%,rgba(20,13,10,.58) 29%,rgba(20,13,10,.17) 58%,rgba(20,13,10,.24) 100%),
    linear-gradient(0deg,rgba(10,10,10,.52) 0%,transparent 38%,rgba(0,0,0,.16) 100%);
}
.menu-hero::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.08) 49%,transparent 59% 100%);
  transform:translateX(-80%);
  animation:menuHeroSheen 7s ease-in-out infinite;
}
@keyframes menuHeroSheen{
  0%,28%{transform:translateX(-80%);opacity:0}
  42%{opacity:.72}
  100%{transform:translateX(90%);opacity:0}
}
.menu-hero-copy{
  position:relative;z-index:5;
  width:min(1180px,92vw);min-height:610px;margin:auto;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:72px 0 108px;
}
.menu-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;
  color:#ffe7a1;font-size:10px;font-weight:900;letter-spacing:.21em;
  text-shadow:0 0 14px rgba(255,224,131,.18);
}
.menu-eyebrow::before{content:"✦";color:#efb728;font-size:11px}
.menu-hero h1{
  margin:0;max-width:610px;color:#fff;
  font:700 clamp(44px,5.3vw,72px)/.98 "Libre Baskerville",Georgia,serif;
  letter-spacing:-.055em;
  text-shadow:0 5px 28px rgba(0,0,0,.36);
  animation:menuTitleFloat 5.8s ease-in-out infinite;
}
.menu-hero h1 strong{color:#efb728;font-weight:700}
@keyframes menuTitleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.menu-hero-copy>p{
  max-width:510px;margin:19px 0 0;color:#f6eee5;font-size:15px;line-height:1.65;
  text-shadow:0 2px 12px rgba(0,0,0,.28)
}
.menu-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.menu-primary-btn,.menu-ghost-btn{
  min-height:46px;padding:0 18px;border-radius:12px;display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:900;letter-spacing:.02em;transition:.22s ease;
}
.menu-primary-btn{
  color:#fff;background:linear-gradient(135deg,#cf232c,#ee4552);
  box-shadow:0 12px 26px rgba(207,35,44,.24),inset 0 1px 0 rgba(255,255,255,.25);
}
.menu-ghost-btn{
  color:#261e19;background:rgba(255,250,241,.92);border:1px solid rgba(255,255,255,.62);
  box-shadow:0 12px 25px rgba(0,0,0,.16);
}
.menu-primary-btn:hover,.menu-ghost-btn:hover{transform:translateY(-3px) scale(1.015)}
.menu-quick-nav{
  position:absolute;z-index:6;left:50%;bottom:22px;transform:translateX(-50%);
  width:min(900px,88vw);min-height:55px;
  display:grid;grid-template-columns:repeat(4,1fr);align-items:center;
  background:rgba(255,250,241,.88);border:1px solid rgba(255,255,255,.52);
  border-radius:18px;box-shadow:0 18px 42px rgba(0,0,0,.19);
  backdrop-filter:blur(13px);overflow:hidden;
}
.menu-quick-nav a{
  min-height:55px;display:flex;align-items:center;justify-content:center;gap:8px;
  color:#3f352c;font-size:10px;font-weight:900;letter-spacing:.035em;
  border-right:1px solid rgba(90,66,42,.09);transition:.18s ease;
}
.menu-quick-nav a:last-child{border-right:0}
.menu-quick-nav a:hover{background:rgba(255,255,255,.58);color:#bf222d}
.quick-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 12px currentColor}
.quick-dot.red{background:#cf232c;color:#cf232c}
.quick-dot.green{background:#397d32;color:#397d32}
.quick-dot.gold{background:#e6a522;color:#e6a522}
.quick-dot.cherry{background:#b41f32;color:#b41f32}

/* Intro */
.menu-intro{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;
  padding-top:76px;padding-bottom:34px;
}
.menu-section-kicker{
  display:block;color:#397d32;font-size:10px;font-weight:900;letter-spacing:.2em;margin-bottom:10px
}
.menu-intro h2{
  margin:0;font:700 clamp(30px,3.6vw,48px)/1.02 "Libre Baskerville",Georgia,serif;
  letter-spacing:-.04em;color:#2a211b
}
.menu-intro h2 em{color:#cf232c;font-style:normal}
.menu-intro>p{margin:0 0 5px;color:#675d52;line-height:1.7;font-size:13px;max-width:500px}

/* Department deck */
.menu-deck{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:70px
}
.menu-dept-panel{
  position:relative;min-height:410px;border-radius:24px;overflow:hidden;
  isolation:isolate;box-shadow:0 16px 42px rgba(75,48,23,.12);
  opacity:.08;transform:translate3d(var(--enter-x,0),var(--enter-y,34px),0) scale(.95);
  transition:
    opacity .7s ease,
    transform .95s cubic-bezier(.18,.82,.16,1),
    box-shadow .25s ease;
}
.menu-dept-panel:nth-child(1){--enter-x:-50px;--enter-y:30px}
.menu-dept-panel:nth-child(2){--enter-x:50px;--enter-y:30px}
.menu-dept-panel:nth-child(3){--enter-x:-50px;--enter-y:20px}
.menu-dept-panel:nth-child(4){--enter-x:50px;--enter-y:20px}
.menu-dept-panel.menu-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.menu-dept-panel>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.08) contrast(1.08) brightness(.90);
  transform:scale(1.035);transition:transform .8s cubic-bezier(.16,.74,.18,1),filter .35s ease;
}
.menu-dept-panel:hover>img{transform:scale(1.10);filter:saturate(1.17) contrast(1.08) brightness(.96)}
.menu-dept-overlay{position:absolute;inset:0;z-index:1}
.dept-taqueria .menu-dept-overlay{background:linear-gradient(0deg,rgba(103,9,17,.92),rgba(103,9,17,.10) 67%)}
.dept-tortilleria .menu-dept-overlay{background:linear-gradient(0deg,rgba(28,83,31,.92),rgba(28,83,31,.10) 67%)}
.dept-panaderia .menu-dept-overlay{background:linear-gradient(0deg,rgba(128,78,10,.91),rgba(128,78,10,.08) 67%)}
.dept-carniceria .menu-dept-overlay{background:linear-gradient(0deg,rgba(90,16,25,.93),rgba(90,16,25,.10) 67%)}
.menu-dept-number{
  position:absolute;z-index:2;right:20px;top:14px;color:rgba(255,255,255,.30);
  font:700 54px/1 "Libre Baskerville",Georgia,serif;letter-spacing:-.05em
}
.menu-dept-icon{
  position:absolute;z-index:3;left:24px;top:24px;width:52px;height:52px;
  display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(8px);
  box-shadow:0 10px 25px rgba(0,0,0,.14)
}
.menu-dept-icon svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.menu-dept-copy{
  position:absolute;z-index:3;left:26px;right:26px;bottom:24px;color:#fff;
  transform:translateY(5px);transition:transform .28s ease
}
.menu-dept-panel:hover .menu-dept-copy{transform:translateY(0)}
.menu-dept-copy>span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#ffe7a6}
.menu-dept-copy h3{
  margin:6px 0 8px;font:700 clamp(28px,3vw,40px)/1 "Libre Baskerville",Georgia,serif;
  text-shadow:0 3px 18px rgba(0,0,0,.24)
}
.menu-dept-copy p{max-width:430px;margin:0;color:rgba(255,255,255,.88);font-size:12px;line-height:1.55}
.menu-dept-copy b{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:10px;letter-spacing:.05em}
.menu-dept-copy i{font-style:normal;transition:transform .2s ease}
.menu-dept-panel:hover .menu-dept-copy i{transform:translateX(5px)}
.menu-dept-panel::after{
  content:"";position:absolute;z-index:4;pointer-events:none;top:0;left:-45%;width:25%;height:100%;
  transform:skewX(-16deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  opacity:0
}
.menu-dept-panel:hover::after{animation:menuCardSheen .72s ease}
@keyframes menuCardSheen{0%{left:-45%;opacity:0}20%{opacity:1}100%{left:120%;opacity:0}}

/* CTA */
.menu-order-cta{
  position:relative;min-height:230px;margin-bottom:78px;padding:42px 48px;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;
  overflow:hidden;border-radius:28px;color:#fff;
  background:
    linear-gradient(105deg,rgba(29,79,34,.97),rgba(47,110,44,.96) 46%,rgba(172,31,45,.94));
  box-shadow:0 20px 48px rgba(70,45,23,.15);
}
.menu-order-cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:url("assets/promo-tortillas.jpg") 82% 54%/380px auto no-repeat;
  opacity:.13;filter:blur(1px) saturate(1.2)
}
.menu-order-glow{
  position:absolute;width:260px;height:260px;border-radius:50%;right:20%;top:-120px;
  background:radial-gradient(circle,rgba(255,221,122,.23),transparent 68%);
  animation:menuOrderGlow 7s ease-in-out infinite
}
@keyframes menuOrderGlow{0%,100%{transform:translate(0,0) scale(.9)}50%{transform:translate(-25px,40px) scale(1.12)}}
.menu-order-copy{position:relative;z-index:2}
.menu-order-copy>span{font-size:9px;font-weight:900;letter-spacing:.18em;color:#ffe49a}
.menu-order-copy h2{margin:8px 0 8px;font:700 35px/1.03 "Libre Baskerville",Georgia,serif}
.menu-order-copy h2 em{color:#ffd76c;font-style:normal}
.menu-order-copy p{margin:0;color:rgba(255,255,255,.83);font-size:12px}
.menu-order-button{
  position:relative;z-index:2;min-height:52px;padding:0 22px;border-radius:14px;
  display:inline-flex;align-items:center;gap:12px;color:#3b2b18;background:#fff5da;
  font-size:11px;font-weight:900;box-shadow:0 13px 28px rgba(0,0,0,.16),inset 0 1px 0 #fff;
  transition:.22s ease
}
.menu-order-button:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(0,0,0,.19),0 0 20px rgba(255,221,122,.12)}

/* Responsive */
@media(max-width:900px){
  .menu-hero{min-height:590px}
  .menu-hero-copy{min-height:590px;padding-bottom:115px}
  .menu-hero-collage{grid-template-columns:repeat(2,1fr)}
  .menu-strip:nth-child(n+3){display:none}
  .menu-intro{grid-template-columns:1fr;gap:14px}
  .menu-deck{grid-template-columns:1fr}
  .menu-dept-panel{min-height:390px}
  .menu-order-cta{grid-template-columns:1fr;padding:38px}
}
@media(max-width:680px){
  .menu-hero{min-height:560px}
  .menu-hero-copy{min-height:560px;padding:70px 0 115px}
  .menu-hero h1{font-size:44px;max-width:92%}
  .menu-hero-copy>p{font-size:13px;max-width:90%}
  .menu-quick-nav{grid-template-columns:repeat(2,1fr);bottom:13px}
  .menu-quick-nav a{min-height:43px;font-size:9px}
  .menu-intro{padding-top:56px}
  .menu-dept-panel{min-height:350px}
  .menu-dept-number{font-size:44px}
  .menu-order-cta{margin-bottom:58px;padding:30px 24px;min-height:250px}
  .menu-order-copy h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){
  .menu-strip img,.menu-hero h1,.menu-hero::after,.menu-order-glow{animation:none!important}
  .menu-dept-panel{opacity:1!important;transform:none!important}
}


/* =========================================================
   MENU MASTER V2 — HIDDEN FLOATING DEPARTMENT MENU
   ========================================================= */

/* Menu wrapper must participate naturally in the existing nav. */
.nav-menu-flyout{
  position:relative;
  display:flex;
  align-items:center;
}

/* Caret */
.nav-menu-caret{
  margin-left:2px;
  font-size:12px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .22s ease;
}

/* Hidden floating panel */
.nav-menu-panel{
  position:absolute;
  z-index:130;
  top:calc(100% + 18px);
  left:50%;
  width:320px;
  padding:12px;
  transform:translate(-50%,12px) scale(.96);
  transform-origin:top center;

  border-radius:20px;
  border:1px solid rgba(255,255,255,.70);

  background:
    linear-gradient(145deg,rgba(255,252,245,.96),rgba(247,236,218,.94));

  box-shadow:
    0 24px 55px rgba(58,35,18,.20),
    inset 0 1px 0 rgba(255,255,255,.94);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:
    opacity .20s ease,
    visibility .20s ease,
    transform .26s cubic-bezier(.18,.82,.16,1);
}

/* Small floating bridge so mouse doesn't lose the panel. */
.nav-menu-panel::before{
  content:"";
  position:absolute;
  left:0;right:0;
  top:-20px;
  height:24px;
}

/* Premium top arrow */
.nav-menu-panel::after{
  content:"";
  position:absolute;
  left:50%;
  top:-7px;
  width:14px;height:14px;
  transform:translateX(-50%) rotate(45deg);
  background:#fffaf1;
  border-left:1px solid rgba(90,62,38,.08);
  border-top:1px solid rgba(90,62,38,.08);
}

.nav-menu-flyout:hover .nav-menu-panel,
.nav-menu-flyout:focus-within .nav-menu-panel,
.nav-menu-flyout.flyout-open .nav-menu-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1);
}

.nav-menu-flyout:hover .nav-menu-caret,
.nav-menu-flyout:focus-within .nav-menu-caret,
.nav-menu-flyout.flyout-open .nav-menu-caret{
  transform:translateY(1px) rotate(180deg);
}

.nav-menu-panel-kicker{
  display:block;
  padding:7px 10px 9px;
  color:#397d32;
  font-size:8px;
  font-weight:900;
  letter-spacing:.17em;
}

.nav-menu-panel>a{
  min-height:58px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:11px;
  padding:7px 9px;
  border-radius:14px;
  color:#33271e!important;
  border-bottom:0!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}

.nav-menu-panel>a:hover{
  transform:translateX(3px);
  background:rgba(255,255,255,.72);
  box-shadow:0 7px 18px rgba(74,45,19,.07);
}

.flyout-photo{
  width:44px;height:44px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 14px rgba(62,38,20,.12);
}
.flyout-photo img{
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(1.12) contrast(1.05);
}
.nav-menu-panel>a>span:nth-child(2){
  display:flex;
  flex-direction:column;
  gap:2px;
}
.nav-menu-panel b{
  font-size:11px;
  color:#33271e;
}
.nav-menu-panel small{
  font-size:8px;
  color:#7b6a58;
}
.nav-menu-panel i{
  font-style:normal;
  color:#cf232c;
  font-size:13px;
  transition:transform .18s ease;
}
.nav-menu-panel>a:hover i{
  transform:translateX(3px);
}

/* Five departments in hero/quick nav */
.five-strip-collage{
  grid-template-columns:1fr 1fr 1fr 1fr .88fr!important;
}
.five-departments{
  width:min(1040px,90vw)!important;
  grid-template-columns:repeat(5,1fr)!important;
}
.quick-dot.blue{
  background:#2a86b9;
  color:#2a86b9;
}

/* Groceries visual treatment */
.dept-groceries .menu-dept-overlay{
  background:
    linear-gradient(0deg,rgba(31,76,91,.94),rgba(31,76,91,.12) 67%);
}
.dept-groceries .menu-dept-icon{
  background:rgba(42,134,185,.22);
}

/* Odd 5-card layout: last card gets a cinematic full-width finish. */
.five-department-deck .menu-dept-panel:nth-child(5){
  grid-column:1/-1;
  min-height:350px;
  --enter-x:0px;
  --enter-y:42px;
}
.five-department-deck .menu-dept-panel:nth-child(5)>img{
  object-position:center 55%;
}
.five-department-deck .menu-dept-panel:nth-child(5) .menu-dept-copy{
  max-width:520px;
}

/* Make the five header strip labels stagger naturally. */
.five-strip-collage .menu-strip:nth-child(5) img{
  animation-delay:-10.5s;
}

/* Responsive */
@media(max-width:1050px){
  .five-strip-collage{
    grid-template-columns:repeat(3,1fr)!important;
  }
  .five-strip-collage .menu-strip:nth-child(n+4){
    display:none;
  }
  .five-departments{
    width:min(900px,90vw)!important;
    grid-template-columns:repeat(5,1fr)!important;
  }
}
@media(max-width:900px){
  .nav-menu-panel{
    left:0;
    transform:translate(0,10px) scale(.97);
  }
  .nav-menu-flyout:hover .nav-menu-panel,
  .nav-menu-flyout:focus-within .nav-menu-panel,
  .nav-menu-flyout.flyout-open .nav-menu-panel{
    transform:translate(0,0) scale(1);
  }
  .nav-menu-panel::after{
    left:44px;
  }
}
@media(max-width:680px){
  .nav-menu-flyout{
    display:block;
    width:100%;
  }

  /* On mobile the panel floats under the nav row, not inside page content. */
  .nav-menu-panel{
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    margin:4px 0 8px;
    transform:translateY(-6px) scale(.985);
    border-radius:15px;
    box-shadow:0 15px 32px rgba(58,35,18,.14);
  }

  .nav-menu-flyout:hover .nav-menu-panel{
    /* Hover is not relied on for touch; JS class controls it. */
  }

  .nav-menu-flyout.flyout-open .nav-menu-panel,
  .nav-menu-flyout:focus-within .nav-menu-panel{
    transform:translateY(0) scale(1);
  }

  .nav-menu-panel::before,
  .nav-menu-panel::after{
    display:none;
  }

  .five-departments{
    grid-template-columns:repeat(2,1fr)!important;
    bottom:10px!important;
  }
  .five-departments a:last-child{
    grid-column:1/-1;
  }

  .five-department-deck .menu-dept-panel:nth-child(5){
    min-height:330px;
  }
}



/* =========================================================
   MENU V46 — PETAL DEPARTMENTS SHOWCASE
   Only the decorative department figure section.
   ========================================================= */
.menu-petal-showcase{
  position:relative;
  padding:8px 0 66px;
}
.menu-petal-showcase::before,
.menu-petal-showcase::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  filter:blur(4px);
}
.menu-petal-showcase::before{
  width:260px;height:260px;left:-90px;top:90px;
  background:radial-gradient(circle,rgba(239,183,40,.18),rgba(239,183,40,0) 68%);
}
.menu-petal-showcase::after{
  width:220px;height:220px;right:-60px;bottom:70px;
  background:radial-gradient(circle,rgba(207,35,44,.12),rgba(207,35,44,0) 70%);
}
.menu-petal-figure{
  position:relative;
  min-height:640px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.menu-petal-figure::before{
  content:"";
  position:absolute;
  width:580px;height:580px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.70) 0%,rgba(255,255,255,.26) 48%,rgba(255,255,255,0) 72%);
  box-shadow:0 24px 50px rgba(86,58,21,.10);
}
.menu-petal-center{
  position:relative;
  z-index:4;
  width:258px;height:258px;
  padding:30px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border-radius:50%;
  background:linear-gradient(180deg,#fffefb 0%,#f8f0e3 100%);
  box-shadow:0 18px 32px rgba(82,57,21,.16), inset 0 2px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(170,133,79,.10);
}
.menu-petal-kicker{
  display:block;
  color:#c11e3b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.22em;
}
.menu-petal-center h3{
  margin:10px 0 10px;
  color:#241c18;
  font:700 28px/1.06 "Libre Baskerville",Georgia,serif;
  letter-spacing:-.04em;
}
.menu-petal-center h3 em{color:#c4252d;font-style:normal}
.menu-petal-center p{
  margin:0;
  color:#6b6052;
  font-size:11px;
  line-height:1.55;
}
.menu-petal-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:16px;
}
.menu-petal-tags span{
  padding:8px 10px;
  border-radius:999px;
  color:#6d311c;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  background:linear-gradient(180deg,#fffef8,#f5ead9);
  box-shadow:0 8px 16px rgba(92,64,24,.08), inset 0 1px 0 rgba(255,255,255,.86);
}
.menu-petal{
  position:absolute;
  z-index:3;
  width:230px;
  min-height:205px;
  padding:26px 22px 20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  text-decoration:none;
  box-shadow:0 20px 34px rgba(85,58,21,.15), inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.menu-petal:hover{
  transform:translateY(-8px) scale(1.03);
  box-shadow:0 30px 46px rgba(85,58,21,.18), 0 0 24px rgba(255,214,106,.10), inset 0 1px 0 rgba(255,255,255,.22);
}
.menu-petal-badge{
  position:absolute;
  top:20px;left:22px;
  width:76px;height:76px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg,#fff,#f6efe9);
  box-shadow:0 12px 20px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.92);
}
.menu-petal-badge svg{width:38px;height:38px;fill:none;stroke:#bf223c;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.menu-petal strong{
  font:700 36px/1 "Libre Baskerville",Georgia,serif;
  letter-spacing:-.04em;
}
.menu-petal b{
  margin-top:6px;
  font-size:25px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.menu-petal small{
  margin-top:9px;
  max-width:150px;
  color:rgba(255,255,255,.92);
  font-size:11px;
  line-height:1.45;
}

.petal-taqueria{
  top:2px;left:50%;transform:translateX(-50%);
  border-radius:56% 56% 46% 46% / 32% 32% 68% 68%;
  background:linear-gradient(180deg,#16b7ac 0%,#0f958d 100%);
}
.petal-taqueria .menu-petal-badge svg{stroke:#11a198}

.petal-tortilleria{
  top:72px;right:40px;
  border-radius:44% 58% 56% 42% / 38% 58% 42% 62%;
  background:linear-gradient(180deg,#f7c64d 0%,#eea922 100%);
}
.petal-tortilleria .menu-petal-badge svg{stroke:#d49815}
.petal-tortilleria b,.petal-tortilleria strong,.petal-tortilleria small{color:#3b2508}

.petal-carniceria{
  right:24px;bottom:74px;
  border-radius:52% 44% 56% 46% / 34% 38% 62% 66%;
  background:linear-gradient(180deg,#2c95ea 0%,#156fcd 100%);
}
.petal-carniceria .menu-petal-badge svg{stroke:#1b79d2}

.petal-panaderia{
  left:38px;bottom:52px;
  border-radius:56% 44% 48% 52% / 40% 34% 66% 60%;
  background:linear-gradient(180deg,#8f602c 0%,#6b4218 100%);
}
.petal-panaderia .menu-petal-badge svg{stroke:#8e5b1f}

.petal-groceries{
  left:6px;top:120px;
  border-radius:46% 58% 54% 42% / 42% 62% 38% 58%;
  background:linear-gradient(180deg,#f2319d 0%,#df157f 100%);
}
.petal-groceries .menu-petal-badge svg{stroke:#d91b7d}

@media(max-width:1100px){
  .menu-petal-figure{min-height:760px}
  .menu-petal-figure::before{width:520px;height:520px}
  .menu-petal{width:200px;min-height:186px;padding:22px 18px 18px}
  .menu-petal-badge{width:68px;height:68px}
  .menu-petal-badge svg{width:34px;height:34px}
  .menu-petal strong{font-size:31px}.menu-petal b{font-size:22px}.menu-petal small{font-size:10px;max-width:138px}
  .menu-petal-center{width:232px;height:232px;padding:26px 22px}
  .menu-petal-center h3{font-size:25px}
  .petal-tortilleria{right:10px}.petal-carniceria{right:0}.petal-panaderia{left:6px}.petal-groceries{left:-6px}
}
@media(max-width:760px){
  .menu-petal-showcase{padding-bottom:54px}
  .menu-petal-figure{min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;justify-items:stretch}
  .menu-petal-figure::before{display:none}
  .menu-petal-center{position:relative;grid-column:1/-1;order:-1;justify-self:center;width:min(250px,100%);height:250px;margin-bottom:4px}
  .menu-petal{position:relative;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;width:100%;min-height:190px;border-radius:30px}
  .menu-petal:hover{transform:translateY(-4px)!important}
}




/* =========================================================
   MENU V47 — MOTOR FLOWER DEPARTMENTS
   Petals stay closed and open on hover showing all departments.
   ========================================================= */
.menu-petal-showcase{padding:10px 0 72px!important}
.menu-petal-showcase::before{width:300px!important;height:300px!important;left:-100px!important;top:110px!important;background:radial-gradient(circle,rgba(239,183,40,.16),rgba(239,183,40,0) 70%)!important}
.menu-petal-showcase::after{width:250px!important;height:250px!important;right:-80px!important;bottom:90px!important;background:radial-gradient(circle,rgba(207,35,44,.10),rgba(207,35,44,0) 72%)!important}

.menu-petal-figure{
  min-height:720px!important;
  isolation:isolate;
}
.menu-petal-figure::before{
  width:610px!important;height:610px!important;
  background:radial-gradient(circle,rgba(255,255,255,.78) 0%,rgba(255,255,255,.30) 48%,rgba(255,255,255,0) 73%)!important;
}
.menu-petal-figure::after{
  content:"";
  position:absolute;
  width:390px;height:390px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(241,190,56,.12),rgba(241,190,56,0) 70%);
  filter:blur(6px);
  z-index:1;
}

.menu-petal-center{
  width:272px!important;height:272px!important;
  padding:34px 28px!important;
  z-index:6!important;
  transition:transform .45s ease, box-shadow .45s ease, opacity .35s ease;
}
.menu-petal-center h3{font-size:29px!important}
.menu-petal-center p,
.menu-petal-tags{
  opacity:.18;
  transform:translateY(10px);
  transition:opacity .35s ease, transform .35s ease;
}
.menu-petal-showcase:hover .menu-petal-center,
.menu-petal-showcase:focus-within .menu-petal-center{
  transform:scale(1.03);
  box-shadow:0 24px 40px rgba(82,57,21,.18),0 0 24px rgba(255,216,120,.10),inset 0 2px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(170,133,79,.10)!important;
}
.menu-petal-showcase:hover .menu-petal-center p,
.menu-petal-showcase:hover .menu-petal-tags,
.menu-petal-showcase:focus-within .menu-petal-center p,
.menu-petal-showcase:focus-within .menu-petal-tags{
  opacity:1;
  transform:translateY(0);
}

.menu-petal{
  left:50%;top:50%;
  width:220px!important;
  min-height:220px!important;
  padding:24px 20px 18px!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 30px rgba(85,58,21,.16), inset 0 1px 0 rgba(255,255,255,.18)!important;
  transition:transform .65s cubic-bezier(.22,.88,.24,1), box-shadow .35s ease, filter .35s ease;
  transform:translate(calc(-50% + var(--closed-x)), calc(-50% + var(--closed-y))) scale(.92);
}
.menu-petal::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 30%),
    linear-gradient(0deg,rgba(12,10,8,.58) 0%,rgba(12,10,8,.16) 45%,rgba(12,10,8,.04) 78%),
    var(--petal-photo) center center / cover no-repeat,
    var(--petal-color);
}
.menu-petal::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle at 25% 12%,rgba(255,255,255,.24),rgba(255,255,255,0) 28%);
}
.menu-petal > *{position:relative;z-index:2}
.menu-petal:hover,
.menu-petal:focus-visible{
  box-shadow:0 28px 42px rgba(85,58,21,.20),0 0 24px rgba(255,214,106,.11), inset 0 1px 0 rgba(255,255,255,.24)!important;
  filter:saturate(1.07);
}
.menu-petal-badge{
  top:18px!important;left:18px!important;
  width:74px!important;height:74px!important;
  background:linear-gradient(180deg,#fff,#f6efe9)!important;
}
.menu-petal strong{font-size:34px!important}
.menu-petal b{font-size:24px!important}
.menu-petal small{max-width:156px!important}
.menu-petal .menu-petal-badge svg{stroke:var(--icon-stroke)!important}

.menu-petal-showcase:hover .menu-petal,
.menu-petal-showcase:focus-within .menu-petal{
  transform:translate(calc(-50% + var(--open-x)), calc(-50% + var(--open-y))) scale(1);
}

.petal-taqueria{
  --closed-x: 0px; --closed-y: -120px;
  --open-x: 0px; --open-y: -238px;
  --petal-color: linear-gradient(180deg,#15b7ac 0%,#0f958d 100%);
  --petal-photo: url("assets/card-taqueria.jpg");
  --icon-stroke:#0fa097;
  border-radius:56% 56% 46% 46% / 34% 34% 68% 68%;
  z-index:5;
}
.petal-tortilleria{
  --closed-x: 92px; --closed-y: -40px;
  --open-x: 222px; --open-y: -96px;
  --petal-color: linear-gradient(180deg,#f7c64d 0%,#eea922 100%);
  --petal-photo: url("assets/card-tortilleria.jpg");
  --icon-stroke:#d49815;
  border-radius:46% 58% 56% 42% / 38% 58% 42% 62%;
  z-index:4;
}
.petal-tortilleria strong,.petal-tortilleria b,.petal-tortilleria small{color:#fffdf7!important;text-shadow:0 1px 0 rgba(58,34,2,.60)!important}
.petal-carniceria{
  --closed-x: 86px; --closed-y: 76px;
  --open-x: 214px; --open-y: 150px;
  --petal-color: linear-gradient(180deg,#2c95ea 0%,#156fcd 100%);
  --petal-photo: url("assets/card-carniceria.jpg");
  --icon-stroke:#1b79d2;
  border-radius:52% 44% 56% 46% / 34% 38% 62% 66%;
  z-index:3;
}
.petal-panaderia{
  --closed-x: -92px; --closed-y: 72px;
  --open-x: -214px; --open-y: 152px;
  --petal-color: linear-gradient(180deg,#8f602c 0%,#6b4218 100%);
  --petal-photo: url("assets/card-panaderia.jpg");
  --icon-stroke:#8e5b1f;
  border-radius:56% 44% 48% 52% / 40% 34% 66% 60%;
  z-index:3;
}
.petal-groceries{
  --closed-x: -92px; --closed-y: -40px;
  --open-x: -222px; --open-y: -92px;
  --petal-color: linear-gradient(180deg,#f2319d 0%,#df157f 100%);
  --petal-photo: url("assets/storefront.jpg");
  --icon-stroke:#d91b7d;
  border-radius:46% 58% 54% 42% / 42% 62% 38% 58%;
  z-index:4;
}

/* give a subtle mechanical-opening feel */
.menu-petal-showcase:hover .petal-taqueria,
.menu-petal-showcase:focus-within .petal-taqueria{transition-duration:.62s}
.menu-petal-showcase:hover .petal-tortilleria,
.menu-petal-showcase:focus-within .petal-tortilleria{transition-duration:.72s}
.menu-petal-showcase:hover .petal-carniceria,
.menu-petal-showcase:focus-within .petal-carniceria{transition-duration:.82s}
.menu-petal-showcase:hover .petal-panaderia,
.menu-petal-showcase:focus-within .petal-panaderia{transition-duration:.82s}
.menu-petal-showcase:hover .petal-groceries,
.menu-petal-showcase:focus-within .petal-groceries{transition-duration:.72s}

@media(max-width:1100px){
  .menu-petal-figure{min-height:680px!important}
  .menu-petal-figure::before{width:540px!important;height:540px!important}
  .menu-petal{width:192px!important;min-height:196px!important;padding:20px 16px 16px!important}
  .menu-petal strong{font-size:30px!important}.menu-petal b{font-size:21px!important}.menu-petal small{font-size:10px!important;max-width:134px!important}
  .menu-petal-center{width:244px!important;height:244px!important}
  .menu-petal-center h3{font-size:26px!important}
  .petal-taqueria{--closed-y:-108px;--open-y:-214px}
  .petal-tortilleria{--closed-x:82px;--closed-y:-34px;--open-x:188px;--open-y:-86px}
  .petal-groceries{--closed-x:-82px;--closed-y:-34px;--open-x:-188px;--open-y:-82px}
  .petal-carniceria{--closed-x:78px;--closed-y:68px;--open-x:182px;--open-y:136px}
  .petal-panaderia{--closed-x:-78px;--closed-y:68px;--open-x:-182px;--open-y:136px}
}
@media(max-width:760px){
  .menu-petal-center p,.menu-petal-tags{opacity:1!important;transform:none!important}
  .menu-petal-figure{min-height:auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:16px!important}
  .menu-petal-figure::before,.menu-petal-figure::after{display:none!important}
  .menu-petal-center{grid-column:1/-1;order:-1;justify-self:center;width:min(260px,100%)!important;height:260px!important}
  .menu-petal{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;min-height:190px!important;border-radius:30px!important}
  .menu-petal-showcase:hover .menu-petal,
  .menu-petal-showcase:focus-within .menu-petal{transform:none!important}
}




/* =========================================================
   MENU V48 — PETAL SIZE / ICON / TEXT POLISH
   ========================================================= */
.menu-petal-showcase{padding:12px 0 78px!important}
.menu-petal-figure{min-height:760px!important}
.menu-petal-figure::before{width:648px!important;height:648px!important}
.menu-petal-center{
  width:286px!important;
  height:286px!important;
  padding:36px 30px!important;
}
.menu-petal-kicker{font-size:9.5px!important;letter-spacing:.24em!important}
.menu-petal-center h3{font-size:31px!important;line-height:1.05!important}
.menu-petal-center p{font-size:11.5px!important;line-height:1.62!important;max-width:218px!important}
.menu-petal-tags{gap:9px!important;margin-top:18px!important}
.menu-petal-tags span{padding:8px 11px!important;font-size:9.2px!important}

.menu-petal{
  width:244px!important;
  min-height:234px!important;
  padding:26px 22px 20px!important;
}
.menu-petal-badge{
  top:17px!important;
  left:20px!important;
  width:80px!important;
  height:80px!important;
}
.menu-petal-badge svg{
  width:40px!important;
  height:40px!important;
  stroke-width:2.35!important;
}
.menu-petal strong{font-size:35px!important;line-height:1!important}
.menu-petal b{margin-top:7px!important;font-size:24px!important;line-height:1.02!important}
.menu-petal small{margin-top:10px!important;max-width:164px!important;font-size:11.3px!important;line-height:1.48!important}

.petal-taqueria{--closed-y:-126px;--open-y:-250px}
.petal-tortilleria{--closed-x:102px;--closed-y:-42px;--open-x:238px;--open-y:-100px}
.petal-groceries{--closed-x:-102px;--closed-y:-42px;--open-x:-238px;--open-y:-96px}
.petal-carniceria{--closed-x:96px;--closed-y:82px;--open-x:228px;--open-y:164px}
.petal-panaderia{--closed-x:-96px;--closed-y:82px;--open-x:-228px;--open-y:164px}

@media(max-width:1100px){
  .menu-petal-figure{min-height:706px!important}
  .menu-petal-figure::before{width:572px!important;height:572px!important}
  .menu-petal-center{width:256px!important;height:256px!important;padding:30px 24px!important}
  .menu-petal-center h3{font-size:27px!important}
  .menu-petal-center p{font-size:10.8px!important;max-width:188px!important}
  .menu-petal{width:210px!important;min-height:204px!important;padding:22px 18px 18px!important}
  .menu-petal-badge{width:72px!important;height:72px!important}
  .menu-petal-badge svg{width:36px!important;height:36px!important}
  .menu-petal strong{font-size:31px!important}
  .menu-petal b{font-size:21px!important}
  .menu-petal small{max-width:144px!important;font-size:10.3px!important}
  .petal-taqueria{--closed-y:-112px;--open-y:-222px}
  .petal-tortilleria{--closed-x:86px;--closed-y:-36px;--open-x:194px;--open-y:-88px}
  .petal-groceries{--closed-x:-86px;--closed-y:-36px;--open-x:-194px;--open-y:-84px}
  .petal-carniceria{--closed-x:82px;--closed-y:70px;--open-x:188px;--open-y:142px}
  .petal-panaderia{--closed-x:-82px;--closed-y:70px;--open-x:-188px;--open-y:142px}
}




/* =========================================================
   MENU V49 — REMOVE PETAL ICONS + SECTION FRAME BACKGROUND
   Only for the petal section.
   ========================================================= */
.menu-petal-showcase{
  position:relative;
  overflow:hidden;
  padding:18px 0 84px!important;
}
.menu-petal-showcase::before,
.menu-petal-showcase::after{
  display:none!important;
}
.menu-petal-showcase .menu-petal-figure{
  position:relative;
  min-height:780px!important;
}
.menu-petal-showcase .menu-petal-figure::before{
  width:760px!important;
  height:760px!important;
  background:
    radial-gradient(circle,rgba(255,255,255,.64) 0%,rgba(255,255,255,.20) 44%,rgba(255,255,255,0) 72%)!important;
  box-shadow:none!important;
  z-index:1!important;
}
.menu-petal-showcase .menu-petal-figure::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 18%);
  filter:none;
}

/* remove icons only */
.menu-petal-badge{
  display:none!important;
}

/* re-balance petal copy after icon removal */
.menu-petal{
  justify-content:center!important;
  padding:22px 24px 22px!important;
}
.menu-petal strong{
  margin-top:6px!important;
  font-size:36px!important;
}
.menu-petal b{
  margin-top:8px!important;
  font-size:25px!important;
}
.menu-petal small{
  margin-top:10px!important;
  max-width:170px!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}
.petal-taqueria,.petal-tortilleria,.petal-carniceria,.petal-panaderia,.petal-groceries{
  background:none!important;
}

/* center text fitted to the middle space */
.menu-petal-center{
  width:316px!important;
  height:316px!important;
  padding:42px 34px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(249,242,234,.96) 100%)!important;
  box-shadow:
    0 22px 38px rgba(84,56,28,.16),
    0 0 30px rgba(255,255,255,.18),
    inset 0 2px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(170,133,79,.10)!important;
}
.menu-petal-kicker{
  font-size:9px!important;
  letter-spacing:.28em!important;
}
.menu-petal-center h3{
  margin:10px 0 12px!important;
  font-size:30px!important;
  line-height:1.06!important;
}
.menu-petal-center p{
  max-width:228px!important;
  font-size:11.6px!important;
  line-height:1.62!important;
}
.menu-petal-tags{
  gap:8px!important;
  margin-top:15px!important;
}
.menu-petal-tags span{
  padding:8px 12px!important;
  font-size:8.9px!important;
}

/* slight petal position tune around the new frame */
.petal-taqueria{--closed-y:-132px;--open-y:-260px}
.petal-tortilleria{--closed-x:106px;--closed-y:-46px;--open-x:246px;--open-y:-106px}
.petal-groceries{--closed-x:-106px;--closed-y:-46px;--open-x:-246px;--open-y:-102px}
.petal-carniceria{--closed-x:100px;--closed-y:86px;--open-x:236px;--open-y:170px}
.petal-panaderia{--closed-x:-100px;--closed-y:86px;--open-x:-236px;--open-y:170px}

@media(max-width:1100px){
  .menu-petal-showcase .menu-petal-figure{min-height:720px!important}
  .menu-petal-showcase .menu-petal-figure::before{width:640px!important;height:640px!important}
  .menu-petal-showcase .menu-petal-figure::after{background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 18%)!important}
  .menu-petal-center{width:282px!important;height:282px!important;padding:38px 26px!important}
  .menu-petal-center h3{font-size:27px!important}
  .menu-petal-center p{max-width:204px!important;font-size:10.8px!important}
  .menu-petal{width:216px!important;min-height:210px!important;padding:20px 20px 18px!important}
  .menu-petal strong{font-size:31px!important}.menu-petal b{font-size:21px!important}.menu-petal small{max-width:150px!important;font-size:10.4px!important}
  .petal-taqueria{--closed-y:-116px;--open-y:-228px}
  .petal-tortilleria{--closed-x:88px;--closed-y:-38px;--open-x:200px;--open-y:-90px}
  .petal-groceries{--closed-x:-88px;--closed-y:-38px;--open-x:-200px;--open-y:-88px}
  .petal-carniceria{--closed-x:84px;--closed-y:72px;--open-x:192px;--open-y:146px}
  .petal-panaderia{--closed-x:-84px;--closed-y:72px;--open-x:-192px;--open-y:146px}
}
@media(max-width:760px){
  .menu-petal-showcase{padding:10px 0 54px!important}
  .menu-petal-showcase .menu-petal-figure::after{display:none!important}
  .menu-petal-center{width:min(280px,100%)!important;height:280px!important;padding:34px 24px!important}
  .menu-petal-center h3{font-size:25px!important}
  .menu-petal-center p{max-width:210px!important}
}

