* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scrollbar-gutter: stable;
}

body {
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  background: #eeeeee;
  color: #1f1f1f;
}

body.cart-open {
  overflow: hidden;
}

button,
input {
  font: inherit;
}


/* =========================
   MENÚ
========================= */

.menu {
  width: 100%;
  max-width: 480px;
  min-height: 100vh;

  margin: 0 auto;

  background: #ffffff;
}


/* =========================
   ENCABEZADO
========================= */

.business-header {
  display: flex;
  align-items: center;
  gap: 16px;

  padding: 28px 20px 22px;

  border-bottom:
    1px solid #eeeeee;
}

.business-logo {
  width: 72px;
  height: 72px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 18px;

  background: #fff3df;

  font-size: 38px;
}

.business-info {
  min-width: 0;
}

.business-info h1 {
  margin-bottom: 5px;

  font-size: 22px;
  line-height: 1.2;
}

.business-description {
  margin-bottom: 9px;

  font-size: 14px;
  line-height: 1.4;

  color: #666666;
}

.business-details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 6px;

  font-size: 13px;

  color: #666666;
}

.status {
  display: flex;
  align-items: center;
  gap: 5px;

  font-weight: 600;

  color: #198754;
}

.status-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: #22a559;
}

.separator {
  color: #aaaaaa;
}


/* =========================
   NAVEGACIÓN
========================= */

.menu-navigation {
  padding: 18px 20px 14px;

  border-bottom:
    1px solid #eeeeee;
}

.search-box {
  display: flex;
  align-items: center;
  gap: 10px;

  width: 100%;
  height: 46px;

  padding: 0 14px;
  margin-bottom: 16px;

  background: #f5f5f5;

  border:
    1px solid #e8e8e8;

  border-radius: 12px;
}

.search-icon {
  font-size: 22px;
  line-height: 1;

  color: #777777;
}

.search-box input {
  width: 100%;

  border: none;
  outline: none;

  background: transparent;

  font-size: 15px;

  color: #222222;
}

.search-box input::placeholder {
  color: #999999;
}


/* =========================
   CATEGORÍAS
========================= */

.categories {
  display: flex;
  gap: 9px;

  overflow-x: auto;

  padding-bottom: 4px;

  scrollbar-width: none;
}

.categories::-webkit-scrollbar {
  display: none;
}

.category-button {
  flex-shrink: 0;

  padding: 9px 15px;

  border:
    1px solid #e2e2e2;

  border-radius: 20px;

  background: #ffffff;

  font-size: 14px;
  font-weight: 600;

  color: #555555;

  cursor: pointer;
}

.category-button.active {
  background: #1f1f1f;

  border-color: #1f1f1f;

  color: #ffffff;
}


/* =========================
   PRODUCTOS
========================= */

.menu-content {
  padding: 22px 20px 110px;

  text-align: left;
}

.section-title {
  margin-bottom: 18px;

  font-size: 20px;
}

.products-list {
  display: flex;
  flex-direction: column;
}

.product-card {
  display: flex;
  justify-content: space-between;

  gap: 16px;

  padding: 18px 0;

  border-bottom:
    1px solid #eeeeee;
}

.product-card:first-child {
  padding-top: 0;
}

.product-info {
  flex: 1;

  min-width: 0;
}

.product-category {
  display: block;

  margin-bottom: 5px;

  font-size: 12px;
  font-weight: 600;

  color: #999999;
}

.product-info h3 {
  margin-bottom: 6px;

  font-size: 16px;
  line-height: 1.3;
}

.product-description {
  margin-bottom: 12px;

  font-size: 13px;
  line-height: 1.45;

  color: #777777;
}

.product-price {
  font-size: 16px;
  font-weight: 700;

  color: #222222;
}


/* =========================
   IMAGEN PRODUCTO
========================= */

.product-image {
  position: relative;

  width: 105px;
  height: 105px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 14px;

  background: #fff3df;

  font-size: 44px;
}


/* =========================
   BOTÓN +
========================= */

.add-product {
  position: absolute;

  right: 7px;
  bottom: 7px;

  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: none;

  border-radius: 50%;

  background: #ffffff;

  box-shadow:
    0 2px 8px
    rgba(0, 0, 0, 0.15);

  font-size: 22px;

  color: #222222;

  cursor: pointer;
}

.add-product:active {
  transform: scale(0.94);
}


/* =========================
   SIN RESULTADOS
========================= */

.no-results {
  padding: 50px 20px;

  text-align: center;

  color: #888888;
}

.no-results span {
  display: block;

  margin-bottom: 10px;

  font-size: 30px;
}

.no-results p {
  font-size: 14px;
}


/* =========================
   BARRA CARRITO
========================= */

.cart-bar {
  position: sticky;

  bottom: 0;

  padding:
    12px 20px 18px;

  background:
    linear-gradient(
      to top,
      var(--color-superficie) 75%,
      transparent
    );
}

.cart-bar.hidden {
  display: none;
}

.cart-button {
  width: 100%;
  min-height: 54px;

  display: grid;

  grid-template-columns:
    1fr auto 1fr;

  align-items: center;

  gap: 12px;

  padding: 0 18px;

  border: none;
  border-radius: 14px;

  background: #1f1f1f;

  color: #ffffff;

  cursor: pointer;

  box-shadow:
    0 5px 18px
    rgba(0, 0, 0, 0.18);
}

.cart-button span:first-child {
  text-align: left;

  font-size: 13px;
}

.cart-button strong {
  font-size: 15px;
}

.cart-button span:last-child {
  text-align: right;

  font-size: 14px;
  font-weight: 700;
}

.cart-button:active {
  transform: scale(0.99);
}


/* =========================
   OVERLAY
========================= */

.cart-overlay {
  position: fixed;

  inset: 0;

  z-index: 100;

  background:
    rgba(0, 0, 0, 0.42);
}

.cart-overlay.hidden {
  display: none;
}


/* =========================
   PANEL DEL CARRITO
========================= */

.cart-panel {
  position: fixed;

  left: 50%;
  bottom: 0;

  z-index: 101;

  width: 100%;
  max-width: 480px;

  max-height: 82%;

  transform:
    translateX(-50%);

  display: flex;
  flex-direction: column;

  background: #ffffff;

  border-radius:
    22px 22px 0 0;

  box-shadow:
    0 -10px 35px
    rgba(0, 0, 0, 0.18);
}

.cart-panel.hidden {
  display: none;
}


/* =========================
   ENCABEZADO CARRITO
========================= */

.cart-panel-header {
  display: flex;

  justify-content:
    space-between;

  align-items: center;

  padding:
    22px 20px 16px;

  border-bottom:
    1px solid #eeeeee;
}

.cart-panel-label {
  display: block;

  margin-bottom: 2px;

  font-size: 12px;

  color: #999999;
}

.cart-panel-header h2 {
  font-size: 21px;
}

.close-cart {
  width: 42px;
  height: 42px;

  border: none;
  border-radius: 50%;

  background: #f4f4f4;

  font-size: 27px;

  cursor: pointer;
}


/* =========================
   DETALLE CARRITO
========================= */

.cart-detail {
  overflow-y: auto;

  padding: 4px 20px;
}

.cart-item {
  display: grid;

  grid-template-columns:
    56px minmax(0, 1fr) auto;

  gap: 12px;

  padding: 18px 0;

  border-bottom:
    1px solid #eeeeee;
}

.cart-item-image {
  width: 56px;
  height: 56px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;

  background: #fff3df;

  font-size: 27px;
}

.cart-item-info {
  min-width: 0;
}

.cart-item-info h3 {
  margin-bottom: 3px;

  font-size: 15px;
}

.cart-item-price {
  display: block;

  margin-bottom: 10px;

  font-size: 12px;

  color: #888888;
}

.cart-item-subtotal {
  font-size: 14px;

  white-space: nowrap;
}


/* =========================
   CANTIDADES
========================= */

.quantity-controls {
  display: inline-flex;
  align-items: center;

  gap: 12px;
}

.quantity-button {
  width: 34px;
  height: 34px;

  border:
    1px solid #dddddd;

  border-radius: 50%;

  background: #ffffff;

  font-size: 20px;

  cursor: pointer;
}

.quantity-controls span {
  min-width: 18px;

  text-align: center;

  font-weight: 700;
}


/* =========================
   ELIMINAR
========================= */

.remove-product {
  display: block;

  margin-top: 9px;

  padding: 0;

  border: none;

  background: transparent;

  color: #b42318;

  font-size: 12px;

  cursor: pointer;
}


/* =========================
   PIE DEL CARRITO
========================= */

.cart-panel-footer {
  padding:
    16px 20px 20px;

  border-top:
    1px solid #eeeeee;

  background: #ffffff;
}

.cart-panel-footer.hidden {
  display: none;
}

.cart-summary {
  display: flex;

  justify-content:
    space-between;

  align-items: center;

  margin-bottom: 14px;

  font-size: 17px;
}

.cart-summary strong {
  font-size: 20px;
}

.continue-order {
  width: 100%;
  min-height: 52px;

  border: none;
  border-radius: 14px;

  background: #1f1f1f;

  color: #ffffff;

  font-size: 15px;
  font-weight: 700;

  cursor: pointer;
}


/* =========================
   CARRITO VACÍO
========================= */

.empty-cart {
  padding: 50px 20px;

  text-align: center;

  color: #888888;
}

.empty-cart span {
  display: block;

  margin-bottom: 10px;

  font-size: 34px;
}


/* =========================
   TIPO DE PEDIDO
========================= */

.order-type {
  padding: 20px 0;
}

.order-type-button {
  width: 100%;

  display: flex;
  align-items: center;

  gap: 14px;

  padding: 16px;

  margin-bottom: 12px;

  border:
    1px solid #e5e5e5;

  border-radius: 14px;

  background: #ffffff;

  text-align: left;

  cursor: pointer;

  transition:
    border 0.15s,
    background 0.15s;
}

.order-type-button.active {
  border-color: #1f1f1f;

  background: #f5f5f5;
}

.order-type-button:active {
  transform: scale(0.99);
}

.order-type-icon {
  width: 48px;
  height: 48px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;

  background: #fff3df;

  font-size: 25px;
}

.order-type-text {
  min-width: 0;
}

.order-type-button strong {
  display: block;

  margin-bottom: 3px;

  font-size: 15px;

  color: #222222;
}

.order-type-button small {
  display: block;

  line-height: 1.4;

  font-size: 12px;

  color: #777777;
}

.order-type-selected {
  margin-top: 14px;

  padding: 12px 14px;

  border-radius: 10px;

  background: #f3f8f4;

  color: #198754;

  font-size: 13px;
  font-weight: 600;

  text-align: center;
}

.order-type-selected.hidden {
  display: none;
}

.back-to-cart {
  width: 100%;

  margin-top: 12px;

  padding: 12px;

  border: none;

  background: transparent;

  color: #555555;

  font-size: 13px;

  cursor: pointer;
}


/* =========================
   INTERACCIONES
========================= */

.continue-order:active,
.quantity-button:active,
.close-cart:active {
  transform: scale(0.96);
}


/* =========================
   MÓVIL
========================= */

@media (max-width: 480px) {

  body {
    background: #ffffff;
  }

  .menu {
    max-width: none;
  }

  .cart-panel {
    max-width: none;
  }

}

/* =========================
   FORMULARIO DEL PEDIDO
========================= */

.order-form {
  padding: 18px 0 24px;
}

.form-group {
  margin-bottom: 18px;
}

.form-group label {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin-bottom: 7px;

  font-size: 13px;
  font-weight: 600;

  color: #333333;
}

.form-group label span {
  font-size: 11px;
  font-weight: 400;

  color: #999999;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;

  padding: 13px 14px;

  border: 1px solid #dddddd;
  border-radius: 11px;

  outline: none;

  background: #ffffff;

  font-size: 14px;

  color: #222222;
}

.form-group textarea {
  resize: vertical;

  min-height: 85px;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #777777;
}


/* =========================
   UBICACIÓN
========================= */

.location-box {
  margin-bottom: 18px;

  padding: 15px;

  border: 1px solid #e5e5e5;
  border-radius: 13px;

  background: #fafafa;
}

.location-box strong {
  display: block;

  margin-bottom: 5px;

  font-size: 14px;
}

.location-box p {
  margin-bottom: 12px;

  font-size: 12px;
  line-height: 1.45;

  color: #777777;
}

.share-location {
  width: 100%;

  min-height: 44px;

  padding: 10px 14px;

  border: 1px solid #dddddd;
  border-radius: 10px;

  background: #ffffff;

  font-size: 13px;
  font-weight: 600;

  cursor: pointer;
}

.share-location:disabled {
  cursor: default;

  opacity: 0.8;
}

.location-status {
  margin-top: 10px;

  font-size: 12px;
  line-height: 1.4;

  color: #777777;
}

