/* Menue · Carta por defecto, basada en el diseño alternativo de Doris.
   Se aplica exclusivamente a la vista publica que carga esta hoja.
   No modifica el modelo de datos ni los controles de pedidos. */
html { scrollbar-gutter: stable; }
body {
  --md-bg:#f8f7f2; --md-surface:#ffffff; --md-soft:#f1efe6;
  --md-text:#1b1b15; --md-muted:#67675e; --md-line:#e3e1d6;
  --md-yellow:#f9d521; --md-yellow-text:#252008;
  background:var(--md-bg)!important;
  color:var(--md-text)!important;
  -webkit-font-smoothing:antialiased;
}
body[data-theme="dark"] {
  --md-bg:#10100e; --md-surface:#1b1b17; --md-soft:#23231e;
  --md-text:#faf9f1; --md-muted:#acaca1; --md-line:#32322b;
  --md-yellow:#ffe12e; --md-yellow-text:#1c1906;
  color-scheme:dark;
}
body[data-theme="mix"] {
  --md-bg:#f8f7f2; --md-surface:#ffffff; --md-soft:#f1efe6;
  --md-text:#1b1b15; --md-muted:#67675e; --md-line:#e3e1d6;
  --md-yellow:#f9d521; --md-yellow-text:#252008;
  color-scheme:light;
}
body .shell {width:min(1120px,100%)!important;max-width:1120px!important;padding-inline:24px!important;margin-inline:auto!important}

