:root{--navy:#082b50;--navy2:#0e3b69;--coral:#d93f55;--orange:#ef8a25;--pink:#ea5a8a;--yellow:#f3bf2b;--green:#708d32;--cream:#f7ead2;--paper:#fff9ed;--ink:#102942}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 40px));margin:auto}.top{position:sticky;top:0;z-index:50;background:rgba(6,39,72,.97);box-shadow:0 4px 20px #0002}.nav{min-height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;margin-right:auto}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%;border:2px solid #fff3}.brand span{display:flex;flex-direction:column;line-height:1}.brand b{font-family:'Playfair Display',serif;font-size:24px}.brand small{font-size:9px;letter-spacing:2.6px;margin-top:6px}.links{display:flex;gap:25px}.links a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:800}.links a:hover{color:#ffc465}.nav-toggle{display:none;background:none;border:1px solid #ffffff55;color:white;border-radius:10px;font-size:22px;padding:5px 10px}.pill{display:inline-flex;align-items:center;justify-content:center;background:var(--pink);color:#fff;text-decoration:none;border-radius:12px;padding:12px 22px;font-weight:800;border:1px solid transparent;transition:.2s}.pill:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0002}.pill.ghost{background:transparent;border-color:#fff7}.pill.coral{background:var(--coral)}.pill.small{padding:9px 15px}.hero-pro{position:relative;overflow:hidden;background:var(--cream)}.hero-grid{min-height:700px;display:grid;grid-template-columns:48% 52%;position:relative;z-index:2}.hero-copy{padding:60px 40px 50px 0;align-self:center}.hero-copy:before{content:'';position:absolute;left:-25vw;top:0;bottom:0;width:75vw;background:radial-gradient(circle at 35% 30%,#fffdf6 0,#f8ead2 65%,#f2dfbf);z-index:-1}.tag{display:inline-block;background:var(--navy);color:#ffc266;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:900;letter-spacing:1.8px}.hero-logo{width:170px;height:120px;object-fit:cover;object-position:center 25%;border-radius:18px;margin:20px 0 8px}.hero-copy h1{font:800 clamp(42px,5vw,66px)/1 'Playfair Display',serif;color:var(--navy);margin:0}.hero-copy h1 i{font-size:.72em}.hero-copy>p{font-size:18px;max-width:550px}.opening-title{color:var(--coral);font:800 26px 'Playfair Display',serif;margin-top:24px}.hero-copy h2{margin:2px 0 12px;font-size:26px}.countdown{display:flex;gap:10px}.countdown div{min-width:75px;background:var(--navy);color:white;border-radius:10px;padding:9px;text-align:center;border-bottom:4px solid var(--orange)}.countdown strong{display:block;font:700 28px 'Playfair Display',serif}.countdown span{text-transform:uppercase;font-size:9px;color:#ffc465}.actions{display:flex;gap:10px;margin-top:18px}.actions .ghost{color:var(--navy);border-color:var(--navy)}.hero-food{position:relative;min-height:700px}.hero-food>img{width:100%;height:100%;object-fit:cover}.hero-food:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7ead2 0,transparent 18%)}.seal{position:absolute;z-index:3;left:30px;top:60px;background:var(--navy);color:#ffc465;border:2px solid #ffc465;border-radius:50%;width:130px;height:130px;display:grid;place-content:center;text-align:center;font-size:12px;box-shadow:0 12px 30px #0004;transform:rotate(-7deg)}.seal b{font:700 22px 'Playfair Display',serif}.dark-section{background:linear-gradient(145deg,#062541,#0a365f);padding:70px 0 76px;color:white}.heading{text-align:center;max-width:760px;margin:0 auto 32px}.heading span,.mini{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:2.5px}.heading h2,.story h2,.menu-hero h1,.menu-cat h2,.menu-end h2{font:700 clamp(36px,5vw,56px) 'Playfair Display',serif;margin:4px 0}.heading.light h2{color:#fff7e8}.heading p{margin-top:0}.taste-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.taste{overflow:hidden;border-radius:16px;background:var(--cream);color:var(--navy);text-decoration:none;text-align:center;padding-bottom:16px;box-shadow:0 12px 24px #0002}.taste img{width:100%;height:180px;object-fit:cover}.taste b{display:block;text-transform:uppercase;margin-top:12px}.taste small{display:block;padding:0 12px}.center{text-align:center;margin-top:28px}.paper{padding:78px 0;background:linear-gradient(#fff9ed,#f5e6ca)}.story{display:grid;grid-template-columns:42% 58%;gap:50px;align-items:center}.story-photo{position:relative}.story-photo>img{height:500px;width:100%;object-fit:cover;border-radius:26px;box-shadow:0 18px 42px #573b1d26}.story-photo>span{position:absolute;left:-18px;bottom:28px;background:var(--navy);color:#fff;border-radius:50%;width:145px;height:145px;display:grid;place-content:center;text-align:center;border:3px solid #f0a84e;font:600 13px 'Playfair Display',serif}.story-copy h2{color:var(--navy)}.story-copy>p{font-size:18px}.story-pics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.story-pics img{height:145px;width:100%;object-fit:cover;border-radius:15px}.visit{background:var(--navy);color:white;padding:48px 0;border-bottom:8px solid var(--orange)}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.visit-grid>div{padding-right:28px;border-right:1px solid #ffffff33}.visit-grid>div:last-child{border:0}.visit-grid span{font:700 18px 'Playfair Display',serif}.visit-grid p{color:#e7edf4}footer{background:#041d34;color:white;padding:28px 0}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.inverse img{width:42px;height:42px}.inverse b{font-size:18px}.menu-hero{background:linear-gradient(#082b50dd,#082b50ee),url('assets/chilaquiles.jpg') center/cover;padding:70px 0 46px;color:white;text-align:center}.menu-hero h1{font-size:64px;color:#fff7e8}.menu-hero p{max-width:650px;margin:0 auto 25px}.category-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.category-nav a{color:white;text-decoration:none;border:1px solid #ffffff55;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:800}.menu-body{padding-top:36px;padding-bottom:70px}.menu-alert{background:#fff;border-left:5px solid var(--coral);border-radius:12px;padding:16px 20px;box-shadow:0 8px 24px #0000000d;display:flex;gap:10px;flex-direction:column}.menu-alert b{color:var(--coral)}.menu-cat{padding:54px 0 10px;scroll-margin-top:85px}.cat-title{display:flex;align-items:center;gap:15px;border-bottom:2px solid #e8cfa9;margin-bottom:22px;padding-bottom:12px}.cat-title>span{font-size:34px;color:var(--coral)}.cat-title small{color:var(--orange);font-weight:900;letter-spacing:2px}.cat-title h2{font-size:42px;margin:0;color:var(--navy)}.dish-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dish{background:white;border:1px solid #eadbc5;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px #4f34140d}.dish.feature{display:grid;grid-template-columns:42% 58%;grid-column:1/-1}.dish.feature img{width:100%;height:230px;object-fit:cover}.dish>div{padding:22px}.dish h3{font:700 25px 'Playfair Display',serif;color:var(--navy);margin:0 0 6px}.dish p{margin:0 0 10px;color:#536477}.dish em{font-style:normal;color:var(--coral);font-size:12px;font-weight:800}.dish.text{min-height:145px}.menu-end{text-align:center;margin-top:60px;padding:50px 20px;border-radius:28px;background:#f2e0bf}.menu-end img{width:110px;height:110px;object-fit:cover;border-radius:50%;margin:0 auto}.menu-end h2{color:var(--navy);font-size:42px}.menu-end p{font-style:italic}.menu-page footer .footer{justify-content:center}
@media(max-width:900px){.links{position:absolute;display:none;flex-direction:column;top:78px;left:20px;right:20px;background:var(--navy);padding:18px;border-radius:0 0 16px 16px}.links.open{display:flex}.nav-toggle{display:block}.desktop{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:50px 0}.hero-copy:before{width:140vw}.hero-food{min-height:480px}.taste-grid{grid-template-columns:repeat(2,1fr)}.taste:last-child{grid-column:1/-1}.story{grid-template-columns:1fr}.visit-grid{grid-template-columns:1fr}.visit-grid>div{border-right:0;border-bottom:1px solid #ffffff33;padding-bottom:24px}.dish-grid{grid-template-columns:1fr}}
@media(max-width:600px){.container{width:min(100% - 26px,1180px)}.nav{min-height:70px}.brand img{width:44px;height:44px}.brand b{font-size:18px}.links{top:70px;left:13px;right:13px}.hero-copy{padding:38px 0}.hero-logo{width:130px;height:95px}.hero-copy h1{font-size:43px}.opening-title{font-size:22px}.hero-copy h2{font-size:21px}.countdown{display:grid;grid-template-columns:repeat(4,1fr)}.countdown div{min-width:0;padding:7px 3px}.countdown strong{font-size:24px}.actions{flex-direction:column}.hero-food{min-height:360px}.seal{width:105px;height:105px;left:16px;top:20px}.taste-grid{grid-template-columns:1fr 1fr}.taste img{height:135px}.story-photo>img{height:360px}.story-photo>span{left:10px;width:120px;height:120px}.story-pics img{height:100px}.footer{flex-direction:column;text-align:center}.menu-hero{padding:48px 0 35px}.menu-hero h1{font-size:48px}.category-nav{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.category-nav a{white-space:nowrap}.menu-cat{padding-top:40px}.cat-title h2{font-size:34px}.dish.feature{grid-template-columns:1fr}.dish.feature img{height:220px}.dish>div{padding:18px}}
/* Build 0.4.0 — logo limpio + fotografía hero profesional */
.brand .brand-logo-full{width:290px;height:auto;max-height:64px;object-fit:contain;object-position:left center;border:0;border-radius:0}
.hero-logo{width:min(430px,92%);height:auto;max-height:none;object-fit:contain;object-position:left center;border-radius:0;margin:20px 0 14px}
.hero-food>img{image-rendering:auto;object-position:center center}
.footer .footer-logo-full{width:250px;height:auto;max-height:72px;object-fit:contain;border:0;border-radius:0}
@media(max-width:600px){.brand .brand-logo-full{width:220px;max-height:52px}.hero-logo{width:min(350px,100%)}.footer .footer-logo-full{width:230px}}

/* Build 0.5.0 */
.brand{display:flex;align-items:center;overflow:visible!important}.top,.nav{overflow:visible!important}.brand-logo-fixed{height:62px!important;width:auto!important;max-width:360px!important;object-fit:contain!important;object-position:left center!important}.menu-page{background:#fff8e9}.menu-cat{border-top:5px solid #e83a61!important}.menu-cat:nth-of-type(3n){border-top-color:#6f8a2d!important}.menu-cat:nth-of-type(3n+2){border-top-color:#f28c28!important}.dish h3 strong,.dish p strong{color:#c93645}.menu-end-clean img{width:150px!important;height:150px!important;object-fit:contain!important;border-radius:0!important}.dish.feature img{object-fit:cover!important;object-position:center!important}@media(max-width:760px){.brand-logo-fixed{height:50px!important;max-width:255px!important}}

.approved-menu-art{padding:34px 0 20px;background:linear-gradient(180deg,#082b50 0,#082b50 18%,#fff5df 18%,#fffaf0 100%)}
.approved-menu-heading{text-align:center;color:#fff;margin-bottom:22px}.approved-menu-heading h1{font-family:"Playfair Display",serif;font-size:clamp(2rem,5vw,4rem);margin:.45rem 0;color:#fff1d1}
.approved-menu-heading p{margin:0;font-weight:700}.approved-menu-art img{display:block;width:min(100%,980px);height:auto;margin:0 auto;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.22);border:5px solid #fff2d5}
.zoom-note{text-align:center;color:#14386b;font-weight:700;margin:14px 0 0}@media(max-width:760px){.approved-menu-art{padding-top:20px}.approved-menu-art img{border-radius:14px;border-width:3px}.approved-menu-heading{padding:0 12px}}

/* =========================================================
   Build 0.7.0 — correcciones visuales aprobadas
   - logo completo sin recortes
   - corazón completo en secciones
   - textos claros sobre fondo azul
   - tarjetas de sabores más coloridas y profesionales
   ========================================================= */

/* Header: logo completo, más visible y nunca recortado */
.top{
  background:linear-gradient(90deg,#061f3a,#0a355d 55%,#061f3a);
}
.nav{
  min-height:92px;
}
.brand{
  min-width:320px;
  flex:0 0 auto;
}
.brand .brand-logo-full.brand-logo-fixed{
  width:360px !important;
  height:76px !important;
  max-width:360px !important;
  max-height:76px !important;
  object-fit:contain !important;
  object-position:left center !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}

/* En fondos azul marino, todo el texto descriptivo debe ser claro */
.dark-section,
.dark-section .heading,
.dark-section .heading p,
.dark-section .heading.light p{
  color:#fff !important;
}
.dark-section .heading.light p{
  opacity:.96;
  font-size:17px;
}
.dark-section .heading.light span{
  color:#ffc65a !important;
}
.dark-section .heading.light h2{
  color:#fff7e8 !important;
  text-shadow:0 2px 0 rgba(0,0,0,.08);
}

/* Encabezado Sabores con el corazón completo */
.sabores-heading{
  position:relative;
  padding-top:8px;
}
.sabores-heart{
  width:118px !important;
  height:118px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto 12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* Tarjetas: más premium, más coloridas y sin imágenes mochas */
.taste-grid{
  gap:18px;
}
.taste{
  position:relative;
  border:2px solid rgba(255,202,90,.75);
  border-radius:22px;
  background:#fff3d9;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  padding-bottom:18px;
  transition:transform .22s ease, box-shadow .22s ease;
}
.taste:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 42px rgba(0,0,0,.3);
}
.taste img{
  width:100%;
  height:205px;
  object-fit:cover !important;
  object-position:center center !important;
  background:#f7ead2;
}
.taste b{
  color:#082b50;
  font-size:17px;
  letter-spacing:.3px;
}
.taste small{
  color:#173653;
  font-size:13px;
  line-height:1.35;
  min-height:38px;
}

/* Color distinto por tarjeta */
.taste:nth-child(1){border-top:7px solid #f3b51b}
.taste:nth-child(2){border-top:7px solid #27a6b8}
.taste:nth-child(3){border-top:7px solid #d93f55}
.taste:nth-child(4){border-top:7px solid #f28c28}
.taste:nth-child(5){border-top:7px solid #7a3fa0}

/* Botón visible */
.dark-section .center .pill{
  background:#e93d65;
  color:#fff !important;
  border:1px solid #ff8ca8;
  padding:14px 26px;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

/* Buen provecho: corazón siempre completo */
.menu-end-clean img,
.menu-end img{
  width:155px !important;
  height:155px !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  border:0 !important;
  background:transparent !important;
  margin:0 auto 10px !important;
  padding:4px !important;
}

/* Footer: logo grande, nítido y completo */
.footer-brand-pro{
  min-width:300px;
}
.footer .footer-logo-full{
  width:300px !important;
  height:78px !important;
  max-width:300px !important;
  max-height:78px !important;
  object-fit:contain !important;
  object-position:left center !important;
  border:0 !important;
  border-radius:0 !important;
}

/* Responsive */
@media(max-width:900px){
  .nav{min-height:82px}
  .brand{min-width:245px}
  .brand .brand-logo-full.brand-logo-fixed{
    width:265px !important;
    height:62px !important;
    max-width:265px !important;
  }
  .links{top:82px}
  .taste-grid{grid-template-columns:repeat(2,1fr)}
  .taste img{height:190px}
}
@media(max-width:600px){
  .nav{min-height:74px;gap:10px}
  .brand{min-width:0;max-width:230px}
  .brand .brand-logo-full.brand-logo-fixed{
    width:225px !important;
    height:56px !important;
    max-width:225px !important;
  }
  .links{top:74px}
  .sabores-heart{
    width:95px !important;
    height:95px !important;
  }
  .dark-section .heading.light p{
    color:#fff !important;
    font-size:15px;
    padding:0 8px;
  }
  .taste-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .taste img{height:145px}
  .taste b{font-size:14px}
  .taste small{font-size:11.5px;min-height:46px}
  .footer-brand-pro{min-width:0}
  .footer .footer-logo-full{
    width:260px !important;
    height:70px !important;
    max-width:260px !important;
    object-position:center !important;
  }
}
@media(max-width:390px){
  .brand .brand-logo-full.brand-logo-fixed{
    width:195px !important;
    max-width:195px !important;
  }
  .taste-grid{grid-template-columns:1fr}
  .taste img{height:200px}
}

/* =========================================================
   Build 0.8.0 — logo principal totalmente legible
   ========================================================= */

/* Nuevo lockup de marca con texto real: evita letras borrosas o cortadas */
.brand-lockup{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:390px !important;
  max-width:none !important;
  height:auto !important;
  overflow:visible !important;
  text-decoration:none !important;
  flex:0 0 auto !important;
}
.brand-lockup .brand-heart{
  width:88px !important;
  height:88px !important;
  flex:0 0 88px !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  border:0 !important;
  background:transparent !important;
}
.brand-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.brand-copy strong{
  font-family:"Playfair Display",serif !important;
  font-size:31px !important;
  line-height:1.05 !important;
  color:#fff7e8 !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  text-shadow:0 2px 1px rgba(0,0,0,.22) !important;
}
.brand-copy strong::after{
  content:"";
  display:block;
  width:100%;
  height:4px;
  margin:7px 0 6px;
  border-radius:999px;
  background:linear-gradient(90deg,#f28c28,#e83a61,#6f8a2d,#f28c28);
}
.brand-copy small{
  font-family:"DM Sans",sans-serif !important;
  font-size:11px !important;
  font-weight:800 !important;
  color:#ffffff !important;
  letter-spacing:4px !important;
  line-height:1.15 !important;
}

/* Header más alto para que el corazón completo tenga aire */
.top .nav{
  min-height:112px !important;
  overflow:visible !important;
}

/* Hero: misma marca, pero con texto nítido sobre el fondo claro */
.hero-brand-lockup{
  display:flex;
  align-items:center;
  gap:16px;
  width:max-content;
  max-width:100%;
  margin:10px 0 16px;
}
.hero-brand-lockup>img{
  width:105px !important;
  height:105px !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  flex:0 0 105px;
}
.hero-brand-lockup>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.hero-brand-lockup strong{
  font-family:"Playfair Display",serif;
  color:#a71924;
  font-size:clamp(2rem,4.2vw,3.6rem);
  line-height:1;
  text-shadow:0 2px 1px rgba(0,0,0,.08);
  white-space:nowrap;
}
.hero-brand-lockup small{
  margin-top:10px;
  color:#082b50;
  letter-spacing:5px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

/* Menú digital: Buen provecho centrado y corazón completo */
.menu-end-clean{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.menu-end-clean img{
  display:block !important;
  width:175px !important;
  height:175px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto 12px !important;
  overflow:visible !important;
}

/* Ajustes para tablet */
@media(max-width:1050px){
  .brand-lockup{
    min-width:315px !important;
    gap:11px !important;
  }
  .brand-lockup .brand-heart{
    width:72px !important;
    height:72px !important;
    flex-basis:72px !important;
  }
  .brand-copy strong{
    font-size:25px !important;
  }
  .brand-copy small{
    font-size:9px !important;
    letter-spacing:3px !important;
  }
  .top .nav{min-height:94px !important;}
  .links{top:94px !important;}
}

/* Celular: sigue mostrando corazón + nombre completo */
@media(max-width:760px){
  .top .nav{
    min-height:82px !important;
    gap:8px !important;
  }
  .brand-lockup{
    min-width:0 !important;
    max-width:255px !important;
    gap:8px !important;
  }
  .brand-lockup .brand-heart{
    width:58px !important;
    height:58px !important;
    flex:0 0 58px !important;
  }
  .brand-copy strong{
    font-size:20px !important;
  }
  .brand-copy strong::after{
    height:3px;
    margin:4px 0 4px;
  }
  .brand-copy small{
    font-size:7px !important;
    letter-spacing:2.15px !important;
  }
  .links{top:82px !important;}
  .hero-brand-lockup{
    gap:10px;
  }
  .hero-brand-lockup>img{
    width:78px !important;
    height:78px !important;
    flex-basis:78px;
  }
  .hero-brand-lockup strong{
    font-size:2rem;
  }
  .hero-brand-lockup small{
    font-size:8px;
    letter-spacing:3px;
  }
}

@media(max-width:430px){
  .brand-lockup{
    max-width:215px !important;
  }
  .brand-lockup .brand-heart{
    width:50px !important;
    height:50px !important;
    flex-basis:50px !important;
  }
  .brand-copy strong{
    font-size:17px !important;
  }
  .brand-copy small{
    font-size:6px !important;
    letter-spacing:1.7px !important;
  }
  .hero-brand-lockup strong{
    font-size:1.65rem;
  }
}

/* Build 0.9.0 - portada reconstruida para eliminar recortes */
.home-v09{margin:0;background:#fff6e5;color:#092d50;font-family:"DM Sans",sans-serif}
.home-v09 *{box-sizing:border-box}.home-v09 img{max-width:100%;display:block}
.cb-header{background:#06294b;border-bottom:5px solid #f28c28;position:relative;z-index:20}
.cb-nav{min-height:122px;display:flex;align-items:center;gap:28px;overflow:visible}
.cb-brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex:0 0 430px;overflow:visible}
.cb-brand>img{width:105px;height:105px;object-fit:contain;flex:0 0 105px}
.cb-brand span{display:flex;flex-direction:column;white-space:nowrap;overflow:visible}.cb-brand b{font-family:"Playfair Display",serif;color:#fff7e8;font-size:36px;line-height:1}.cb-brand i{height:5px;border-radius:10px;background:linear-gradient(90deg,#f28c28,#e83a61,#6f8a2d,#f28c28);margin:8px 0}.cb-brand small{color:#fff;letter-spacing:5px;font-weight:800;font-size:11px}
.cb-links{display:flex;align-items:center;gap:27px;margin-left:auto;white-space:nowrap}.cb-links a{color:#fff;text-decoration:none;font-weight:800;font-size:13px}.cb-links a:first-child{color:#ff4d6d;border-bottom:3px solid #ff4d6d;padding-bottom:7px}.cb-info{background:#e83a61;color:#fff;text-decoration:none;font-weight:800;border-radius:14px;padding:16px 19px;white-space:nowrap}
.cb-hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:510px;background:#fff1d6;overflow:hidden}.cb-hero-copy{padding:52px max(40px,calc((100vw - 1200px)/2));padding-right:35px;display:flex;flex-direction:column;justify-content:center;min-width:0}.cb-kicker{font-weight:800;letter-spacing:2px;font-size:13px;margin-bottom:15px}.cb-hero-brand{display:flex;align-items:center;gap:18px}.cb-hero-brand>img{width:150px;height:150px;object-fit:contain;flex:0 0 150px}.cb-hero-brand h1{font-family:"Playfair Display",serif;color:#b3212d;font-size:65px;line-height:.88;margin:0}.cb-hero-brand strong{display:block;letter-spacing:6px;margin-top:13px;font-size:13px;white-space:nowrap}.cb-hero-copy>p{font-size:20px;line-height:1.5}.cb-actions{display:flex;gap:14px;flex-wrap:wrap}.cb-actions a,.cb-enjoy a,.cb-menu-btn{background:#e83a61;color:#fff;text-decoration:none;font-weight:800;border-radius:12px;padding:15px 22px}.cb-actions .outline{background:transparent;color:#092d50;border:2px solid #092d50}.cb-hero-photo{min-width:0}.cb-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.cb-enjoy{margin:0;background:#06294b;color:#fff;min-height:230px;display:flex;align-items:center;justify-content:center;gap:35px;text-align:center;padding:25px 40px;border-top:2px solid #e8b65d;border-bottom:2px solid #e8b65d}.cb-enjoy-heart img{width:180px;height:180px;object-fit:contain}.cb-enjoy h2{font-family:"Playfair Display",serif;font-size:58px;margin:0;color:#fff7e8}.cb-enjoy p{color:#ffc65a;font-size:18px;margin:5px 0 24px}
.cb-specials{background:#06294b;padding:55px 0 60px}.cb-title{text-align:center;margin-bottom:30px}.cb-title span{color:#ffc65a;font-weight:800;letter-spacing:3px}.cb-title h2{font-family:"Playfair Display",serif;color:#fff7e8;font-size:46px;margin:8px 0}.cb-title p{color:#fff!important;font-size:17px}.cb-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.cb-card{background:#fff4df;border:2px solid #e6bd6d;border-radius:20px;overflow:hidden;text-align:center;text-decoration:none;color:#092d50;box-shadow:0 12px 25px rgba(0,0,0,.2)}.cb-card img{width:100%;height:175px;object-fit:cover}.cb-card h3{margin:0;color:#fff;padding:11px;font-size:17px}.cb-card p{padding:0 13px 15px;margin:12px 0 0;font-size:13px;line-height:1.4}.cb-card.pink h3{background:#d92e55}.cb-card.green h3{background:#4d9a43}.cb-card.orange h3{background:#ef741f}.cb-card.cyan h3{background:#149bb6}.cb-card.purple h3{background:#773a9b}.cb-center{text-align:center;margin-top:30px}.cb-menu-btn{display:inline-block}
.cb-story{padding:60px 0;background:#fff0d2}.cb-story .container{display:flex;align-items:center;justify-content:center;gap:35px}.cb-story img{width:180px;height:180px;object-fit:contain}.cb-story span{color:#d93d55;font-weight:800;letter-spacing:2px}.cb-story h2{font-family:"Playfair Display",serif;font-size:40px;margin:5px 0}.cb-story p{max-width:620px;font-size:17px}
.cb-footer{background:#06294b;color:#fff;border-top:5px solid #f28c28;padding:30px 0}.cb-footer-grid{display:grid;grid-template-columns:1.35fr 1fr .9fr .9fr 1.1fr;gap:25px;align-items:center}.cb-foot-brand{display:flex;align-items:center;gap:10px}.cb-foot-brand img{width:85px;height:85px;object-fit:contain}.cb-foot-brand div{display:flex;flex-direction:column}.cb-foot-brand b{font-family:"Playfair Display",serif;font-size:24px;color:#fff7e8}.cb-foot-brand small{letter-spacing:3px;font-size:8px}.cb-footer strong{color:#ff4d6d}.cb-footer p{font-size:12px;line-height:1.5}.cb-footer p b{color:#ffc65a}.cb-local{font-family:"Playfair Display",serif;font-size:26px;color:#fff7e8;text-align:center;font-style:italic}
@media(max-width:1050px){.cb-nav{padding:12px 20px;min-height:95px}.cb-brand{flex-basis:300px}.cb-brand>img{width:72px;height:72px;flex-basis:72px}.cb-brand b{font-size:26px}.cb-brand small{font-size:8px;letter-spacing:3px}.cb-links{display:none}.cb-hero-brand h1{font-size:52px}.cb-cards{grid-template-columns:repeat(3,1fr)}.cb-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.cb-nav{min-height:82px}.cb-brand{flex:1;min-width:0}.cb-brand>img{width:58px;height:58px;flex-basis:58px}.cb-brand b{font-size:20px}.cb-brand small{font-size:6.5px;letter-spacing:2px}.cb-info{font-size:10px;padding:11px 10px}.cb-hero{grid-template-columns:1fr}.cb-hero-copy{padding:35px 22px}.cb-hero-brand>img{width:105px;height:105px;flex-basis:105px}.cb-hero-brand h1{font-size:45px}.cb-hero-brand strong{font-size:9px;letter-spacing:3px}.cb-hero-copy>p{font-size:16px}.cb-hero-photo{height:300px}.cb-enjoy{flex-direction:column;gap:5px;padding:30px 20px}.cb-enjoy-heart img{width:130px;height:130px}.cb-enjoy h2{font-size:42px}.cb-cards{grid-template-columns:1fr 1fr}.cb-card img{height:145px}.cb-story .container{flex-direction:column;text-align:center}.cb-footer-grid{grid-template-columns:1fr;text-align:center}.cb-foot-brand{justify-content:center}}
@media(max-width:420px){.cb-brand b{font-size:17px}.cb-brand>img{width:50px;height:50px;flex-basis:50px}.cb-info{display:none}.cb-cards{grid-template-columns:1fr}.cb-card img{height:210px}.cb-hero-brand h1{font-size:39px}}

/* =========================================================
   Build 0.9.1 — LOGO EXACTO APROBADO
   Se usa la imagen exacta indicada por el cliente.
   No se reconstruye tipografía ni se cambian colores.
   ========================================================= */

html, body { overflow-x:hidden !important; }

.cb-brand-image{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 !important;
}
.cb-brand-image > img{
  display:block !important;
  width:390px !important;
  height:110px !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}
.cb-header .cb-nav{
  min-height:118px !important;
  overflow:visible !important;
}
.cb-header{
  overflow:visible !important;
  background:#0b355b !important;
}

/* Hero: logo exacto completo, sobre fondo azul para conservar letras blancas */
.cb-hero-brand-exact{
  display:flex !important;
  width:min(390px,100%) !important;
  height:auto !important;
  padding:0 !important;
  margin:8px 0 18px !important;
  overflow:visible !important;
  background:#0b355b !important;
  border-radius:16px !important;
}
.cb-hero-brand-exact > img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:16px !important;
  border:0 !important;
}

/* El símbolo del corazón siempre completo */
.cb-enjoy-heart,
.cb-enjoy-heart img,
.cb-story img,
.menu-end,
.menu-end img,
.menu-end-clean,
.menu-end-clean img,
.sabores-heart{
  overflow:visible !important;
}
.cb-enjoy-heart img,
.cb-story img,
.menu-end img,
.menu-end-clean img,
.sabores-heart{
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  background:transparent !important;
  clip-path:none !important;
  transform:none !important;
}

/* Footer: mismo logo exacto, sin variaciones */
.cb-foot-brand-image{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
  overflow:visible !important;
}
.cb-foot-brand-image > img{
  width:330px !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  border:0 !important;
  border-radius:0 !important;
}

/* Menú digital: mismo logo exacto */
.menu-brand-exact{
  width:auto !important;
  max-width:390px !important;
}
.menu-brand-exact > img{
  width:390px !important;
  height:110px !important;
  object-fit:contain !important;
}

/* Evita que grids/flex provoquen recortes laterales */
.cb-nav, .cb-hero, .cb-enjoy, .cb-specials, .cb-story, .cb-footer,
.menu-body, .menu-cat, .dish-grid, .dish, .menu-end, .approved-menu-art{
  min-width:0 !important;
  max-width:100% !important;
}
.cb-hero-copy, .cb-hero-photo, .cb-enjoy > *, .cb-footer-grid > *{
  min-width:0 !important;
}

@media (max-width:1100px){
  .cb-brand-image > img{ width:330px !important; height:94px !important; }
  .cb-header .cb-nav{ min-height:100px !important; }
  .menu-brand-exact > img{ width:330px !important; height:94px !important; }
}
@media (max-width:760px){
  .cb-header .cb-nav{ min-height:82px !important; padding:8px 14px !important; }
  .cb-brand-image{ flex:1 1 auto !important; }
  .cb-brand-image > img{
    width:245px !important;
    height:70px !important;
    max-width:245px !important;
  }
  .menu-brand-exact > img{ width:245px !important; height:70px !important; }
  .cb-hero-brand-exact{ width:min(100%,330px) !important; margin-inline:auto !important; }
  .cb-foot-brand-image{ justify-content:center !important; }
  .cb-foot-brand-image > img{ width:280px !important; object-position:center !important; }
  .cb-enjoy-heart img{ width:140px !important; height:140px !important; }
  .menu-end img,.menu-end-clean img{ width:145px !important; height:145px !important; }
}
@media (max-width:420px){
  .cb-brand-image > img{ width:210px !important; height:62px !important; max-width:210px !important; }
  .menu-brand-exact > img{ width:210px !important; height:62px !important; }
}

/* =========================================================
   Build 0.9.2 — limpieza real de marca y recortes
   Se elimina la captura rasterizada del logo.
   Marca reconstruida con corazón limpio + texto real,
   respetando blanco, azul marino y ornamento multicolor.
   ========================================================= */

html,body{overflow-x:hidden!important}
.cb-header,.top{background:#082f55!important;overflow:visible!important}

/* Header profesional */
.pro-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  text-decoration:none!important;
  overflow:visible!important;
  min-width:0!important;
  flex:0 0 auto!important;
}
.pro-brand>img{
  width:96px!important;
  height:96px!important;
  flex:0 0 96px!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  background:transparent!important;
}
.pro-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.pro-brand-copy strong,
.footer-brand-clean strong{
  font-family:"Playfair Display",serif!important;
  color:#fff8eb!important;
  font-weight:800!important;
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:.1px!important;
  text-shadow:0 2px 1px rgba(0,0,0,.18)!important;
}
.pro-brand-flourish{
  display:block!important;
  width:100%!important;
  height:8px!important;
  margin:7px 0 6px!important;
  position:relative!important;
  background:
    radial-gradient(circle at 50% 50%,#e83a61 0 5px,transparent 6px),
    linear-gradient(90deg,transparent 0 7%,#f28c28 7% 28%,#6f8a2d 28% 46%,#e83a61 46% 54%,#6f8a2d 54% 72%,#f28c28 72% 93%,transparent 93% 100%);
  border-radius:999px!important;
}
.pro-brand-copy small,
.footer-brand-clean small,
.hero-brand-copy small{
  color:#fff!important;
  font-weight:800!important;
  letter-spacing:5px!important;
  font-size:10px!important;
  line-height:1.1!important;
}
.cb-header .cb-nav,.top .nav{
  min-height:116px!important;
  overflow:visible!important;
}

/* Hero: mismo logo pero limpio, sin cuadro negro rasterizado */
.hero-brand-clean{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:100%!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  margin:10px 0 20px!important;
}
.hero-brand-clean>img{
  width:145px!important;
  height:145px!important;
  flex:0 0 145px!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  background:transparent!important;
}
.hero-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  overflow:visible!important;
}
.hero-brand-copy strong{
  font-family:"Playfair Display",serif!important;
  color:#b21f2d!important;
  font-size:56px!important;
  line-height:.98!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.hero-brand-copy .pro-brand-flourish{
  height:7px!important;
  margin:8px 0 7px!important;
}
.hero-brand-copy small{
  color:#082f55!important;
  font-size:11px!important;
}

/* Secciones: cero recortes */
.cb-hero,.cb-hero-copy,.cb-hero-photo,
.cb-enjoy,.cb-enjoy-heart,.cb-specials,.cb-story,
.cb-footer,.cb-footer-grid,.menu-body,.menu-cat,.dish-grid,
.menu-end,.menu-end-clean,.approved-menu-art{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
.cb-hero-photo{overflow:hidden!important}
.cb-enjoy-heart img,
.cb-story img,
.menu-end img,
.menu-end-clean img,
.sabores-heart{
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

/* Footer limpio */
.footer-brand-clean{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  overflow:visible!important;
}
.footer-brand-clean>img{
  width:88px!important;
  height:88px!important;
  object-fit:contain!important;
  flex:0 0 88px!important;
}
.footer-brand-clean>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
.footer-brand-clean strong{
  font-size:25px!important;
}
.footer-brand-clean .pro-brand-flourish{
  height:6px!important;
  margin:5px 0!important;
}
.footer-brand-clean small{
  font-size:7.5px!important;
  letter-spacing:3px!important;
}

/* Historia: ancho legible y sin quedar cortada */
.cb-story .container{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:36px!important;
  align-items:center!important;
}
.cb-story .container>div{min-width:0!important}
.cb-story h2{
  max-width:900px!important;
  white-space:normal!important;
  overflow:visible!important;
}
.cb-story p{
  max-width:760px!important;
  white-space:normal!important;
}

/* Menú digital */
.menu-page .pro-brand{
  max-width:410px!important;
}
.menu-page .pro-brand>img{
  width:86px!important;
  height:86px!important;
  flex-basis:86px!important;
}
.menu-page .pro-brand-copy strong{font-size:31px!important}

/* Responsive */
@media(max-width:1000px){
  .pro-brand>img{width:74px!important;height:74px!important;flex-basis:74px!important}
  .pro-brand-copy strong{font-size:27px!important}
  .pro-brand-copy small{font-size:8px!important;letter-spacing:3px!important}
  .cb-header .cb-nav,.top .nav{min-height:94px!important}
  .hero-brand-clean>img{width:115px!important;height:115px!important;flex-basis:115px!important}
  .hero-brand-copy strong{font-size:44px!important}
}
@media(max-width:760px){
  .cb-header .cb-nav,.top .nav{min-height:82px!important;padding:8px 14px!important}
  .pro-brand{gap:8px!important;max-width:250px!important}
  .pro-brand>img{width:58px!important;height:58px!important;flex-basis:58px!important}
  .pro-brand-copy strong{font-size:20px!important}
  .pro-brand-copy .pro-brand-flourish{height:5px!important;margin:4px 0!important}
  .pro-brand-copy small{font-size:6.5px!important;letter-spacing:2px!important}
  .hero-brand-clean{
    width:100%!important;
    justify-content:center!important;
    gap:12px!important;
  }
  .hero-brand-clean>img{width:92px!important;height:92px!important;flex-basis:92px!important}
  .hero-brand-copy strong{font-size:34px!important}
  .hero-brand-copy small{font-size:8px!important;letter-spacing:2.5px!important}
  .cb-story .container{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .cb-story img{margin:0 auto!important}
  .footer-brand-clean{justify-content:center!important}
}
@media(max-width:420px){
  .pro-brand{max-width:210px!important}
  .pro-brand>img{width:50px!important;height:50px!important;flex-basis:50px!important}
  .pro-brand-copy strong{font-size:17px!important}
  .pro-brand-copy small{font-size:6px!important;letter-spacing:1.6px!important}
  .hero-brand-copy strong{font-size:29px!important}
}

/* =========================================================
   Build 1.0.0 — identidad visual aprobada
   ========================================================= */
.cb-header,.top,.cb-footer{background:#001a33!important}
.approved-logo{
  display:block!important;
  width:440px!important;
  max-width:440px!important;
  height:auto!important;
  overflow:visible!important;
  flex:0 0 440px!important;
}
.approved-logo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
}
.cb-header .cb-nav,.top .nav{
  min-height:125px!important;
  overflow:visible!important;
}
.hero-logo-approved{
  width:min(100%,520px)!important;
  margin:8px 0 24px!important;
  overflow:visible!important;
}
.hero-logo-approved img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  border-radius:14px!important;
  border:0!important;
}
.footer-logo-approved{
  width:330px!important;
  max-width:100%!important;
}
.footer-logo-approved img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border:0!important;
}
.cb-enjoy-heart img,.cb-story img,.menu-end img,.menu-end-clean img,.sabores-heart{
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  transform:none!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
}
.cb-story .container{
  grid-template-columns:220px minmax(0,1fr)!important;
  overflow:visible!important;
}
.cb-story .container>div{min-width:0!important;overflow:visible!important}
.cb-story h2,.cb-story p{white-space:normal!important;overflow:visible!important;max-width:100%!important}
@media(max-width:1050px){
  .approved-logo{width:350px!important;max-width:350px!important;flex-basis:350px!important}
  .cb-header .cb-nav,.top .nav{min-height:105px!important}
}
@media(max-width:760px){
  .approved-logo{width:255px!important;max-width:255px!important;flex:1 1 255px!important}
  .cb-header .cb-nav,.top .nav{min-height:82px!important;padding:8px 12px!important}
  .hero-logo-approved{width:min(100%,360px)!important;margin-inline:auto!important}
  .footer-logo-approved{width:285px!important;margin:auto!important}
  .cb-story .container{grid-template-columns:1fr!important;text-align:center!important}
  .cb-story img{margin:auto!important}
}
@media(max-width:420px){
  .approved-logo{width:220px!important;max-width:220px!important;flex-basis:220px!important}
}

/* =========================================================
   Build 1.0.1 — logos aprobados definitivos
   Usa el logo completo nuevo y el corazón solo nuevo.
   ========================================================= */

.approved-logo-final{
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
}
.approved-logo-final img{
  display:block!important;
  width:430px!important;
  height:118px!important;
  max-width:430px!important;
  object-fit:contain!important;
  object-position:left center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  clip-path:none!important;
  transform:none!important;
}
.cb-header .cb-nav,.top .nav{
  min-height:126px!important;
  overflow:visible!important;
}

/* Hero: símbolo limpio, transparente y completo */
.hero-heart-final{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:170px!important;
  height:170px!important;
  overflow:visible!important;
  margin:8px 0 18px!important;
  background:transparent!important;
}
.hero-heart-final img{
  width:170px!important;
  height:170px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  transform:none!important;
}

/* Símbolo limpio en todas las secciones */
.cb-enjoy-heart img,
.cb-story img,
.menu-end img,
.menu-end-clean img,
.sabores-heart,
.menu-heart{
  content:url("assets/corazon-simbolo-final.png");
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  transform:none!important;
  overflow:visible!important;
}

/* Footer con logo completo */
.footer-logo-final{
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
  width:320px!important;
  max-width:100%!important;
}
.footer-logo-final img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  border:0!important;
  border-radius:0!important;
}

/* Evitar cualquier corte por contenedores */
.cb-header,.cb-nav,.cb-hero,.cb-hero-copy,.cb-enjoy,.cb-specials,.cb-story,
.cb-footer,.cb-footer-grid,.menu-body,.menu-cat,.dish-grid,.menu-end,.menu-end-clean{
  overflow:visible!important;
}
.cb-hero-photo,.dish img,.cb-card img{overflow:hidden!important}

@media(max-width:1050px){
  .approved-logo-final img{
    width:350px!important;
    height:100px!important;
    max-width:350px!important;
  }
  .cb-header .cb-nav,.top .nav{min-height:106px!important}
}
@media(max-width:760px){
  .approved-logo-final img{
    width:255px!important;
    height:76px!important;
    max-width:255px!important;
  }
  .cb-header .cb-nav,.top .nav{min-height:84px!important;padding:7px 12px!important}
  .hero-heart-final{width:125px!important;height:125px!important;margin-inline:auto!important}
  .hero-heart-final img{width:125px!important;height:125px!important}
  .footer-logo-final{width:280px!important;margin-inline:auto!important}
}
@media(max-width:420px){
  .approved-logo-final img{
    width:220px!important;
    height:68px!important;
    max-width:220px!important;
  }
}

/* =========================================================
   Build 1.0.3
   BASE: 1.0.1 LOGOS FINALES
   Header y footer se conservan EXACTAMENTE como estaban.
   Solo se sustituyen corazones decorativos del cuerpo.
   ========================================================= */

.cb-photo-medallion{
  overflow:hidden!important;
  border:4px solid #f2b657!important;
  box-shadow:0 12px 28px rgba(5,36,65,.18)!important;
  background:#fff!important;
}
.cb-photo-medallion img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.hero-food-photo{
  width:230px!important;
  height:155px!important;
  border-radius:22px!important;
  margin:8px 0 20px!important;
}
.enjoy-food-photo{
  width:175px!important;
  height:175px!important;
  border-radius:50%!important;
  flex:0 0 175px!important;
}
.story-food-photo{
  width:220px!important;
  height:220px!important;
  object-fit:cover!important;
  border-radius:28px!important;
  border:4px solid #f2b657!important;
  box-shadow:0 12px 28px rgba(5,36,65,.16)!important;
}

/* neutralize old rules that force the heart image into decorative content */
.hero-food-photo img,
.enjoy-food-photo img,
.story-food-photo{
  content:normal!important;
  clip-path:none!important;
  transform:none!important;
}

@media(max-width:760px){
  .hero-food-photo{
    width:min(100%,310px)!important;
    height:185px!important;
    margin:8px auto 20px!important;
  }
  .enjoy-food-photo{
    width:145px!important;
    height:145px!important;
    flex-basis:145px!important;
  }
  .story-food-photo{
    width:200px!important;
    height:200px!important;
    margin:0 auto!important;
  }
}

/* =========================================================
   Build 1.0.4 — Footer igual al header + hero limpio
   ========================================================= */

/* La marca del footer conserva exactamente el mismo tamaño visual del header */
.footer-logo-final{
  width:430px!important;
  min-width:430px!important;
  max-width:430px!important;
  height:118px!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
}
.footer-logo-final img{
  width:430px!important;
  height:118px!important;
  max-width:430px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}

/* Dar espacio real al logo grande en el footer */
.cb-footer-grid{
  grid-template-columns:430px 1fr .9fr .9fr 1.05fr!important;
  gap:24px!important;
}
.cb-footer{
  padding:26px 0!important;
}

/* Hero sin la foto pequeña redundante debajo del header */
.hero-food-photo{display:none!important}

.hero-title-pro{
  font-family:"Playfair Display",serif!important;
  font-size:clamp(3rem,5.1vw,5.2rem)!important;
  line-height:.98!important;
  font-weight:800!important;
  color:#082f55!important;
  margin:10px 0 12px!important;
  letter-spacing:-1.4px!important;
}
.hero-title-pro span{
  color:#c72f4e!important;
}
.hero-flourish-pro{
  color:#d2384f!important;
  font-size:20px!important;
  letter-spacing:6px!important;
  margin:2px 0 12px!important;
  font-weight:800!important;
}
.cb-hero-copy>p{
  margin-top:8px!important;
}

/* Evitar que el footer comprima o recorte la marca */
.cb-footer-grid>*{
  min-width:0!important;
}
.footer-logo-final,
.footer-logo-final img{
  clip-path:none!important;
  transform:none!important;
  border-radius:0!important;
}

@media(max-width:1200px){
  .cb-footer-grid{
    grid-template-columns:350px 1fr 1fr!important;
  }
  .footer-logo-final{
    width:350px!important;
    min-width:350px!important;
    height:100px!important;
  }
  .footer-logo-final img{
    width:350px!important;
    height:100px!important;
  }
}

@media(max-width:760px){
  .cb-footer-grid{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .footer-logo-final{
    width:255px!important;
    min-width:0!important;
    max-width:255px!important;
    height:76px!important;
    margin:0 auto 10px!important;
  }
  .footer-logo-final img{
    width:255px!important;
    height:76px!important;
    max-width:255px!important;
    object-position:center!important;
  }
  .hero-title-pro{
    font-size:clamp(2.7rem,13vw,4.2rem)!important;
    text-align:left!important;
  }
}

/* =========================================================
   Build 1.0.6 — vuelve a la versión 1.0.4
   y SOLO modifica los apartados Sabores + Footer
   para parecerse a la maqueta aprobada.
   ========================================================= */

/* IMPORTANTE: no ocultar ninguna sección existente */
.cb-enjoy,
.cb-story,
.cb-specials,
.cb-footer{
  display:block!important;
}

/* ===== SABORES COMO LA MAQUETA ===== */
.cb-specials{
  background:#032443!important;
  padding:12px 0 14px!important;
  border-top:2px solid #e88628!important;
  border-bottom:2px solid #e88628!important;
}
.cb-specials .container{
  max-width:1180px!important;
}
.cb-title.mockup-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  margin:0 0 12px!important;
}
.cb-title.mockup-title h2{
  font-family:"Playfair Display",serif!important;
  font-size:18px!important;
  line-height:1!important;
  letter-spacing:1.2px!important;
  color:#fff7e8!important;
  margin:0!important;
  text-transform:uppercase!important;
}
.cb-title.mockup-title span{
  display:inline-block!important;
  color:#f28c28!important;
  font-size:18px!important;
  line-height:1!important;
}

.cb-cards{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.cb-card{
  border-radius:12px!important;
  overflow:hidden!important;
  border:2px solid #e8a742!important;
  background:#fff0d2!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
  text-align:center!important;
  min-width:0!important;
}
.cb-card img{
  width:100%!important;
  height:120px!important;
  object-fit:cover!important;
  display:block!important;
}
.cb-card h3{
  margin:0!important;
  padding:9px 8px!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1!important;
}
.cb-card p{
  margin:0!important;
  padding:9px 10px 11px!important;
  background:#fff0d2!important;
  color:#092d50!important;
  font-size:11px!important;
  line-height:1.3!important;
  min-height:54px!important;
}
.cb-card.pink h3{background:#cf2147!important}
.cb-card.green h3{background:#d96807!important}
.cb-card.orange h3{background:#3e8b23!important}
.cb-card.cyan h3{background:#0a83ae!important}
.cb-card.purple h3{background:#6b2f8e!important}
.cb-center{display:none!important}

/* ===== FOOTER COMO LA MAQUETA ===== */
.cb-footer{
  background:#032443!important;
  color:#fff!important;
  padding:12px 0 10px!important;
  border-top:1px solid rgba(235,136,40,.55)!important;
  border-bottom:8px solid #071b31!important;
}
.cb-footer-grid{
  max-width:1180px!important;
  display:grid!important;
  grid-template-columns:260px 1.05fr .85fr .85fr 1.15fr!important;
  gap:0!important;
  align-items:center!important;
}
.footer-logo-final{
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  height:96px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
.footer-logo-final img{
  width:260px!important;
  height:96px!important;
  max-width:260px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.cb-footer-grid>div:not(.footer-logo-final){
  min-height:78px!important;
  padding:0 16px!important;
  border-left:1px solid rgba(238,146,50,.55)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.cb-footer strong{
  color:#ee3d59!important;
  font-size:12px!important;
  line-height:1!important;
  margin-bottom:6px!important;
}
.cb-footer p{
  color:#fff!important;
  font-size:10px!important;
  line-height:1.4!important;
  margin:0!important;
}
.cb-footer p b{
  color:#ffb629!important;
}
.cb-local{
  font-family:"Playfair Display",serif!important;
  font-size:24px!important;
  line-height:1.1!important;
  color:#fff7e8!important;
  font-style:italic!important;
  text-align:center!important;
}

/* ===== Mantener las otras secciones de la versión anterior ===== */
.cb-enjoy{
  display:flex!important;
}
.cb-story{
  display:block!important;
}

/* Responsive */
@media(max-width:980px){
  .cb-cards{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .cb-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    text-align:center!important;
  }
  .footer-logo-final{
    grid-column:1/-1!important;
    margin:0 auto!important;
  }
  .footer-logo-final img{object-position:center!important}
  .cb-footer-grid>div:not(.footer-logo-final){
    border-left:0!important;
    border-top:1px solid rgba(238,146,50,.3)!important;
    padding-top:10px!important;
  }
}
@media(max-width:620px){
  .cb-cards{grid-template-columns:1fr!important}
  .cb-card img{height:190px!important}
  .cb-card p{font-size:12px!important;min-height:0!important}
  .cb-footer-grid{grid-template-columns:1fr!important}
  .cb-title.mockup-title h2{font-size:16px!important}
}

/* =========================================================
   Build 1.0.9 — base 1.0.6 + desvanecimiento REAL de la foto
   No cambia tamaños, textos, secciones ni composición.
   ========================================================= */

.cb-hero-photo{
  position:relative!important;
  background:#fff2dc!important;
  overflow:hidden!important;
}

/* La propia fotografía se vuelve transparente gradualmente
   en el lado izquierdo, dejando aparecer el fondo crema. */
.cb-hero-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;

  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.08) 4%,
    rgba(0,0,0,.25) 9%,
    rgba(0,0,0,.52) 15%,
    rgba(0,0,0,.78) 22%,
    #000 31%,
    #000 100%
  )!important;
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.08) 4%,
    rgba(0,0,0,.25) 9%,
    rgba(0,0,0,.52) 15%,
    rgba(0,0,0,.78) 22%,
    #000 31%,
    #000 100%
  )!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
}

/* Respaldo visual: suaviza todavía más la unión crema/foto */
.cb-hero-photo::after{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  bottom:0;
  width:24%;
  pointer-events:none;
  background:linear-gradient(
    to right,
    #fff2dc 0%,
    rgba(255,242,220,.72) 30%,
    rgba(255,242,220,.28) 65%,
    rgba(255,242,220,0) 100%
  )!important;
}

/* No usar el overlay anterior si existiera */
.cb-hero-photo::before{content:none!important;}

@media(max-width:980px){
  .cb-hero-photo img{
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .cb-hero-photo::after{display:none!important;}
}

/* =========================================================
   Build 1.0.10 — FLORES APROBADAS + TRANSICIÓN MÁS TENUE
   Base: 1.0.9. No se modifica el resto del sitio.
   ========================================================= */

/* Sustituye definitivamente los círculos/focos por las flores aprobadas */
.cb-hero-copy::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:108px!important;
  height:auto!important;
  background-image:url("assets/flores-lateral-aprobadas.png")!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:100% auto!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* Más espacio para que las flores no invadan el texto */
.cb-hero-copy{
  padding-left:128px!important;
}

/* Unión crema/fotografía todavía más suave y extensa */
.cb-hero-photo img{
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.025) 6%,
    rgba(0,0,0,.08) 12%,
    rgba(0,0,0,.18) 19%,
    rgba(0,0,0,.34) 27%,
    rgba(0,0,0,.55) 36%,
    rgba(0,0,0,.76) 46%,
    rgba(0,0,0,.92) 57%,
    #000 68%,
    #000 100%
  )!important;
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.025) 6%,
    rgba(0,0,0,.08) 12%,
    rgba(0,0,0,.18) 19%,
    rgba(0,0,0,.34) 27%,
    rgba(0,0,0,.55) 36%,
    rgba(0,0,0,.76) 46%,
    rgba(0,0,0,.92) 57%,
    #000 68%,
    #000 100%
  )!important;
}

/* Overlay ancho y muy tenue para borrar la línea perceptible */
.cb-hero-photo::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:46%!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(
    to right,
    #fff2dc 0%,
    rgba(255,242,220,.94) 15%,
    rgba(255,242,220,.78) 34%,
    rgba(255,242,220,.52) 52%,
    rgba(255,242,220,.28) 70%,
    rgba(255,242,220,.10) 86%,
    rgba(255,242,220,0) 100%
  )!important;
}

/* Evita que reglas anteriores vuelvan a poner adornos artificiales */
.cb-hero-photo::before{content:none!important;}

@media(max-width:980px){
  .cb-hero-copy{padding-left:105px!important;}
  .cb-hero-copy::before{
    width:88px!important;
    background-size:100% auto!important;
  }
  .cb-hero-photo img{
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .cb-hero-photo::after{display:none!important;}
}

@media(max-width:620px){
  .cb-hero-copy{padding-left:20px!important;}
  .cb-hero-copy::before{display:none!important;}
}

/* =========================================================
   Build 1.0.12 — HERO CORREGIDO SIN DUPLICADOS
   Base estable 1.0.10.
   ========================================================= */

/* Restablece el hero a una sola capa de texto y una sola fotografía */
.cb-hero{
  position:relative!important;
  overflow:hidden!important;
  background:#fff2dc!important;
}

/* El área de texto ya NO usa una imagen completa de fondo */
.cb-hero-copy{
  position:relative!important;
  z-index:3!important;
  background:#fff2dc!important;
  padding-left:132px!important;
}

/* Flores limpias, integradas al fondo crema y sin borde */
.cb-hero-copy::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:112px!important;
  background-image:url("assets/flores-hero-limpias-hd.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:cover!important;
  opacity:1!important;
  pointer-events:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Elimina cualquier segunda capa decorativa heredada */
.cb-hero-copy::after{
  content:none!important;
  display:none!important;
}

/* Mantiene una sola fotografía real del platillo */
.cb-hero-photo{
  position:relative!important;
  overflow:hidden!important;
  background:#fff2dc!important;
  isolation:isolate!important;
}
.cb-hero-photo img{
  content:normal!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 52%!important;
  display:block!important;
  opacity:1!important;

  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.03) 5%,
    rgba(0,0,0,.10) 11%,
    rgba(0,0,0,.22) 18%,
    rgba(0,0,0,.40) 27%,
    rgba(0,0,0,.60) 37%,
    rgba(0,0,0,.78) 47%,
    rgba(0,0,0,.92) 58%,
    #000 69%,
    #000 100%
  )!important;
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.03) 5%,
    rgba(0,0,0,.10) 11%,
    rgba(0,0,0,.22) 18%,
    rgba(0,0,0,.40) 27%,
    rgba(0,0,0,.60) 37%,
    rgba(0,0,0,.78) 47%,
    rgba(0,0,0,.92) 58%,
    #000 69%,
    #000 100%
  )!important;
}

/* Desvanecimiento extra muy suave para borrar la línea vertical */
.cb-hero-photo::before{
  content:none!important;
  display:none!important;
}
.cb-hero-photo::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:52%!important;
  pointer-events:none!important;
  background:linear-gradient(
    to right,
    #fff2dc 0%,
    rgba(255,242,220,.96) 14%,
    rgba(255,242,220,.84) 28%,
    rgba(255,242,220,.66) 43%,
    rgba(255,242,220,.44) 58%,
    rgba(255,242,220,.24) 72%,
    rgba(255,242,220,.10) 86%,
    transparent 100%
  )!important;
}

/* Asegura que no haya textos duplicados por pseudo-elementos o fondos heredados */
.cb-kicker,
.hero-title-pro,
.hero-flourish-pro,
.cb-hero-copy>p,
.cb-actions{
  position:relative!important;
  z-index:5!important;
  opacity:1!important;
  text-shadow:none!important;
}

@media(max-width:980px){
  .cb-hero-copy{
    padding-left:104px!important;
  }
  .cb-hero-copy::before{
    width:88px!important;
    background-size:cover!important;
  }
  .cb-hero-photo img{
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .cb-hero-photo::after{
    display:none!important;
  }
}

@media(max-width:620px){
  .cb-hero-copy{
    padding-left:20px!important;
  }
  .cb-hero-copy::before{
    display:none!important;
  }
}

/* =========================================================
   Build 1.0.13 — HERO APROBADO: integración + sangría
   ========================================================= */
.cb-hero-copy{
  padding-left:158px!important;
  padding-right:34px!important;
}
.cb-hero-copy::before{
  width:118px!important;
  background-color:#fff2dc!important;
  background-blend-mode:normal!important;
  border:0!important;
}
.cb-kicker,
.hero-title-pro,
.hero-flourish-pro,
.cb-hero-copy>p,
.cb-actions{
  margin-left:8px!important;
}

/* Mantiene el fundido aprobado sin línea de unión */
.cb-hero-photo::after{
  width:55%!important;
  background:linear-gradient(
    to right,
    #fff2dc 0%,
    rgba(255,242,220,.98) 14%,
    rgba(255,242,220,.89) 29%,
    rgba(255,242,220,.72) 44%,
    rgba(255,242,220,.50) 59%,
    rgba(255,242,220,.28) 73%,
    rgba(255,242,220,.11) 87%,
    transparent 100%
  )!important;
}
@media(max-width:980px){
  .cb-hero-copy{padding-left:124px!important;}
  .cb-hero-copy::before{width:94px!important;}
}
@media(max-width:620px){
  .cb-hero-copy{padding-left:24px!important;padding-right:24px!important;}
  .cb-kicker,.hero-title-pro,.hero-flourish-pro,.cb-hero-copy>p,.cb-actions{
    margin-left:0!important;
  }
}

/* =========================================================
   Build 1.0.14 — DOBLE SANGRÍA HERO
   ========================================================= */
@media(min-width:981px){
  .cb-hero-copy{
    padding-left:205px!important;
  }

  .cb-kicker,
  .hero-title-pro,
  .hero-flourish-pro,
  .cb-hero-copy>p,
  .cb-actions{
    margin-left:16px!important;
  }
}

@media(min-width:621px) and (max-width:980px){
  .cb-hero-copy{
    padding-left:155px!important;
  }
}

/* Build 1.0.15 — HERO FINAL APROBADO */
@media(min-width:981px){
  .cb-hero{
    min-height:500px!important;
    height:500px!important;
    background:#fff2dc!important;
    overflow:hidden!important;
  }
  .cb-hero-copy{
    padding-left:205px!important;
    padding-right:50px!important;
    background:#fff2dc!important;
  }
  .cb-hero-copy::before{
    width:145px!important;
    left:18px!important;
    top:25px!important;
    bottom:25px!important;
    background:url("assets/hero-aprobado-integrado.png") left center / auto 500px no-repeat!important;
    border:0!important;
  }
  .cb-hero-photo img{
    width:100%!important;
    height:500px!important;
    object-fit:cover!important;
    object-position:82% center!important;
  }
  .cb-hero-photo::after{
    width:58%!important;
    background:linear-gradient(to right,
      #fff2dc 0%,
      rgba(255,242,220,.98) 14%,
      rgba(255,242,220,.90) 29%,
      rgba(255,242,220,.72) 45%,
      rgba(255,242,220,.49) 60%,
      rgba(255,242,220,.27) 74%,
      rgba(255,242,220,.10) 88%,
      transparent 100%)!important;
  }
}

/* =========================================================
   Build 1.0.16 — HERO HTML APROBADO
   Flores transparentes + fondo crema uniforme + botones compactos
   ========================================================= */

@media(min-width:981px){
  .cb-hero{
    display:grid!important;
    grid-template-columns:54% 46%!important;
    min-height:0!important;
    height:500px!important;
    background:#fff2dc!important;
    border-top:3px solid #e78929!important;
    border-bottom:3px solid #e78929!important;
    overflow:hidden!important;
  }

  .cb-hero-copy{
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    padding:34px 34px 30px 245px!important;
    background:#fff2dc!important;
    overflow:visible!important;
  }

  /* Flores realmente transparentes: desaparece por completo la diferencia de fondo */
  .cb-hero-copy::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:26px!important;
    top:28px!important;
    bottom:28px!important;
    width:160px!important;
    background-image:url("assets/flores-hero-transparentes.png")!important;
    background-repeat:no-repeat!important;
    background-position:left center!important;
    background-size:contain!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    opacity:1!important;
    pointer-events:none!important;
  }

  .cb-hero-copy::after{
    content:none!important;
    display:none!important;
  }

  .cb-kicker{
    margin:0 0 14px!important;
    font-size:12px!important;
    letter-spacing:2.3px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  .hero-title-pro{
    margin:0 0 10px!important;
    font-size:clamp(3rem,4.25vw,4.55rem)!important;
    line-height:.98!important;
    letter-spacing:-1.1px!important;
    max-width:650px!important;
  }

  .hero-flourish-pro{
    margin:2px 0 14px!important;
    font-size:17px!important;
    letter-spacing:6px!important;
  }

  .cb-hero-copy>p{
    margin:0 0 18px!important;
    font-size:15px!important;
    line-height:1.45!important;
    max-width:455px!important;
  }

  .cb-actions{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    max-width:100%!important;
  }

  .cb-actions a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px 17px!important;
    min-height:48px!important;
    border-radius:9px!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }

  .cb-actions .outline{
    min-width:154px!important;
  }

  /* Foto HD con fundido suave y continuo */
  .cb-hero-photo{
    position:relative!important;
    height:500px!important;
    min-width:0!important;
    overflow:hidden!important;
    background:#fff2dc!important;
    isolation:isolate!important;
  }

  .cb-hero-photo img{
    content:normal!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:62% center!important;
    opacity:1!important;
    -webkit-mask-image:linear-gradient(
      to right,
      transparent 0%,
      rgba(0,0,0,.04) 7%,
      rgba(0,0,0,.13) 15%,
      rgba(0,0,0,.28) 24%,
      rgba(0,0,0,.48) 35%,
      rgba(0,0,0,.68) 46%,
      rgba(0,0,0,.85) 58%,
      #000 72%,
      #000 100%
    )!important;
    mask-image:linear-gradient(
      to right,
      transparent 0%,
      rgba(0,0,0,.04) 7%,
      rgba(0,0,0,.13) 15%,
      rgba(0,0,0,.28) 24%,
      rgba(0,0,0,.48) 35%,
      rgba(0,0,0,.68) 46%,
      rgba(0,0,0,.85) 58%,
      #000 72%,
      #000 100%
    )!important;
  }

  .cb-hero-photo::before{
    content:none!important;
    display:none!important;
  }

  .cb-hero-photo::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:52%!important;
    z-index:2!important;
    pointer-events:none!important;
    background:linear-gradient(
      to right,
      #fff2dc 0%,
      rgba(255,242,220,.98) 12%,
      rgba(255,242,220,.91) 27%,
      rgba(255,242,220,.76) 43%,
      rgba(255,242,220,.56) 58%,
      rgba(255,242,220,.34) 72%,
      rgba(255,242,220,.15) 87%,
      transparent 100%
    )!important;
  }
}

@media(min-width:621px) and (max-width:980px){
  .cb-hero{
    grid-template-columns:1fr!important;
    height:auto!important;
    background:#fff2dc!important;
  }
  .cb-hero-copy{
    padding:34px 32px 30px 155px!important;
    background:#fff2dc!important;
  }
  .cb-hero-copy::before{
    left:18px!important;
    width:110px!important;
    background-image:url("assets/flores-hero-transparentes.png")!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:left center!important;
    background-color:transparent!important;
  }
  .cb-actions{
    flex-wrap:wrap!important;
  }
  .cb-hero-photo{
    height:310px!important;
  }
  .cb-hero-photo img{
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .cb-hero-photo::after{
    display:none!important;
  }
}

@media(max-width:620px){
  .cb-hero-copy{
    padding:28px 20px 26px!important;
    background:#fff2dc!important;
  }
  .cb-hero-copy::before{
    display:none!important;
  }
  .hero-title-pro{
    font-size:2.55rem!important;
    line-height:1!important;
  }
  .cb-kicker{
    white-space:normal!important;
    font-size:10px!important;
  }
  .cb-actions{
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .cb-actions a{
    font-size:11px!important;
    padding:11px 14px!important;
  }
}

/* =========================================================
   Build 1.0.18 — SABORES + FOOTER MAQUETA APROBADA
   Base: 1.0.16. El hero permanece intacto.
   ========================================================= */

/* =========================
   NUESTROS SABORES PARA TI
   ========================= */
.cb-specials{
  position:relative!important;
  background:#061f3a!important;
  padding:18px 0 34px!important;
  border-top:3px solid #e83a61!important;
  border-bottom:0!important;
  overflow:hidden!important;
}

.cb-specials .container{
  max-width:1240px!important;
  padding-inline:18px!important;
}

.cb-title.mockup-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  margin:0 0 18px!important;
}

.cb-title.mockup-title h2{
  margin:0!important;
  font-family:"Playfair Display",serif!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#fff6e7!important;
  letter-spacing:.3px!important;
  text-transform:uppercase!important;
}

.cb-title.mockup-title span{
  display:inline-block!important;
  color:#ef4b63!important;
  font-size:20px!important;
  line-height:1!important;
}

.cb-title.mockup-title::after{
  content:""!important;
  position:absolute!important;
  width:180px!important;
  height:2px!important;
  background:repeating-linear-gradient(
    90deg,
    #f28c28 0 5px,
    transparent 5px 9px
  )!important;
  transform:translateY(24px)!important;
  opacity:.9!important;
}

.cb-cards{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}

.cb-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  border-radius:15px!important;
  overflow:hidden!important;
  border:1.5px solid #f0a43a!important;
  background:#fff1d9!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  text-align:center!important;
}

.cb-card img{
  width:100%!important;
  height:185px!important;
  object-fit:cover!important;
  display:block!important;
}

.cb-card h3{
  margin:0!important;
  padding:13px 10px!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#fff!important;
}

.cb-card p{
  position:relative!important;
  flex:1!important;
  margin:0!important;
  padding:22px 18px 46px!important;
  background:#fff1d9!important;
  color:#122f4d!important;
  font-size:16px!important;
  line-height:1.35!important;
  min-height:145px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
}

.cb-card p::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:14px!important;
  width:92px!important;
  height:18px!important;
  transform:translateX(-50%)!important;
  background:
    radial-gradient(circle at 50% 50%,#d92e55 0 5px,transparent 5.5px),
    radial-gradient(circle at 37% 50%,#f28c28 0 3px,transparent 3.5px),
    radial-gradient(circle at 63% 50%,#6f8a2d 0 3px,transparent 3.5px),
    linear-gradient(90deg,transparent 0 20%,#6f8a2d 20% 38%,transparent 38% 62%,#6f8a2d 62% 80%,transparent 80% 100%)!important;
  opacity:.95!important;
}

.cb-card p::after{
  content:none!important;
}

.cb-card.pink h3{background:#cb2149!important}
.cb-card.green h3{background:#d96a06!important}
.cb-card.orange h3{background:#3d8a24!important}
.cb-card.cyan h3{background:#0c86b1!important}
.cb-card.purple h3{background:#6b2b8d!important}

.cb-center{display:none!important}

/* Cenefa floral entre sabores y footer */
.cb-specials::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:26px!important;
  background:url("assets/cenefa-floral-sabores-footer.jpg") center / cover repeat-x!important;
  opacity:.98!important;
}

/* =========================
   FOOTER
   ========================= */
.cb-footer{
  position:relative!important;
  background:#061f3a!important;
  color:#fff!important;
  padding:34px 0 42px!important;
  border-top:0!important;
  border-bottom:0!important;
  overflow:hidden!important;
}

.cb-footer-grid{
  max-width:1240px!important;
  display:grid!important;
  grid-template-columns:1.35fr 1fr 1fr 1fr 1.18fr!important;
  gap:0!important;
  align-items:stretch!important;
}

.footer-logo-final{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0 26px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.footer-logo-final img{
  width:295px!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

.cb-footer-grid>div:not(.footer-logo-final){
  min-height:185px!important;
  padding:8px 28px!important;
  border-left:2px dotted rgba(242,140,40,.70)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

.cb-footer strong{
  color:#ef3d59!important;
  font-size:18px!important;
  line-height:1!important;
  margin-bottom:14px!important;
  letter-spacing:.2px!important;
}

.cb-footer p{
  color:#fff!important;
  font-size:14px!important;
  line-height:1.55!important;
  margin:0!important;
}

.cb-footer p b{
  color:#ff8a17!important;
  font-family:"Playfair Display",serif!important;
  font-style:italic!important;
  font-size:22px!important;
}

.cb-local{
  font-family:"Playfair Display",serif!important;
  font-size:28px!important;
  line-height:1.12!important;
  color:#fff6e7!important;
  font-style:italic!important;
  text-align:center!important;
  padding:0 22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}

.cb-local::after{
  content:"♥"!important;
  display:block!important;
  color:#e83a61!important;
  font-size:46px!important;
  line-height:1!important;
  margin-top:12px!important;
}

/* Adornos florales bajos en columnas centrales */
.cb-footer-grid>div:not(.footer-logo-final):not(.cb-local)::after{
  content:"✿  ❀  ✿"!important;
  color:#f28c28!important;
  font-size:16px!important;
  margin-top:14px!important;
  letter-spacing:5px!important;
}

/* Cenefa inferior colorida */
.cb-footer::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:25px!important;
  background:url("assets/cenefa-floral-footer-inferior.jpg") center / cover repeat-x!important;
  opacity:.98!important;
}

/* Responsive */
@media(max-width:1100px){
  .cb-cards{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .cb-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:18px!important;
  }
  .footer-logo-final{
    grid-column:1/-1!important;
    padding:0!important;
  }
  .cb-footer-grid>div:not(.footer-logo-final){
    border-left:0!important;
    border-top:1px dotted rgba(242,140,40,.45)!important;
    min-height:150px!important;
  }
}

@media(max-width:680px){
  .cb-title.mockup-title h2{
    font-size:22px!important;
  }
  .cb-cards{
    grid-template-columns:1fr!important;
  }
  .cb-card img{
    height:230px!important;
  }
  .cb-card h3{
    font-size:20px!important;
  }
  .cb-card p{
    font-size:15px!important;
    min-height:115px!important;
  }
  .cb-footer-grid{
    grid-template-columns:1fr!important;
  }
  .footer-logo-final img{
    width:250px!important;
  }
  .cb-footer-grid>div:not(.footer-logo-final){
    min-height:125px!important;
  }
  .cb-local{
    font-size:27px!important;
  }
}

/* =========================================================
   Build 1.0.21 — SABORES + FOOTER CORREGIDOS DE VERDAD
   Hero sin cambios.
   ========================================================= */

/* ===== TARJETAS: flor transparente sin fondo crema extra ===== */
.cb-card p{
  position:relative!important;
  padding-bottom:58px!important;
}
.cb-card p::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:11px!important;
  width:150px!important;
  height:38px!important;
  transform:translateX(-50%)!important;
  background:url("assets/floral-horizontal-transparente.png") center/contain no-repeat!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
}
.cb-card p::after{content:none!important}

/* Quitar cualquier símbolo anterior extraño de títulos */
.cb-card h3::before{display:inline-block!important;margin-right:8px!important}
.cb-card.pink h3::before{content:"✿"!important}
.cb-card.green h3::before{content:"♨"!important}
.cb-card.orange h3::before{content:"◒"!important}
.cb-card.cyan h3::before{content:"▱"!important}
.cb-card.purple h3::before{content:"▰"!important}

/* Cenefa entre sabores y footer */
.cb-specials::after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:28px!important;
  background:url("assets/cenefa-footer-colorida.jpg") center/cover repeat-x!important;
  opacity:1!important;
}

/* ===== FOOTER LIMPIO ===== */
.cb-footer{
  position:relative!important;
  background:#061f3a!important;
  color:#fff!important;
  padding:34px 0 44px!important;
  overflow:hidden!important;
}
.cb-footer-grid{
  max-width:1240px!important;
  display:grid!important;
  grid-template-columns:1.35fr 1fr 1fr 1fr 1.18fr!important;
  gap:0!important;
  align-items:stretch!important;
}
.footer-brand-block{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 24px 0 0!important;
}
.footer-brand-block img{
  width:300px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

.footer-col,
.cb-local{
  min-height:210px!important;
  padding:8px 26px!important;
  border-left:2px dotted rgba(242,140,40,.75)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

/* Eliminar TODOS los iconos previos por pseudo-elementos */
.cb-footer strong::before,
.cb-footer-grid>div::before,
.cb-footer-grid>div::after,
.cb-footer p::after{
  content:none!important;
  display:none!important;
}

/* Iconos SVG grandes, una sola vez */
.footer-icon{
  width:52px!important;
  height:52px!important;
  margin:0 auto 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.footer-icon svg{
  width:46px!important;
  height:46px!important;
  display:block!important;
}
.footer-icon-pin svg{
  fill:#e92f55!important;
  stroke:none!important;
}
.footer-icon-pin svg circle{fill:#061f3a!important}
.footer-icon-clock svg{
  fill:none!important;
  stroke:#f47b20!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.footer-icon-heart svg{
  fill:#e92f55!important;
  stroke:none!important;
}

.cb-footer strong{
  color:#ef3155!important;
  font-size:18px!important;
  line-height:1!important;
  margin:0 0 13px!important;
  letter-spacing:.2px!important;
}
.footer-hours strong{color:#f47b20!important}

.cb-footer p{
  color:#fff!important;
  font-size:14px!important;
  line-height:1.55!important;
  margin:0!important;
}
.cb-footer p b{
  display:inline-block!important;
  margin-top:7px!important;
  color:#ff8a17!important;
  font-family:"Playfair Display",serif!important;
  font-style:italic!important;
  font-size:22px!important;
}

.footer-floral{
  width:130px!important;
  height:34px!important;
  object-fit:contain!important;
  margin-top:15px!important;
  background:transparent!important;
  border:0!important;
}

/* Redes sociales SVG reales */
.cb-social-icons{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:16px!important;
}
.cb-social-icons .social{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 2px 8px rgba(0,0,0,.24)!important;
}
.cb-social-icons svg{width:25px!important;height:25px!important}
.cb-social-icons .facebook{background:#1877f2!important}
.cb-social-icons .facebook svg{fill:#fff!important}
.cb-social-icons .instagram{
  background:radial-gradient(circle at 30% 105%,#fdf497 0 5%,#fd5949 35%,#d6249f 62%,#285AEB 95%)!important;
}
.cb-social-icons .instagram svg{
  fill:none!important;stroke:#fff!important;stroke-width:2!important;
}
.cb-social-icons .whatsapp{background:#25d366!important}
.cb-social-icons .whatsapp svg{
  fill:none!important;stroke:#fff!important;stroke-width:1.7!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}

.cb-local{
  font-family:"Playfair Display",serif!important;
  font-size:29px!important;
  line-height:1.15!important;
  color:#fff6e7!important;
  font-style:italic!important;
}
.local-heart{
  color:#e92f55!important;
  font-size:48px!important;
  line-height:1!important;
  margin-top:14px!important;
}

/* Cenefa inferior */
.cb-footer::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:28px!important;
  background:url("assets/cenefa-footer-inferior-colorida.jpg") center/cover repeat-x!important;
}

@media(max-width:1100px){
  .cb-footer-grid{grid-template-columns:1fr 1fr!important;gap:16px!important}
  .footer-brand-block{grid-column:1/-1!important;padding:0!important}
  .footer-col,.cb-local{
    border-left:0!important;
    border-top:1px dotted rgba(242,140,40,.45)!important;
    min-height:170px!important;
  }
}
@media(max-width:680px){
  .cb-footer-grid{grid-template-columns:1fr!important}
  .footer-brand-block img{width:260px!important}
  .footer-col,.cb-local{min-height:145px!important}
}

/* =========================================================
   Build 1.0.22 — FOOTER MÁS ANCHO Y COMPACTO
   Mantiene iconos, redes y flores aprobados.
   ========================================================= */
.cb-footer{
  padding:22px 0 38px!important;
}
.cb-footer .container,
.cb-footer-grid{
  max-width:1380px!important;
  width:calc(100% - 28px)!important;
}
.cb-footer-grid{
  grid-template-columns:1.28fr 1.18fr 1.12fr 1.18fr 1.20fr!important;
}
.footer-brand-block{
  padding:0 18px 0 0!important;
}
.footer-brand-block img{
  width:275px!important;
}
.footer-col,
.cb-local{
  min-height:158px!important;
  padding:5px 34px!important;
}
.footer-icon{
  width:42px!important;
  height:42px!important;
  margin-bottom:5px!important;
}
.footer-icon svg{
  width:38px!important;
  height:38px!important;
}
.cb-footer strong{
  font-size:17px!important;
  margin-bottom:8px!important;
}
.cb-footer p{
  font-size:13.5px!important;
  line-height:1.42!important;
}
.cb-footer p b{
  margin-top:3px!important;
  font-size:20px!important;
}
.footer-floral{
  width:125px!important;
  height:28px!important;
  margin-top:8px!important;
}
.cb-social-icons{
  gap:10px!important;
  margin-top:10px!important;
}
.cb-social-icons .social{
  width:36px!important;
  height:36px!important;
}
.cb-social-icons svg{
  width:22px!important;
  height:22px!important;
}
.cb-local{
  font-size:27px!important;
  line-height:1.08!important;
}
.local-heart{
  font-size:40px!important;
  margin-top:8px!important;
}
.cb-footer::after{
  height:24px!important;
}

@media(max-width:1100px){
  .cb-footer .container,
  .cb-footer-grid{width:calc(100% - 24px)!important}
  .footer-col,.cb-local{min-height:145px!important;padding:10px 22px!important}
}
@media(max-width:680px){
  .cb-footer{padding-top:18px!important}
  .footer-col,.cb-local{min-height:135px!important}
}

/* =========================================================
   Build 1.0.23 — MENU.HTML PROFESIONAL
   IMPORTANTE: index.html NO SE MODIFICA.
   ========================================================= */
.menu-page{
  background:#fff6e5!important;
  color:#082b50!important;
}
.menu-page .top{
  background:#06294b!important;
  border-bottom:3px solid #f28b22!important;
}
.menu-page .nav{
  min-height:104px!important;
}
.menu-page .approved-logo img{
  max-height:82px!important;
  width:auto!important;
}
.menu-page .menu-hero-pro{
  position:relative!important;
  overflow:hidden!important;
  text-align:center!important;
  padding:58px 20px 42px!important;
  background:
    radial-gradient(circle at 8% 30%,rgba(237,54,88,.07),transparent 18%),
    radial-gradient(circle at 92% 70%,rgba(242,139,34,.08),transparent 20%),
    #fff3dc!important;
  border-bottom:1px solid rgba(242,139,34,.38)!important;
}
.menu-page .menu-hero-pro .tag{
  color:#ef3658!important;
  letter-spacing:3px!important;
  font-weight:800!important;
}
.menu-page .menu-hero-pro h1{
  font-family:"Playfair Display",serif!important;
  font-size:clamp(48px,7vw,78px)!important;
  line-height:1!important;
  margin:10px 0 8px!important;
  color:#062f55!important;
}
.menu-hero-flourish{
  color:#e93457!important;
  font-size:22px!important;
  margin:8px 0 15px!important;
}
.menu-page .menu-hero-pro p{
  font-size:18px!important;
  line-height:1.55!important;
  color:#183c5d!important;
}
.menu-page .menu-hero-pro p span{
  color:#d52e4e!important;
  font-weight:700!important;
}
.menu-page .category-nav{
  margin-top:28px!important;
  gap:9px!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
}
.menu-page .category-nav a{
  background:#fff!important;
  border:1px solid #e7c795!important;
  border-radius:999px!important;
  padding:10px 18px!important;
  color:#082b50!important;
  font-weight:800!important;
  box-shadow:0 5px 16px rgba(6,41,75,.07)!important;
}
.menu-page .category-nav a:hover{
  transform:translateY(-2px)!important;
  border-color:#ed3658!important;
  color:#ed3658!important;
}

.menu-body{
  max-width:1180px!important;
  padding-top:22px!important;
  padding-bottom:70px!important;
}
.menu-cat{
  margin:0 0 54px!important;
  padding:30px 0 0!important;
  scroll-margin-top:110px!important;
}
.cat-title{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  margin-bottom:22px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #e6bf82!important;
}
.cat-title>span{
  width:46px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#062f55!important;
  color:#fff!important;
  font-size:22px!important;
  box-shadow:0 5px 14px rgba(6,47,85,.15)!important;
}
.cat-title small{
  color:#f17c20!important;
  font-weight:800!important;
  letter-spacing:2.5px!important;
}
.cat-title h2{
  font-family:"Playfair Display",serif!important;
  font-size:42px!important;
  color:#062f55!important;
  margin:2px 0 0!important;
}

.dish-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.dish{
  position:relative!important;
  overflow:hidden!important;
  min-height:150px!important;
  border:1px solid #ead4af!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff 0%,#fffaf0 100%)!important;
  box-shadow:0 9px 25px rgba(31,50,70,.07)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.dish:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 13px 30px rgba(31,50,70,.11)!important;
}
.dish.text{
  padding:0!important;
}
.dish.text::after{
  content:"❦"!important;
  position:absolute!important;
  right:22px!important;
  bottom:10px!important;
  font-family:serif!important;
  font-size:54px!important;
  color:rgba(242,139,34,.10)!important;
  transform:rotate(-10deg)!important;
}
.dish-copy{
  position:relative!important;
  z-index:1!important;
  padding:25px 28px!important;
}
.dish h3{
  font-family:"Playfair Display",serif!important;
  color:#062f55!important;
  font-size:25px!important;
  line-height:1.15!important;
  margin:0 0 9px!important;
}
.dish h3 strong,.dish p strong{
  color:#e93457!important;
  font-weight:800!important;
}
.dish h3::after{
  content:""!important;
  display:block!important;
  width:42px!important;
  height:2px!important;
  margin-top:10px!important;
  background:#f28b22!important;
}
.dish p{
  color:#42566b!important;
  line-height:1.55!important;
  margin:0!important;
}
.dish.feature{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(330px,43%) 1fr!important;
  min-height:250px!important;
  padding:0!important;
}
.dish-photo{
  min-height:250px!important;
  overflow:hidden!important;
}
.dish-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.dish.feature .dish-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:34px!important;
}
.dish.feature h3{
  font-size:31px!important;
}
.dish em{
  display:inline-block!important;
  margin-top:10px!important;
  color:#e93457!important;
  font-weight:800!important;
  font-style:normal!important;
}

/* Alternar color del pequeño acento por sección */
#antojitos .cat-title>span{background:#d91f4c!important}
#tacos .cat-title>span{background:#378c27!important}
#comidas .cat-title>span{background:#e36f00!important}
#bebidas .cat-title>span{background:#168caf!important}
#postres .cat-title>span{background:#77309a!important}

.menu-end{
  margin-top:35px!important;
  padding:38px!important;
  border-radius:22px!important;
  background:#06294b!important;
  color:#fff!important;
  text-align:center!important;
}
.menu-end img{max-width:105px!important}
.menu-end h2{
  font-family:"Playfair Display",serif!important;
  font-size:38px!important;
  margin:8px 0!important;
}
.menu-end p{color:#fff!important}

.menu-page>footer{
  background:#041d35!important;
  color:#fff!important;
  border-top:4px solid #f28b22!important;
}

@media(max-width:760px){
  .menu-page .nav{min-height:82px!important}
  .menu-page .approved-logo img{max-height:62px!important}
  .menu-page .menu-hero-pro{padding:42px 16px 30px!important}
  .menu-page .menu-hero-pro h1{font-size:48px!important}
  .menu-body{padding-left:15px!important;padding-right:15px!important}
  .dish-grid{grid-template-columns:1fr!important}
  .dish.feature{
    grid-column:auto!important;
    grid-template-columns:1fr!important;
  }
  .dish-photo{min-height:205px!important}
  .cat-title h2{font-size:35px!important}
  .dish-copy{padding:22px!important}
}

/* =========================================================
   Build 1.0.24 — AJUSTES APROBADOS HOME
   1. Sin pleca floral bajo "Nuestros Sabores para Ti".
   2. Sin iconos ambiguos en títulos de categorías.
   3. Pleca floral SOLO al pie del footer, completa.
   4. Sección Tradición conserva fondo crema uniforme.
   ========================================================= */

/* Quitar cualquier cenefa/pleca que cierre el bloque de sabores */
.flavor-strip,
.sabores-strip,
.sabores-pleca,
#sabores::after,
.flavors::after,
.cb-flavors::after,
.cb-sabores::after{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
}

/* Evitar que una regla genérica vuelva a pintar la pleca entre Sabores y Tradición */
.cb-flavors,
.cb-sabores,
#sabores,
.flavors{
  border-bottom:0!important;
  box-shadow:none!important;
}

/* Títulos limpios: solo texto, sin pseudo-iconos */
.flavor-card h3::before,
.flavor-card .title::before,
.flavor-card .name::before,
.sabor-card h3::before,
.sabor-card .title::before,
.sabor-card .name::before{
  content:none!important;
  display:none!important;
}

/* Tradición: crema continuo y limpio */
.tradition,
.tradition-section,
.cb-tradition,
#tradicion{
  background:#fff2d8!important;
  background-image:none!important;
}

/* Footer: una sola pleca, exclusivamente abajo y sin recorte */
.cb-footer{
  position:relative!important;
  overflow:visible!important;
  padding-bottom:42px!important;
}
.cb-footer::before{
  content:none!important;
  display:none!important;
}
.cb-footer::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:30px!important;
  background-image:var(--footer-floral-image, url("assets/floral-strip.png"))!important;
  background-repeat:repeat-x!important;
  background-position:left bottom!important;
  background-size:auto 30px!important;
  background-color:#06294b!important;
  overflow:visible!important;
}

/* Si el proyecto ya tiene una imagen específica para la cenefa, reutilizarla completa */
.footer-flower-strip,
.footer-floral-strip,
.footer-pleca{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:30px!important;
  overflow:hidden!important;
  background-color:#06294b!important;
}
.footer-flower-strip img,
.footer-floral-strip img,
.footer-pleca img{
  width:100%!important;
  height:30px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}

/* Neutralizar cualquier pleca adicional antes del footer */
.tradition + .footer-flower-strip,
.tradition-section + .footer-flower-strip,
.cb-tradition + .footer-flower-strip{
  display:none!important;
}

@media(max-width:680px){
  .cb-footer{padding-bottom:36px!important}
  .cb-footer::after{height:26px!important;background-size:auto 26px!important}
}

/* =========================================================
   Build 1.0.25 — CORRECCIONES EXACTAS SOLICITADAS
   ========================================================= */

/* 1) NUESTROS SABORES: SIN PLECA INFERIOR */
#sabores.cb-specials::after{
  content:none!important;
  display:none!important;
  background:none!important;
  height:0!important;
}
#sabores.cb-specials{
  padding-bottom:26px!important;
  border-bottom:0!important;
}

/* 2) ENCABEZADOS DE CATEGORÍAS: SOLO TEXTO, SIN ICONOS */
#sabores .cb-card h3::before,
#sabores .cb-card.pink h3::before,
#sabores .cb-card.green h3::before,
#sabores .cb-card.orange h3::before,
#sabores .cb-card.cyan h3::before,
#sabores .cb-card.purple h3::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
}
#sabores .cb-card h3{
  padding-left:10px!important;
  padding-right:10px!important;
}

/* 3) TRADICIÓN: FOTO SIN MARCO/FONDO CUADRADO, RECORTE PROFESIONAL */
#restaurante.cb-story{
  background:#fff2d8!important;
  padding:48px 0!important;
}
#restaurante.cb-story .container{
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  align-items:center!important;
  gap:42px!important;
  max-width:1180px!important;
}
#restaurante.cb-story .story-food-photo{
  content:normal!important;
  display:block!important;
  width:320px!important;
  height:205px!important;
  min-width:0!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(5,36,65,.15)!important;
  clip-path:none!important;
  transform:none!important;
  overflow:hidden!important;
}
#restaurante.cb-story span{
  color:#e93457!important;
}
#restaurante.cb-story h2{
  color:#062f55!important;
  margin:8px 0 16px!important;
}
#restaurante.cb-story p{
  color:#183c5d!important;
  line-height:1.55!important;
}

/* 4) FOOTER: SIN PSEUDO-PLECAS. UNA PLECA REAL, COMPLETA Y SOLO ABAJO */
#contacto.cb-footer{
  overflow:hidden!important;
  padding-bottom:0!important;
}
#contacto.cb-footer::before,
#contacto.cb-footer::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.footer-bottom-pleca{
  display:block!important;
  width:100%!important;
  line-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#061f3a!important;
}
.footer-bottom-pleca img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Responsive */
@media(max-width:760px){
  #restaurante.cb-story .container{
    grid-template-columns:1fr!important;
    gap:24px!important;
    text-align:center!important;
  }
  #restaurante.cb-story .story-food-photo{
    width:min(100%,420px)!important;
    height:235px!important;
    margin:0 auto!important;
  }
}

/* =========================================================
   Build 1.0.26 — FOOTER RESPONSIVE CELULAR + TABLETA
   Corrige superposición y desbordes sin alterar escritorio.
   ========================================================= */

/* TABLET */
@media (max-width: 980px){
  #contacto.cb-footer{
    padding:28px 18px 0!important;
  }

  #contacto .cb-footer-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
    max-width:760px!important;
    margin:0 auto!important;
    align-items:stretch!important;
  }

  #contacto .footer-brand-block{
    grid-column:1/-1!important;
    padding:0 0 8px!important;
    min-height:0!important;
    border:0!important;
  }

  #contacto .footer-brand-block img{
    width:260px!important;
    max-width:72vw!important;
    height:auto!important;
    margin:0 auto!important;
    display:block!important;
  }

  #contacto .footer-col,
  #contacto .cb-local{
    min-width:0!important;
    width:auto!important;
    min-height:170px!important;
    padding:18px 16px!important;
    margin:0!important;
    border-left:0!important;
    border-top:1px dotted rgba(242,140,40,.45)!important;
    box-sizing:border-box!important;
    text-align:center!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }

  #contacto .footer-icon{
    width:42px!important;
    height:42px!important;
    margin:0 auto 8px!important;
  }

  #contacto .footer-icon svg{
    width:38px!important;
    height:38px!important;
  }

  #contacto .cb-footer strong{
    font-size:16px!important;
    line-height:1.15!important;
    margin:0 0 10px!important;
    text-align:center!important;
  }

  #contacto .cb-footer p{
    font-size:13px!important;
    line-height:1.45!important;
    text-align:center!important;
    margin:0!important;
    overflow-wrap:anywhere!important;
  }

  #contacto .cb-footer p b{
    font-size:18px!important;
    line-height:1.2!important;
  }

  #contacto .cb-social-icons{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    gap:10px!important;
    margin-top:12px!important;
  }

  #contacto .cb-social-icons .social{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
  }

  #contacto .footer-floral{
    width:118px!important;
    height:30px!important;
    margin:12px auto 0!important;
    object-fit:contain!important;
  }

  #contacto .cb-local{
    font-size:25px!important;
    line-height:1.15!important;
    justify-content:center!important;
  }

  #contacto .local-heart{
    font-size:38px!important;
    margin-top:8px!important;
  }

  #contacto .footer-bottom-pleca{
    margin-top:20px!important;
  }

  #contacto .footer-bottom-pleca img{
    width:100%!important;
    height:auto!important;
    min-height:26px!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* CELULAR */
@media (max-width: 640px){
  #contacto.cb-footer{
    padding:24px 14px 0!important;
  }

  #contacto .cb-footer-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
  }

  #contacto .footer-brand-block{
    width:100%!important;
    padding:0 0 22px!important;
    border:0!important;
  }

  #contacto .footer-brand-block img{
    width:230px!important;
    max-width:78vw!important;
  }

  #contacto .footer-col,
  #contacto .cb-local{
    width:100%!important;
    min-height:0!important;
    padding:22px 10px!important;
    border-left:0!important;
    border-top:1px dotted rgba(242,140,40,.5)!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }

  #contacto .footer-icon{
    width:40px!important;
    height:40px!important;
    margin-bottom:7px!important;
  }

  #contacto .footer-icon svg{
    width:36px!important;
    height:36px!important;
  }

  #contacto .cb-footer strong{
    font-size:17px!important;
    margin-bottom:10px!important;
  }

  #contacto .cb-footer p{
    font-size:14px!important;
    line-height:1.5!important;
    max-width:290px!important;
    margin:0 auto!important;
    text-align:center!important;
  }

  #contacto .cb-footer p br{
    display:none!important;
  }

  #contacto .cb-footer p b{
    display:block!important;
    margin-top:8px!important;
    font-size:19px!important;
  }

  #contacto .cb-social-icons{
    gap:12px!important;
    margin-top:14px!important;
  }

  #contacto .cb-social-icons .social{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
  }

  #contacto .footer-floral{
    width:130px!important;
    height:32px!important;
    margin-top:12px!important;
  }

  #contacto .cb-local{
    font-size:27px!important;
    line-height:1.12!important;
    padding-top:26px!important;
    padding-bottom:30px!important;
  }

  #contacto .local-heart{
    font-size:42px!important;
  }

  #contacto .footer-bottom-pleca{
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-top:0!important;
    overflow:hidden!important;
  }

  #contacto .footer-bottom-pleca img{
    width:100%!important;
    height:auto!important;
    min-height:24px!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* =========================================================
   Build 1.0.27 — LIMPIEZA BAJO "NUESTROS SABORES PARA TI"
   ========================================================= */