.location-status.success {
  color: #198754;
}

.location-status.error {
  color: #b42318;
}


/* =========================
   GUARDAR DATOS
========================= */

.save-order-data {
  width: 100%;

  min-height: 52px;

  margin-top: 4px;

  border: none;
  border-radius: 14px;

  background: #1f1f1f;

  color: #ffffff;

  font-size: 15px;
  font-weight: 700;

  cursor: pointer;
}

.save-order-data:active {
  transform: scale(0.99);
}

.back-to-order-type {
  width: 100%;

  margin-top: 10px;

  padding: 12px;

  border: none;

  background: transparent;

  color: #666666;

  font-size: 13px;

  cursor: pointer;
}


/* =========================
   DATOS GUARDADOS
========================= */

.saved-data {
  padding: 20px 0 24px;
}

.saved-success {
  margin-bottom: 20px;

  padding: 18px;

  border-radius: 14px;

  background: #f3f8f4;

  text-align: center;
}

.saved-success span {
  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0 auto 8px;

  border-radius: 50%;

  background: #198754;

  color: #ffffff;

  font-size: 22px;
  font-weight: 700;
}

.saved-success strong {
  display: block;

  margin-bottom: 4px;

  font-size: 15px;

  color: #198754;
}

.saved-success p {
  font-size: 12px;
  line-height: 1.4;

  color: #67746a;
}

.saved-data-list {
  margin-bottom: 20px;

  border-top: 1px solid #eeeeee;
}

.saved-data-list > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;

  padding: 13px 0;

  border-bottom: 1px solid #eeeeee;
}

.saved-data-list span {
  font-size: 13px;

  color: #888888;
}

.saved-data-list strong {
  max-width: 60%;

  text-align: right;

  font-size: 13px;

  color: #222222;
}

.edit-order-data {
  width: 100%;

  min-height: 48px;

  border: 1px solid #dddddd;
  border-radius: 12px;

  background: #ffffff;

  font-size: 14px;
  font-weight: 600;

  cursor: pointer;
}

.product-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}

.product-photo.hidden {
  display: none !important;
}

.product-emoji-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.3rem;
}

.product-emoji-fallback.hidden {
  display: none !important;
}

.business-logo {
  overflow: hidden;
}

.business-logo-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}

.business-logo-photo.hidden {
  display: none !important;
}

.business-logo-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

.business-logo-fallback.hidden {
  display: none !important;
}

/* =========================================================
   SUPERFICIES DERIVADAS DEL TEMA DE CADA NEGOCIO
   Las variables base --color-* las aplica negocio.js desde main.js.
   Derivamos tonos suaves sin fijar los colores de Sal's Pizzeria.
========================================================= */
:root {
  --tema-lienzo: color-mix(in srgb, var(--color-fondo) 70%, var(--color-superficie) 30%);
  --tema-tarjeta: color-mix(in srgb, var(--color-fondo) 40%, var(--color-superficie) 60%);
  --tema-campo: color-mix(in srgb, var(--color-fondo) 45%, var(--color-superficie) 55%);
  --tema-borde: color-mix(in srgb, var(--color-fondo) 85%, var(--color-texto-secundario) 15%);
  --tema-borde-suave: color-mix(in srgb, var(--color-fondo) 90%, var(--color-texto-secundario) 10%);
  --tema-acento-suave: color-mix(in srgb, var(--color-principal) 9%, var(--color-superficie));
  --tema-acento-suave-hover: color-mix(in srgb, var(--color-principal) 12%, var(--color-superficie));
  --tema-acento-borde: color-mix(in srgb, color-mix(in srgb, var(--color-principal) 60%, var(--color-superficie)), var(--color-texto) 12%);
  --tema-acento-texto: color-mix(in srgb, color-mix(in srgb, var(--color-principal) 85%, var(--color-superficie)), var(--color-texto) 12%);
  --tema-acento-texto-hover: color-mix(in srgb, var(--tema-acento-texto) 85%, var(--color-texto));
}

/* =========================
   TEMA CONFIGURABLE
========================= */

body {
  background: var(--color-fondo);
  color: var(--color-texto);
}

.menu {
  background: var(--color-superficie);
}

.business-header,
.menu-navigation,
.menu-content,
.cart-panel {
  background: var(--color-superficie);
}

.business-info h1,
.section-title,
.product-card h3,
.cart-item-info h3 {
  color: var(--color-texto);
}

.business-description,
.business-details,
.product-category,
.product-description,
.cart-item-price {
  color: var(--color-texto-secundario);
}

.category-button.active {
  background: var(--color-principal);
  color: var(--color-superficie);
  border-color: var(--color-principal);
}

.cart-button,
.continue-order,
.save-order-data {
  background: var(--color-principal);
  color: var(--color-superficie);
}

.product-price,
.cart-item-subtotal {
  color: var(--color-texto);
}

.product-image,
.cart-item-image,
.business-logo {
  background: color-mix(
    in srgb,
    var(--color-acento) 18%,
    var(--color-superficie)
  );
}
.cart-button {
  background: var(--color-carrito);
  color: #ffffff;
}

/* =========================================================
   PIZZERÍA - PRODUCTOS CONFIGURABLES
========================================================= */

.product-image {
  position: relative;
  overflow: visible;
}


/* BOTÓN ELEGIR */

.choose-product {
  position: absolute;
  right: 8px;
  bottom: 8px;

  min-width: 72px;
  height: 38px;

  padding: 0 14px;

  border: none;
  border-radius: 999px;

  background: var(--color-principal);
  color: #ffffff;

  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 700;

  cursor: pointer;

  box-shadow:
    0 4px 12px
    rgba(0, 0, 0, 0.14);

  transition:
    transform 0.15s ease,
    opacity 0.15s ease;
}


.choose-product:hover {
  transform: translateY(-1px);
}


.choose-product:active {
  transform: scale(0.97);
}


/* =========================================================
   SELECTOR DEL PRODUCTO
========================================================= */

.product-selector {
  display: flex;
  flex-direction: column;
  gap: 22px;
}


/* CABECERA DEL PRODUCTO */

.selector-product-top {
  display: flex;
  align-items: center;
  gap: 16px;
}


.selector-product-image {
  width: 90px;
  height: 90px;

  flex-shrink: 0;

  border-radius: 18px;

  overflow: hidden;

  background:
    color-mix(
      in srgb,
      var(--color-principal) 8%,
      var(--color-superficie)
    );
}


.selector-product-image .product-photo {
  width: 100%;
  height: 100%;

  object-fit: cover;
}


.selector-product-image
.product-emoji-fallback {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 2.7rem;
}


.selector-product-info {
  min-width: 0;
}


.selector-product-info h3 {
  margin: 4px 0 6px;

  font-size: 1.2rem;
  color: var(--color-texto);
}


.selector-product-info p {
  margin: 0;

  font-size: 0.9rem;
  line-height: 1.5;

  color: var(--color-texto-secundario);
}


/* =========================================================
   SECCIONES
========================================================= */

.selector-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}


.selector-label {
  font-size: 0.88rem;
  font-weight: 700;

  color: var(--color-texto);
}


/* =========================================================
   INGREDIENTES
========================================================= */

.ingredient-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}


.ingredient-list span {
  padding: 7px 11px;

  border-radius: 999px;

  background:
    color-mix(
      in srgb,
      var(--color-principal) 7%,
      var(--color-superficie)
    );

  border:
    1px solid
    color-mix(
      in srgb,
      var(--color-principal) 18%,
      #dddddd
    );

  font-size: 0.8rem;

  color: var(--color-texto);
}


/* =========================================================
   TAMAÑOS
========================================================= */

.size-options {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 10px;
}


.size-option {
  min-height: 58px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 12px 14px;

  border:
    1px solid #dddddd;

  border-radius: 14px;

  background:
    var(--color-superficie);

  color:
    var(--color-texto);

  font-family: inherit;

  cursor: pointer;

  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    transform 0.15s ease;
}


.size-option:hover {
  border-color:
    var(--color-principal);
}


.size-option.active {
  border-color:
    var(--color-principal);

  background:
    color-mix(
      in srgb,
      var(--color-principal) 8%,
      var(--color-superficie)
    );
}


.size-option.active span,
.size-option.active strong {
  color:
    var(--color-principal);
}


.size-option:active {
  transform: scale(0.98);
}


/* =========================================================
   CANTIDAD
========================================================= */

.selector-quantity-section {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}


.selector-quantity {
  display: flex;
  align-items: center;
  gap: 14px;
}


.selector-quantity button {
  width: 38px;
  height: 38px;

  border:
    1px solid #dddddd;

  border-radius: 50%;

  background:
    var(--color-superficie);

  color:
    var(--color-texto);

  font-size: 1.2rem;

  cursor: pointer;
}


.selector-quantity strong {
  min-width: 24px;

  text-align: center;

  font-size: 1rem;
}


/* =========================================================
   AGREGAR AL PEDIDO
========================================================= */

.add-configurable-product {
  width: 100%;

  min-height: 52px;

  border: none;
  border-radius: 14px;

  background:
    var(--color-principal);

  color: #ffffff;

  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;

  cursor: pointer;
}


.back-to-menu {
  width: 100%;

  border: none;
  background: transparent;

  color:
    var(--color-texto-secundario);

  font-family: inherit;
  font-size: 0.88rem;

  cursor: pointer;

  padding: 6px;
}


/* =========================================================
   VARIANTE EN CARRITO
========================================================= */

.cart-item-variant {
  display: block;

  margin-top: 4px;

  font-size: 0.82rem;

  color:
    var(--color-texto-secundario);
}

/* =========================================================
   CATEGORÍAS DESLIZABLES
========================================================= */

.categories {
  width: 100%;
  max-width: 100%;

  display: flex;
  flex-wrap: nowrap;
  gap: 10px;

  overflow-x: auto;
  overflow-y: hidden;

  padding-bottom: 12px;

  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;

  scroll-behavior: smooth;

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color:
    var(--color-principal)
    #e5e5e5;
}


/* Chrome / Edge / Safari */

.categories::-webkit-scrollbar {
  height: 7px;
}


.categories::-webkit-scrollbar-track {
  background: #e5e5e5;
  border-radius: 999px;
}


.categories::-webkit-scrollbar-thumb {
  background: var(--color-principal);
  border-radius: 999px;
}


.categories::-webkit-scrollbar-thumb:hover {
  background:
    color-mix(
      in srgb,
      var(--color-principal) 85%,
      #000000
    );
}


.category-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.categories {
  scrollbar-width: thin;
  scrollbar-color:
    #9b9b9b
    #e8e8e8;
}

.categories::-webkit-scrollbar {
  height: 6px;
}

.categories::-webkit-scrollbar-track {
  background: #e8e8e8;
  border-radius: 999px;
}

.categories::-webkit-scrollbar-thumb {
  background: #9b9b9b;
  border-radius: 999px;
}

.categories::-webkit-scrollbar-thumb:hover {
  background: var(--color-principal);
}

/* =========================================================
   PIZZERÍA - PULIDO VISUAL
========================================================= */


/* FONDO GENERAL */

body {
  background: var(--color-fondo);
}


/* CONTENEDOR PRINCIPAL */

.menu {
  background: var(--color-superficie);
}


/* ZONAS PRINCIPALES */

.business-header,
.menu-navigation,
.menu-content {
  background: var(--color-superficie);
}


/* =========================================================
   PRODUCTOS
========================================================= */

.product-card {
  border-bottom: 1px solid var(--tema-borde);
}


/* CAJA DE FOTO / EMOJI */

.product-image {
  position: relative;

  width: 130px;
  height: auto;

  display: flex;
  flex-direction: column;
  align-items: stretch;

  background: transparent;
  border: none;
  box-shadow: none;

  overflow: visible;

;

  border: 1px solid #eadfD2;

  border-radius: 18px;

  box-shadow:
    0 6px 18px
    rgba(0, 0, 0, 0.05);
}


/* EMOJI CUANDO NO HAY FOTO */

.product-emoji-fallback {
  font-size: 3rem;

  transform: translateY(-7px);

  opacity: 0.92;
}


/* FOTOGRAFÍAS */

.product-photo {
  width: 130px;
  height: 130px;

  object-fit: cover;

  border-radius: 20px;

  display: block;

  border: 1px solid #e4d8ca;

  box-shadow:
    0 5px 14px
    rgba(0, 0, 0, 0.06);
}


/* =========================================================
   BOTÓN ELEGIR
========================================================= */

.choose-product {
  position: static;

  width: 100%;
  height: 40px;

  margin-top: 7px;
  padding: 0 14px;

  border: none;
  border-radius: 12px;

  background: var(--color-principal);
  color: #ffffff;

  font-family: inherit;
  font-size: 0.84rem;
  font-weight: 800;

  cursor: pointer;

  box-shadow:
    0 4px 10px
    color-mix(in srgb, var(--color-principal) 14%, transparent);

  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}