/* Portada negra, sin adornos ni marcos decorativos. */
body .hero {
  background:#080808!important;
  border-bottom:1px solid #333127!important;
  padding:0!important;
  color:#fff!important;
}
body .hero-cover {
  min-height:0!important;
  padding:20px 0 30px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  overflow:visible!important;
}
body .hero-cover>.hero-art {display:none!important}
body .hero-integrated-top {
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  width:100%!important;
  min-height:72px!important;
  padding:0 0 17px!important;
  border-bottom:1px solid #303027!important;
}
body .hero-integrated-top>.brand {
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  gap:14px!important;
  color:#fff!important;
}
body .hero-integrated-top .brand-mark {
  width:78px!important;
  height:78px!important;
  flex:0 0 78px!important;
  display:grid!important;
  place-items:center!important;
  background:#0b0b0a!important;
  border-radius:12px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body .hero-integrated-top .brand-mark img {width:100%!important;height:100%!important;object-fit:contain!important}
body .hero-integrated-top .brand h1 {
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#faf9f1!important;
  font:800 23px/1.1 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.6px!important;
  margin:0 0 7px!important;
}
body .hero-integrated-top>.brand>div:nth-child(2) {display:block!important;flex:1 1 auto!important;min-width:0!important}
body .hero-integrated-top .brand>div:nth-child(2)>span {
  display:block!important;
  color:#b6b4a7!important;
  font-size:13px!important;
  font-weight:400!important;
}
body .hero-info-stack {
  display:flex!important;
  flex:0 1 auto!important;
  max-width:52%!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  gap:9px!important;
  justify-content:center!important;
  position:relative!important;
}
body .hero-info-stack>.info-card {
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  padding:9px 12px!important;
  background:#1a1915!important;
  color:#e4e0d5!important;
  border:1px solid #333126!important;
  box-shadow:none!important;
  border-radius:12px!important;
}
body .hero-info-stack>.info-card #localInfoContent {flex-wrap:wrap!important;gap:8px!important;width:auto!important}
body .hero-info-stack>.info-card .info-row {min-width:0!important;white-space:normal!important}
body .hero-info-stack>.info-card .info-row>span:first-child {font-size:13px!important}
body .hero-info-stack>.info-card .info-row b {display:none!important}
body .hero-info-stack>.info-card .info-row span,body .hero-info-stack>.info-card .info-row .info-value {
  color:#d0cebf!important;
  font-size:11px!important;
  max-width:190px!important;
}
body .hero-info-stack>.topbar-order-tools {width:auto!important;max-width:100%!important;margin:0!important}
body .hero-info-stack>.topbar-order-tools .table-chip {background:#232117!important;color:#ffe12e!important;border:1px solid #514a2a!important}
body .hero-info-stack .table-order-hint {background:#242215!important;color:#faf9f1!important;border:1px solid #64562c!important}
body .hero-integrated-main {
  width:100%!important;max-width:100%!important;min-width:0!important;
  display:block!important;
  min-height:0!important;
  padding:11px 0 0!important;
  text-align:left!important;
}
body .hero-integrated-main .hero-copy {width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;text-align:left!important;text-shadow:none!important}
body .hero-integrated-main .demo-pro-label {display:inline-flex!important;margin:0 0 12px!important;color:#f2df67!important;border-color:#72652c!important}
body .hero-integrated-main .hero-copy h2 {
  display:block!important;
  font:800 clamp(30px,4vw,48px)/1.06 Arial,Helvetica,sans-serif!important;
  letter-spacing:-1.6px!important;
  color:#ffe12e!important;
  max-width:100%!important;
  width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;
  margin:0!important;
  text-align:left!important;
  -webkit-text-fill-color:initial!important;
}
body .hero-integrated-main .hero-copy p {
  display:block!important;
  font-size:14px!important;
  line-height:1.5!important;
  color:#b6b4a8!important;
  max-width:620px!important;
  margin:12px 0 0!important;
  text-align:left!important;
}
body .hero-integrated-main .venue-socials {
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:17px 0 0!important;
  min-height:0!important;
}
body .hero-integrated-main .venue-social {
  width:38px!important;height:38px!important;min-height:38px!important;
  background:#1b1b17!important;border:1px solid #39392e!important;
  border-radius:12px!important;color:#f8e47b!important;box-shadow:none!important;
}
body .hero-integrated-main .venue-social b {background:transparent!important;color:#f8e47b!important}
body .hero-integrated-main .venue-social-whatsapp {width:auto!important;padding:0 13px!important;gap:6px!important}
body .hero-integrated-main .venue-social-whatsapp span {display:inline!important;font-size:12px!important;color:#fff!important}

/* El buscador y las categorias permanecen juntos, sobre el contenido. */
body .menu-sticky-card {
  position:sticky!important;top:0!important;bottom:auto!important;
  z-index:40!important;
  width:100%!important;
  background:var(--md-bg)!important;
  border-bottom:1px solid var(--md-line)!important;
  box-shadow:0 5px 20px #00000008!important;
  overflow:visible!important;
}
body .search-strip,body .category-wrap {background:var(--md-bg)!important;border:0!important;box-shadow:none!important}
body .search-area {padding:15px 0 0!important}
body .search {
  background:var(--md-surface)!important;
  border:1px solid var(--md-line)!important;
  border-radius:13px!important;
  box-shadow:none!important;
  color:var(--md-muted)!important;
  min-height:46px!important;
}
body .search:focus-within {border-color:var(--md-yellow)!important;box-shadow:0 0 0 2px #ffe12e15!important}
body .search input {font-size:16px!important;color:var(--md-text)!important;min-height:44px!important;padding:10px!important}
body .search input::placeholder {color:var(--md-muted)!important}
body .menu-sticky-card .category-nav {display:grid!important;grid-template-columns:35px minmax(0,1fr) 35px!important;gap:7px!important;align-items:center!important}
body .menu-sticky-card .categories {min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important;gap:8px!important;padding:11px 1px 13px!important}
body .menu-sticky-card .categories::-webkit-scrollbar {display:none!important}
body .menu-sticky-card .cat {
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:99px!important;
  border:1px solid var(--md-line)!important;
  background:transparent!important;
  color:var(--md-muted)!important;
  font:700 12px/1.3 Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;
}
body .menu-sticky-card .cat.active {
  background:var(--md-yellow)!important;
  border-color:var(--md-yellow)!important;
  color:var(--md-yellow-text)!important;
}
body .menu-sticky-card .category-arrow {
  display:grid!important;place-items:center!important;
  width:33px!important;height:33px!important;border-radius:50%!important;
  background:var(--md-surface)!important;color:var(--md-yellow)!important;
  border:1px solid var(--md-line)!important;
  box-shadow:0 0 6px 3px var(--md-bg)!important;
  font-size:25px!important;
}
body .menu-sticky-card .category-arrow.is-unneeded {visibility:hidden!important}

/* Cards: tres columnas de escritorio y dos en celulares. */
body .menu-main {padding:29px 24px 50px!important;min-height:360px!important}
body .menu-main .section {scroll-margin-top:135px!important;margin-bottom:30px!important}
body .menu-main .section-head {margin-bottom:13px!important;align-items:center!important}
body .menu-main .section-head h3 {font:800 19px/1.2 Arial,Helvetica,sans-serif!important;letter-spacing:-.4px!important;color:var(--md-text)!important}
body .menu-main .section-head span {color:var(--md-muted)!important;font-size:11px!important}
body .menu-main .product-grid {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
body .menu-main .product {
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  min-width:0!important;min-height:142px!important;
  height:100%!important;
  padding:10px!important;
  border:1px solid var(--md-line)!important;
  border-radius:19px!important;
  background:var(--md-surface)!important;
  box-shadow:0 10px 32px #00000013!important;
  color:var(--md-text)!important;
  overflow:hidden!important;
}
body .menu-main .product:hover {transform:translateY(-2px)!important;border-color:var(--md-yellow)!important}
body .menu-main .product-img {
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:120px!important;
  max-height:120px!important;
  align-self:center!important;
  object-fit:contain!important;
  background:#070707!important;
  border-radius:12px!important;
}
body .menu-main .product-body {display:flex!important;flex-direction:column!important;min-width:0!important;padding:6px 2px 5px 0!important;gap:0!important}
body .menu-main .badge {margin:0 0 8px!important;padding:0!important;background:none!important;border:0!important;font-size:9px!important;letter-spacing:1px!important;color:var(--md-muted)!important;box-shadow:none!important}
body .menu-main .product h4 {margin:0!important;color:var(--md-text)!important;font:800 16px/1.23 Arial,Helvetica,sans-serif!important;letter-spacing:-.3px!important;overflow-wrap:anywhere!important}
body .menu-main .product p {color:var(--md-muted)!important;font-size:12px!important;line-height:1.4!important;margin:5px 0 0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
body .menu-main .product-bottom {display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:6px!important;width:100%!important;margin-top:auto!important;padding-top:9px!important}
body .menu-main .product-bottom .price {width:100%!important;text-align:left!important;margin:0!important;padding:0!important;color:var(--md-text)!important;font-size:19px!important;font-weight:800!important}
body .menu-main .product-add {display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;width:100%!important;gap:6px!important}
body .menu-main .product-qty {height:30px!important;min-width:0!important;border-color:var(--md-line)!important;background:var(--md-surface)!important}
body .menu-main .product-qty button {height:30px!important;width:25px!important;padding:0!important;background:var(--md-surface)!important;color:var(--md-text)!important}
body .menu-main .product-qty strong {min-width:19px!important;font-size:12px!important;color:var(--md-text)!important}
body .menu-main .add-btn {height:30px!important;min-width:0!important;padding:5px 9px!important;font-size:11px!important;border-radius:9px!important;background:var(--md-yellow)!important;color:var(--md-yellow-text)!important}
body .footer {background:var(--md-bg)!important;border-color:var(--md-line)!important;color:var(--md-muted)!important;font-size:12px!important}
body .footer a {color:var(--md-text)!important;text-decoration:none!important}

/* Detalle con scroll personalizado, sin mover el ancho de la carta. */
body .product-modal {overscroll-behavior:contain!important;z-index:10050!important}
body .product-modal-card {
  display:flex!important;flex-direction:column!important;
  width:min(470px,calc(100vw - 28px))!important;
  max-height:min(90dvh,760px)!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:var(--md-surface)!important;
  color:var(--md-text)!important;
  border:1px solid var(--md-line)!important;
  border-radius:24px!important;
  box-shadow:0 30px 90px #0007!important;
}
body .product-modal-card>img {
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;height:210px!important;min-height:0!important;
  max-height:210px!important;
  object-fit:contain!important;
  background:#050505!important;
}
body .product-modal-content {
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(90dvh - 212px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--md-yellow) var(--md-soft)!important;
  padding:21px 24px 24px!important;
}
body .product-modal-content::-webkit-scrollbar {width:7px!important}
body .product-modal-content::-webkit-scrollbar-track {background:var(--md-soft)!important;border-radius:99px!important}
body .product-modal-content::-webkit-scrollbar-thumb {background:var(--md-yellow)!important;border-radius:99px!important}
body .product-modal-content h3 {margin:6px 0 10px!important;color:var(--md-text)!important;font-size:25px!important}
body .product-modal-summary,body .product-modal-detail {color:var(--md-muted)!important;line-height:1.5!important;font-size:13px!important}
body .product-modal-detail {border-top-color:var(--md-line)!important}
body .product-modal-bottom {color:var(--md-text)!important}
body .product-modal-bottom>strong {color:var(--md-text)!important;font-size:23px!important}
body .product-modal-bottom .add-btn {background:var(--md-yellow)!important;color:var(--md-yellow-text)!important}
body .product-modal-close {background:#222!important;color:#fff!important;border:1px solid #ffffff30!important}

@media(max-width:850px) {
 body .menu-main .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body .menu-main .product {grid-template-columns:145px minmax(0,1fr)!important}
}
@media(max-width:700px) {
 body .shell {padding-inline:17px!important}
 body .hero-cover {padding:15px 0 24px!important;gap:12px!important}
 body .hero-integrated-top {gap:11px!important;min-height:63px!important;padding-bottom:11px!important}
 body .hero-integrated-top .brand-mark {width:66px!important;height:66px!important;flex-basis:66px!important}
 body .hero-integrated-top .brand h1 {font-size:19px!important}
 body .hero-integrated-top .brand>div:nth-child(2)>span {font-size:11px!important}
 body .hero-info-stack {max-width:44%!important;gap:5px!important}
 body .hero-info-stack>.info-card {padding:7px!important}
 body .hero-info-stack>.info-card .info-row {font-size:10px!important}
 body .hero-info-stack>.info-card .info-row:not(:first-child) {display:none!important}
 body .hero-info-stack>.info-card .info-row span {font-size:10px!important}
 body .hero-integrated-main .hero-copy h2 {font-size:34px!important;line-height:1.07!important}
 body .hero-integrated-main .hero-copy p {font-size:12px!important}
 body .hero-integrated-main .venue-socials {margin-top:13px!important}
 body .search-area {padding-top:11px!important}
 body .menu-sticky-card .category-nav {grid-template-columns:31px minmax(0,1fr) 31px!important;gap:4px!important}
 body .menu-sticky-card .category-arrow {width:29px!important;height:29px!important;font-size:23px!important}
 body .menu-sticky-card .cat {font-size:11px!important;min-height:36px!important;padding:8px 12px!important}
 body .menu-main {padding:24px 17px 40px!important}
 body .menu-main .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 body .menu-main .product {
   grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;
   gap:7px!important;min-height:0!important;height:100%!important;padding:9px!important;
 }
 body .menu-main .product-img {
   aspect-ratio:3/2!important;
   height:auto!important;min-height:0!important;max-height:none!important;
   object-fit:contain!important;
 }
 body .menu-main .product-body {padding:2px 2px 3px!important;min-height:0!important}
 body .menu-main .product h4 {font-size:15px!important}
 body .menu-main .product p {font-size:11px!important;-webkit-line-clamp:2!important}
 body .menu-main .product-bottom {gap:6px!important;padding-top:10px!important}
 body .menu-main .product-bottom .price {font-size:18px!important}
 body .menu-main .product-add {gap:4px!important}
 body .menu-main .product-qty button {width:22px!important}
 body .menu-main .product-qty strong {min-width:18px!important}
 body .menu-main .add-btn {padding:5px 7px!important;font-size:10px!important}
 body .product-modal-card>img {height:clamp(125px,24dvh,180px)!important;max-height:180px!important}
 body .product-modal-content {max-height:calc(90dvh - 155px)!important;padding:16px 17px 20px!important}
 body .product-modal-content h3 {font-size:22px!important}
 body .product-modal-bottom {flex-direction:column!important;align-items:stretch!important;gap:11px!important}
 body .product-modal-actions {justify-content:space-between!important;flex-wrap:wrap!important}
}
@media(max-width:370px) {
 body .hero-integrated-top .brand-mark {width:54px!important;height:54px!important;flex-basis:54px!important}
 body .hero-integrated-top .brand h1 {font-size:17px!important}
 body .hero-info-stack>.info-card {display:none!important}
 body .hero-integrated-main .hero-copy h2 {font-size:29px!important}
 body .menu-main .product h4 {font-size:14px!important}
 body .menu-main .product-bottom .price {font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){body .menu-main .product:hover{transform:none!important}}


/* V2: cabecera sincronizada con el modo claro/oscuro (también en demos). */
body[data-theme="light"] .hero{background:#f8f7f2!important;color:#1b1b15!important;border-bottom:1px solid #deddd2!important}
body[data-theme="light"] .hero-cover{background:transparent!important;color:#1b1b15!important}
body[data-theme="light"] .hero-integrated-top{border-bottom-color:#deddd2!important}
body[data-theme="light"] .hero-integrated-top>.brand{color:#1b1b15!important}
body[data-theme="light"] .hero-integrated-top .brand h1{color:#1b1b15!important}
body[data-theme="light"] .hero-integrated-top .brand>div:nth-child(2)>span{color:#68675f!important}
body[data-theme="light"] .hero-integrated-top .brand-mark{background:#fff!important;border:1px solid #e3e1d6!important}
body[data-theme="light"] .hero-integrated-main .hero-copy h2{color:#947300!important}
body[data-theme="light"] .hero-integrated-main .hero-copy p{color:#67675e!important}
body[data-theme="light"] .hero-integrated-main .demo-pro-label{color:#756117!important;border-color:#c1b375!important;background:#f1ebcc!important}
body[data-theme="light"] .hero-info-stack>.info-card{background:#fff!important;color:#27241c!important;border:1px solid #e3e1d6!important}
body[data-theme="light"] .hero-info-stack>.info-card .info-row span,
body[data-theme="light"] .hero-info-stack>.info-card .info-row .info-value{color:#67675e!important}
body[data-theme="light"] .hero-info-stack>.topbar-order-tools .table-chip{background:#fff!important;color:#6d5700!important;border-color:#d6cd9d!important}
body[data-theme="light"] .hero-info-stack .table-order-hint{background:#fff9db!important;color:#5c5023!important;border-color:#d9ca8f!important}
body[data-theme="light"] .hero-integrated-main .venue-social{background:#fff!important;color:#705900!important;border-color:#ded9bc!important}
body[data-theme="light"] .hero-integrated-main .venue-social b{color:#705900!important}
body[data-theme="light"] .hero-integrated-main .venue-social-whatsapp span{color:#262318!important}
body[data-theme="light"] .hero-integrated-top .mobile-info-toggle{color:#5c4c12!important;border-color:#ded9bc!important;background:#f4f0dd!important}
body[data-theme="light"] .hero-integrated-main .venue-social svg{color:inherit!important}

/* El botón se integra al mismo bloque informativo del header. */
body .hero-info-stack{flex-wrap:wrap!important;justify-content:flex-end!important}
body .menue-theme-toggle{
  display:grid!important;place-items:center!important;
  flex:0 0 39px!important;width:39px!important;height:39px!important;
  padding:0!important;border-radius:50%!important;
  border:1px solid #39392e!important;background:#1a1a16!important;color:#f8e47b!important;
  cursor:pointer!important;align-self:center!important;box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
body .menue-theme-toggle svg{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body[data-theme="light"] .menue-theme-toggle{border-color:#d9d4bc!important;background:#fff!important;color:#6d5a00!important}
body .menue-theme-toggle:hover{border-color:var(--md-yellow)!important}
body .menue-theme-toggle:focus-visible{outline:3px solid var(--md-yellow)!important;outline-offset:3px!important}
/* En móviles el selector mantiene su espacio sin tapar el nombre del local. */
@media(max-width:700px){
 body .hero-info-stack{max-width:45%!important;column-gap:6px!important;row-gap:5px!important}
 body .hero-info-stack>.info-card{flex:1 1 85px!important;min-width:0!important}
 body .hero-info-stack .menue-theme-toggle{flex:0 0 33px!important;width:33px!important;height:33px!important;order:1!important}
 body .hero-info-stack>.topbar-order-tools{order:2!important;flex-basis:100%!important}
}
@media(max-width:410px){
 body .hero-info-stack>.info-card{flex-basis:100%!important}
 body .hero-info-stack .menue-theme-toggle{order:-1!important}
}

/* V3: presentación coherente con Doris Alternativo. */
body .hero > .shell {
  box-sizing:border-box!important;
  padding-inline:clamp(25px,4vw,44px)!important;
}
body .hero-integrated-top {gap:22px!important}
body .hero-integrated-top>.brand{padding-right:5px!important}
/* El enlace del local queda a la derecha del título, sin duplicarse. */
body .hero-integrated-main{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:22px!important;
}
body .hero-integrated-main .hero-copy{flex:1 1 auto!important;width:auto!important;min-width:0!important}
body .hero-integrated-main .menue-whatsapp-cta{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:46px!important;
  width:auto!important;
  padding:11px 17px!important;
  margin:0 0 3px!important;
  border:1px solid #534920!important;
  border-radius:12px!important;
  background:#ffe12e!important;
  color:#211c03!important;
  font:800 13px/1.2 Arial,Helvetica,sans-serif!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body .hero-integrated-main .menue-whatsapp-cta b,
body .hero-integrated-main .menue-whatsapp-cta svg,
body .hero-integrated-main .menue-whatsapp-cta span{color:#211c03!important}
body .hero-integrated-main .menue-whatsapp-cta b{display:flex!important;align-items:center!important;justify-content:center!important}
body .hero-integrated-main .menue-whatsapp-cta svg{width:21px!important;height:21px!important}
body .hero-integrated-main .menue-whatsapp-cta:hover{filter:brightness(1.04)!important}
body[data-theme="light"] .hero-integrated-main .menue-whatsapp-cta {background:#e5c02a!important;border-color:#bf9f1b!important;color:#211c03!important}
body .hero-integrated-main .venue-socials:empty{display:none!important;margin:0!important}
/* Cuando el dueño no ha añadido horario, dirección o teléfono, no dejar la tarjeta vacía. */
body .hero-info-stack>.info-card[hidden],
body .hero-info-stack .info-row[hidden],
body .hero-info-stack #localInfoContent[hidden]{display:none!important}
/* Los controles para hacer pedidos son EXCLUSIVOS de Premium. */
body[data-plan="basic"] .menu-main .product-add,
body[data-plan="basic"] .product-modal-actions,
body[data-plan="basic"] .cart-fab,
body[data-plan="basic"] #cartButton,
body[data-plan="basic"] #cartDrawer,
body[data-plan="basic"] #cartBackdrop,
body[data-plan="basic"] #callWaiterButton,
body[data-plan="basic"] #waiterRequestedButton {display:none!important}
/* Espacio perceptible entre la descripción y el precio del producto. */
body .menu-main .product-bottom{padding-top:19px!important}
body .menu-main .product p{margin-bottom:4px!important}
body .product-modal-content .product-modal-bottom {margin-top:16px!important}
/* Mismo contraste en todas las áreas, incluidos buscador y categorías. */
body[data-theme="light"] .menu-sticky-card,
body[data-theme="light"] .search-strip,
body[data-theme="light"] .category-wrap{background:var(--md-bg)!important;color:var(--md-text)!important}
body[data-theme="light"] .search,
body[data-theme="light"] .menu-sticky-card .cat:not(.active),
body[data-theme="light"] .menu-sticky-card .category-arrow{background:var(--md-surface)!important;color:var(--md-text)!important;border-color:var(--md-line)!important}
body[data-theme="light"] .menu-sticky-card .cat.active {background:var(--md-yellow)!important;color:var(--md-yellow-text)!important}
body[data-theme="dark"] .menu-sticky-card,
body[data-theme="dark"] .search-strip,
body[data-theme="dark"] .category-wrap{background:var(--md-bg)!important;color:var(--md-text)!important}
body[data-theme="dark"] .search,
body[data-theme="dark"] .menu-sticky-card .cat:not(.active),
body[data-theme="dark"] .menu-sticky-card .category-arrow {background:var(--md-surface)!important;color:var(--md-text)!important;border-color:var(--md-line)!important}
body[data-theme="dark"] .menu-sticky-card .cat.active {background:var(--md-yellow)!important;color:var(--md-yellow-text)!important}
@media(max-width:700px){
 body .hero>.shell{padding-inline:22px!important}
 body .hero-integrated-top{gap:11px!important}
 body .hero-integrated-main{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
 body .hero-integrated-main .hero-copy{width:100%!important;flex:none!important}
 body .hero-integrated-main .menue-whatsapp-cta{align-self:flex-end!important;margin:4px 0 0!important;min-height:41px!important;padding:10px 14px!important;font-size:12px!important}
 body .menu-main .product-bottom{padding-top:16px!important}
}
@media(max-width:370px){
 body .hero>.shell{padding-inline:19px!important}
 body .hero-integrated-top>.brand{gap:9px!important}
 body .hero-integrated-main .menue-whatsapp-cta{font-size:11px!important}
}


/* MENUE V4: cabecera negra independiente del cuerpo crema (Doris Alternativo).
   Color de cabecera editable por local desde el administrador. */
body {--md-header-color:#080808;--md-header-ink:#ffffff;--md-header-muted:#b8b6a8;--md-header-accent:#ffe12e;}
body .hero, body[data-theme="light"] .hero, body[data-theme="dark"] .hero, body[data-theme="mix"] .hero {
  background:var(--md-header-color)!important;
  color:var(--md-header-ink)!important;
  border-bottom:1px solid color-mix(in srgb,var(--md-header-ink) 19%,transparent)!important;
}
body .hero>.shell { box-sizing:border-box!important; width:100%!important; max-width:1160px!important;
 padding-inline:max(32px,env(safe-area-inset-left))!important; margin-inline:auto!important; }
body .hero-cover,body[data-theme="light"] .hero-cover{color:var(--md-header-ink)!important}
body .hero-integrated-top,body[data-theme="light"] .hero-integrated-top {border-bottom-color:color-mix(in srgb,var(--md-header-ink) 20%,transparent)!important}
body .hero-integrated-top>.brand,body[data-theme="light"] .hero-integrated-top>.brand,
body .hero-integrated-top .brand h1,body[data-theme="light"] .hero-integrated-top .brand h1 {color:var(--md-header-ink)!important}
body .hero-integrated-top .brand>div:nth-child(2)>span,body[data-theme="light"] .hero-integrated-top .brand>div:nth-child(2)>span,
body .hero-integrated-main .hero-copy p,body[data-theme="light"] .hero-integrated-main .hero-copy p {color:var(--md-header-muted)!important}
body .hero-integrated-main .hero-copy h2,body[data-theme="light"] .hero-integrated-main .hero-copy h2,
body[data-theme="dark"] .hero-integrated-main .hero-copy h2 {color:var(--md-header-accent)!important}
body .hero-integrated-top .brand-mark,body[data-theme="light"] .hero-integrated-top .brand-mark {
  background:color-mix(in srgb,var(--md-header-ink) 5%,var(--md-header-color))!important;
  color:var(--md-header-ink)!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 27%,transparent)!important;
}
body .hero-info-stack>.info-card,body[data-theme="light"] .hero-info-stack>.info-card{
  background:color-mix(in srgb,var(--md-header-ink) 6%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 20%,transparent)!important;
  color:var(--md-header-ink)!important;
}
body .hero-info-stack>.info-card .info-row span,body .hero-info-stack>.info-card .info-row .info-value,
body[data-theme="light"] .hero-info-stack>.info-card .info-row span,
body[data-theme="light"] .hero-info-stack>.info-card .info-row .info-value{color:var(--md-header-muted)!important}
body .menue-theme-toggle,body[data-theme="light"] .menue-theme-toggle{
  background:color-mix(in srgb,var(--md-header-ink) 7%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 24%,transparent)!important;
  color:var(--md-header-accent)!important;
  flex:0 0 40px!important;width:40px!important;height:40px!important;
  order:3!important;margin:0!important;
}
/* Redes: iconos reales, sin etiquetas que desborden los botones de 40 px. */
body .hero-integrated-main .venue-socials {display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:9px!important}
body .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta){
  display:inline-flex!important;flex:0 0 42px!important;
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  padding:0!important;align-items:center!important;justify-content:center!important;position:relative!important;
  background:color-mix(in srgb,var(--md-header-ink) 8%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 24%,transparent)!important;
  color:var(--md-header-ink)!important;pointer-events:auto!important;
  text-decoration:none!important;overflow:hidden!important;
}
body .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta)>span{display:none!important}
body .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta)>b {display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;color:var(--md-header-ink)!important}
body .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta) svg {display:block!important;width:23px!important;height:23px!important;color:var(--md-header-ink)!important}
body .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta):hover{border-color:var(--md-header-accent)!important}
body .hero-integrated-main .menue-whatsapp-cta,body[data-theme="light"] .hero-integrated-main .menue-whatsapp-cta{
  display:inline-flex!important;min-height:52px!important;min-width:0!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 27%,transparent)!important;
  border-radius:14px!important;padding:9px 16px!important;
  background:color-mix(in srgb,var(--md-header-ink) 10%,var(--md-header-color))!important;
  color:var(--md-header-ink)!important;flex:0 0 auto!important;
  text-decoration:none!important;pointer-events:auto!important;position:relative!important;
}
body .hero-integrated-main .menue-whatsapp-cta b,
body .hero-integrated-main .menue-whatsapp-cta svg,
body .hero-integrated-main .menue-whatsapp-cta span,
body[data-theme="light"] .hero-integrated-main .menue-whatsapp-cta b,
body[data-theme="light"] .hero-integrated-main .menue-whatsapp-cta span{color:var(--md-header-ink)!important}
body .hero-integrated-main .menue-whatsapp-cta span{display:flex!important;flex-direction:column!important;gap:3px!important;font-weight:750!important;line-height:1.15!important}
body .hero-integrated-main .menue-whatsapp-cta small{display:block!important;font-size:11px!important;font-weight:400!important;color:var(--md-header-muted)!important;line-height:1.3!important}
body .hero-integrated-main .menue-whatsapp-cta:hover{border-color:var(--md-header-accent)!important}
body .hero-integrated-main{align-items:flex-end!important}
/* Distribución de la franja superior; conmutador al extremo derecho. */
body .hero-integrated-top{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,auto) 40px!important;align-items:center!important;gap:17px!important}
body .hero-integrated-top>.brand{grid-column:1!important;grid-row:1!important;min-width:0!important}
body .hero-info-stack{grid-column:2!important;grid-row:1!important;max-width:min(460px,100%)!important;width:auto!important;justify-content:flex-end!important}
body .hero-integrated-top>.menue-theme-toggle{grid-column:3!important;grid-row:1!important;justify-self:end!important}
body .hero-info-stack>.info-card:has(.info-row:not([hidden])){display:flex!important;align-items:center!important}
body .hero-info-stack>.info-card[hidden],body .hero-info-stack .info-row[hidden]{display:none!important}
body .hero-info-stack .mobile-info-toggle {display:none!important}
/* Estructura de categorías y buscador: siempre depende de las variables del tema. */
body[data-theme] .menu-sticky-card,body[data-theme] .search-strip,body[data-theme] .category-wrap{background:var(--md-bg)!important;color:var(--md-text)!important;border-color:var(--md-line)!important}
body[data-theme] .menu-sticky-card .search,
body[data-theme] .menu-sticky-card .cat:not(.active),
body[data-theme] .menu-sticky-card .category-arrow{background:var(--md-surface)!important;color:var(--md-text)!important;border-color:var(--md-line)!important}
body[data-theme] .menu-sticky-card .search input{background:transparent!important;color:var(--md-text)!important}
body[data-theme] .menu-sticky-card .search input::placeholder{color:var(--md-muted)!important}
body[data-theme] .menu-sticky-card .cat.active{background:var(--md-yellow)!important;color:var(--md-yellow-text)!important}
/* La clase correcta del plan manda y PHP marca los controles como hidden. */
body[data-plan="basic"] .menu-main .product-add,
body[data-plan="basic"] .product-modal-actions,
body[data-plan="basic"] #cartButton{display:none!important;visibility:hidden!important}
body .menu-main .product-bottom {padding-top:18px!important}
@media(max-width:700px){
 body .hero>.shell{padding-inline:max(23px,env(safe-area-inset-left))!important}
 body .hero-integrated-top{grid-template-columns:minmax(0,1fr) 39px!important;grid-auto-rows:auto!important;gap:12px 9px!important;padding-bottom:15px!important}
 body .hero-integrated-top>.brand{grid-column:1!important;grid-row:1!important;min-width:0!important;gap:12px!important}
 body .hero-integrated-top .brand-mark{flex:0 0 62px!important;width:62px!important;height:62px!important}
 body .hero-integrated-top>.menue-theme-toggle{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important}
 body .hero-info-stack{grid-column:1 / -1!important;grid-row:2!important;max-width:100%!important;display:flex!important;justify-content:flex-start!important;align-items:stretch!important;flex-wrap:wrap!important;gap:10px!important;width:100%!important}
 body .hero-info-stack>.info-card {flex:1 1 100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:11px 13px!important;border-radius:13px!important}
 body .hero-info-stack>.info-card #localInfoContent{display:flex!important;width:100%!important;gap:10px 14px!important;flex-wrap:wrap!important;align-items:flex-start!important}
 body .hero-info-stack>.info-card .info-row{display:flex!important;flex:1 1 140px!important;min-width:0!important;max-width:100%!important;gap:7px!important;align-items:flex-start!important}
 body .hero-info-stack>.info-card .info-row:not(:first-child){display:flex!important}
 body .hero-info-stack>.info-card .info-row[hidden]{display:none!important}
 body .hero-info-stack>.info-card .info-row div{min-width:0!important;overflow-wrap:anywhere!important}
 body .hero-info-stack>.info-card .info-row span,
 body .hero-info-stack>.info-card .info-row .info-value{max-width:100%!important;font-size:11px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
 body .hero-info-stack>.topbar-order-tools{flex:1 1 100%!important;order:2!important;max-width:100%!important}
 body .hero-integrated-main{flex-direction:column!important;align-items:stretch!important;gap:15px!important}
 body .hero-integrated-main .menue-whatsapp-cta{align-self:flex-end!important;margin-left:auto!important}
 body .hero-integrated-main .hero-copy h2{font-size:clamp(29px,8vw,40px)!important}
 body .hero-integrated-main .venue-socials{max-width:100%!important}
}
@media(max-width:380px){
 body .hero>.shell{padding-inline:20px!important}
 body .hero-integrated-top .brand-mark{flex-basis:54px!important;width:54px!important;height:54px!important}
 body .hero-integrated-top .brand h1{font-size:17px!important}
}


/* V5 · Header móvil real: la marca completa y los datos en una franja compacta.
   Sobrescribe las reglas históricas de Menue que ocultaban el nombre, estiraban
   el panel de ubicación y colocaban el icono de información sobre el contenido. */
body .hero-info-stack>.info-card[hidden],
body .hero-info-stack .info-row[hidden],
body .hero-info-stack #localInfoContent .info-row[hidden] {display:none!important}
body .hero-info-stack .mobile-info-toggle,
body .hero-info-stack .mobile-info-toggle[aria-expanded] {display:none!important}
body .hero-info-stack a.menue-map-link {
  display:inline!important;
  color:var(--md-header-ink)!important;
  text-decoration:underline!important;
  text-decoration-color:color-mix(in srgb,var(--md-header-ink) 50%,transparent)!important;
  text-underline-offset:3px!important;
  overflow-wrap:anywhere!important;
  line-height:1.35!important;
  cursor:pointer!important;
}
body .hero-info-stack a.menue-map-link:hover,
body .hero-info-stack a.menue-map-link:focus-visible {
  color:var(--md-header-accent)!important;
  text-decoration-color:var(--md-header-accent)!important;
}
@media (max-width:800px) {
  body .hero {padding:0!important;}
  body .hero>.shell {
    width:100%!important;
    padding-left:max(20px,env(safe-area-inset-left))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
  }
  body .hero .hero-cover {
    min-height:0!important;height:auto!important;
    padding:15px 0 22px!important;
    margin:0!important;display:flex!important;
    flex-direction:column!important;align-items:stretch!important;
    gap:10px!important;
    overflow:visible!important;
  }
  body .hero .hero-integrated-top {
    display:grid!important;
    width:100%!important;height:auto!important;min-height:0!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-rows:auto auto!important;
    gap:10px 12px!important;
    padding:0 0 12px!important;
    align-items:center!important;
    border-bottom:1px solid color-mix(in srgb,var(--md-header-ink) 18%,transparent)!important;
  }
  body .hero .hero-integrated-top>.brand {
    display:flex!important;
    flex-direction:row!important;
    grid-template-columns:none!important;
    grid-column:1!important;grid-row:1!important;
    width:100%!important;max-width:100%!important;
    height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;
    gap:12px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  body .hero .hero-integrated-top .brand-mark {
    display:grid!important;
    width:60px!important;height:60px!important;
    min-width:60px!important;min-height:60px!important;
    max-width:60px!important;max-height:60px!important;
    flex:0 0 60px!important;
    align-self:center!important;
  }
  body .hero .hero-integrated-top>.brand>div:nth-child(2) {
    display:flex!important;flex-direction:column!important;
    flex:1 1 auto!important;min-width:0!important;
    max-width:100%!important;gap:4px!important;
    align-items:flex-start!important;text-align:left!important;
  }
  body .hero .hero-integrated-top .brand h1,
  body .hero .hero-integrated-top .brand-copy h1 {
    display:block!important;
    width:auto!important;max-width:100%!important;
    font:800 clamp(17px,5.2vw,22px)/1.15 Arial,Helvetica,sans-serif!important;
    color:var(--md-header-ink)!important;
    letter-spacing:-.35px!important;
    margin:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  body .hero .hero-integrated-top .brand>div:nth-child(2)>span,
  body .hero .hero-integrated-top .brand-description {
    display:block!important;
    white-space:normal!important;
    color:var(--md-header-muted)!important;
    line-height:1.3!important;
    font-size:12px!important;
    margin:0!important;
    max-width:100%!important;
  }
  body .hero .hero-integrated-top>.menue-theme-toggle {
    grid-column:2!important;grid-row:1!important;
    justify-self:end!important;align-self:center!important;
    margin:0!important;
    width:40px!important;height:40px!important;
  }
  body .hero .hero-info-stack,
  body[data-plan="basic"] .hero .hero-info-stack,
  body[data-plan="pro"] .hero .hero-info-stack {
    display:flex!important;
    flex-direction:row!important;
    grid-column:1/-1!important;grid-row:2!important;
    width:100%!important;max-width:100%!important;
    min-width:0!important;min-height:0!important;
    margin:0!important;padding:0!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    position:static!important;
  }
  body .hero .hero-info-stack>.info-card,
  body .hero .hero-info-stack>.info-card:has(.info-row:not([hidden])) {
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;max-width:100%!important;
    min-width:0!important;min-height:0!important;
    height:auto!important;max-height:none!important;
    margin:0!important;padding:10px 13px!important;
    flex:0 1 auto!important;
    align-self:stretch!important;
    border-radius:13px!important;
    position:static!important;
  }
  body .hero .hero-info-stack>.info-card[hidden] {display:none!important}
  body .hero .hero-info-stack>.info-card #localInfoContent,
  body .hero .hero-info-stack>.info-card #localInfoContent:not([hidden]) {
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px 14px!important;
    min-width:0!important;width:100%!important;
    height:auto!important;min-height:0!important;
    max-height:none!important;
    padding:0!important;margin:0!important;
  }
  body .hero .hero-info-stack>.info-card .info-row,
  body .hero .hero-info-stack>.info-card .info-row:not(:first-child){
    display:flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    width:auto!important;min-width:0!important;max-width:100%!important;
    min-height:0!important;height:auto!important;
    margin:0!important;padding:0!important;
    gap:6px!important;
  }
  body .hero .hero-info-stack>.info-card .info-row[hidden],
  body .hero .hero-info-stack>.info-card .info-row:not(:first-child)[hidden]{display:none!important}
  body .hero .hero-info-stack>.info-card .info-row>div {
    display:flex!important;
    min-width:0!important;max-width:100%!important;
    width:auto!important;
    flex:1 1 auto!important;
    padding:0!important;
  }
  body .hero .hero-info-stack>.info-card .info-row>span:first-child {
    font-size:14px!important;flex:0 0 auto!important;
  }
  body .hero .hero-info-stack>.info-card .info-row>div>span,
  body .hero .hero-info-stack>.info-card .info-row>div>a {
    width:auto!important;max-width:100%!important;
    font-size:12px!important;line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body .hero .hero-info-stack .mobile-info-toggle {display:none!important}
  body .hero .hero-info-stack>.topbar-order-tools,
  body[data-plan="pro"] .hero .hero-info-stack>.topbar-order-tools {
    position:static!important;
    flex:0 1 auto!important;
    margin:0!important;
    width:auto!important;max-width:100%!important;
    justify-content:flex-start!important;
  }
  body .hero .hero-integrated-main {min-height:0!important;margin:0!important;padding:8px 0 0!important;}
  body .hero .hero-integrated-main .hero-copy h2{margin:0!important;}
}
@media (max-width:380px) {
  body .hero .hero-integrated-top .brand-mark{
    width:54px!important;height:54px!important;
    min-width:54px!important;min-height:54px!important;
    max-width:54px!important;max-height:54px!important;
    flex:0 0 54px!important;
  }
  body .hero .hero-integrated-top>.brand{gap:10px!important}
  body .hero .hero-integrated-top .brand h1{font-size:17px!important}
}


/* V6 · Tres datos dentro de la misma tarjeta móvil, sin alturas ficticias. */
@media (max-width:800px) {
  body .hero .hero-info-stack>.info-card #localInfoContent[data-missing-all="1"] {display:none!important;}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] #localInfoContent {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:9px 12px!important;
    align-items:center!important;
    justify-items:center!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:initial!important;
    justify-content:center!important;
    gap:6px!important;
    text-align:center!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:first-child {
    grid-column:1 / -1!important;
    justify-content:center!important;
    padding:0 0 9px!important;
    border-bottom:1px solid color-mix(in srgb,var(--md-header-ink) 13%,transparent)!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:nth-child(3){
    border-left:1px solid color-mix(in srgb,var(--md-header-ink) 13%,transparent)!important;
    padding-left:10px!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row > div {
    flex:0 1 auto!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row a,
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row span.info-value {
    font-size:11px!important;
  }
}
@media (min-width:540px) and (max-width:800px) {
  body .hero .hero-info-stack>.info-card[data-info-count="3"] #localInfoContent {
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:first-child {
    grid-column:auto!important;
    padding:0 12px 0 0!important;
    border-bottom:0!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:not(:first-child) {
    border-left:1px solid color-mix(in srgb,var(--md-header-ink) 13%,transparent)!important;
    padding-left:12px!important;
  }
}


/* V7: los tres campos configurados SIEMPRE son visibles en el header móvil. */
@media (max-width:800px) {
  body .hero .hero-integrated-top .hero-info-stack > .info-card:not([hidden]) #localInfoContent {
    display:flex!important; flex-wrap:wrap!important; gap:9px 14px!important; width:100%!important;
    min-height:0!important; max-height:none!important; overflow:visible!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > .info-card:not([hidden]) #localInfoContent > .info-row:not([hidden]) {
    display:flex!important; visibility:visible!important; opacity:1!important; position:static!important;
    max-height:none!important; overflow:visible!important; align-items:center!important; gap:6px!important;
    min-width:0!important; flex:0 1 auto!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > .info-card #localInfoContent > .info-row[hidden] {display:none!important}
  body .hero .hero-integrated-top .hero-info-stack > .info-card:not([hidden])[data-info-count="3"] #localInfoContent {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; align-items:center!important; gap:8px 12px!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > .info-card[data-info-count="3"] #localInfoContent > .info-row:not([hidden]) {
    width:100%!important; max-width:100%!important; justify-content:center!important; flex:0 0 auto!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > .info-card[data-info-count="3"] #localInfoContent > .info-row:first-child {
    grid-column:1/-1!important; padding-bottom:8px!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > .info-card .info-row > div {min-width:0!important; width:auto!important}
  body .hero .hero-integrated-top .hero-info-stack > .info-card .info-row .info-value,
  body .hero .hero-integrated-top .hero-info-stack > .info-card .info-row > div > span {
    font-size:clamp(10px,2.7vw,12px)!important; overflow-wrap:anywhere!important; line-height:1.35!important;
  }
}
@media (min-width:560px) and (max-width:800px) {
  body .hero .hero-integrated-top .hero-info-stack > .info-card[data-info-count="3"] #localInfoContent {
    grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > .info-card[data-info-count="3"] #localInfoContent > .info-row:first-child {
    grid-column:auto!important; padding-bottom:0!important; border-bottom:0!important;
  }
}

/* V8: tarjeta móvil más amplia y aireada cuando existen los 3 datos. */
@media (max-width:800px) {
  body .hero .hero-info-stack>.info-card[data-info-count="3"] {padding:12px 14px!important; border-radius:16px!important}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] #localInfoContent {gap:10px 14px!important}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row {min-height:22px!important}
}
@media (min-width:520px) and (max-width:800px) {
  body .hero .hero-info-stack>.info-card[data-info-count="3"] {padding:12px 16px!important}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] #localInfoContent {
    display:grid!important; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important; justify-items:stretch!important; gap:0!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row,
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:first-child,
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:nth-child(2),
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:nth-child(3) {
    grid-column:auto!important; width:100%!important; min-height:28px!important; padding:0 12px!important;
    margin:0!important; border:0!important; justify-content:flex-start!important; text-align:left!important;
  }
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:first-child {padding-left:2px!important}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:nth-child(2),
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row:nth-child(3) {
    border-left:1px solid color-mix(in srgb,var(--md-header-ink) 14%,transparent)!important;}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row > div {flex:1 1 auto!important; min-width:0!important}
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row a,
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row span.info-value,
  body .hero .hero-info-stack>.info-card[data-info-count="3"] .info-row > div > span {
    font-size:11px!important; line-height:1.35!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
  }
}

/* V9: WhatsApp compacto y alineado con RRSS para que no aumente la altura. */
body .hero-integrated-main .venue-socials{
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
}
body .hero-integrated-main .venue-socials .menue-whatsapp-cta,
body[data-theme="light"] .hero-integrated-main .venue-socials .menue-whatsapp-cta{
  min-height:42px!important;
  height:42px!important;
  padding:0 14px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  align-self:center!important;
}
body .hero-integrated-main .venue-socials .menue-whatsapp-cta > span{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:8px!important;
  min-width:0!important;
  white-space:nowrap!important;
  line-height:1!important;
}
body .hero-integrated-main .venue-socials .menue-whatsapp-cta > span small{
  display:inline!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body .hero-integrated-main .venue-socials .menue-whatsapp-cta svg,
body .hero-integrated-main .venue-socials .menue-whatsapp-cta b{flex:0 0 auto!important}
@media (max-width:800px){
  body .hero-integrated-main .venue-socials{justify-content:flex-start!important;gap:9px!important}
  body .hero-integrated-main .venue-socials .menue-whatsapp-cta{max-width:100%!important}
  body .hero-integrated-main .venue-socials .menue-whatsapp-cta > span{white-space:normal!important;line-height:1.15!important}
  body .hero-integrated-main .venue-socials .menue-whatsapp-cta > span small{display:block!important}
}


/* V10 · Tarjeta informativa: caja fluida, sin desbordes ni distribución heredada. */
@media (max-width:800px) {
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard:not([hidden]) {
    display:block!important;
    box-sizing:border-box!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:15px 16px!important;
    margin:0!important;
    align-self:stretch!important;
    overflow:visible!important;
    border-radius:16px!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard:not([hidden]) #localInfoContent {
    display:flex!important;
    box-sizing:border-box!important;
    position:static!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    align-content:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    gap:12px 12px!important;
    overflow:visible!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row:not([hidden]) {
    display:flex!important;
    position:static!important;
    box-sizing:border-box!important;
    flex:1 1 calc(50% - 6px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:22px!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row:first-child:not([hidden]) {
    flex:1 1 100%!important;
    padding:0 0 11px!important;
    border-bottom:1px solid color-mix(in srgb,var(--md-header-ink) 16%,transparent)!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row[hidden] {display:none!important}
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row > div {
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row > div > a,
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row > div > span {
    display:block!important;
    max-width:100%!important;
    font-size:clamp(10px,2.75vw,12px)!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
}
@media (min-width:650px) and (max-width:800px) {
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row:not([hidden]) {
    flex:1 1 0%!important;
    justify-content:flex-start!important;
    padding:0 12px!important;
    border-left:1px solid color-mix(in srgb,var(--md-header-ink) 16%,transparent)!important;
  }
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard #localInfoContent > .info-row:first-child:not([hidden]) {
    flex:1.65 1 0%!important;
    padding-left:0!important;
    padding-bottom:0!important;
    border-left:0!important;
    border-bottom:0!important;
  }
}

/* V10 · RRSS juntas a la izquierda y WhatsApp en la MISMA fila, a la derecha. */
body .hero .hero-integrated-main .venue-socials {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body .hero .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta) {
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
}
body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta,
body[data-theme="light"] .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta {
  margin:0 0 0 auto!important;
  flex:0 0 auto!important;
  align-self:center!important;
  min-height:42px!important;
  height:42px!important;
  max-width:100%!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
@media(max-width:600px) {
  body .hero .hero-integrated-main .venue-socials {gap:7px!important}
  body .hero .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta) {
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    height:42px!important;
  }
  body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta {
    padding:0 9px!important;
    min-width:0!important;
  }
  body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta > span {
    font-size:0!important;
    gap:0!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta > span::before {
    content:"WhatsApp";
    display:inline!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:750!important;
  }
  body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta > span small {display:none!important}
}
@media(max-width:350px) {
  body .hero .hero-integrated-main .venue-socials {gap:5px!important}
  body .hero .hero-integrated-main .venue-socials .venue-social:not(.menue-whatsapp-cta) {
    flex-basis:36px!important;width:36px!important;min-width:36px!important;
  }
  body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta {padding:0 6px!important;gap:4px!important}
  body .hero .hero-integrated-main .venue-socials > .menue-whatsapp-cta > span::before {font-size:11px!important}
}


/* V11 · WhatsApp en el lugar correcto desde el PRIMER pintado.
   El HTML incluye WhatsApp entre las redes, pero ya no se reordena en JS.
   Nos dirigimos a su clase original (venue-social-whatsapp), que ya está
   presente en el HTML antes de ejecutar cualquier JavaScript. */
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
  order:99!important;
  margin:0 0 0 auto!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  box-sizing:border-box!important;
  height:42px!important;
  min-height:42px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0 12px!important;
  gap:8px!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--md-header-ink) 10%,var(--md-header-color))!important;
  color:var(--md-header-ink)!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 27%,transparent)!important;
  text-decoration:none!important;
  overflow:visible!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  white-space:nowrap!important;
  width:auto!important;
  min-width:0!important;
  gap:8px!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.15!important;
  color:var(--md-header-ink)!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small {
  display:inline!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  font-size:11px!important;
  font-weight:400!important;
  color:var(--md-header-muted)!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > b {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:24px!important;
  height:24px!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp svg {
  display:block!important;
  width:22px!important;
  height:22px!important;
  color:var(--md-header-ink)!important;
}
/* En escritorio el número se incorpora después; reservar desde el principio
   el espacio de la tarjeta completa para que no cambie su ancho al cargar. */
@media(min-width:601px){
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    width:260px!important;
    min-width:260px!important;
    max-width:calc(100% - 150px)!important;
  }
}
/* Mantener el orden lógico aunque el WhatsApp esté entre otras RRSS en el HTML. */
body .hero .hero-integrated-main .venue-socials > a.venue-social:not(.venue-social-whatsapp) {
  order:0!important;
}
@media(max-width:600px){
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    padding:0 9px!important;
    gap:5px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
    display:inline-flex!important;
    font-size:0!important;
    line-height:1!important;
    gap:0!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span::before {
    content:"WhatsApp";
    display:inline!important;
    font-size:12px!important;
    font-weight:750!important;
    line-height:1!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small {display:none!important}
}
@media(max-width:350px){
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    padding:0 6px!important;
    gap:4px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span::before {font-size:11px!important}
}


/* V12 — ficha de información compacta en móvil, sin afectar escritorio. */
@media (max-width:800px) {
  body .hero .hero-integrated-top {
    grid-template-columns:minmax(0,1fr) 40px 40px!important;
    column-gap:8px!important;
    grid-template-rows:auto auto!important;
  }
  body .hero .hero-integrated-top>.brand {
    grid-column:1!important;grid-row:1!important;
  }
  body .hero .hero-integrated-top>.menue-info-trigger {
    grid-column:2!important;grid-row:1!important;
    justify-self:end!important;align-self:center!important;
    display:grid!important;place-items:center!important;
    width:40px!important;height:40px!important;
    padding:0!important;margin:0!important;
    border-radius:50%!important;
    border:1px solid color-mix(in srgb,var(--md-header-ink) 24%,transparent)!important;
    background:color-mix(in srgb,var(--md-header-ink) 7%,var(--md-header-color))!important;
    color:var(--md-header-accent)!important;
    cursor:pointer!important;
    font:700 21px/1 Georgia,serif!important;
  }
  body .hero .hero-integrated-top>.menue-theme-toggle {
    grid-column:3!important;grid-row:1!important;
    justify-self:end!important;align-self:center!important;
    width:40px!important;height:40px!important;
  }
  /* La ficha antigua ya no ocupa una fila del header móvil. */
  body .hero .hero-integrated-top .hero-info-stack > .info-card,
  body .hero .hero-integrated-top .hero-info-stack > .info-card:not([hidden]),
  body .hero .hero-integrated-top .hero-info-stack > .info-card:has(.info-row:not([hidden])),
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard,
  body .hero .hero-integrated-top .hero-info-stack > #headerInfoCard:not([hidden]) {
    display:none!important;
  }
  body .hero .hero-integrated-top .hero-info-stack:has(>.topbar-order-tools:empty){display:none!important;}
  body .hero .hero-integrated-top .hero-info-stack:not(:has(>.topbar-order-tools > *)){
    display:none!important;
  }
  body .hero .hero-integrated-top>.menue-info-trigger[hidden] {display:none!important;}
}
@media (min-width:801px){
  body .hero .hero-integrated-top>.menue-info-trigger {display:none!important;}
}

/* V12 — ficha modal de datos del local; sin estilos heredados del modal de producto. */
#menueInfoDialog {
  position:fixed!important;
  inset:0!important;
  margin:auto!important;
  box-sizing:border-box!important;
  width:min(430px,calc(100vw - 28px))!important;
  max-width:430px!important;
  max-height:min(90dvh,720px)!important;
  padding:0!important;
  border:1px solid var(--md-line,#333)!important;
  border-radius:19px!important;
  background:var(--md-surface,#191917)!important;
  color:var(--md-text,#f7f7f0)!important;
  box-shadow:0 25px 80px #0009!important;
  overflow:hidden!important;
}
#menueInfoDialog:not([open]){display:none!important;}
#menueInfoDialog[open]{display:block!important;z-index:100100!important;}
#menueInfoDialog::backdrop {background:#000a;backdrop-filter:blur(3px);}
#menueInfoDialog .menue-info-body{
  padding:18px!important;
  max-height:min(90dvh,720px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin;
}
#menueInfoDialog .menue-info-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
#menueInfoDialog h2 {margin:0!important;font:800 21px/1.25 Arial,Helvetica,sans-serif!important;color:var(--md-text)!important;}
#menueInfoDialog .menue-info-close {
  flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid var(--md-line);
  background:var(--md-soft);color:var(--md-text);font-size:24px;line-height:1;cursor:pointer;
}
#menueInfoDialog .menue-info-details {display:grid;gap:8px;}
#menueInfoDialog .menue-info-detail {
  display:grid;grid-template-columns:23px minmax(0,1fr);gap:10px;align-items:start;
  padding:12px;border-radius:12px;border:1px solid var(--md-line);
  background:var(--md-soft);font:400 13px/1.45 system-ui,sans-serif;
}
#menueInfoDialog .menue-info-detail strong {display:block;color:var(--md-text);font-size:12px;margin-bottom:3px;}
#menueInfoDialog .menue-info-detail a {color:var(--md-text);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
#menueInfoDialog .menue-info-detail .value {color:var(--md-text);overflow-wrap:anywhere;}
#menueInfoDialog .menue-info-map-wrap{margin-top:13px;}
#menueInfoDialog .menue-info-map {
  display:block;width:100%;height:220px;border:0;border-radius:13px;background:var(--md-soft);
}
#menueInfoDialog .menue-info-map-link {
  display:inline-flex;align-items:center;gap:6px;margin-top:10px;
  font-weight:700;font-size:13px;color:var(--md-text);text-decoration:underline;
  text-underline-offset:3px;
}


/* V14 — un poco más de aire entre descripción y precio en el detalle. */
body .product-modal-card .product-modal-content .product-modal-detail:not(:empty) {
  padding-bottom:22px!important;
  margin-bottom:18px!important;
}
@media (max-width:800px) {
  body .product-modal-card .product-modal-content .product-modal-bottom {
    margin-top:28px!important;
  }
}


/* V15: Presets independientes. Los colores elegidos por el dueño SOLO valen para Personalizado. */
body[data-theme="light"]{
  --md-bg:#f8f7f2!important;--md-surface:#ffffff!important;--md-soft:#f1efe6!important;
  --md-text:#1b1b15!important;--md-muted:#67675e!important;--md-line:#e3e1d6!important;
  --md-yellow:#f9d521!important;--md-yellow-text:#252008!important;
  --md-header-color:#f8f7f2!important;--md-header-ink:#1b1b15!important;
  --md-header-muted:#68675f!important;--md-header-accent:#886900!important;
  color-scheme:light!important;
}
body[data-theme="dark"]{
  --md-bg:#080808!important;--md-surface:#171715!important;--md-soft:#20201e!important;
  --md-text:#faf9f1!important;--md-muted:#aaa99e!important;--md-line:#34342f!important;
  --md-yellow:#ffe12e!important;--md-yellow-text:#211d08!important;
  --md-header-color:#080808!important;--md-header-ink:#ffffff!important;
  --md-header-muted:#b8b6a8!important;--md-header-accent:#ffe12e!important;
  color-scheme:dark!important;
}
/* Mix: el encabezado es Dark y TODA la carta (buscador, categorías, productos y modales) usa Light. */
body[data-theme="mix"]{
  --md-bg:#f8f7f2!important;--md-surface:#ffffff!important;--md-soft:#f1efe6!important;
  --md-text:#1b1b15!important;--md-muted:#67675e!important;--md-line:#e3e1d6!important;
  --md-yellow:#f9d521!important;--md-yellow-text:#252008!important;
  --md-header-color:#080808!important;--md-header-ink:#ffffff!important;
  --md-header-muted:#b8b6a8!important;--md-header-accent:#ffe12e!important;
  color-scheme:light!important;
}
body[data-theme="custom"]{
  --md-bg:var(--md-custom-body,#f8f7f2)!important;
  --md-surface:var(--md-custom-surface,#ffffff)!important;
  --md-soft:var(--md-custom-soft,#f1efe6)!important;
  --md-text:var(--md-custom-body-ink,#1b1b15)!important;
  --md-muted:var(--md-custom-muted,#67675e)!important;
  --md-line:var(--md-custom-line,#e3e1d6)!important;
  --md-yellow:var(--md-custom-accent,#ffe12e)!important;
  --md-yellow-text:var(--md-custom-accent-ink,#211d08)!important;
  --md-header-color:var(--md-custom-header,#080808)!important;
  --md-header-ink:var(--md-custom-header-ink,#ffffff)!important;
  --md-header-muted:var(--md-custom-header-muted,#b8b6a8)!important;
  --md-header-accent:var(--md-custom-header-accent,#ffe12e)!important;
  color-scheme:var(--md-custom-scheme,light)!important;
}
/* Ajustes para que la portada y controles hereden exactamente el tema elegido. */
body[data-theme="custom"] .hero,
body[data-theme="custom"] .hero-cover,
body[data-theme="custom"] .hero-integrated-top,
body[data-theme="custom"] .hero-integrated-top .brand h1{
  color:var(--md-header-ink)!important;
}
/* Bruma's y otros locales con información extensa: no más texto aplastado ni tarjeta irregular. */
@media (min-width:801px){
  body .hero .hero-integrated-top {align-items:center!important;flex-wrap:wrap!important;gap:14px 20px!important}
  body .hero .hero-integrated-top>.brand {flex:1 1 240px!important}
  body .hero .hero-integrated-top .hero-info-stack{
    flex:0 1 auto!important;max-width:min(100%,650px)!important;
    width:min(100%,610px)!important;min-width:0!important;
    display:flex!important;justify-content:flex-end!important;align-items:center!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card:not([hidden]){
    display:block!important;width:100%!important;min-width:0!important;
    padding:15px 17px!important;border-radius:16px!important;
    max-height:none!important;height:auto!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent{
    display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;gap:10px 16px!important;
    width:100%!important;height:auto!important;min-width:0!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent>.info-row:not([hidden]){
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    padding:0!important;margin:0!important;border:0!important;
    min-width:0!important;width:100%!important;max-width:100%!important;
    min-height:36px!important;flex:none!important;overflow:visible!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row>div {
    min-width:0!important;width:100%!important;max-width:100%!important;
    display:flex!important;flex-direction:column!important;gap:3px!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row a,
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row span.info-value,
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row div>span {
    max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;
    line-height:1.4!important;font-size:12px!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row[hidden]{display:none!important}
}
@media (min-width:801px) and (max-width:1150px){
  body .hero .hero-integrated-top .hero-info-stack{flex:1 1 100%!important;width:100%!important;max-width:100%!important}
}
@media (min-width:801px) and (max-width:940px){
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent{
    grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)!important;
  }
}

@media (min-width:801px) and (max-width:1150px){
  body .hero .hero-integrated-top{
    display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-rows:auto auto!important;align-items:center!important;
    gap:14px 12px!important;
  }
  body .hero .hero-integrated-top>.brand{
    grid-column:1!important;grid-row:1!important;min-width:0!important;
  }
  body .hero .hero-integrated-top>.menue-theme-toggle{
    grid-column:2!important;grid-row:1!important;justify-self:end!important;
    margin:0!important;
  }
  body .hero .hero-integrated-top>.hero-info-stack{
    grid-column:1/-1!important;grid-row:2!important;min-width:0!important;
    max-width:100%!important;width:100%!important;margin:0!important;
  }
}


/* V16 · Header de escritorio adaptable al contenido: menos espacio sobrante y ellipsis si se pasa. */
@media (min-width:801px){
  body .hero .hero-integrated-top .hero-info-stack{
    width:auto!important;
    max-width:min(100%,760px)!important;
    flex:0 1 auto!important;
    justify-content:flex-end!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card:not([hidden]),
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard:not([hidden]){
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:15px 18px!important;
    margin-left:auto!important;
    align-items:center!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent,
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard #localInfoContent{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:100%!important;
    gap:0!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent>.info-row:not([hidden]),
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard #localInfoContent>.info-row:not([hidden]){
    flex:0 1 auto!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    padding:0 15px!important;
    border-left:1px solid color-mix(in srgb,var(--md-header-ink) 14%,transparent)!important;
    overflow:hidden!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent>.info-row:first-child:not([hidden]),
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard #localInfoContent>.info-row:first-child:not([hidden]){
    padding-left:0!important;
    border-left:0!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card #localInfoContent>.info-row:last-child:not([hidden]),
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard #localInfoContent>.info-row:last-child:not([hidden]){
    padding-right:0!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row>div,
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard .info-row>div{
    width:auto!important;
    max-width:min(34vw,260px)!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row:first-child>div,
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard .info-row:first-child>div{
    max-width:min(40vw,320px)!important;
  }
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row a,
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row span.info-value,
  body .hero .hero-integrated-top .hero-info-stack>.info-card .info-row div>span,
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard .info-row a,
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard .info-row span.info-value,
  body .hero .hero-integrated-top .hero-info-stack>#headerInfoCard .info-row div>span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    line-height:1.3!important;
  }
}
@media (min-width:801px) and (max-width:1150px){
  body .hero .hero-integrated-top>.hero-info-stack{
    width:100%!important;
    max-width:100%!important;
  }
  body .hero .hero-integrated-top>.hero-info-stack>.info-card:not([hidden]),
  body .hero .hero-integrated-top>.hero-info-stack>#headerInfoCard:not([hidden]){
    max-width:100%!important;
  }
  body .hero .hero-integrated-top>.hero-info-stack>.info-card #localInfoContent,
  body .hero .hero-integrated-top>.hero-info-stack>#headerInfoCard #localInfoContent{
    width:100%!important;
  }
  body .hero .hero-integrated-top>.hero-info-stack>.info-card .info-row>div,
  body .hero .hero-integrated-top>.hero-info-stack>#headerInfoCard .info-row>div{
    max-width:none!important;
  }
}


/* V17 · Títulos editoriales en dos renglones, con colores de contraste automático.
   Primero tono de texto principal (blanco en dark), después acento (amarillo en dark). */
body .hero .hero-integrated-main .hero-copy h2.menue-hero-title {
  display:block!important;
  max-width:100%!important;
  width:100%!important;
  white-space:normal!important;
  text-align:left!important;
  color:var(--md-header-ink)!important;
  -webkit-text-fill-color:initial!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
body .hero .hero-integrated-main .hero-copy h2.menue-hero-title > .menue-hero-title-primary,
body .hero .hero-integrated-main .hero-copy h2.menue-hero-title > .menue-hero-title-accent {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
body .hero .hero-integrated-main .hero-copy h2.menue-hero-title > .menue-hero-title-primary {
  color:var(--md-header-ink)!important;
}
body .hero .hero-integrated-main .hero-copy h2.menue-hero-title > .menue-hero-title-accent {
  color:var(--md-header-accent)!important;
}
/* Un poco menos de fuente cuando el dispositivo es muy angosto: evita terceras líneas. */
@media (max-width:370px){
  body .hero .hero-integrated-main .hero-copy h2.menue-hero-title{
    font-size:clamp(26px,7.6vw,32px)!important;
  }
}


/* V18 · WhatsApp como en el alternativo: alineado con el contenido y número en segunda fila. */
@media (min-width:801px){
  body .hero .hero-integrated-main{
    align-items:center!important;
    justify-content:space-between!important;
    gap:24px!important;
  }
  body .hero .hero-integrated-main .hero-copy{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  body .hero .hero-integrated-main .venue-socials{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:min(100%,300px)!important;
    min-width:0!important;
    margin:0 0 0 auto!important;
    align-self:center!important;
    justify-content:flex-end!important;
    gap:9px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    width:264px!important;
    min-width:264px!important;
    max-width:min(100%,264px)!important;
    height:auto!important;
    min-height:72px!important;
    padding:10px 16px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    white-space:normal!important;
    line-height:1.15!important;
    min-width:0!important;
    font-size:12px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small{
    display:block!important;
    white-space:normal!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
}


/* V19 · Posición original de Doris Alternativo.
   La estructura PHP deja WhatsApp dentro de .venue-socials: anclarlo al
   bloque del título en escritorio evita añadir una segunda fila. */
@media (min-width:801px) {
  body .hero .hero-integrated-main {
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  body .hero .hero-integrated-main .hero-copy {
    display:block!important;
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    padding-right:0!important;
    min-width:0!important;
  }
  body .hero .hero-integrated-main .hero-copy:has(.venue-socials > a.venue-social-whatsapp) {
    padding-right:260px!important;
  }
  body .hero .hero-integrated-main .venue-socials {
    position:static!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:15px 0 0!important;
    gap:9px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    position:absolute!important;
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    transform:none!important;
    order:99!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    align-self:auto!important;
    gap:9px!important;
    width:232px!important;
    min-width:0!important;
    max-width:232px!important;
    height:auto!important;
    min-height:72px!important;
    padding:12px 16px!important;
    margin:0!important;
    border-radius:13px!important;
    background:color-mix(in srgb,var(--md-header-ink) 9%,var(--md-header-color))!important;
    border:1px solid color-mix(in srgb,var(--md-header-ink) 22%,transparent)!important;
    text-decoration:none!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > b {
    flex:0 0 21px!important;
    width:21px!important;
    height:21px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp svg {
    display:block!important;
    width:20px!important;
    height:20px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span > small {
    display:block!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    color:var(--md-header-muted)!important;
  }
}

/* En móvil, WhatsApp sí ocupa su fila propia debajo de los iconos. */
@media (max-width:800px) {
  body .hero .hero-integrated-main .hero-copy {
    position:static!important;
    padding-right:0!important;
  }
  body .hero .hero-integrated-main .venue-socials {
    display:flex!important;
    position:static!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    gap:8px!important;
  }
  body .hero .hero-integrated-main .venue-socials:has(>a.venue-social-whatsapp):has(>a.venue-social:not(.venue-social-whatsapp))::before {
    content:"";
    order:1!important;
    flex:0 0 100%!important;
    height:0!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    position:static!important;
    transform:none!important;
    order:99!important;
    flex:0 0 auto!important;
    align-self:flex-end!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:64px!important;
    padding:12px 15px!important;
    margin:4px 0 0 auto!important;
    border-radius:13px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span::before {
    content:none!important;
    display:none!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span > small {
    display:block!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
}

/* Si WhatsApp es el único enlace, la fila de redes no reserva altura vacía en escritorio. */
@media (min-width:801px){
  body .hero .hero-integrated-main .venue-socials:has(>a.venue-social-whatsapp):not(:has(>a.venue-social:not(.venue-social-whatsapp))){
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
  }
}


/* V20 · WhatsApp: dimensiones y tipografía del diseño Doris Alternativo.
   No modifica el posicionamiento de escritorio ni la fila propia en móvil. */
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp{
  box-sizing:border-box!important;
  width:230px!important;
  min-width:0!important;
  max-width:min(230px,100%)!important;
  height:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  padding:12px 17px!important;
  border-radius:13px!important;
  gap:9px!important;
  box-shadow:none!important;
  background:color-mix(in srgb,var(--md-header-ink) 8%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 22%,transparent)!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > b{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp svg{
  width:20px!important;
  height:20px!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-width:0!important;
  max-width:100%!important;
  gap:0!important;
  color:var(--md-header-ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span::before{
  content:none!important;
  display:none!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span > small{
  display:block!important;
  margin-top:4px!important;
  color:var(--md-header-muted)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}


/* V21 · Copia las medidas NATURALES de .wa-link en Doris Alternativo.
   En el original la anchura y altura dependen del contenido (NO 230 × 74px).
   Se conservan las posiciones de escritorio/móvil y el color automático del tema. */
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:13px 17px!important;
  border-radius:13px!important;
  gap:9px!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  overflow:visible!important;
  font:700 13px/normal Arial,Helvetica,sans-serif!important;
  background:color-mix(in srgb,var(--md-header-ink) 8%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 22%,transparent)!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > b {
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp svg {
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
  display:block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  font:700 13px/normal Arial,Helvetica,sans-serif!important;
  color:var(--md-header-ink)!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span::before {
  content:none!important;
  display:none!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small {
  display:block!important;
  margin:4px 0 0!important;
  padding:0!important;
  white-space:nowrap!important;
  font:400 11px/normal Arial,Helvetica,sans-serif!important;
  color:var(--md-header-muted)!important;
}
/* En móvil el botón sigue en su fila propia. Conservamos el número debajo. */
@media(max-width:800px){
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    width:max-content!important;
    min-height:0!important;
    max-width:100%!important;
    height:auto!important;
    padding:10px 13px!important;
    font-size:12px!important;
    margin:10px 0 0 auto!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
    font-size:12px!important;
  }
}


/* V22 Premium · Tarjetas legibles con precio visible y controles independientes.
   El plan Básico mantiene su diseño intacto. */
@media(min-width:701px){
  body[data-plan="pro"] .menu-main .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  body[data-plan="pro"] .menu-main .product{
    display:grid!important;
    grid-template-columns:clamp(115px,13vw,156px) minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:start!important;
    gap:13px!important;
    min-height:188px!important;
    height:auto!important;
    overflow:hidden!important;
  }
  body[data-plan="pro"] .menu-main .product-img{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:148px!important;
    max-height:148px!important;
    min-height:0!important;
    align-self:start!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}
body[data-plan="pro"] .menu-main .product{
  height:auto!important;
  overflow:hidden!important;
  min-width:0!important;
}
body[data-plan="pro"] .menu-main .product-body{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  align-self:stretch!important;
  overflow:visible!important;
}
body[data-plan="pro"] .menu-main .product-bottom{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-height:0!important;
  height:auto!important;
  margin-top:auto!important;
  padding-top:16px!important;
  overflow:visible!important;
}
body[data-plan="pro"] .menu-main .product-bottom>.price{
  display:block!important;
  position:static!important;
  order:0!important;
  flex:none!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:1.3em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.3!important;
  font-size:clamp(17px,1.65vw,21px)!important;
  font-weight:800!important;
  color:var(--md-text)!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body[data-plan="pro"] .menu-main .product-bottom>.product-add{
  display:flex!important;
  order:1!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  width:100%!important;
  min-width:0!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
}
body[data-plan="pro"] .menu-main .product .product-qty,
body[data-plan="pro"] .menu-main .product .add-btn{flex:0 0 auto!important}
@media(max-width:700px){
  body[data-plan="pro"] .menu-main .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
  }
  body[data-plan="pro"] .menu-main .product{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    min-height:0!important;
    height:auto!important;
    gap:7px!important;
  }
  body[data-plan="pro"] .menu-main .product-img{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3/2!important;
    margin:0!important;
    align-self:stretch!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
  }
  body[data-plan="pro"] .menu-main .product-body{
    width:100%!important;
    flex:1 1 auto!important;
    min-width:0!important;
    padding:3px 1px 4px!important;
  }
  body[data-plan="pro"] .menu-main .product-bottom{
    padding-top:12px!important;
    gap:9px!important;
  }
  body[data-plan="pro"] .menu-main .product-bottom>.price{
    align-self:flex-start!important;
    font-size:17px!important;
  }
  body[data-plan="pro"] .menu-main .product-add{
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:7px!important;
  }
  body[data-plan="pro"] .menu-main .product-add .add-btn{
    flex:1 1 75px!important;
    min-height:34px!important;
  }
}
/* Mesa: indicador pequeño junto al título, no una tarjeta extra encima del encabezado. */
body[data-plan="pro"] .hero-info-stack .topbar-order-tools:empty {display:none!important}
body[data-plan="pro"][data-table]:not([data-table=""]) .hero-info-stack .topbar-order-tools{display:none!important}
body[data-plan="pro"][data-table]:not([data-table=""]) .hero-info-stack .table-order-hint{display:none!important}
body[data-plan="pro"] .hero-integrated-main .hero-copy {position:relative!important}
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable {
  position:absolute!important;
  top:0!important;
  right:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:max-content!important;
  min-width:0!important;
  max-width:120px!important;
  height:auto!important;
  min-height:30px!important;
  padding:5px 10px!important;
  margin:0!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--md-header-ink) 8%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 28%,transparent)!important;
  color:var(--md-header-ink)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  z-index:3!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable b {font:inherit!important}
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable small{display:none!important}
body[data-plan="pro"] .hero-integrated-main .hero-copy > .demo-pro-label{max-width:calc(100% - 98px)!important}
/* Si no existe distintivo de demo, el chip va arriba a la derecha y el título
   conserva su lugar sin un contenedor adicional. */
@media(max-width:700px){
  body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable {
    top:0!important;
    right:0!important;
    min-height:28px!important;
    font-size:11px!important;
    padding:4px 9px!important;
  }
  body[data-plan="pro"] .hero-integrated-main .hero-copy:has(>#identifyTable):not(:has(>.demo-pro-label)){
    padding-top:32px!important;
  }
}


/* V23 · Ajuste de legibilidad SOLO para las tarjetas del plan Premium. */
body[data-plan="pro"] .menu-main .product h4 {
  font-size:18px!important;
  line-height:1.28!important;
}
body[data-plan="pro"] .menu-main .product p {
  font-size:13px!important;
  line-height:1.5!important;
}
body[data-plan="pro"] .menu-main .product .badge {
  font-size:10px!important;
}
body[data-plan="pro"] .menu-main .product .add-btn {
  font-size:12px!important;
  font-weight:750!important;
}
body[data-plan="pro"] .menu-main .product .product-qty strong,
body[data-plan="pro"] .menu-main .product .product-qty button {
  font-size:14px!important;
}

/* El nombre YA lo actualiza el sistema en #customerNameChip.
   La V22 lo ocultaba con display:none. Mostrar Mesa 1 · Jorge sin agrandar el header. */
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable {
  max-width:min(240px,67vw)!important;
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:4px!important;
  overflow:hidden!important;
}
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable > small#customerNameChip {
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:132px!important;
  font:500 11px/1.2 Arial,Helvetica,sans-serif!important;
  color:var(--md-header-muted)!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable > small#customerNameChip::before {
  content:"·";
  margin:0 5px 0 2px;
  color:var(--md-header-muted);
}

@media(max-width:700px) {
  body[data-plan="pro"] .menu-main .product h4 {font-size:16.5px!important;line-height:1.3!important;}
  body[data-plan="pro"] .menu-main .product p {font-size:12px!important;line-height:1.45!important;}
  body[data-plan="pro"] .menu-main .product-bottom > .price {font-size:18px!important;}
  body[data-plan="pro"] .menu-main .product .add-btn {font-size:12px!important;}
  body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable {
    max-width:min(198px,52vw)!important;
    padding:5px 9px!important;
  }
  body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable > small#customerNameChip {
    max-width:95px!important;
    font-size:10.5px!important;
  }
}
@media(max-width:370px) {
  body[data-plan="pro"] .menu-main .product h4 {font-size:15.5px!important;}
  body[data-plan="pro"] .menu-main .product p {font-size:11.5px!important;}
}


/* V24 · Premium: quitar el MAX-HEIGHT heredado que recortaba todo debajo
   de la foto en móviles. Solo el plan Premium; Básico queda intacto. */
@media (max-width:800px) {
  body[data-plan="pro"] .menu-main .product-grid {
    align-items:stretch!important;
  }
  body[data-plan="pro"] .menu-main .product {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    gap:9px!important;
  }
  body[data-plan="pro"] .menu-main .product-img {
    display:block!important;
    flex:0 0 auto!important;
    position:static!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3/2!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
  }
  body[data-plan="pro"] .menu-main .product-body {
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:4px 2px 5px!important;
  }
  body[data-plan="pro"] .menu-main .product .badge,
  body[data-plan="pro"] .menu-main .product h4,
  body[data-plan="pro"] .menu-main .product p,
  body[data-plan="pro"] .menu-main .product-bottom,
  body[data-plan="pro"] .menu-main .product-bottom>.price,
  body[data-plan="pro"] .menu-main .product .product-add {
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
    max-height:none!important;
  }
  body[data-plan="pro"] .menu-main .product h4 {
    height:auto!important;
    line-height:1.3!important;
    overflow:visible!important;
  }
  body[data-plan="pro"] .menu-main .product p {
    height:auto!important;
    line-height:1.45!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  body[data-plan="pro"] .menu-main .product-bottom {
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    gap:9px!important;
    margin:auto 0 0!important;
    padding:13px 0 0!important;
    overflow:visible!important;
  }
  body[data-plan="pro"] .menu-main .product-bottom>.price {
    display:block!important;
    flex:none!important;
    align-self:flex-start!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    text-align:left!important;
    line-height:1.3!important;
    font-size:18px!important;
    color:var(--md-text)!important;
  }
  body[data-plan="pro"] .menu-main .product-add {
    display:flex!important;
    flex:0 0 auto!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
  }
  body[data-plan="pro"] .menu-main .product-add .add-btn {
    min-height:34px!important;
    height:34px!important;
  }
}

/* Mesa identificada: texto y nombre legibles, sin volver a crear otra fila. */
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable {
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.25!important;
  min-height:42px!important;
  padding:7px 13px!important;
  gap:6px!important;
  max-width:min(300px,62vw)!important;
}
body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable > small#customerNameChip {
  font:600 14px/1.25 Arial,Helvetica,sans-serif!important;
  max-width:160px!important;
}
@media (max-width:700px) {
  body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable {
    font-size:16px!important;
    min-height:39px!important;
    padding:7px 11px!important;
    max-width:min(240px,60vw)!important;
  }
  body[data-plan="pro"] .hero-integrated-main .hero-copy > #identifyTable > small#customerNameChip {
    font-size:13px!important;
    max-width:118px!important;
  }
}


/* V25 · Estado del pedido en el encabezado. No flota, no se pega al buscador. */
/* Antes de que cargue el JS no permitir que el estado reaparezca flotante. */
body[data-plan="pro"] > #orderNotifications:not(.menue-order-status-inline){
  visibility:hidden!important;
  display:block!important;
  position:static!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline {
  position:static!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:0!important;
  box-sizing:border-box!important;
  width:min(285px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:10px 0 0 auto!important;
  overflow:visible!important;
  pointer-events:none!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline:empty{
  display:none!important;
  margin:0!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification {
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:53px!important;
  height:auto!important;
  padding:9px 12px!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 24%,transparent)!important;
  border-left:3px solid var(--md-header-accent,#ffe12e)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--md-header-ink) 8%,var(--md-header-color,#080808))!important;
  color:var(--md-header-ink,#faf9f1)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:27px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  text-align:left!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  transition:border-color .2s ease,background .2s ease!important;
  animation:none!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification:not(:first-child){
  display:none!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification[data-status="confirmed"] {border-left-color:#47b58a!important}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification[data-status="preparing"] {border-left-color:#e8a848!important}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification[data-status="delivered"] {border-left-color:#68baea!important}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification[data-status="cancelled"] {border-left-color:#e8818d!important}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification .tracker-icon{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:9px!important;
  font-size:14px!important;
  background:color-mix(in srgb,var(--md-header-ink) 12%,transparent)!important;
  color:var(--md-header-ink,#faf9f1)!important;
  box-shadow:none!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification .tracker-copy{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  gap:3px!important;
}
/* El identificador técnico se mantiene en el DOM para el seguimiento, pero no ocupa espacio. */
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .tracker-copy small{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .tracker-copy::before{
  content:"Estado del pedido";
  display:block!important;
  font:750 13px/1.2 Arial,Helvetica,sans-serif!important;
  color:var(--md-header-ink,#faf9f1)!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .tracker-copy strong{
  display:block!important;
  margin:0!important;
  font:400 11px/1.3 Arial,Helvetica,sans-serif!important;
  color:var(--md-header-muted,#b6b4a8)!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
/* Animación continua pero discreta al cambiar el estado; se apaga al revisar el aviso. */
@keyframes menueStatusBreathe {
  0%,100% {box-shadow:0 0 0 0 color-mix(in srgb,var(--md-header-accent,#ffe12e) 0%,transparent);}
  50% {box-shadow:0 0 0 3px color-mix(in srgb,var(--md-header-accent,#ffe12e) 32%,transparent);}
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification.menue-status-attention {
  animation:menueStatusBreathe 2.4s ease-in-out infinite!important;
}
body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification.leaving {
  animation:orderNotificationLeave .46s ease both!important;
}
@media (max-width:800px){
  body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline{
    width:min(260px,100%)!important;
    margin:9px 0 0 auto!important;
  }
  body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification{
    min-height:49px!important;
    padding:8px 11px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  body[data-plan="pro"] .hero .order-notifications.menue-order-status-inline .order-notification.menue-status-attention{
    animation:none!important;
    outline:2px solid var(--md-header-accent,#ffe12e)!important;
  }
}


/* V26 · En móvil WhatsApp se alinea con los iconos sociales.
   Eliminamos el salto de línea artificial de V19 sin cambiar escritorio
   ni la tarjeta de estado del pedido de V25. */
@media (max-width:800px){
  body .hero .hero-integrated-main .venue-socials,
  body[data-plan="pro"] .hero .hero-integrated-main .venue-socials{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:7px!important;
    margin:14px 0 0!important;
    padding:0!important;
  }
  body .hero .hero-integrated-main .venue-socials::before,
  body .hero .hero-integrated-main .venue-socials:has(>a.venue-social-whatsapp):has(>a.venue-social:not(.venue-social-whatsapp))::before {
    content:none!important;
    display:none!important;
    flex:none!important;
    height:0!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social:not(.venue-social-whatsapp){
    order:0!important;
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp{
    order:99!important;
    position:static!important;
    flex:0 1 auto!important;
    align-self:center!important;
    margin:0 0 0 auto!important;
    width:max-content!important;
    min-width:0!important;
    max-width:calc(100% - 120px - 21px)!important;
    height:auto!important;
    min-height:0!important;
    padding:10px 11px!important;
    gap:7px!important;
    white-space:nowrap!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span {
    min-width:0!important;
    max-width:100%!important;
    font-size:12px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small{
    display:block!important;
    font-size:11px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media (max-width:370px){
  body .hero .hero-integrated-main .venue-socials{gap:5px!important}
  body .hero .hero-integrated-main .venue-socials > a.venue-social:not(.venue-social-whatsapp){
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    height:44px!important;
    min-height:44px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    max-width:calc(100% - 102px - 15px)!important;
    padding:9px 7px!important;
    gap:5px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span{
    font-size:11px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small{
    font-size:10px!important;
  }
}


/* V27 — Acción de mesero en el mismo renglón que el estado del pedido.
   Hasta que JS incorpore el botón al encabezado no puede verse flotante. */
body[data-plan="pro"] .waiter-call-fab:not(.menue-waiter-inline){
  display:none!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,285px)!important;
  align-items:center!important;
  column-gap:12px!important;
  width:100%!important;
  min-width:0!important;
  margin:16px 0 0!important;
  padding:0!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  gap:0!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:auto!important;
  display:inline-flex!important;
  flex:0 1 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:54px!important;
  height:auto!important;
  margin:0!important;
  padding:8px 13px 8px 8px!important;
  gap:8px!important;
  border-radius:14px!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink,#fff) 25%,transparent)!important;
  background:color-mix(in srgb,var(--md-header-ink,#fff) 8%,var(--md-header-color,#080808))!important;
  color:var(--md-header-ink,#fff)!important;
  box-shadow:none!important;
  font:750 13px/1.2 Arial,Helvetica,sans-serif!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  text-align:left!important;
  cursor:pointer!important;
  white-space:normal!important;
  transition:border-color .2s ease,background .2s ease!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab:hover{
  transform:none!important;
  border-color:var(--md-header-accent,#ffe12e)!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab > span{
  flex:0 0 31px!important;
  width:31px!important;
  height:31px!important;
  font-size:15px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--md-header-ink,#fff) 12%,transparent)!important;
  color:var(--md-header-ink,#fff)!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab > b{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  opacity:1!important;
  transform:none!important;
  white-space:normal!important;
  font-size:inherit!important;
  line-height:1.2!important;
  text-overflow:clip!important;
  overflow:visible!important;
}
/* Respetar los estados de visibilidad que maneja el sistema de solicitudes. */
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > #waiterRequestedButton[hidden],
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > #callWaiterButton[hidden],
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > #callWaiterButton.waiter-original-hidden{
  display:none!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab.is-requested,
body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > #waiterRequestedButton:not([hidden]){
  border-color:color-mix(in srgb,#67c6a0 50%,transparent)!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline{
  grid-column:2!important;
  position:static!important;
  inset:auto!important;
  display:flex!important;
  align-self:center!important;
  justify-self:end!important;
  width:min(285px,100%)!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline:empty{
  display:none!important;
}
@media(max-width:800px){
  body[data-plan="pro"] .hero .menue-order-actions-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)!important;
    column-gap:9px!important;
    margin-top:14px!important;
  }
  body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab{
    min-height:49px!important;
    padding:7px 9px 7px 7px!important;
    gap:6px!important;
    font-size:12px!important;
  }
  body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab > span{
    width:28px!important;height:28px!important;flex-basis:28px!important;font-size:13px!important;
  }
  body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline{
    width:100%!important;
  }
}
@media(max-width:350px){
  body[data-plan="pro"] .hero .menue-order-actions-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)!important;
    column-gap:7px!important;
  }
  body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab{
    font-size:11px!important;
    padding:6px!important;
    gap:4px!important;
  }
  body[data-plan="pro"] .hero .menue-order-actions-row .menue-waiter-inline-slot > .waiter-call-fab > span{
    width:25px!important;height:25px!important;flex-basis:25px!important;
  }
}


/* V28 · WhatsApp vuelve a ser un icono normal de redes sociales.
   Sustituye las reglas históricas de tarjeta, número, posición absoluta y
   márgenes automáticos de V3–V27, antes y después de iniciar JavaScript. */
body .hero .hero-integrated-main .hero-copy:has(.venue-socials > a.venue-social-whatsapp) {
  padding-right:0!important;
}
body .hero .hero-integrated-main .venue-socials,
body[data-plan="pro"] .hero .hero-integrated-main .venue-socials {
  position:static!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:14px 0 0!important;
  gap:9px!important;
}
body .hero .hero-integrated-main .venue-socials::before,
body .hero .hero-integrated-main .venue-socials:has(>a.venue-social-whatsapp):has(>a.venue-social:not(.venue-social-whatsapp))::before {
  content:none!important;
  display:none!important;
}
body .hero .hero-integrated-main .venue-socials:has(>a.venue-social-whatsapp):not(:has(>a.venue-social:not(.venue-social-whatsapp))) {
  display:flex!important;
  width:max-content!important;
  min-height:0!important;
  height:auto!important;
  margin:14px 0 0!important;
  padding:0!important;
  gap:0!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  order:0!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 42px!important;
  align-self:center!important;
  justify-content:center!important;
  align-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--md-header-ink) 8%,var(--md-header-color))!important;
  border:1px solid color-mix(in srgb,var(--md-header-ink) 24%,transparent)!important;
  color:var(--md-header-ink)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-decoration:none!important;
  white-space:normal!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > b {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  color:var(--md-header-ink)!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp svg {
  display:block!important;
  width:23px!important;
  height:23px!important;
  color:var(--md-header-ink)!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span,
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span small,
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp > span::before {
  display:none!important;
  content:none!important;
}
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp:hover,
body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp:focus-visible {
  border-color:var(--md-header-accent)!important;
}
@media (max-width:800px){
  body .hero .hero-integrated-main .venue-socials,
  body[data-plan="pro"] .hero .hero-integrated-main .venue-socials{
    justify-content:flex-start!important;
    width:max-content!important;
    max-width:100%!important;
    gap:7px!important;
  }
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
}
@media (max-width:370px){
  body .hero .hero-integrated-main .venue-socials{gap:5px!important}
  body .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp,
  body[data-theme="light"] .hero .hero-integrated-main .venue-socials > a.venue-social.venue-social-whatsapp {
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}


/* V29 · Estado del pedido: ancho justo al contenido, sin espacio sobrante.
   Mantiene la posición derecha, la animación y el texto del estado. */
body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline {
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  justify-self:end!important;
  align-items:flex-end!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline > .order-notification {
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:27px minmax(0,max-content)!important;
}
body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline .tracker-copy {
  min-width:0!important;
  max-width:100%!important;
}
@media (min-width:801px) {
  body[data-plan="pro"] .hero .menue-order-actions-row {
    grid-template-columns:minmax(0,1fr) max-content!important;
  }
}
@media (max-width:800px) {
  body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline {
    width:fit-content!important;
    max-width:100%!important;
  }
  body[data-plan="pro"] .hero .menue-order-actions-row > .order-notifications.menue-order-status-inline > .order-notification {
    grid-template-columns:27px minmax(0,1fr)!important;
  }
}


/* V30 · Premium: precio → cantidad → agregar en una única fila, alineada a la derecha.
   No modifica la carta Básica. */
body[data-plan="pro"] .menu-main .product .product-bottom {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin-top:auto!important;
  padding:14px 0 0!important;
  overflow:visible!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom > .price {
  display:block!important;
  order:0!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  white-space:nowrap!important;
  text-align:right!important;
  font-size:clamp(15px,1.45vw,20px)!important;
  line-height:1.2!important;
  font-weight:800!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom > .product-add {
  display:flex!important;
  order:1!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom .product-qty{
  display:flex!important;
  flex:0 0 auto!important;
  height:34px!important;
  min-height:34px!important;
  align-items:center!important;
  white-space:nowrap!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
  flex:0 0 27px!important;
  width:27px!important;
  min-width:27px!important;
  height:100%!important;
  padding:0!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
  min-width:21px!important;
  font-size:13px!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
/* Dos columnas solo donde quepan las acciones. Entre 660 y 1040 px la
   fotografía pasa arriba, dejando a los controles todo el ancho de tarjeta. */
@media (min-width:660px) and (max-width:1040px){
  body[data-plan="pro"] .menu-main .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body[data-plan="pro"] .menu-main .product{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    gap:9px!important;
  }
  body[data-plan="pro"] .menu-main .product-img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:200px!important;
    aspect-ratio:3/2!important;
    object-fit:cover!important;
    align-self:stretch!important;
  }
  body[data-plan="pro"] .menu-main .product-body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}
@media (max-width:659px){
  body[data-plan="pro"] .menu-main .product-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom{
    gap:8px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .price{
    font-size:clamp(16px,4vw,19px)!important;
  }
  body[data-plan="pro"] .menu-main .product-img{
    max-height:195px!important;
    aspect-ratio:16/9!important;
    object-fit:cover!important;
  }
}
@media(max-width:370px){
  body[data-plan="pro"] .menu-main .product .product-bottom{gap:6px!important;}
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{gap:4px!important;}
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{padding:0 8px!important;font-size:11px!important;}
}


/* V31 · La cuadrícula Premium predeterminada: web 3 columnas, móvil 2.
   Básico conserva su configuración previa. */
@media (min-width:801px) {
  body[data-plan="pro"] .menu-main .product-grid {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  body[data-plan="pro"] .menu-main .product {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    max-height:none!important;
    overflow:hidden!important;
    gap:10px!important;
  }
  body[data-plan="pro"] .menu-main .product-img {
    display:block!important;
    position:static!important;
    width:100%!important;
    height:auto!important;
    max-height:205px!important;
    aspect-ratio:3/2!important;
    object-fit:cover!important;
    align-self:stretch!important;
    margin:0!important;
  }
  body[data-plan="pro"] .menu-main .product-body {
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom {
    margin-top:auto!important;
  }
}
@media (min-width:801px) and (max-width:1130px) {
  body[data-plan="pro"] .menu-main .product .product-bottom {
    gap:5px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .price {
    font-size:14px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button {
    flex-basis:24px!important;
    width:24px!important;
    min-width:24px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong {
    min-width:17px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn {
    padding-inline:8px!important;
    font-size:11px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .product-add {
    gap:4px!important;
  }
}
@media (max-width:800px) {
  body[data-plan="pro"] .menu-main .product-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
    align-items:stretch!important;
  }
  body[data-plan="pro"] .menu-main .product {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:auto!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:8px!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  body[data-plan="pro"] .menu-main .product-img {
    display:block!important;
    position:static!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    aspect-ratio:3/2!important;
    object-fit:cover!important;
    align-self:stretch!important;
    margin:0!important;
  }
  body[data-plan="pro"] .menu-main .product-body {
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    padding:2px 1px 3px!important;
  }
  body[data-plan="pro"] .menu-main .product h4 {
    font-size:clamp(13px,3.5vw,16px)!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  body[data-plan="pro"] .menu-main .product p {
    font-size:clamp(10.5px,2.7vw,12px)!important;
    line-height:1.4!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom {
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    padding:10px 0 0!important;
    gap:6px!important;
    overflow:visible!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .price {
    display:block!important;
    flex:0 0 auto!important;
    align-self:flex-end!important;
    max-width:100%!important;
    width:auto!important;
    margin:0!important;
    text-align:right!important;
    font-size:clamp(15px,3.6vw,18px)!important;
    line-height:1.25!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .product-add {
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty {
    display:flex!important;
    flex:0 1 auto!important;
    min-width:0!important;
    height:32px!important;
    min-height:32px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button {
    flex:0 0 23px!important;
    width:23px!important;
    min-width:23px!important;
    height:32px!important;
    padding:0!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong {
    min-width:17px!important;
    font-size:12px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn {
    display:inline-flex!important;
    flex:0 0 auto!important;
    min-width:0!important;
    width:auto!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 8px!important;
    margin:0!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
}
@media (max-width:370px) {
  body[data-plan="pro"] .menu-main {padding-inline:12px!important;}
  body[data-plan="pro"] .menu-main .product-grid {gap:8px!important;}
  body[data-plan="pro"] .menu-main .product {padding:7px!important;}
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button {
    flex-basis:21px!important;
    width:21px!important;
    min-width:21px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong {
    min-width:15px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn {
    font-size:10px!important;
    padding-inline:6px!important;
  }
}


/* V32 · Premium móvil: precio más pequeño y una sola línea junto a las acciones,
   sin alterar el plan Básico ni las tres columnas de escritorio. */
@media (max-width:800px) {
  body[data-plan="pro"] .menu-main .product .product-bottom > .price {
    font-size:clamp(10px,2.65vw,12px)!important;
    line-height:1.15!important;
    letter-spacing:-.25px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    flex:0 0 auto!important;
  }
}
@media (min-width:375px) and (max-width:800px) {
  body[data-plan="pro"] .menu-main .product .product-bottom {
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .price {
    margin-right:auto!important;
    align-self:center!important;
    font-size:clamp(10px,2.65vw,11px)!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom > .product-add {
    width:auto!important;
    flex:0 0 auto!important;
    justify-content:flex-end!important;
    gap:3px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty {
    height:30px!important;
    min-height:30px!important;
    flex:0 0 auto!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button {
    flex-basis:19px!important;
    width:19px!important;
    min-width:19px!important;
    height:30px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong {
    min-width:12px!important;
    font-size:11px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn {
    height:30px!important;
    min-height:30px!important;
    font-size:10px!important;
    padding:0 5px!important;
  }
}
/* En teléfonos de 320-374px, mantener los botones accionables: el precio
   sigue siendo de una sola línea, encima de los controles. */


/* V33 · Premium móvil: precio legible y agrupado con las acciones a la derecha.
   El bloque inferior permanece alineado a la derecha en todas las resoluciones. */
@media (max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom{
    display:flex!important;
    flex-flow:column nowrap!important;
    justify-content:flex-end!important;
    align-items:flex-end!important;
    gap:5px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.price{
    display:block!important;
    order:0!important;
    flex:0 0 auto!important;
    align-self:flex-end!important;
    font-size:clamp(14px,3.8vw,18px)!important;
    font-weight:850!important;
    letter-spacing:-.25px!important;
    line-height:1.2!important;
    margin:0!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{
    display:flex!important;
    flex-flow:row nowrap!important;
    flex:0 0 auto!important;
    justify-content:flex-end!important;
    align-self:flex-end!important;
    width:auto!important;
    margin:0!important;
    gap:3px!important;
  }
}
/* A partir de 390px, los 3 elementos pueden compartir una sola fila,
   usando botones más compactos sin sacrificar el tamaño del precio. */
@media (min-width:390px) and (max-width:520px){
  body[data-plan="pro"] .menu-main .product .product-bottom{
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:3px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.price{
    font-size:14px!important;
    align-self:center!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{
    align-self:center!important;
    flex:0 0 auto!important;
    gap:2px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty{
    height:30px!important;
    min-height:30px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
    flex:0 0 16px!important;
    width:16px!important;
    min-width:16px!important;
    height:30px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
    font-size:11px!important;
    min-width:10px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
    height:30px!important;
    min-height:30px!important;
    padding:0 4px!important;
    font-size:10px!important;
  }
}
@media (min-width:521px) and (max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom{
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.price{
    font-size:clamp(15px,2.8vw,18px)!important;
    align-self:center!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{
    align-self:center!important;
  }
}


/* V34 · Controles Premium realmente táctiles en móvil.
   Precio legible y junto al grupo de acciones, alineado a la derecha.
   Dos columnas de productos se mantienen también en teléfonos estrechos. */
@media (max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    gap:7px!important;
    min-width:0!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.price{
    align-self:flex-end!important;
    flex:0 0 auto!important;
    margin:0!important;
    text-align:right!important;
    font-size:clamp(14px,3.8vw,18px)!important;
    line-height:1.25!important;
    white-space:nowrap!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    align-self:flex-end!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    height:40px!important;
    min-height:40px!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    flex:0 0 35px!important;
    width:35px!important;
    min-width:35px!important;
    max-width:35px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 6px!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:700!important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    cursor:pointer;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 16px!important;
    min-width:16px!important;
    font-size:12px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 7px!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
    cursor:pointer;
  }
}
/* Pantallas realmente pequeñas: conservar dos columnas y ampliar la diana
   respecto a los antiguos controles de 16–19 px sin generar overflow. */
@media (max-width:370px){
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{gap:4px!important}
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
    flex-basis:30px!important;width:30px!important;min-width:30px!important;max-width:30px!important;
    height:40px!important;min-height:40px!important;padding:0 5px!important;font-size:19px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
    flex-basis:14px!important;min-width:14px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
    padding:0 5px!important;font-size:10px!important;
  }
}
@media (min-width:430px) and (max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
    flex-basis:40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
    flex-basis:19px!important;min-width:19px!important;font-size:13px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
    font-size:12px!important;padding:0 9px!important;
  }
}
/* En tablets con espacio suficiente, mantener precio + controles en una fila. */
@media (min-width:680px) and (max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom{
    flex-direction:row!important;align-items:center!important;gap:8px!important;
  }
}

/* Ajustes finos para que la zona táctil no sobresalga en ninguna tarjeta. */
@media(max-width:355px){
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:6px!important;
  }
}
@media(min-width:356px) and (max-width:410px){
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{gap:6px!important}
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
    flex-basis:32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
    flex-basis:14px!important;min-width:14px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
    font-size:10px!important;padding:0 5px!important;
  }
}
@media(min-width:411px) and (max-width:449px){
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{gap:6px!important}
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty button{
    flex-basis:36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .product-qty strong{
    flex-basis:16px!important;min-width:16px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom .add-btn{
    font-size:10.5px!important;padding:0 6px!important;
  }
}

/* V43: Imagen opcional para el encabezado con zoom hacia adentro.
   La foto vive en ::before para poder ampliarse desde 100% sin deformar el contenido. */
body[data-theme] .hero.menue-has-header-image{
  position:relative!important;
  overflow:hidden!important;
  background:#101010!important;
  --md-header-color:#101010!important;
  --md-header-ink:#fff!important;
  --md-header-muted:#e5e3db!important;
  --md-header-accent:#ffe12e!important;
  color:#fff!important;
}
body[data-theme] .hero.menue-has-header-image::before,
body[data-theme] .hero.menue-has-header-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
body[data-theme] .hero.menue-has-header-image::before{
  background-image:var(--md-header-image)!important;
  background-position:var(--md-header-x,50%) var(--md-header-y,50%)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  transform:scale(var(--md-header-zoom,1));
  transform-origin:var(--md-header-x,50%) var(--md-header-y,50%);
  will-change:transform;
  z-index:0;
}
body[data-theme] .hero.menue-has-header-image::after{
  background-image:linear-gradient(90deg,
    rgba(0,0,0,var(--md-header-shade,.70)) 0%,
    rgba(0,0,0,calc(var(--md-header-shade,.70) * .96)) 52%,
    rgba(0,0,0,var(--md-header-shade,.70)) 100%)!important;
  z-index:1;
}
body[data-theme] .hero.menue-has-header-image>.shell{
  position:relative;
  z-index:2;
}
body[data-theme] .hero.menue-has-header-image .hero-integrated-main .hero-copy>p{
  color:#e5e3db!important;
}
body[data-theme] .hero.menue-has-header-image .hero-integrated-top{
  border-bottom-color:rgba(255,255,255,.25)!important;
}
body[data-theme] .hero.menue-has-header-image .hero-integrated-top .brand h1,
body[data-theme] .hero.menue-has-header-image .hero-integrated-top .brand>div:nth-child(2)>span{
  color:#fff!important;
}
body[data-theme] .hero.menue-has-header-image .hero-integrated-main .hero-copy h2.menue-hero-title > .menue-hero-title-primary{
  color:#fff!important;
}
body[data-theme] .hero.menue-has-header-image .hero-integrated-main .hero-copy h2.menue-hero-title > .menue-hero-title-accent{
  color:#ffe12e!important;
}

/* Menue Premium · modal: precio visible debajo del texto, con 5 px exactos.
   La barra NO usa position:absolute: queda dentro del flujo del contenido y
   nunca se corta por el límite inferior del modal. */
body[data-plan="pro"] #productModal .product-modal-content .product-modal-bottom {
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:6px 8px!important;
  margin:5px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body[data-plan="pro"] #productModal #productModalPrice {
  order:0!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 auto!important;
  display:block!important;
  text-align:left!important;
  white-space:nowrap!important;
}
body[data-plan="pro"] #productModal .product-modal-actions {
  order:1!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 1 auto!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  gap:6px!important;
}
/* El espacio entre el final del texto y el precio no se suma a los márgenes
   anteriores (que producían un espacio excesivo). */
body[data-plan="pro"] #productModal .product-modal-summary {
  margin-bottom:0!important;
}
body[data-plan="pro"] #productModal .product-modal-detail:empty {
  display:none!important;
}
body[data-plan="pro"] #productModal .product-modal-content .product-modal-detail:not(:empty) {
  padding-bottom:0!important;
  margin-bottom:0!important;
}
/* Espacio de seguridad real al final del contenido, aunque el modal necesite
   scroll vertical. Se elimina la reserva para una barra flotante fija. */
body[data-plan="pro"] #productModal .product-modal-content {
  padding-bottom:20px!important;
  overflow-y:auto!important;
  min-height:0!important;
  overscroll-behavior:contain!important;
}
/* Imágenes pequeñas: ampliarlas proporcionalmente hasta llenar el marco,
   sin deformarlas; se recorta lo que sobresalga, manteniendo el centro. */
body[data-plan="pro"] #productModal .product-modal-card > img {
  object-fit:cover!important;
  object-position:center!important;
}

/* Menue Premium · Tarjetas del catálogo: misma jerarquía que en el modal.
   Precio siempre a la izquierda, cantidad y Agregar alineados a la derecha.
   El ajuste está limitado a .menu-main: no modifica el modal ni la carta Básica. */
body[data-plan="pro"] .menu-main .product .product-bottom {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:6px 8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom > .price {
  display:block!important;
  order:0!important;
  flex:0 0 auto!important;
  align-self:center!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 auto 0 0!important;
  padding:0!important;
  text-align:left!important;
  white-space:nowrap!important;
}
body[data-plan="pro"] .menu-main .product .product-bottom > .product-add {
  display:flex!important;
  order:1!important;
  flex:0 1 auto!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 0 auto!important;
  padding:0!important;
}
/* En la grilla móvil de dos columnas, permitir que las acciones bajen a la
   línea siguiente si no caben al lado del precio, pero sin cambiar de lado. */
@media(max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom{
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:6px!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.price{
    align-self:center!important;
    text-align:left!important;
    margin:0 auto 0 0!important;
  }
  body[data-plan="pro"] .menu-main .product .product-bottom>.product-add{
    flex:0 1 auto!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    align-self:center!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 0 auto!important;
  }
}

/* Menue Premium · Aire entre descripción y controles de la tarjeta (no modal). */
body[data-plan="pro"] .menu-main .product .product-bottom {
  padding-top:22px!important;
}
@media (max-width:800px){
  body[data-plan="pro"] .menu-main .product .product-bottom {
    padding-top:18px!important;
  }
}