#sabores.cb-specials::before,
#sabores.cb-specials::after,
#sabores .container::before,
#sabores .container::after,
#sabores .cb-specials-grid::before,
#sabores .cb-specials-grid::after{
  content:none!important;
  display:none!important;
  border:0!important;
  width:0!important;
  height:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* Sin líneas, guiones ni separadores al final de Sabores */
#sabores.cb-specials,
#sabores .container,
#sabores .cb-specials-grid{
  border-bottom:0!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

/* Conservamos expresamente las flores internas de las tarjetas */
#sabores .cb-card .floral-divider,
#sabores .cb-card img[src*="flor"],
#sabores .cb-card img[src*="adorno"]{
  display:block!important;
}

/* La cenefa inferior del footer se conserva intacta */
#contacto .footer-bottom-pleca{
  display:block!important;
}


/* =========================================================
   Build 1.0.28 — QUITAR GUIONES NARANJAS DEL TÍTULO SABORES
   ========================================================= */
#sabores .cb-title.mockup-title::after,
.cb-title.mockup-title::after{
  content:none!important;
  display:none!important;
  position:static!important;
  width:0!important;
  height:0!important;
  background:none!important;
  background-image:none!important;
  transform:none!important;
  opacity:0!important;
}

/* Build 1.0.29 — menú compacto profesional */
.menu-page .menu-hero-pro{padding:32px 20px 24px!important}
.menu-page .menu-hero-pro h1{font-size:clamp(40px,5vw,58px)!important;margin:5px 0 3px!important}
.menu-page .menu-hero-pro .tag{font-size:10px!important}
.menu-hero-flourish{font-size:17px!important;margin:3px 0 8px!important}
.menu-page .menu-hero-pro p{font-size:15px!important;line-height:1.35!important;margin:0 auto 14px!important}
.menu-page .category-nav{margin-top:14px!important;gap:7px!important}
.menu-page .category-nav a{padding:7px 14px!important;font-size:11px!important}
.menu-body{max-width:1240px!important;padding-top:10px!important;padding-bottom:45px!important}
.menu-cat{margin:0 0 30px!important;padding:20px 0 0!important}
.cat-title{gap:11px!important;margin-bottom:13px!important;padding-bottom:9px!important}
.cat-title>span{width:38px!important;height:38px!important;font-size:18px!important}
.cat-title small{font-size:10px!important;letter-spacing:2.2px!important}
.cat-title h2{font-size:34px!important;line-height:1!important}
.dish-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;border-top:1px solid rgba(230,191,130,.55)!important;border-left:1px solid rgba(230,191,130,.35)!important}
.dish{min-height:0!important;border:0!important;border-right:1px solid rgba(230,191,130,.62)!important;border-bottom:1px solid rgba(230,191,130,.48)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.dish:hover{transform:none!important;box-shadow:none!important;background:rgba(255,255,255,.48)!important}
.dish.text::after{display:none!important;content:none!important}
.dish-copy{padding:16px 20px!important}
.dish h3{font-size:20px!important;margin:0 0 5px!important}
.dish h3::after{width:30px!important;height:2px!important;margin-top:6px!important}
.dish p{font-size:13px!important;line-height:1.4!important;margin:0!important}
.dish.feature{grid-column:span 2!important;grid-template-columns:210px 1fr!important;min-height:150px!important}
.dish-photo{min-height:150px!important;height:100%!important}
.dish.feature .dish-copy{padding:18px 22px!important}
.dish.feature h3{font-size:23px!important}
.menu-end{margin-top:25px!important;padding:25px!important}
.menu-end img{max-width:80px!important}
.menu-end h2{font-size:31px!important}
@media(max-width:900px){
 .dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .dish.feature{grid-column:1/-1!important}
}
@media(max-width:600px){
 .menu-page .nav{min-height:70px!important}
 .menu-page .approved-logo img{max-height:52px!important}
 .menu-page .menu-hero-pro{padding:22px 13px 17px!important}
 .menu-page .menu-hero-pro h1{font-size:36px!important}
 .menu-hero-flourish{font-size:14px!important;margin:2px 0 5px!important}
 .menu-page .menu-hero-pro p{font-size:13px!important;margin-bottom:9px!important}
 .menu-page .category-nav{margin-top:9px!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:0 0 4px!important;scrollbar-width:none!important}
 .menu-page .category-nav::-webkit-scrollbar{display:none!important}
 .menu-page .category-nav a{flex:0 0 auto!important;padding:6px 11px!important;font-size:10px!important}
 .menu-body{padding:4px 12px 32px!important}
 .menu-cat{padding-top:15px!important;margin-bottom:20px!important}
 .cat-title{gap:9px!important;margin-bottom:8px!important;padding-bottom:7px!important}
 .cat-title>span{width:32px!important;height:32px!important;font-size:15px!important}
 .cat-title small{font-size:9px!important;letter-spacing:1.7px!important}
 .cat-title h2{font-size:27px!important}
 .dish-grid{grid-template-columns:1fr!important;border-left:0!important}
 .dish{border-right:0!important;min-height:0!important}
 .dish-copy{padding:12px 10px!important}
 .dish h3{font-size:18px!important;margin-bottom:3px!important}
 .dish h3::after{width:24px!important;margin-top:5px!important}
 .dish p{font-size:12.5px!important;line-height:1.35!important}
 .dish.feature{grid-column:auto!important;display:grid!important;grid-template-columns:105px 1fr!important;min-height:115px!important}
 .dish-photo{min-height:115px!important}
 .dish.feature .dish-copy{padding:12px!important}
 .dish.feature h3{font-size:19px!important}
 .menu-end{margin-top:18px!important;padding:20px 12px!important}
 .menu-end img{max-width:65px!important}
 .menu-end h2{font-size:27px!important}
}

/* =========================================================
   Build 1.0.30 — MENU CON HEADER Y FOOTER COMPLETOS
   ========================================================= */
.menu-page .cb-header{
  position:relative!important;
  z-index:50!important;
}
.menu-page .cb-header .cb-links a.active{
  color:#fff!important;
  border-bottom:3px solid #f28b22!important;
}
.menu-page .cb-header + .menu-hero-pro{
  margin-top:0!important;
}

/* Se elimina cualquier reserva visual del antiguo "Buen provecho" */
.menu-page .menu-end,
.menu-page .menu-end-clean{
  display:none!important;
}

/* El footer del menú usa exactamente el mismo sistema que inicio */
.menu-page #contacto.cb-footer{
  margin-top:0!important;
}