.choose-product:hover {
  transform: translateY(-1px);

  box-shadow:
    0 6px 14px
    color-mix(in srgb, var(--color-principal) 20%, transparent);
}

.choose-product:active {
  transform: scale(0.97);
}


/* =========================================================
   TEXTO DE PRODUCTOS
========================================================= */

.product-category {
  color: #8b8076;
}


.product-description {
  color: var(--color-texto-secundario);
}


.product-price {
  color: var(--color-texto);
  font-weight: 800;
}


/* =========================================================
   BUSCADOR
========================================================= */

.search-box {
  background: var(--tema-campo);
  border-color: var(--tema-borde);
}


/* =========================================================
   CATEGORÍAS
========================================================= */

.category-button {
  background: var(--color-superficie);
  border-color: var(--tema-borde-suave);
}


.category-button.active {
  background: var(--color-principal);
  border-color: var(--color-principal);
  color: #ffffff;
}

/* =========================================================
   FONDO INTERNO MÁS CÓMODO
========================================================= */

.menu {
  background: var(--tema-lienzo);
}

.business-header,
.menu-navigation,
.menu-content {
  background: var(--tema-lienzo);
}

.product-card {
  background: var(--tema-tarjeta);
  border-bottom: 1px solid var(--tema-borde);
}

.search-box {
  background: var(--tema-campo);
  border-color: var(--tema-borde);
}

/* =========================================================
   PROMOCIONES
========================================================= */

.promotion-card {
  background: var(--tema-tarjeta);

  border: 1px solid var(--tema-borde);

  border-radius: 18px;

  padding: 16px;

  margin-bottom: 12px;

  box-shadow:
    0 5px 16px
    rgba(0, 0, 0, 0.04);
}


/* ETIQUETA PROMOCIÓN */

.promotion-card
.product-category {
  display:
    inline-flex;

  align-items:
    center;

  width:
    fit-content;

  padding:
    5px 10px;

  margin-bottom:
    7px;

  border-radius:
    999px;

  background:
    color-mix(in srgb, var(--color-principal) 9%, transparent);

  color:
    var(--color-principal);

  font-size:
    0.72rem;

  font-weight:
    800;

  letter-spacing:
    0.03em;
}


/* DISPONIBILIDAD */

.promotion-card
.product-description
+
.product-description {
  display:
    inline-flex;

  width:
    fit-content;

  padding:
    6px 10px;

  margin-top:
    5px;

  margin-bottom:
    8px;

  border:
    1px solid #e3d8cc;

  border-radius:
    999px;

  background:
    #f6f0e8;

  color:
    #6f655b;

  font-size:
    0.76rem;

  font-weight:
    700;
}


/* PRECIO DE PROMOCIÓN */

.promotion-card
.product-price {
  margin-top:
    5px;

  color:
    var(--color-principal);

  font-size:
    1.08rem;

  font-weight:
    900;
}


/* BOTÓN DE PROMOCIÓN */

.promotion-card
.choose-promotion {
  background:
    var(--color-principal);

  box-shadow:
    0 5px 12px
    color-mix(in srgb, var(--color-principal) 16%, transparent);
}


.promotion-card
.choose-promotion:hover {
  transform:
    translateY(-1px);

  box-shadow:
    0 7px 16px
    color-mix(in srgb, var(--color-principal) 22%, transparent);
}

/* =========================================================
   IMÁGENES DENTRO DEL CARRITO
========================================================= */

.cart-item {
  display: grid;

  grid-template-columns:
    80px
    minmax(0, 1fr)
    auto;

  gap: 14px;

  align-items: start;

  padding: 18px 0;
}


/* MINIATURA */

.cart-item-image {
  width: 80px;
  height: 80px;

  min-width: 80px;

  overflow: hidden;

  border-radius: 14px;
}


/* FOTO DENTRO DEL CARRITO */

.cart-item-image
.product-photo {
  width: 100%;
  height: 100%;

  object-fit: cover;

  border-radius: 14px;

  display: block;
}


/* EMOJI FALLBACK */

.cart-item-image
.product-emoji-fallback {
  width: 100%;
  height: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 14px;

  font-size: 2rem;

  transform: none;
}


/* MANTENER OCULTO EL FALLBACK
   CUANDO LA FOTO FUNCIONA */

.cart-item-image
.product-emoji-fallback.hidden {
  display: none !important;
}


/* INFORMACIÓN */

.cart-item-info {
  min-width: 0;
}


.cart-item-info h3 {
  margin-top: 0;
}


/* PRECIO DE LA DERECHA */

.cart-item-subtotal {
  white-space: nowrap;

  padding-left: 6px;
}

/* =========================================================
   VER MÁS PRODUCTOS
========================================================= */

.show-more-container {
  display: flex;
  justify-content: center;

  padding: 18px 0 8px;
}


.show-more-products {
  min-width: 190px;

  padding: 12px 20px;

  border: 1px solid var(--tema-borde);
  border-radius: 999px;

  background: var(--color-superficie);

  color: var(--color-texto);

  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 800;

  cursor: pointer;

  transition:
    transform 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}


.show-more-products:hover {
  transform: translateY(-1px);

  border-color:
    var(--color-principal);

  box-shadow:
    0 5px 14px
    rgba(0, 0, 0, 0.06);
}


.show-more-products:active {
  transform: scale(0.98);
}

/* =========================================================
   TRANSFERENCIA
========================================================= */

.transfer-info {
  margin:
    4px 0 18px;
}


.transfer-info.hidden {
  display:
    none !important;
}


.transfer-card {
  padding:
    16px;

  background:
    var(--tema-tarjeta);

  border:
    1px solid var(--tema-borde);

  border-radius:
    16px;

  box-shadow:
    0 4px 14px
    rgba(0, 0, 0, 0.04);
}


.transfer-card-title {
  display:
    flex;

  align-items:
    flex-start;

  gap:
    10px;

  margin-bottom:
    14px;
}


.transfer-card-title > span {
  font-size:
    1.35rem;
}


.transfer-card-title div {
  display:
    flex;

  flex-direction:
    column;

  gap:
    3px;
}


.transfer-card-title strong {
  color:
    var(--color-texto);

  font-size:
    0.9rem;
}


.transfer-card-title small {
  color:
    var(--color-texto-secundario);

  font-size:
    0.75rem;
}


.transfer-data {
  display:
    flex;

  flex-direction:
    column;

  gap:
    10px;
}


.transfer-data > div {
  display:
    flex;

  flex-direction:
    column;

  gap:
    2px;

  padding:
    9px 11px;

  background:
    var(--color-superficie);

  border-radius:
    10px;
}


.transfer-data span {
  color:
    var(--color-texto-secundario);

  font-size:
    0.72rem;

  font-weight:
    700;
}


.transfer-data strong {
  color:
    var(--color-texto);

  font-size:
    0.88rem;

  overflow-wrap:
    anywhere;
}


.transfer-clabe {
  letter-spacing:
    0.04em;
}


.copy-clabe {
  width:
    100%;

  min-height:
    40px;

  border:
    1px solid
    var(--color-principal);

  border-radius:
    10px;

  background:
    transparent;

  color:
    var(--color-principal);

  font-family:
    inherit;

  font-size:
    0.82rem;

  font-weight:
    800;

  cursor:
    pointer;
}


.copy-clabe:active {
  transform:
    scale(0.98);
}


.transfer-receipt-notice {
  margin-top:
    14px;

  padding:
    10px 12px;

  background:
    var(--color-superficie);

  border-radius:
    10px;

  color:
    var(--color-texto-secundario);

  font-size:
    0.76rem;

  line-height:
    1.45;
}

/* =========================================================
   BOTÓN AGREGAR - PRODUCTOS SIMPLES
========================================================= */

.add-product {
  position: static;

  width: 100%;
  height: 40px;

  margin-top: 8px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid var(--tema-acento-borde);
  border-radius: 12px;

  background: var(--tema-acento-suave);

  color: var(--tema-acento-texto);

  font-family: inherit;
  font-size: 1.35rem;
  font-weight: 900;

  cursor: pointer;

  box-shadow:
    0 4px 10px
    color-mix(in srgb, var(--color-principal) 10%, transparent);

  transition:
    transform 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.add-product:hover {
  background: var(--tema-acento-suave-hover);
  border-color: var(--tema-acento-borde);
  color: var(--tema-acento-texto-hover);

  transform: translateY(-1px);

  box-shadow:
    0 6px 14px
    color-mix(in srgb, var(--color-principal) 16%, transparent);
}

.add-product:active {
  transform: scale(0.97);
}

/* =========================================================
   ENCABEZADO DEL NEGOCIO
========================================================= */

.business-header {
  display: flex;
  align-items: center;
  gap: 20px;
}

.business-logo {
  width: 108px;
  height: 108px;
  min-width: 108px;
}

.business-logo-photo,
.business-logo-fallback {
  width: 108px;
  height: 108px;
}

.business-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}


/* =========================================================
   ACCESIBILIDAD: FOCO VISIBLE PARA TECLADO
   No modifica los estilos durante la navegacion con mouse.
========================================================= */
button:focus-visible,
a[href]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--color-texto);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--color-superficie);
}

/* Resaltar el campo completo de busqueda, no solo el texto. */
.search-box:has(input:focus-visible) {
  outline: 3px solid var(--color-texto);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--color-superficie);
}

.search-box input:focus-visible {
  outline: none;
  box-shadow: none;
}

/* =========================================================
   ATENDIA - PULIDO VISUAL DE TARJETAS DE PRODUCTO
   Ajustes discretos de lectura y pantallas estrechas.
   Sin alterar botones, colores configurables ni promociones.
========================================================= */
.product-card:not(.promotion-card) {
  gap: 14px;
}

.product-card:not(.promotion-card) .product-info h3 {
  line-height: 1.38;
  letter-spacing: -0.01em;
}

.product-card:not(.promotion-card) .product-description {
  line-height: 1.55;
  overflow-wrap: break-word;
}

.product-card:not(.promotion-card) .product-price {
  line-height: 1.35;
}

@media (max-width: 360px) {
  .product-card:not(.promotion-card) {
    gap: 12px;
  }

  .product-card:not(.promotion-card) .product-image {
    width: 112px;
  }

  .product-card:not(.promotion-card) .product-image > .product-photo {
    width: 112px;
    height: 112px;
  }
}

/* ATENDIA - UNIFICAR FONDO EN MOVIL */

@media (max-width: 480px) {
  html,
  body {
    background-color: var(--tema-lienzo);
  }
}

/* =========================================================
   ATENDIA - PIE DE MENU REAL Y CONFIGURABLE
   Sustituye .menu::after. Solo se ve en pantallas pequenas.
   Sin bloquear overscroll ni la actualizacion por gesto.
========================================================= */
.atendia-menu-footer {
  display: none;
}