/* Tablet */
@media(max-width:980px){
  .menu-page .cb-nav{
    min-height:88px!important;
    gap:14px!important;
  }
  .menu-page .cb-links{
    gap:14px!important;
  }
  .menu-page .cb-links a{
    font-size:11px!important;
  }
  .menu-page .cb-info{
    font-size:10px!important;
    padding:10px 12px!important;
  }
}

/* Celular: navegación completa pero compacta, en dos renglones si es necesario */
@media(max-width:680px){
  .menu-page .cb-header{
    position:relative!important;
  }
  .menu-page .cb-nav{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    min-height:auto!important;
    padding:10px 12px 12px!important;
    gap:8px 12px!important;
  }
  .menu-page .approved-logo{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
  }
  .menu-page .approved-logo img{
    max-height:60px!important;
    width:auto!important;
  }
  .menu-page .cb-links{
    order:2!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:7px 13px!important;
  }
  .menu-page .cb-links a{
    font-size:10px!important;
    padding:4px 0!important;
  }
  .menu-page .cb-info{
    order:3!important;
    font-size:10px!important;
    padding:8px 12px!important;
  }
}

/* =========================================================
   Build 1.0.32 — MENÚ VISUAL PREMIUM CON MÁS FOTOGRAFÍAS
   ========================================================= */

.menu-page .dish-grid{
  gap:14px!important;
  border:0!important;
}

.menu-page .dish{
  border:1px solid #ead4af!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.70)!important;
  box-shadow:0 6px 18px rgba(18,48,75,.055)!important;
  overflow:hidden!important;
}

.menu-page .dish:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 24px rgba(18,48,75,.10)!important;
  background:#fffdf8!important;
}

.menu-page .dish-with-photo{
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  min-height:112px!important;
}

.menu-page .dish-thumb{
  min-width:0!important;
  height:100%!important;
  min-height:112px!important;
  overflow:hidden!important;
  background:#ead4af!important;
}

.menu-page .dish-thumb img{
  width:100%!important;
  height:100%!important;
  min-height:112px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}

.menu-page .dish-with-photo .dish-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:14px 15px!important;
}

.menu-page .dish-with-photo h3{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:8px!important;
  font-size:18px!important;
  margin:0 0 4px!important;
}

.menu-page .dish-with-photo h3 strong{
  flex:0 0 auto!important;
  font-size:17px!important;
}

.menu-page .dish-with-photo h3::after{
  position:absolute!important;
  width:24px!important;
  margin-top:28px!important;
}

.menu-page .dish-with-photo p{
  margin-top:8px!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}

/* Platillo destacado aún visual, pero más proporcionado */
.menu-page .dish.feature{
  border-radius:16px!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  min-height:165px!important;
}
.menu-page .dish.feature .dish-photo{
  min-height:165px!important;
}
.menu-page .dish.feature .dish-copy{
  padding:20px!important;
}