@media (max-width: 480px) {
  /* Reducir el espacio SOLO cuando el pie esta activo. */
  .menu:has(> .atendia-menu-footer) .menu-content {
    padding-bottom: 64px;
  }

  .atendia-menu-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 72px;
    padding: 11px 16px;
    background: var(--atendia-pie-fondo, #151515);
    color: var(--atendia-pie-texto, #FFFFFF);
    text-align: center;
  }

  .atendia-menu-footer__leyenda {
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
    opacity: 0.85;
  }

  .atendia-menu-footer__marca {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 750;
    letter-spacing: 0.03em;
  }
}

/* =========================================================
   ATENDIA - PIE AL FONDO EN CATEGORIAS CON POCOS PRODUCTOS
   Solo aplica si el pie configurable existe y en movil.
   Con muchos productos el pie sigue despues del catalogo.
   No modifica gestos tactiles, carrito ni escritorio.
========================================================= */
@media (max-width: 480px) {
  .menu:has(> .atendia-menu-footer) {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Respaldo para navegadores antiguos */
    min-height: 100dvh; /* Altura visible real en navegadores moviles */
  }

  .menu:has(> .atendia-menu-footer) > .menu-content {
    flex: 1 0 auto;
  }
}


/* =========================================================
   ATENDIA - COMPARADOR TEMPORAL (SOLO SI negocio.js LO ACTIVA)
   Se muestra en ambos estilos. No interfiere en la compra.
========================================================= */
.atendia-selector-prueba {
  display: grid;
  gap: 8px;
  padding: 13px 20px 14px;
  background: #132F34;
  color: #FFFFFF;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.atendia-selector-prueba__etiqueta {
  font: 700 10px/1.4 system-ui, sans-serif;
  letter-spacing: .16em;
  color: #C6E8D9;
}
.atendia-selector-prueba__opciones {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.atendia-selector-prueba__opciones button {
  flex: 1;
  max-width: 155px;
  padding: 10px 8px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 8px;
  background: transparent;
  color: #FFFFFF;
  font: 600 13px/1.2 system-ui, sans-serif;
  cursor: pointer;
}
.atendia-selector-prueba__opciones button[aria-pressed="true"] {
  background: #F8F5EC;
  color: #132F34;
  border-color: #F8F5EC;
}
.atendia-selector-prueba__aviso {
  font: 400 10px/1.3 system-ui, sans-serif;
  color: #DBE4E2;
}
.atendia-selector-prueba__opciones button:focus-visible {
  outline: 3px solid #FFD183;
  outline-offset: 3px;
}

/* =========================================================
   ATENDIA - PLANTILLA ELEGANTE V1
   Inspirada en el concepto editorial de Claude, implementada
   sobre el motor y la estructura actual de ATENDIA.
   IMPORTANTE: todas las reglas estan encapsuladas por plantilla.
========================================================= */
html[data-plantilla="elegante"] body {
  background: var(--color-fondo);
  color: var(--color-texto);
}
html[data-plantilla="elegante"] .menu {
  max-width: 540px;
  background: var(--color-superficie);
  box-shadow: 0 12px 50px rgba(48,35,23,.06);
}
html[data-plantilla="elegante"] .business-header,
html[data-plantilla="elegante"] .menu-navigation,
html[data-plantilla="elegante"] .menu-content {
  background: var(--color-superficie);
}

/* Encabezado tipo carta de restaurante */
html[data-plantilla="elegante"] .business-header {
  padding: 34px 24px 28px;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid var(--elegante-borde, #D9CDBA);
}
html[data-plantilla="elegante"] .business-logo {
  width: 80px;
  min-width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid var(--elegante-borde, #D9CDBA);
  box-shadow: 0 2px 14px rgba(70,48,28,.08);
  overflow: hidden;
}
html[data-plantilla="elegante"] .business-logo-photo,
html[data-plantilla="elegante"] .business-logo-fallback {
  width: 100%;
  height: 100%;
}
html[data-plantilla="elegante"] .business-info {
  align-items: center;
  text-align: center;
}
html[data-plantilla="elegante"] .business-info h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(26px, 7vw, 37px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.035em;
  color: var(--color-texto);
  margin-bottom: 9px;
}
html[data-plantilla="elegante"] .business-description {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .03em;
  color: var(--color-texto-secundario);
}
.business-tagline { display: none; }
html[data-plantilla="elegante"] .business-tagline {
  display: block;
  margin: 8px 0 14px;
  color: var(--color-principal);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  font-style: italic;
}
html[data-plantilla="elegante"] .business-details {
  justify-content: center;
  font-size: 12px;
  color: var(--color-texto-secundario);
}

/* Categorias como indices de una carta */
html[data-plantilla="elegante"] .menu-navigation {
  padding: 20px 22px 12px;
  border-bottom: 1px solid var(--elegante-borde, #D9CDBA);
}
html[data-plantilla="elegante"] .search-box {
  border: 1px solid var(--elegante-borde, #DFD3C1);
  border-radius: 2px;
  background: var(--elegante-campo, #F6F0E6);
  box-shadow: none;
  margin-bottom: 17px;
}
html[data-plantilla="elegante"] .search-box input {
  color: var(--color-texto);
}
html[data-plantilla="elegante"] .categories {
  gap: 16px;
  padding-bottom: 8px;
}
html[data-plantilla="elegante"] .category-button {
  padding: 9px 3px 11px;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--color-texto-secundario);
  box-shadow: none;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  font-weight: 500;
}
html[data-plantilla="elegante"] .category-button.active {
  background: transparent;
  color: var(--color-principal);
  border-bottom-color: var(--color-principal);
}

/* Productos: fotografia panoramica arriba, contenido abajo */
html[data-plantilla="elegante"] .menu-content {
  padding: 30px 20px 110px;
}
html[data-plantilla="elegante"] .menu-content::before {
  content: 'UNA SELECCION ESPECIAL';
  display: block;
  margin: 0 0 6px;
  color: var(--color-principal);
  font: 700 10px/1.5 system-ui, sans-serif;
  letter-spacing: .18em;
}
html[data-plantilla="elegante"] .section-title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: -.035em;
  margin-bottom: 23px;
  color: var(--color-texto);
}
html[data-plantilla="elegante"] .products-list {
  gap: 17px;
}
html[data-plantilla="elegante"] .product-card,
html[data-plantilla="elegante"] .product-card:not(.promotion-card) {
  display: flex;
  flex-direction: column-reverse;
  gap: 0;
  padding: 0;
  background: var(--elegante-tarjeta, #FFFDF9);
  border: 1px solid var(--elegante-borde-tarjeta, #DED3C1);
  border-radius: 4px;
  box-shadow: 0 6px 24px rgba(65,47,27,.055);
  overflow: hidden;
}
html[data-plantilla="elegante"] .product-card:first-child {
  padding-top: 0;
}
html[data-plantilla="elegante"] .product-info {
  flex: auto;
  width: 100%;
  padding: 18px 19px 20px;
  min-width: 0;
}
html[data-plantilla="elegante"] .product-category {
  font: 700 10px/1.5 system-ui, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-principal);
  margin-bottom: 8px;
}
html[data-plantilla="elegante"] .product-info h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.015em;
  color: var(--color-texto);
  margin-bottom: 8px;
}
html[data-plantilla="elegante"] .product-description {
  font: 400 13px/1.6 system-ui, sans-serif;
  color: var(--color-texto-secundario);
  margin-bottom: 12px;
}
html[data-plantilla="elegante"] .product-price {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 23px;
  font-weight: 600;
  color: var(--color-texto);
}
html[data-plantilla="elegante"] .product-image {
  position: relative;
  display: block;
  flex: none;
  width: 100%;
  min-width: 0;
  height: 202px;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: var(--elegante-imagen, #E7D9C5);
}
html[data-plantilla="elegante"] .product-photo,
html[data-plantilla="elegante"] .product-image > .product-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
html[data-plantilla="elegante"] .product-emoji-fallback {
  height: 100%;
  background: var(--elegante-imagen, #EDE4D8);
}
html[data-plantilla="elegante"] .product-image > .choose-product,
html[data-plantilla="elegante"] .product-image > .add-product {
  position: absolute;
  z-index: 1;
  right: 12px;
  bottom: 12px;
  width: auto;
  min-width: 95px;
  height: 42px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 3px;
  background: var(--color-carrito);
  color: #FFFFFF;
  font: 700 12px/1.1 system-ui, sans-serif;
  box-shadow: 0 3px 14px rgba(27,19,12,.3);
}
html[data-plantilla="elegante"] .product-image > .add-product {
  min-width: 44px;
  width: 44px;
  padding: 0;
  font-size: 19px;
}
html[data-plantilla="elegante"] .promotion-card .product-category {
  border: 1px solid var(--elegante-insignia-borde, #DEC89D);
  border-radius: 2px;
  background: var(--elegante-insignia-fondo, #F8F0E0);
  color: var(--elegante-insignia-texto, #77592B);
  font-size: 10px;
}
html[data-plantilla="elegante"] .promotion-card .product-price {
  font-size: 23px;
  color: var(--color-principal);
}

/* Formularios y carrito: mismo comportamiento, acabados editoriales */
html[data-plantilla="elegante"] .cart-button,
html[data-plantilla="elegante"] .continue-order,
html[data-plantilla="elegante"] .save-order-data {
  background: var(--color-carrito);
  border-radius: 4px;
}
html[data-plantilla="elegante"] .cart-panel {
  background: var(--color-superficie);
}
html[data-plantilla="elegante"] .cart-panel-header h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 27px;
  font-weight: 500;
}
html[data-plantilla="elegante"] .order-type-button,
html[data-plantilla="elegante"] .form-group input,
html[data-plantilla="elegante"] .form-group select,
html[data-plantilla="elegante"] .form-group textarea {
  border-radius: 4px;
}
/* En categorias cortas conservar el pie inferior tambien en Elegante. */
@media (max-width: 480px) {
  html[data-plantilla="elegante"] .menu-content {
    padding-bottom: 64px;
  }
  html[data-plantilla="elegante"] .menu:has(> .atendia-menu-footer) > .menu-content {
    flex: 1 0 auto;
  }
}
@media (max-width: 360px) {
  html[data-plantilla="elegante"] .business-header { padding-inline: 16px; }
  html[data-plantilla="elegante"] .menu-content { padding-inline: 14px; }
  html[data-plantilla="elegante"] .product-image { height: 185px; }
}

/* =========================================================
   ATENDIA ELEGANTE V1.1 - CARTELES DE PROMOCIONES SIN RECORTE
   Las fotografias mantienen cover, los posters no deben perder
   textos ni precios. Boton fuera de la imagen para no taparlos.
========================================================= */
html[data-plantilla="elegante"] .promotion-card .product-image {
  display: flex;
  flex-direction: column;
  height: auto;
  background: var(--elegante-imagen, #F4EDE1);
  overflow: hidden;
}
html[data-plantilla="elegante"] .promotion-card .product-image > .product-photo {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  aspect-ratio: auto;
}
html[data-plantilla="elegante"] .promotion-card .product-image > .choose-promotion {
  position: static;
  display: block;
  align-self: stretch;
  width: calc(100% - 24px);
  min-height: 42px;
  height: auto;
  margin: 12px;
  padding: 12px 16px;
}

/* =========================================================
   ATENDIA - LABORATORIO DE PALETAS V1.2
   Controles de prueba, no visibles al desactivar el comparador.
========================================================= */
.atendia-selector-prueba__subtitulo {
  display: block;
  font: 600 11px/1.3 system-ui, sans-serif;
  color: #E9F4F0;
}
.atendia-selector-prueba__paletas {
  display: flex;
  justify-content: center;
  gap: 7px;
  max-width: 490px;
  width: 100%;
  margin: 0 auto;
}
.atendia-selector-prueba__paletas[hidden] { display: none !important; }
.atendia-selector-prueba__paletas button {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 5px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 8px;
  background: transparent;
  color: #FFFFFF;
  font: 600 11px/1.25 system-ui, sans-serif;
  cursor: pointer;
}
.atendia-selector-prueba__paletas button[aria-pressed="true"] {
  background: #F8F5EC;
  color: #132F34;
  border-color: #F8F5EC;
}
.atendia-selector-prueba__muestra {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 50%;
  background: var(--muestra-paleta);
}
.atendia-selector-prueba__paletas button:focus-visible {
  outline: 3px solid #FFD183;
  outline-offset: 2px;
}
@media (max-width: 360px) {
  .atendia-selector-prueba { padding-inline: 12px; }
  .atendia-selector-prueba__paletas button { gap: 4px; font-size: 10px; }
  .atendia-selector-prueba__muestra { width: 12px; height: 12px; flex-basis: 12px; }
}

/* =========================================================
   ATENDIA ELEGANTE V1.2.1 - PRIORIDAD DE LA BARRA DEL CARRITO
   La barra sticky debe quedar sobre los botones Elegir que
   flotan encima de las fotografias. Solo afecta a Elegante.
   El panel y overlay del carrito siguen en z-index 101/100.
========================================================= */
html[data-plantilla="elegante"] .cart-bar {
  z-index: 10;
}

/* ================================================================
   ATENDIA MENÚ PREMIUM · LAB V0.1
   Sólo estilos de presentación. El motor de pedidos permanece intacto.
   No afecta a Moderno ni Elegante.
================================================================ */
.premium-cover, .premium-carta-entrada { display:none; }
html[data-plantilla="premium"] body { background:#162A23; }
html[data-plantilla="premium"] .menu { max-width:1100px; background:#F9F6EF; }
html[data-plantilla="premium"] .business-header,
html[data-plantilla="premium"] .menu-navigation,
html[data-plantilla="premium"] .menu-content { background:#F9F6EF; }
html[data-plantilla="premium"] .business-header {
  padding:15px 24px; gap:14px; border-bottom:1px solid #DFD7C5;
  display:flex; align-items:center;
}
html[data-plantilla="premium"] .business-logo {
  width:48px; min-width:48px; height:48px; border-radius:50%; background:#E8E0CF;
}
html[data-plantilla="premium"] .business-logo-photo,
html[data-plantilla="premium"] .business-logo-fallback {
  width:100%; height:100%; border-radius:50%;
}
html[data-plantilla="premium"] .business-info h1 {
  margin-bottom:3px; font:500 21px/1.2 Georgia,'Times New Roman',serif;
  letter-spacing:-.02em; color:#27382D;
}
html[data-plantilla="premium"] .business-description,
html[data-plantilla="premium"] .business-tagline {display:none;}
html[data-plantilla="premium"] .business-details { font-size:11px; color:#657064; }
html[data-plantilla="premium"] .premium-cover {
  display:grid; position:relative; isolation:isolate; min-height:465px;
  overflow:hidden; background:#162C26; color:#FFF8ED;
}
html[data-plantilla="premium"] .premium-cover__foto {
  position:absolute; z-index:-2; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 45%; filter:saturate(.81);
}
html[data-plantilla="premium"] .premium-cover__velo {
  position:absolute; z-index:-1; inset:0;
  background:linear-gradient(90deg,rgba(10,32,26,.92) 0%,rgba(10,30,25,.74) 45%,rgba(10,28,22,.14) 100%),
    linear-gradient(0deg,rgba(8,24,19,.38),transparent 50%);
}
html[data-plantilla="premium"] .premium-cover__contenido {
  align-self:center; padding:70px clamp(22px,7vw,88px) 90px;
  max-width:680px;
}
html[data-plantilla="premium"] .premium-cover__sello {
  color:#E1C797; letter-spacing:.25em; text-transform:uppercase;
  font:700 11px/1.5 system-ui,sans-serif;
}
html[data-plantilla="premium"] .premium-cover__ornamento {
  display:block; color:#CFB585; font-size:23px; margin-top:13px;
}
html[data-plantilla="premium"] .premium-cover__titulo {
  color:#FFF9EF; max-width:570px; margin:14px 0 18px;
  font:400 clamp(38px,6vw,75px)/1.04 Georgia,'Times New Roman',serif;
  letter-spacing:-.045em; text-wrap:balance;
}
html[data-plantilla="premium"] .premium-cover__texto {
  color:#E8E5DB; max-width:380px; margin:0 0 26px;
  font:400 15px/1.6 system-ui,sans-serif;
}
html[data-plantilla="premium"] .premium-cover__enlace {
  display:inline-flex; align-items:center; justify-content:center; gap:24px;
  padding:14px 22px; border:1px solid #E4D4B7; color:#18342B;
  background:#E8D5B3; text-decoration:none; font:700 12px/1.4 system-ui,sans-serif;
  letter-spacing:.04em; min-height:48px;
}
html[data-plantilla="premium"] .premium-cover__enlace:focus-visible {outline:3px solid #FFF;outline-offset:4px;}
html[data-plantilla="premium"] .premium-cover__numero {
  position:absolute; bottom:18px; right:24px; font:700 10px/1.4 system-ui,sans-serif;
  letter-spacing:.19em; color:#FFF9E8;
}
html[data-plantilla="premium"] .menu-navigation {
  padding:24px clamp(20px,6vw,70px) 19px; border-bottom:1px solid #E4DFD5;
}
html[data-plantilla="premium"] .search-box {
  background:#F4F0E7; border:1px solid #D8D2C2; border-radius:0;
  max-width:620px; margin:0 auto 20px;
}
html[data-plantilla="premium"] .search-box input { color:#26382D; }
html[data-plantilla="premium"] .categories { gap:21px; justify-content:flex-start; padding-bottom:10px; }
html[data-plantilla="premium"] .category-button {
  padding:8px 1px 11px; border:0; border-bottom:2px solid transparent;
  border-radius:0; background:transparent; font:600 12px/1.25 system-ui,sans-serif;
  color:#667369; text-transform:uppercase; letter-spacing:.07em;
}
html[data-plantilla="premium"] .category-button.active {
  color:#83653A; background:transparent; border-bottom-color:#B59A6D;
}
html[data-plantilla="premium"] .menu-content {
  padding:30px clamp(20px,6vw,68px) 116px; background:#F9F6EF;
}
html[data-plantilla="premium"] .premium-carta-entrada {
  display:flex; gap:18px; align-items:center; justify-content:space-between;
  color:#826C4E; letter-spacing:.18em; font:700 10px/1.4 system-ui,sans-serif;
  margin-bottom:12px;
}
html[data-plantilla="premium"] .premium-carta-entrada::after {
  content:''; display:block; flex:1; height:1px; background:#D9C9B1;
}
html[data-plantilla="premium"] .premium-carta-entrada__estrella {
  font-size:17px; order:3;
}
html[data-plantilla="premium"] .section-title {
  color:#233A2E; font:400 clamp(34px,4.8vw,55px)/1.1 Georgia,'Times New Roman',serif;
  letter-spacing:-.04em; margin-bottom:27px;
}
html[data-plantilla="premium"] .products-list {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;
}
html[data-plantilla="premium"] .product-card,
html[data-plantilla="premium"] .product-card:not(.promotion-card) {
  display:flex; flex-direction:column-reverse; gap:0; padding:0;
  overflow:hidden; background:#FFFDF9; min-width:0;
  border:1px solid #E0D8C7; border-radius:0; box-shadow:0 12px 30px rgba(33,51,39,.055);
}
html[data-plantilla="premium"] .product-info {
  width:100%; min-width:0; flex:1; padding:22px 24px 27px;
}
html[data-plantilla="premium"] .product-category {
  color:#987847; margin:0 0 9px; font:700 10px/1.3 system-ui,sans-serif;
  text-transform:uppercase; letter-spacing:.12em;
}
html[data-plantilla="premium"] .product-info h3 {
  color:#253B2E; margin-bottom:10px; letter-spacing:-.025em;
  font:400 clamp(23px,2.4vw,29px)/1.2 Georgia,'Times New Roman',serif;
}
html[data-plantilla="premium"] .product-description {
  font:400 13px/1.65 system-ui,sans-serif; color:#657067;
  margin-bottom:14px;
}
html[data-plantilla="premium"] .product-price {
  font:600 24px/1.2 Georgia,'Times New Roman',serif; color:#26382D;
}
html[data-plantilla="premium"] .product-image {
  display:block; flex:none; position:relative; overflow:hidden;
  width:100%; height:258px; min-width:0; padding:0; border:0;
  border-radius:0; background:#E9E4D8;
}
html[data-plantilla="premium"] .product-image > .product-photo {
  width:100%; height:100%; object-fit:cover; display:block;
  border-radius:0;
}
html[data-plantilla="premium"] .product-image > .choose-product,
html[data-plantilla="premium"] .product-image > .add-product {
  position:absolute; z-index:1; bottom:14px; right:14px;
  width:auto; height:46px; min-width:105px; margin:0; padding:0 15px;
  border:1px solid rgba(255,255,255,.5); border-radius:0;
  background:#1D3B30; color:#FFFFFF; font:700 13px/1.2 system-ui,sans-serif;
  box-shadow:0 3px 13px rgba(5,26,18,.22);
}
html[data-plantilla="premium"] .product-image > .add-product {
  width:45px; min-width:45px; padding:0; font-size:22px;
}
/* Material promocional completo, sin recortar textos ni precios. */
html[data-plantilla="premium"] .promotion-card { grid-column:span 2; }
html[data-plantilla="premium"] .promotion-card .product-image {
  display:flex; flex-direction:column; height:auto; background:#EFE9DD;
}
html[data-plantilla="premium"] .promotion-card .product-image > .product-photo {
  height:auto; width:100%; object-fit:contain; aspect-ratio:auto;
}
html[data-plantilla="premium"] .promotion-card .product-image > .choose-promotion {
  position:static; display:block; align-self:stretch;
  width:calc(100% - 28px); min-height:46px; height:auto;
  margin:14px; padding:12px 16px; background:#1D3B30; color:#FFFFFF;
  border:1px solid #D8C4A4; border-radius:0;
}
html[data-plantilla="premium"] .promotion-card .product-category {
  background:#F4EEE0; color:#83653A; border:1px solid #D8C4A4; border-radius:0;
}
html[data-plantilla="premium"] .cart-bar {
  z-index:10; padding:12px clamp(14px,6vw,68px) 18px;
}
html[data-plantilla="premium"] .cart-button {
  background:#183B2D; color:#FFFFFF; border-radius:0;
  box-shadow:0 7px 22px rgba(13,36,28,.25);
}
html[data-plantilla="premium"] .continue-order,
html[data-plantilla="premium"] .save-order-data { background:#183B2D; border-radius:2px; }
html[data-plantilla="premium"] .cart-panel { background:#FAF8F2; }
html[data-plantilla="premium"] .cart-panel-header h2 {
  font:500 26px/1.2 Georgia,'Times New Roman',serif;
}
html[data-plantilla="premium"] .order-type-button,
html[data-plantilla="premium"] .form-group input,
html[data-plantilla="premium"] .form-group select,
html[data-plantilla="premium"] .form-group textarea {border-radius:3px;}
html[data-plantilla="premium"] .atendia-menu-footer { background:#142B23; }
@media(max-width:700px) {
  html[data-plantilla="premium"] .products-list {grid-template-columns:1fr;gap:20px;}
  html[data-plantilla="premium"] .promotion-card {grid-column:span 1;}
  html[data-plantilla="premium"] .premium-cover { min-height:465px; }
  html[data-plantilla="premium"] .premium-cover__velo {
    background:linear-gradient(0deg,rgba(10,29,23,.93),rgba(10,29,23,.54) 65%,rgba(10,29,23,.15));
  }
  html[data-plantilla="premium"] .premium-cover__contenido {
    align-self:end; padding:86px 22px 64px; max-width:490px;
  }
  html[data-plantilla="premium"] .premium-cover__titulo {font-size:clamp(38px,9.2vw,59px);}
}
@media(max-width:480px) {
  html[data-plantilla="premium"] .menu {max-width:none;}
  html[data-plantilla="premium"] .business-header {padding:14px 18px;}
  html[data-plantilla="premium"] .business-info h1 {font-size:19px;}
  html[data-plantilla="premium"] .premium-cover {min-height:425px;}
  html[data-plantilla="premium"] .menu-navigation {padding:20px 20px 16px;}
  html[data-plantilla="premium"] .menu-content {padding:24px 20px 64px;}
  html[data-plantilla="premium"] .menu:has(> .atendia-menu-footer) > .menu-content {flex:1 0 auto;}
  html[data-plantilla="premium"] .product-image {height:225px;}
  html[data-plantilla="premium"] .product-info {padding:19px 20px 21px;}
  html[data-plantilla="premium"] .premium-cover__numero {right:16px;bottom:12px;}
}
@media(prefers-reduced-motion:reduce) {
  html[data-plantilla="premium"] .premium-cover__enlace {transition:none;}
}

/* Premium escritorio: promociones con cartel legible y ficha a un costado. */
@media (min-width: 701px) {
  html[data-plantilla="premium"] .promotion-card {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:center;
  }
  html[data-plantilla="premium"] .promotion-card .product-image {
    grid-column:1; grid-row:1; min-width:0;
  }
  html[data-plantilla="premium"] .promotion-card .product-info {
    grid-column:2; grid-row:1; min-width:0; padding:30px clamp(22px,3vw,44px);
  }
}

/* =========================================================
   PREMIUM V0.2 - PÁGINA WEB GASTRONÓMICA
   Sólo afecta a html[data-plantilla="premium"].
   El CSS predeterminado oculta estos módulos en los demás estilos.
========================================================= */
.premium-web-nav,.premium-destacados,.premium-nosotros,.premium-contacto,.premium-web-footer{display:none}
html[data-plantilla="premium"] {scroll-behavior:smooth;scroll-padding-top:90px}
html[data-plantilla="premium"] #premium-inicio,html[data-plantilla="premium"] #premium-carta,html[data-plantilla="premium"] #premium-nosotros,html[data-plantilla="premium"] #premium-contacto {scroll-margin-top:90px}
html[data-plantilla="premium"] .premium-web-nav {display:flex;align-items:center;justify-content:space-between;gap:22px;position:sticky;top:0;z-index:22;padding:13px clamp(20px,5vw,64px);min-height:66px;background:rgba(249,246,239,.97);border-bottom:1px solid #DED6C7;backdrop-filter:blur(16px)}
html[data-plantilla="premium"] .premium-web-nav__marca {display:flex;align-items:center;gap:10px;min-width:0;max-width:38%;text-decoration:none;color:#244237;font:500 16px/1.2 Georgia,serif;white-space:nowrap}
html[data-plantilla="premium"] .premium-web-nav__marca span {overflow:hidden;text-overflow:ellipsis}
html[data-plantilla="premium"] .premium-web-nav__enlaces{display:flex;gap:clamp(12px,2.5vw,30px);align-items:center;overflow-x:auto;scrollbar-width:none}
html[data-plantilla="premium"] .premium-web-nav__enlaces a {font:700 11px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.11em;color:#425348;text-decoration:none;padding:10px 1px;white-space:nowrap;border-bottom:2px solid transparent}
html[data-plantilla="premium"] .premium-web-nav__enlaces a:hover,html[data-plantilla="premium"] .premium-web-nav__enlaces a:focus-visible {color:#86663B;border-bottom-color:#B89963}
html[data-plantilla="premium"] .premium-destacados {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px clamp(20px,5vw,60px);gap:20px;background:#EEE8DB;border-bottom:1px solid #E0D5C3}
html[data-plantilla="premium"] .premium-destacado{display:flex;gap:14px;align-items:start;padding:8px 0;min-width:0}
html[data-plantilla="premium"] .premium-destacado + .premium-destacado {border-left:1px solid #D8C6AA;padding-left:20px}
html[data-plantilla="premium"] .premium-destacado__numero {color:#9A7B4F;font:600 19px Georgia,serif}
html[data-plantilla="premium"] .premium-destacado h3 {color:#26392F;font:500 18px/1.25 Georgia,serif;margin:0 0 6px}
html[data-plantilla="premium"] .premium-destacado p {color:#58655B;font:400 12px/1.55 system-ui,sans-serif}
html[data-plantilla="premium"] .premium-nosotros {display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);background:#EDE6D8;padding:clamp(32px,5vw,70px);gap:clamp(28px,5vw,76px);align-items:center}
html[data-plantilla="premium"] .premium-nosotros__imagen{position:relative;min-height:330px;aspect-ratio:4/5;background:#C6B9A7;overflow:hidden}
html[data-plantilla="premium"] .premium-nosotros__imagen img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
html[data-plantilla="premium"] .premium-nosotros__sello{position:absolute;bottom:16px;left:16px;right:16px;padding:11px 15px;color:#20362B;background:#F4E9D5;font:600 12px/1.4 system-ui,sans-serif;text-align:center}
html[data-plantilla="premium"] .premium-etiqueta{display:block;color:#987A4F;font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase}
html[data-plantilla="premium"] .premium-nosotros h2,html[data-plantilla="premium"] .premium-contacto h2 {color:#263A2F;font:400 clamp(34px,4.8vw,56px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:16px 0 16px;text-wrap:balance}
html[data-plantilla="premium"] .premium-nosotros__texto>p{color:#5D635A;font:400 15px/1.8 system-ui,sans-serif;max-width:48ch}
html[data-plantilla="premium"] .premium-regla{display:block;color:#9B8054;font-size:20px;margin:10px 0 18px}
html[data-plantilla="premium"] .premium-link{display:inline-block;margin-top:24px;padding-bottom:8px;border-bottom:1px solid #B49A70;color:#345242;text-decoration:none;font:700 12px/1.4 system-ui,sans-serif;letter-spacing:.06em}
html[data-plantilla="premium"] .premium-contacto{display:block;padding:clamp(36px,5vw,68px) clamp(20px,5vw,66px) 54px;background:#18352B;color:#EDE8DE}
html[data-plantilla="premium"] .premium-contacto .premium-etiqueta{color:#CCAC72}
html[data-plantilla="premium"] .premium-contacto h2{color:#FAF3E6}
html[data-plantilla="premium"] .premium-contacto__encabezado>p {color:#D3D8CB;font:400 15px/1.7 system-ui,sans-serif;max-width:56ch}
html[data-plantilla="premium"] .premium-contacto__columnas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px;padding-top:28px;border-top:1px solid rgba(245,232,206,.28)}
html[data-plantilla="premium"] .premium-contacto__columnas h3{margin:0 0 14px;font:500 24px/1.1 Georgia,serif;color:#FBF5E9}
html[data-plantilla="premium"] .premium-contacto__columnas p,html[data-plantilla="premium"] .premium-contacto__columnas a,html[data-plantilla="premium"] .premium-contacto__columnas small {display:block;margin:0 0 9px;color:#D3D8CB;font:400 13px/1.65 system-ui,sans-serif;overflow-wrap:anywhere}
html[data-plantilla="premium"] .premium-contacto__columnas a {color:#F1D3A2;text-decoration:underline;text-underline-offset:4px}
html[data-plantilla="premium"] .premium-web-footer{display:block;padding:19px clamp(20px,5vw,66px);background:#0E211A;color:#D6DACC;text-align:center;font:400 12px/1.6 system-ui,sans-serif}
/* El carrito existente adopta presentación de panel lateral en escritorio,
   sin reemplazar eventos ni flujo de compra. */
@media(min-width:900px){
  html[data-plantilla="premium"] .cart-panel {left:auto;right:0;top:0;bottom:0;transform:none;width:min(440px,100%);height:100dvh;max-height:100dvh;max-width:none;border-radius:0;box-shadow:-15px 0 55px rgba(0,0,0,.19)}
}
@media(max-width:740px){
  html[data-plantilla="premium"] .premium-web-nav{padding:8px 16px;gap:6px;min-height:58px}
  html[data-plantilla="premium"] .premium-web-nav__marca{font-size:15px;max-width:26px}
  html[data-plantilla="premium"] .premium-web-nav__marca span{display:none}
  html[data-plantilla="premium"] .premium-web-nav__enlaces{gap:17px}
  html[data-plantilla="premium"] .premium-web-nav__enlaces a{font-size:10px;letter-spacing:.055em;padding:10px 0}
  html[data-plantilla="premium"] .premium-destacados{grid-template-columns:1fr;gap:0;padding:14px 23px}
  html[data-plantilla="premium"] .premium-destacado{padding:11px 0}
  html[data-plantilla="premium"] .premium-destacado + .premium-destacado{border-left:0;border-top:1px solid #D8C6AA;padding:12px 0}
  html[data-plantilla="premium"] .premium-nosotros{grid-template-columns:1fr;padding:40px 23px;gap:24px}
  html[data-plantilla="premium"] .premium-nosotros__imagen{aspect-ratio:5/3;min-height:210px}
  html[data-plantilla="premium"] .premium-contacto{padding:44px 23px}
  html[data-plantilla="premium"] .premium-contacto__columnas{grid-template-columns:1fr;gap:17px}
}
@media(prefers-reduced-motion:reduce){html[data-plantilla="premium"]{scroll-behavior:auto}}
/* ============================================================
   ATENDIA PREMIUM V0.3 · EDICIÓN SITIO WEB
   Esta capa se aplica exclusivamente a la plantilla Premium.
   Motor de carrito y pedidos: sin cambios.
============================================================ */
.premium-especialidades,.premium-carta-presentacion,.premium-invitacion{display:none}
/* El selector de laboratorio no forma parte de los sitios entregados. */
.premium-laboratorio-toggle{position:relative;z-index:80;text-align:right;background:#11291f;color:#f2ebdf}
.premium-laboratorio-toggle>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;margin:0 clamp(15px,4vw,62px) 0 0;padding:9px 2px;color:#c5d1c2;font:600 11px/1.2 system-ui,sans-serif;letter-spacing:.04em}
.premium-laboratorio-toggle>summary::-webkit-details-marker{display:none}
.premium-laboratorio-toggle>.atendia-selector-prueba{position:absolute;right:12px;top:100%;width:min(400px,calc(100vw - 24px));max-height:80vh;overflow:auto;box-shadow:0 24px 45px rgba(0,0,0,.28);border:1px solid #50705b;margin:0}
html[data-plantilla="premium"] body{background:#f6f2e9}
html[data-plantilla="premium"] .menu{max-width:none;width:100%;overflow:clip;background:#f6f2e9}
html[data-plantilla="premium"] .business-header{display:none}
html[data-plantilla="premium"] .premium-web-nav{display:flex;position:sticky;top:0;z-index:22;min-height:86px;padding:12px clamp(20px,4.6vw,82px);gap:20px;background:rgba(251,249,243,.98);border-bottom:1px solid #ddd3c5;box-shadow:0 5px 22px rgba(28,35,27,.035)}
html[data-plantilla="premium"] .premium-web-nav__marca{max-width:30%;gap:13px;align-items:center;font:normal 18px/1.15 Georgia,serif;letter-spacing:-.025em;color:#243b30}
html[data-plantilla="premium"] .premium-web-nav__logo{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;background:#f3eee3;overflow:hidden;border:1px solid #ddd4c0}
html[data-plantilla="premium"] .premium-web-nav__logo img{width:100%;height:100%;object-fit:cover}
html[data-plantilla="premium"] .premium-web-nav__nombre{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-plantilla="premium"] .premium-web-nav__nombre small{display:block;margin-top:5px;color:#8e785b;font:700 9px/1.2 system-ui,sans-serif;letter-spacing:.19em}
html[data-plantilla="premium"] .premium-web-nav__enlaces{gap:clamp(13px,2vw,28px);margin-left:auto;overflow:visible}
html[data-plantilla="premium"] .premium-web-nav__enlaces a{font-size:11px;letter-spacing:.10em;color:#4c584d}
html[data-plantilla="premium"] .premium-web-nav__cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap;padding:12px 18px;min-height:44px;border:1px solid #193b2c;background:#193b2c;color:#fff;text-decoration:none;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
html[data-plantilla="premium"] .premium-web-nav__cta:hover{background:#2d533e}
.premium-web-nav__movil{display:none}
html[data-plantilla="premium"] .premium-cover{min-height:680px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);background:#16372c;color:#fffdf4;isolation:isolate;overflow:hidden}
html[data-plantilla="premium"] .premium-cover__contenido{position:relative;align-self:stretch;max-width:none;padding:clamp(70px,8vw,122px) clamp(26px,5vw,100px) 85px clamp(25px,8vw,126px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;z-index:1;background:radial-gradient(circle at 80% 14%,rgba(209,184,120,.10),transparent 40%),#17372c}
html[data-plantilla="premium"] .premium-cover__inicio{display:flex;align-items:center;gap:21px;color:#e4cb96}
html[data-plantilla="premium"] .premium-cover__inicio>span:last-child{font:normal 24px/1 Georgia,serif}
html[data-plantilla="premium"] .premium-cover__sello{letter-spacing:.23em;font-size:11px;color:#e8ce9e}
html[data-plantilla="premium"] .premium-cover__titulo{max-width:700px;margin:27px 0 19px;color:#fff8e9;font:400 clamp(58px,6.5vw,112px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-.062em;text-wrap:balance}
html[data-plantilla="premium"] .premium-cover__linea{width:86px;height:1px;background:#d7b77f;margin:10px 0 28px}
html[data-plantilla="premium"] .premium-cover__texto{font:400 clamp(16px,1.3vw,19px)/1.8 system-ui,sans-serif;color:#d9e1d6;max-width:35ch;margin:0 0 34px}
html[data-plantilla="premium"] .premium-cover__acciones{display:flex;flex-wrap:wrap;gap:25px;align-items:center}
html[data-plantilla="premium"] .premium-cover__enlace{min-height:56px;padding:16px 23px;gap:24px;background:#e8d5b1;color:#183b2c;border:1px solid #e8d5b1;font-size:12px;letter-spacing:.10em;text-transform:uppercase}
html[data-plantilla="premium"] .premium-cover__secundario{color:#fff4e4;padding:8px 0;text-decoration:none;border-bottom:1px solid rgba(234,218,183,.6);display:inline-flex;gap:22px;font:600 12px/1.4 system-ui,sans-serif;letter-spacing:.05em}
html[data-plantilla="premium"] .premium-cover__pie{position:absolute;bottom:26px;left:clamp(25px,8vw,126px);right:36px;display:flex;gap:14px;align-items:center;justify-content:space-between;font:700 9px/1.3 system-ui,sans-serif;letter-spacing:.13em;color:rgba(248,245,234,.58)}
html[data-plantilla="premium"] .premium-cover__pie span:nth-child(2){font-size:18px;color:#d5bd82}
html[data-plantilla="premium"] .premium-cover__visual{position:relative;min-height:680px;display:flex;align-items:center;justify-content:center;padding:45px clamp(22px,5vw,85px) 50px;background:radial-gradient(circle at 65% 40%,#355648 0%,#264839 42%,#17382b 95%)}
html[data-plantilla="premium"] .premium-cover__marco{width:min(100%,530px);height:560px;position:relative;overflow:hidden;border:12px solid #e7d5ae;border-radius:52% 52% 8px 8px / 46% 46% 8px 8px;box-shadow:0 26px 68px rgba(0,0,0,.23)}
html[data-plantilla="premium"] .premium-cover__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.04)}
html[data-plantilla="premium"] .premium-cover__estampa{position:absolute;left:clamp(0px,2vw,35px);bottom:90px;width:146px;height:146px;background:#e8d5b1;color:#183b2c;border:2px solid #e8d5b1;outline:1px solid #183b2c;outline-offset:-8px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);box-shadow:0 9px 25px rgba(0,0,0,.22)}
html[data-plantilla="premium"] .premium-cover__estampa>span{font-size:34px;line-height:1}
html[data-plantilla="premium"] .premium-cover__estampa small{font:700 9px/1.6 system-ui,sans-serif;letter-spacing:.08em;text-align:center;margin-top:6px}
html[data-plantilla="premium"] .premium-cover__credito{position:absolute;right:clamp(20px,5vw,80px);bottom:20px;letter-spacing:.2em;color:#e3d4b6;font-size:9px}
html[data-plantilla="premium"] .premium-destacados{display:block;background:#e9decc;padding:0 clamp(25px,6vw,90px);border-bottom:1px solid #d7c9b3}
html[data-plantilla="premium"] .premium-destacados__interior{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-plantilla="premium"] .premium-destacado{padding:31px 25px 31px 0;gap:20px;align-items:center}
html[data-plantilla="premium"] .premium-destacado+.premium-destacado{border-left:1px solid #ccbda3;padding-left:28px}
html[data-plantilla="premium"] .premium-destacado__numero{font-size:30px;font-weight:400;color:#a0804c}
html[data-plantilla="premium"] .premium-destacado h3{font-size:19px;color:#203b2c}
html[data-plantilla="premium"] .premium-destacado p{font-size:12px;color:#546354;margin:0}
html[data-plantilla="premium"] .premium-especialidades{display:block;max-width:1480px;padding:clamp(76px,7vw,120px) clamp(24px,5vw,80px) clamp(78px,7vw,120px);margin:auto}
html[data-plantilla="premium"] .premium-etiqueta{letter-spacing:.22em;font-size:11px;color:#927647}
html[data-plantilla="premium"] .premium-especialidades__top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}
html[data-plantilla="premium"] .premium-especialidades__top h2{font:400 clamp(43px,5vw,73px)/1.08 Georgia,serif;letter-spacing:-.05em;color:#19382b;max-width:620px;margin:14px 0 0}
html[data-plantilla="premium"] .premium-especialidades__top h2 em{color:#997e58;font-weight:normal}
html[data-plantilla="premium"] .premium-especialidades__introduccion{max-width:270px;color:#5f675e;font:400 14px/1.7 system-ui,sans-serif}
html[data-plantilla="premium"] .premium-especialidades__introduccion a{display:inline-block;color:#234331;margin-top:13px;padding-bottom:7px;text-decoration:none;border-bottom:1px solid #a68d64;font-weight:700;font-size:12px}
html[data-plantilla="premium"] .premium-especialidades__lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
html[data-plantilla="premium"] .premium-especialidad{text-decoration:none;color:#203c30;display:block;min-width:0}
html[data-plantilla="premium"] .premium-especialidad__foto{position:relative;aspect-ratio:1/.96;overflow:hidden;background:#e2d6c5}
html[data-plantilla="premium"] .premium-especialidad__foto img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
html[data-plantilla="premium"] .premium-especialidad:hover img{transform:scale(1.045)}
html[data-plantilla="premium"] .premium-especialidad__index{position:absolute;bottom:15px;left:16px;color:#fff;background:rgba(12,37,25,.75);padding:8px 11px;letter-spacing:.12em;font:700 10px/1.2 system-ui,sans-serif}
html[data-plantilla="premium"] .premium-especialidad__fallback{display:grid;place-items:center;width:100%;height:100%;font-size:90px}
html[data-plantilla="premium"] .premium-especialidad__info{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:20px 0;border-bottom:1px solid #ccbfa9}
html[data-plantilla="premium"] .premium-especialidad__info>div>span{font:700 10px/1.2 system-ui,sans-serif;color:#95805c;letter-spacing:.13em;text-transform:uppercase}
html[data-plantilla="premium"] .premium-especialidad__info h3{font:400 clamp(23px,2.3vw,32px)/1.15 Georgia,serif;margin-top:9px}
html[data-plantilla="premium"] .premium-especialidad__precio{white-space:nowrap;font-size:12px;font-weight:700;color:#2f4b38}
html[data-plantilla="premium"] .premium-nosotros{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);padding:clamp(65px,7vw,118px) max(24px,calc((100vw - 1360px)/2));gap:clamp(45px,6vw,100px);background:#e8e1d4}
html[data-plantilla="premium"] .premium-nosotros__imagen{width:100%;max-width:600px;justify-self:end;min-height:530px;aspect-ratio:5/5.7;border:11px solid #f5f0e5;box-shadow:20px 25px 0 #d1c4ad}
html[data-plantilla="premium"] .premium-nosotros__sello{max-width:265px;left:auto;right:-8px;bottom:24px;color:#253c2f;padding:18px;font:600 14px/1.5 Georgia,serif}
html[data-plantilla="premium"] .premium-nosotros__texto{align-self:center;max-width:550px;padding-right:25px}
html[data-plantilla="premium"] .premium-nosotros h2{font:400 clamp(48px,5vw,78px)/1.04 Georgia,serif;letter-spacing:-.055em;margin:18px 0 24px;color:#214030}
html[data-plantilla="premium"] .premium-nosotros__texto>p{max-width:47ch;font:400 16px/1.9 system-ui,sans-serif;color:#5c655b}
html[data-plantilla="premium"] .premium-regla{font-size:28px;margin:0 0 20px}
html[data-plantilla="premium"] .premium-link{margin-top:34px;font-size:12px}
html[data-plantilla="premium"] .premium-carta-presentacion{display:block;color:#fff8e8;background:#17372b;padding:80px clamp(24px,5vw,80px)}
html[data-plantilla="premium"] .premium-carta-presentacion__interno{max-width:1330px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end}
html[data-plantilla="premium"] .premium-carta-presentacion .premium-etiqueta{color:#d0b384}
html[data-plantilla="premium"] .premium-carta-presentacion h2{font:400 clamp(50px,6vw,91px)/1.06 Georgia,serif;letter-spacing:-.06em;margin:14px 0 0}
html[data-plantilla="premium"] .premium-carta-presentacion p{color:#e0dfd3;font:400 16px/1.85 system-ui,sans-serif;max-width:45ch;margin-bottom:24px}
html[data-plantilla="premium"] .premium-carta-presentacion__interno>div:last-child>span{font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.17em;color:#d8b983}
html[data-plantilla="premium"] .menu-navigation{padding:35px max(24px,calc((100vw - 1280px)/2)) 23px;background:#f8f5ef;border-bottom:1px solid #ddd1bb}
html[data-plantilla="premium"] .search-box{max-width:none;width:min(100%,520px);margin:0 0 24px;background:#fffcf6}
html[data-plantilla="premium"] .categories{gap:26px;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
html[data-plantilla="premium"] .menu-content{padding:47px max(24px,calc((100vw - 1280px)/2)) 96px;background:#f8f5ef}
html[data-plantilla="premium"] .section-title{font-size:clamp(39px,4.4vw,65px)}
html[data-plantilla="premium"] .products-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
html[data-plantilla="premium"] .promotion-card{grid-column:span 3}
html[data-plantilla="premium"] .product-image{height:240px}
html[data-plantilla="premium"] .product-card{border:1px solid #e3d8c7}
html[data-plantilla="premium"] .premium-invitacion{position:relative;display:grid;place-items:center;min-height:460px;overflow:hidden;isolation:isolate;background:#193b2c;color:#fff9ed;text-align:center;padding:74px 24px}
html[data-plantilla="premium"] .premium-invitacion>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(.78)}
html[data-plantilla="premium"] .premium-invitacion::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,31,24,.90),rgba(12,31,25,.72)),rgba(0,0,0,.15)}
html[data-plantilla="premium"] .premium-invitacion__interior{max-width:850px;margin:auto}
html[data-plantilla="premium"] .premium-invitacion .premium-etiqueta{color:#e6cf9a}
html[data-plantilla="premium"] .premium-invitacion h2{font:400 clamp(44px,5vw,74px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:24px 0}
html[data-plantilla="premium"] .premium-invitacion p{font-size:15px;line-height:1.7;color:#e6eadc;margin-bottom:28px}
html[data-plantilla="premium"] .premium-invitacion a{display:inline-block;padding:16px 24px;border:1px solid #e4d3b0;background:#e4d3b0;text-decoration:none;color:#19372b;font:700 12px/1.3 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
html[data-plantilla="premium"] .premium-contacto{padding:85px max(24px,calc((100vw - 1280px)/2)) 85px;background:#f1ede3;color:#2b4033}
html[data-plantilla="premium"] .premium-contacto .premium-etiqueta{color:#967a4f}
html[data-plantilla="premium"] .premium-contacto h2{color:#284236;font-size:clamp(44px,5vw,74px)}
html[data-plantilla="premium"] .premium-contacto__encabezado>p{color:#697068}
html[data-plantilla="premium"] .premium-contacto__columnas{margin-top:45px;padding-top:34px;border-top:1px solid #d3c7b4;gap:25px}
html[data-plantilla="premium"] .premium-contacto__columnas h3{color:#263e31}
html[data-plantilla="premium"] .premium-contacto__columnas p,
html[data-plantilla="premium"] .premium-contacto__columnas a,
html[data-plantilla="premium"] .premium-contacto__columnas small{color:#4c5b4e}
html[data-plantilla="premium"] .premium-contacto__columnas a{color:#536b4c}
html[data-plantilla="premium"] .premium-web-footer{background:#142c22;padding:27px;text-align:center}
html[data-plantilla="premium"] .atendia-menu-footer{display:none}
html[data-plantilla="premium"] :is(.premium-web-nav a,.premium-especialidad,.premium-invitacion a):focus-visible{outline:3px solid #c59b5a;outline-offset:4px}
@media(min-width:1500px){html[data-plantilla="premium"] .premium-cover__titulo{font-size:clamp(78px,6vw,118px)}}
@media(min-width:980px) and (max-width:1220px){
 html[data-plantilla="premium"] .premium-web-nav__enlaces{gap:11px}
 html[data-plantilla="premium"] .premium-web-nav__marca{font-size:15px}
 html[data-plantilla="premium"] .premium-cover__contenido{padding-left:55px;padding-right:25px}
 html[data-plantilla="premium"] .premium-cover__titulo{font-size:clamp(62px,6.1vw,83px)}
 html[data-plantilla="premium"] .premium-cover__marco{height:510px}
}
@media(max-width:979px){
 html[data-plantilla="premium"] .premium-web-nav{min-height:72px}
 html[data-plantilla="premium"] .premium-web-nav__marca{max-width:50%}
 html[data-plantilla="premium"] .premium-web-nav__enlaces{display:none}
 html[data-plantilla="premium"] .premium-web-nav__cta{margin-left:auto}
 html[data-plantilla="premium"] .premium-web-nav__movil{display:block;position:relative}
 html[data-plantilla="premium"] .premium-web-nav__movil summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;border:1px solid #c8c0ac;padding:12px;color:#193a2c;font:700 12px/1.3 system-ui,sans-serif}
 html[data-plantilla="premium"] .premium-web-nav__movil summary::-webkit-details-marker{display:none}
 html[data-plantilla="premium"] .premium-web-nav__desplegable{position:absolute;right:0;top:calc(100% + 12px);display:flex;flex-direction:column;min-width:200px;box-shadow:0 17px 33px rgba(0,0,0,.16);background:#f8f5ec;border:1px solid #c7bca6;padding:8px 14px}
 html[data-plantilla="premium"] .premium-web-nav__desplegable a{text-decoration:none;color:#243f33;padding:12px 5px;border-bottom:1px solid #dfd6c5;font:700 12px/1.5 system-ui,sans-serif}
 html[data-plantilla="premium"] .premium-cover{grid-template-columns:1fr 1fr;min-height:600px}
 html[data-plantilla="premium"] .premium-cover__contenido{padding:70px 25px 84px 42px}
 html[data-plantilla="premium"] .premium-cover__titulo{font-size:clamp(56px,6vw,76px)}
 html[data-plantilla="premium"] .premium-cover__pie{left:42px;bottom:22px}
 html[data-plantilla="premium"] .premium-cover__visual{min-height:600px;padding:40px 22px}
 html[data-plantilla="premium"] .premium-cover__marco{height:450px;border-width:8px}
 html[data-plantilla="premium"] .premium-cover__estampa{height:112px;width:112px;left:7px;bottom:95px}
 html[data-plantilla="premium"] .premium-cover__estampa small{font-size:7px}
 html[data-plantilla="premium"] .premium-especialidades__lista{gap:13px}
 html[data-plantilla="premium"] .premium-especialidad__info{display:block}
 html[data-plantilla="premium"] .premium-especialidad__precio{display:block;margin-top:9px}
 html[data-plantilla="premium"] .premium-nosotros{gap:45px}
}
@media(max-width:700px){
 html[data-plantilla="premium"] .premium-web-nav{min-height:64px;padding:10px 15px}
 html[data-plantilla="premium"] .premium-web-nav__logo{width:40px;height:40px;flex-basis:40px}
 html[data-plantilla="premium"] .premium-web-nav__marca{font-size:15px;max-width:calc(100% - 110px);gap:8px}
 html[data-plantilla="premium"] .premium-web-nav__nombre small{font-size:7px}
 html[data-plantilla="premium"] .premium-web-nav__cta{display:none}
 html[data-plantilla="premium"] .premium-web-nav__movil{margin-left:auto}
 html[data-plantilla="premium"] .premium-cover{grid-template-columns:1fr;min-height:auto}
 html[data-plantilla="premium"] .premium-cover__contenido{padding:62px 25px 45px;min-height:520px}
 html[data-plantilla="premium"] .premium-cover__inicio{gap:14px}
 html[data-plantilla="premium"] .premium-cover__titulo{font-size:clamp(55px,13.4vw,87px);max-width:530px;line-height:1.01}
 html[data-plantilla="premium"] .premium-cover__texto{font-size:15px;max-width:37ch}
 html[data-plantilla="premium"] .premium-cover__acciones{gap:18px}
 html[data-plantilla="premium"] .premium-cover__enlace{padding:14px 18px;min-height:51px;font-size:11px}
 html[data-plantilla="premium"] .premium-cover__secundario{font-size:11px}
 html[data-plantilla="premium"] .premium-cover__pie{position:static;align-self:stretch;margin-top:32px;gap:10px;font-size:8px}
 html[data-plantilla="premium"] .premium-cover__visual{min-height:380px;height:440px;padding:30px 48px 42px}
 html[data-plantilla="premium"] .premium-cover__marco{height:380px;width:340px;border:8px solid #e8d6b2}
 html[data-plantilla="premium"] .premium-cover__estampa{width:100px;height:100px;bottom:60px;left:20px}
 html[data-plantilla="premium"] .premium-cover__credito{right:14px;bottom:10px;font-size:8px}
 html[data-plantilla="premium"] .premium-destacados{padding:5px 25px}
 html[data-plantilla="premium"] .premium-destacados__interior{grid-template-columns:1fr}
 html[data-plantilla="premium"] .premium-destacado{padding:17px 0;gap:20px}
 html[data-plantilla="premium"] .premium-destacado + .premium-destacado{border-left:0;border-top:1px solid #cabb9e;padding:17px 0}
 html[data-plantilla="premium"] .premium-destacado h3{font-size:18px}
 html[data-plantilla="premium"] .premium-especialidades{padding:75px 22px}
 html[data-plantilla="premium"] .premium-especialidades__top{display:block;margin-bottom:26px}
 html[data-plantilla="premium"] .premium-especialidades__top h2{font-size:clamp(46px,10vw,61px)}
 html[data-plantilla="premium"] .premium-especialidades__introduccion{margin-top:20px;max-width:100%}
 html[data-plantilla="premium"] .premium-especialidades__lista{grid-template-columns:1fr;gap:36px}
 html[data-plantilla="premium"] .premium-especialidad__foto{aspect-ratio:5/3.8}
 html[data-plantilla="premium"] .premium-especialidad__info{display:flex}
 html[data-plantilla="premium"] .premium-nosotros{grid-template-columns:1fr;gap:48px;padding:74px 22px}
 html[data-plantilla="premium"] .premium-nosotros__imagen{max-width:100%;min-height:0;aspect-ratio:1.2;box-shadow:10px 12px 0 #d1c4ad}
 html[data-plantilla="premium"] .premium-nosotros__texto{padding:0}
 html[data-plantilla="premium"] .premium-nosotros h2{font-size:clamp(46px,10vw,62px)}
 html[data-plantilla="premium"] .premium-carta-presentacion{padding:65px 24px}
 html[data-plantilla="premium"] .premium-carta-presentacion__interno{grid-template-columns:1fr;gap:22px}
 html[data-plantilla="premium"] .premium-carta-presentacion h2{font-size:clamp(49px,11vw,72px)}
 html[data-plantilla="premium"] .menu-navigation{padding:25px 18px}
 html[data-plantilla="premium"] .menu-content{padding:28px 18px 75px}
 html[data-plantilla="premium"] .products-list{grid-template-columns:1fr;gap:20px}
 html[data-plantilla="premium"] .promotion-card{grid-column:span 1}
 html[data-plantilla="premium"] .promotion-card .product-info{padding:20px}
 html[data-plantilla="premium"] .product-image{height:245px}
 html[data-plantilla="premium"] .premium-invitacion{min-height:410px;padding:65px 25px}
 html[data-plantilla="premium"] .premium-contacto{padding:70px 25px}
 html[data-plantilla="premium"] .premium-contacto__columnas{gap:20px}
}
@media(max-width:380px){
 html[data-plantilla="premium"] .premium-cover__titulo{font-size:52px}
 html[data-plantilla="premium"] .premium-cover__visual{padding-left:38px;padding-right:38px;height:385px;min-height:350px}
 html[data-plantilla="premium"] .premium-cover__marco{height:334px}
 html[data-plantilla="premium"] .premium-especialidad__info{display:block}
}
@media(prefers-reduced-motion:reduce){html[data-plantilla="premium"] .premium-especialidad__foto img{transition:none}}
/* V0.3: la fotografía debe quedar por encima del fondo del arco;
   V0.1 empleaba z-index:-2 cuando cubría toda la portada. */
html[data-plantilla="premium"] .premium-cover__marco { isolation:isolate; }
html[data-plantilla="premium"] .premium-cover__foto { z-index:0; }

/* =========================================================
   ATENDIA PREMIUM V0.3.1 — LEGIBILIDAD MÓVIL
   Ajustes visuales, sin cambios en la lógica de compra.
   Se aplican únicamente a la plantilla Premium en móviles.
========================================================= */
@media (max-width: 700px) {
  html[data-plantilla="premium"] .premium-web-nav__nombre {
    min-width: 0;
    font-size: 16px;
    line-height: 1.2;
  }
  html[data-plantilla="premium"] .premium-web-nav__nombre small {
    font-size: 10px;
    line-height: 1.35;
    letter-spacing: .07em;
    color: #65523c;
  }
  html[data-plantilla="premium"] .premium-web-nav__movil summary,
  html[data-plantilla="premium"] .premium-web-nav__desplegable a {
    font-size: 14px;
    line-height: 1.4;
  }
  html[data-plantilla="premium"] .premium-web-nav__movil summary {
    min-height: 44px;
    padding: 10px 12px;
  }
  html[data-plantilla="premium"] .premium-cover__sello,
  html[data-plantilla="premium"] .premium-etiqueta {
    font-size: 12px;
    line-height: 1.55;
    letter-spacing: .12em;
    font-weight: 700;
  }
  html[data-plantilla="premium"] .premium-cover__sello { color: #f0daa9; }
  html[data-plantilla="premium"] .premium-etiqueta { color: #65502f; }
  html[data-plantilla="premium"] .premium-cover__contenido {
    padding-top: 55px;
    padding-bottom: 39px;
  }
  html[data-plantilla="premium"] .premium-cover__titulo {
    font-size: clamp(49px, 12.2vw, 70px);
    line-height: 1.05;
    letter-spacing: -.045em;
    overflow-wrap: break-word;
  }
  html[data-plantilla="premium"] .premium-cover__texto {
    font-size: 16px;
    line-height: 1.65;
    color: #f4f3e9;
  }
  html[data-plantilla="premium"] .premium-cover__acciones { gap: 15px; }
  html[data-plantilla="premium"] .premium-cover__enlace,
  html[data-plantilla="premium"] .premium-cover__secundario {
    font-size: 13px;
    line-height: 1.45;
    letter-spacing: .035em;
  }
  html[data-plantilla="premium"] .premium-cover__enlace { min-height: 48px; padding: 12px 17px; }
  html[data-plantilla="premium"] .premium-cover__pie {
    margin-top: 26px;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .035em;
    color: #eee8d6;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 9px;
  }
  html[data-plantilla="premium"] .premium-cover__credito {
    font-size: 11px;
    letter-spacing: .08em;
    color: #fff4df;
  }
  html[data-plantilla="premium"] .premium-cover__estampa small {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .02em;
  }
  html[data-plantilla="premium"] .premium-destacado { align-items: flex-start; gap: 16px; }
  html[data-plantilla="premium"] .premium-destacado__numero {
    min-width: 32px;
    font-size: 27px;
    line-height: 1.2;
    color: #75552b;
  }
  html[data-plantilla="premium"] .premium-destacado h3 {
    font-size: 19px;
    line-height: 1.3;
    color: #1c3427;
  }
  html[data-plantilla="premium"] .premium-destacado p {
    font-size: 14px;
    line-height: 1.55;
    color: #36493a;
  }
  html[data-plantilla="premium"] .premium-especialidades__introduccion {
    font-size: 15px;
    line-height: 1.65;
    color: #3b4e3d;
  }
  html[data-plantilla="premium"] .premium-especialidades__introduccion a,
  html[data-plantilla="premium"] .premium-link { font-size: 14px; line-height: 1.5; }
  html[data-plantilla="premium"] .premium-especialidad__index {
    font-size: 12px;
    line-height: 1.35;
    letter-spacing: .04em;
    background: rgba(10,32,23,.93);
  }
  html[data-plantilla="premium"] .premium-especialidad__info { align-items: flex-start; gap: 8px; }
  html[data-plantilla="premium"] .premium-especialidad__info>div>span {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: .055em;
    color: #604a2a;
  }
  html[data-plantilla="premium"] .premium-especialidad__precio {
    font-size: 15px;
    line-height: 1.35;
    color: #1e3c2c;
  }
  html[data-plantilla="premium"] .premium-nosotros__texto>p {
    font-size: 16px;
    line-height: 1.75;
    color: #394d40;
  }
  html[data-plantilla="premium"] .premium-carta-presentacion p,
  html[data-plantilla="premium"] .premium-invitacion p {
    font-size: 16px;
    line-height: 1.7;
  }
  html[data-plantilla="premium"] .premium-carta-presentacion__interno>div:last-child>span {
    font-size: 12px;
    letter-spacing: .07em;
    color: #f2dbaa;
  }
  html[data-plantilla="premium"] .premium-carta-entrada { font-size: 12px; letter-spacing: .09em; }
  html[data-plantilla="premium"] .product-category { font-size: 12px; line-height: 1.45; color: #6b4c25; }
  html[data-plantilla="premium"] .product-description { font-size: 15px; line-height: 1.65; color: #414d44; }
  html[data-plantilla="premium"] .product-info h3 { font-size: 26px; line-height: 1.22; }
  html[data-plantilla="premium"] .product-price { font-size: 24px; }
  html[data-plantilla="premium"] .category-button { font-size: 14px; line-height: 1.4; }
  html[data-plantilla="premium"] .search-box input { font-size: 16px; }
  html[data-plantilla="premium"] .search-box input::placeholder { color: #586156; opacity: 1; }
  html[data-plantilla="premium"] .premium-contacto__encabezado>p { font-size: 16px; line-height: 1.7; color: #455a4b; }
  html[data-plantilla="premium"] .premium-contacto__columnas h3 { font-size: 25px; }
  html[data-plantilla="premium"] .premium-contacto__columnas p,
  html[data-plantilla="premium"] .premium-contacto__columnas a,
  html[data-plantilla="premium"] .premium-contacto__columnas small {
    font-size: 15px;
    line-height: 1.7;
    color: #364b3c;
  }
  html[data-plantilla="premium"] .premium-contacto__columnas a { color: #245037; }
  html[data-plantilla="premium"] .premium-web-footer { font-size: 13px; line-height: 1.55; }
}
@media (max-width: 380px) {
  html[data-plantilla="premium"] .premium-cover__titulo { font-size: clamp(49px, 13vw, 52px); }
  html[data-plantilla="premium"] .premium-cover__acciones { gap: 12px; }
  html[data-plantilla="premium"] .premium-cover__pie { gap: 7px; }
  html[data-plantilla="premium"] .premium-especialidad__info { display:block; }
  html[data-plantilla="premium"] .premium-especialidad__precio { display:block; margin-top: 8px; }
}


/* =========================================================
   ATENDIA PREMIUM V0.3.2 — CRÉDITO LEGIBLE EN MÓVIL
   Impide que la foto + padding ensanchen el bloque verde;
   mantiene SABORES · HISTORIAS · MOMENTOS dentro de pantalla.
   Sin cambios en la lógica de carrito/pedidos ni en escritorio.
========================================================= */
@media (max-width: 700px) {
  html[data-plantilla="premium"] .premium-cover {
    grid-template-columns: minmax(0, 1fr);
  }
  html[data-plantilla="premium"] .premium-cover__visual {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: clamp(18px, 6vw, 30px);
    padding-right: clamp(18px, 6vw, 30px);
  }
  html[data-plantilla="premium"] .premium-cover__marco {
    box-sizing: border-box;
    width: min(340px, 100%);
    max-width: 100%;
    min-width: 0;
  }
  html[data-plantilla="premium"] .premium-cover__credito {
    left: 20px;
    right: 20px;
    bottom: 10px;
    width: auto;
    max-width: calc(100% - 40px);
    text-align: center;
    white-space: normal;
    overflow-wrap: break-word;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .06em;
  }
}