/* Separación elegante por categorías */
.menu-page .menu-cat{
  position:relative!important;
}
.menu-page .menu-cat + .menu-cat{
  margin-top:8px!important;
}
.menu-page .cat-title{
  border-bottom:1px solid rgba(226,157,67,.55)!important;
}

/* Escritorio grande: 3 columnas visuales */
@media(min-width:1050px){
  .menu-page .dish-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .menu-page .dish.feature{
    grid-column:span 2!important;
  }
}

/* Tablet */
@media(min-width:681px) and (max-width:1049px){
  .menu-page .dish-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .menu-page .dish.feature{
    grid-column:1/-1!important;
  }
}

/* Celular: foto pequeña + información, sin tarjetas gigantes */
@media(max-width:680px){
  .menu-page .dish-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  .menu-page .dish-with-photo{
    grid-template-columns:92px minmax(0,1fr)!important;
    min-height:92px!important;
    border-radius:12px!important;
  }

  .menu-page .dish-thumb,
  .menu-page .dish-thumb img{
    min-height:92px!important;
  }

  .menu-page .dish-with-photo .dish-copy{
    padding:10px 11px!important;
  }

  .menu-page .dish-with-photo h3{
    font-size:16px!important;
  }

  .menu-page .dish-with-photo h3 strong{
    font-size:15px!important;
  }

  .menu-page .dish-with-photo p{
    font-size:11.5px!important;
    margin-top:6px!important;
  }

  .menu-page .dish.feature{
    grid-template-columns:110px minmax(0,1fr)!important;
    min-height:108px!important;
  }

  .menu-page .dish.feature .dish-photo{
    min-height:108px!important;
  }

  .menu-page .dish.feature .dish-copy{
    padding:11px!important;
  }
}

/* =========================================================
   Build 1.0.34 — REVISIÓN CONTRA CARTA REAL
   ========================================================= */
#hamburguesas .cat-title>span{background:#d96a06!important}
#ensaladas .cat-title>span{background:#3d8a24!important}
#birria-pozole .cat-title>span{background:#b52646!important}

.menu-page .category-nav{
  flex-wrap:wrap!important;
}
.menu-page .category-nav a{
  white-space:nowrap!important;
}

/* Build 1.0.35 - menu estilo carta colorida */
.menu-page{background:#f7ead0!important}
.menu-poster-hero{background:#fff1d6!important;border-bottom:1px solid rgba(199,137,59,.45)!important;padding:28px 14px 22px!important}
.menu-poster-title{text-align:center!important}
.menu-poster-title span{color:#d92e52!important;font-weight:800!important;letter-spacing:3px!important;font-size:11px!important}
.menu-poster-title h1{font-family:"Playfair Display",serif!important;color:#0a3359!important;font-size:clamp(42px,6vw,66px)!important;line-height:1!important;margin:6px 0!important}
.menu-poster-title p{margin:0!important;color:#183c5d!important;font-size:14px!important;line-height:1.45!important}
.menu-poster-title p b{color:#d96a08!important}
.poster-nav{margin-top:16px!important;justify-content:center!important;gap:7px!important;flex-wrap:wrap!important}
.poster-nav a{padding:7px 12px!important;font-size:10px!important;background:#fff9ee!important;border:1px solid #e6c698!important;box-shadow:none!important}
.menu-poster-shell{padding:26px 0 48px!important;background:#fff7e7!important}
.menu-poster-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}
.poster-menu-card{background:#fff7e7!important;border:2px solid rgba(128,78,28,.18)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 9px 24px rgba(15,44,69,.09)!important;scroll-margin-top:110px!important}
.poster-card-title{background:var(--section-color)!important;color:#fff!important;font-family:"Playfair Display",serif!important;font-size:24px!important;font-weight:800!important;text-align:center!important;letter-spacing:.4px!important;padding:10px 12px!important;border-bottom:3px solid rgba(255,255,255,.42)!important}
.poster-card-list{padding:9px 13px 8px!important}
.poster-menu-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;align-items:start!important;padding:7px 0!important;border-bottom:1px dotted rgba(50,80,100,.34)!important;color:#0a3359!important}
.poster-menu-row:last-child{border-bottom:0!important}
.poster-menu-row b{display:block!important;font-family:"Playfair Display",serif!important;font-size:15px!important;line-height:1.1!important}
.poster-menu-row small{display:block!important;margin-top:2px!important;font-size:10px!important;line-height:1.25!important;color:#40536a!important}
.poster-menu-row strong{color:#c82646!important;font-size:14px!important;white-space:nowrap!important}
.poster-card-photo{display:block!important;width:100%!important;height:150px!important;object-fit:cover!important;object-position:center!important;border-top:1px solid rgba(128,78,28,.16)!important}
#bebidas .poster-card-photo{height:185px!important}
#postres .poster-card-photo,#desayunos .poster-card-photo{height:135px!important}
#desayunos,#bebidas,#birria-pozole{grid-row:span 2!important}
@media(max-width:1020px){
 .menu-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #desayunos,#bebidas,#birria-pozole{grid-row:auto!important}
}
@media(max-width:650px){
 .menu-poster-hero{padding:20px 10px 16px!important}
 .menu-poster-title h1{font-size:38px!important}
 .menu-poster-title p{font-size:12px!important}
 .poster-nav{justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:3px!important;scrollbar-width:none!important}
 .poster-nav::-webkit-scrollbar{display:none!important}
 .poster-nav a{flex:0 0 auto!important}
 .menu-poster-shell{padding:16px 0 30px!important}
 .menu-poster-grid{grid-template-columns:1fr!important;gap:12px!important;padding-left:12px!important;padding-right:12px!important}
 .poster-menu-card{border-radius:14px!important}
 .poster-card-title{font-size:21px!important;padding:8px 10px!important}
 .poster-card-list{padding:7px 11px!important}
 .poster-menu-row{padding:6px 0!important}
 .poster-menu-row b{font-size:14px!important}
 .poster-menu-row small{font-size:9.5px!important}
 .poster-menu-row strong{font-size:13px!important}
 .poster-card-photo,#bebidas .poster-card-photo,#postres .poster-card-photo,#desayunos .poster-card-photo{height:125px!important}
}

/* =========================================================
   Build 1.0.36 — MENÚ WEB APEGADO AL PDF COLORIDO APROBADO
   ========================================================= */
.menu-reference-hero{
  width:100%!important;
  background:#061f3a!important;
  overflow:hidden!important;
  border-bottom:4px solid #e47c19!important;
}
.menu-reference-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:430px!important;
  object-fit:cover!important;
  object-position:center top!important;
}
.menu-reference-nav-wrap{
  background:#f4dfb9!important;
  border-bottom:1px solid #d7b077!important;
  padding:10px 0!important;
}
.menu-reference-nav-wrap .poster-nav{
  margin:0!important;
}

.menu-poster-shell{
  background:
    radial-gradient(circle at 15% 15%,rgba(208,61,75,.04),transparent 22%),
    radial-gradient(circle at 85% 60%,rgba(33,132,144,.04),transparent 22%),
    #f6e3bd!important;
  padding:24px 0 42px!important;
}
.menu-poster-grid{
  max-width:1220px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}

.poster-menu-card{
  background:#fdf0cf!important;
  border:2px solid #d5ae72!important;
  border-radius:18px!important;
  box-shadow:
    0 2px 0 rgba(255,255,255,.65) inset,
    0 8px 18px rgba(77,47,20,.10)!important;
}
.poster-card-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:45px!important;
  padding:8px 10px!important;
  font-family:"Playfair Display",serif!important;
  font-size:24px!important;
  letter-spacing:.3px!important;
  border-bottom:2px solid rgba(112,58,23,.22)!important;
}
.poster-card-title img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
}
.poster-card-list{
  padding:10px 13px 9px!important;
}
.poster-menu-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  padding:6px 0!important;
  border-bottom:0!important;
}
.poster-menu-row::after{
  content:""!important;
  position:absolute!important;
  left:7px!important;
  right:7px!important;
  bottom:2px!important;
  border-bottom:1px dotted rgba(45,72,91,.34)!important;
  z-index:0!important;
}
.poster-menu-row:last-child::after{display:none!important}
.poster-menu-row>div,
.poster-menu-row>strong{
  position:relative!important;
  z-index:1!important;
  background:#fdf0cf!important;
}
.poster-menu-row b{
  font-family:"Arial",sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  color:#173e66!important;
  padding-right:5px!important;
}
.poster-menu-row b::before{
  content:"✿"!important;
  color:#d7543e!important;
  font-size:10px!important;
  margin-right:5px!important;
}
.poster-menu-row small{
  font-family:"Arial",sans-serif!important;
  font-size:9px!important;
  line-height:1.22!important;
  color:#354e62!important;
  margin-left:15px!important;
}
.poster-menu-row strong{
  color:#bf2a3f!important;
  font-family:"Arial",sans-serif!important;
  font-size:13px!important;
  padding-left:4px!important;
}
.poster-card-photo{
  height:168px!important;
  border-top:2px solid #d5ae72!important;
  filter:saturate(1.08) contrast(1.02)!important;
}

/* tarjetas con alturas similares al menú impreso */
#desayunos .poster-card-photo{height:150px!important}
#antojitos .poster-card-photo{height:150px!important}
#tacos .poster-card-photo{height:170px!important}
#ahogados .poster-card-photo{height:180px!important}
#bebidas .poster-card-photo{height:215px!important}
#postres .poster-card-photo{height:145px!important}

/* ordenar visualmente como póster */
#desayunos{grid-row:span 2!important}
#bebidas{grid-row:span 2!important}
#birria-pozole{grid-row:span 2!important}

@media(max-width:1020px){
  .menu-reference-hero img{max-height:360px!important}
  .menu-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #desayunos,#bebidas,#birria-pozole{grid-row:auto!important}
}
@media(max-width:650px){
  .menu-reference-hero img{
    height:230px!important;
    object-fit:cover!important;
    object-position:center top!important;
  }
  .menu-reference-nav-wrap{padding:7px 0!important}
  .menu-poster-shell{padding:14px 0 28px!important}
  .menu-poster-grid{grid-template-columns:1fr!important;gap:11px!important}
  .poster-card-title{font-size:20px!important;min-height:40px!important}
  .poster-card-title img{width:20px!important;height:20px!important}
  .poster-card-list{padding:8px 11px!important}
  .poster-menu-row b{font-size:13px!important}
  .poster-menu-row small{font-size:9px!important}
  .poster-menu-row strong{font-size:12.5px!important}
  .poster-card-photo,
  #desayunos .poster-card-photo,
  #antojitos .poster-card-photo,
  #tacos .poster-card-photo,
  #ahogados .poster-card-photo,
  #bebidas .poster-card-photo,
  #postres .poster-card-photo{height:135px!important}
}

/* =========================================================
   Build 1.0.37 — MENU WEB VISUALMENTE IGUAL AL PDF APROBADO
   ========================================================= */
.menu-approved-poster-page{
  background:#061f3a!important;
  padding:18px 12px 24px!important;
}
.menu-approved-poster-wrap{
  width:min(100%,1180px)!important;
  margin:0 auto!important;
  background:#f4dfba!important;
  box-shadow:0 16px 38px rgba(0,0,0,.20)!important;
  line-height:0!important;
}
.menu-approved-poster-img{
  width:100%!important;
  height:auto!important;
  display:block!important;
}
.menu-poster-mobile-note{
  display:none!important;
  color:#fff!important;
  text-align:center!important;
  margin:10px 0 0!important;
  font-size:12px!important;
}
@media(max-width:700px){
  .menu-approved-poster-page{
    padding:10px 0 18px!important;
    overflow-x:auto!important;
  }
  .menu-approved-poster-wrap{
    width:920px!important;
    max-width:none!important;
    margin-left:0!important;
  }
  .menu-approved-poster-img{
    width:920px!important;
    max-width:none!important;
  }
  .menu-poster-mobile-note{
    display:block!important;
    position:sticky!important;
    left:0!important;
    width:100vw!important;
    padding:0 10px!important;
  }
}
