/*
 * Capa exclusiva de la experiencia de compra pública.
 * No se aplica a /admin ni a los paneles operativos.
 */
.public-storefront {
  --store-ink: #102d25;
  --store-green: #087b4b;
  --store-green-deep: #075637;
  --store-red: #e32336;
  --store-gold: #f7ba25;
  --store-paper: #fffaf0;
  --store-warm: #fff2dc;
  --store-line: #ecdab5;
  --store-shadow: 0 18px 48px rgba(54, 37, 8, .12);
  background:
    radial-gradient(circle at 1px 1px, rgba(170, 120, 30, .12) 1px, transparent 0) 0 0 / 14px 14px,
    #fffaf0;
  color: var(--store-ink);
}

.public-storefront .app-header {
  background: rgba(255, 253, 247, .96);
  border-bottom: 1px solid #ecdab5;
  box-shadow: 0 8px 24px rgba(33, 46, 32, .08);
  gap: clamp(16px, 2.8vw, 42px);
  height: 84px;
  padding: 0 clamp(18px, 4vw, 64px);
}

.public-storefront .app-header::after {
  background: linear-gradient(90deg, var(--store-green) 0 33.33%, var(--store-gold) 33.33% 66.66%, var(--store-red) 66.66%);
  bottom: -1px;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
}

.public-storefront .brand-seal { min-width: 214px; }
.public-storefront .brand-seal img {
  background: #fff;
  border: 2px solid var(--store-gold);
  border-radius: 50%;
  box-shadow: 0 5px 15px rgba(57, 40, 8, .17);
  height: 50px;
  object-fit: cover;
  width: 50px;
}
.public-storefront .web-wordmark small { color: var(--store-red); }
.public-storefront .web-wordmark b { color: var(--store-green-deep); font-size: 18px; }
.public-storefront .web-wordmark em { color: var(--store-ink); }

.public-storefront .top-search {
  background: #fffdf8;
  border: 1px solid var(--store-line);
  box-shadow: inset 0 1px 0 #fff, 0 3px 10px rgba(72, 48, 7, .035);
  height: 48px;
  max-width: 580px;
}
.public-storefront .top-search span { color: var(--store-red); }
.public-storefront .app-header nav { gap: 12px; }
.public-storefront .app-header nav > a {
  border-radius: 999px;
  padding: 11px 13px;
}
.public-storefront .app-header nav > a:hover { background: #fff0d5; color: var(--store-red); }
.public-storefront .tracking-access {
  background: #eff8f0;
  border: 1px solid #9ed2ae;
  border-radius: 14px;
  color: var(--store-green-deep);
  padding: 11px 15px;
}
.public-storefront .header-cart {
  background: linear-gradient(135deg, #ee3945, #d8142b);
  border-radius: 15px;
  box-shadow: 0 8px 16px rgba(214, 30, 45, .2);
  min-height: 46px;
  padding: 10px 15px;
}

.public-storefront .ordering {
  gap: clamp(26px, 3vw, 48px);
  max-width: 1540px;
  padding: clamp(24px, 3vw, 48px) clamp(18px, 4vw, 64px) 66px;
}

.public-storefront .mercado-intro {
  background: linear-gradient(112deg, #fffaf1 0 50%, #fff0d8 100%);
  border: 1px solid #e9cc91;
  border-radius: 30px;
  box-shadow: var(--store-shadow);
  display: grid;
  gap: clamp(20px, 3vw, 48px);
  grid-template-columns: minmax(0, 1.05fr) minmax(285px, .72fr);
  margin: 0 0 25px;
  min-height: 350px;
  overflow: hidden;
  padding: clamp(30px, 4.3vw, 58px);
  position: relative;
}
.public-storefront .mercado-intro::before {
  background: linear-gradient(90deg, var(--store-red) 0 33.33%, var(--store-gold) 33.33% 66.66%, var(--store-green) 66.66%);
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.public-storefront .mercado-intro::after {
  border: 34px solid rgba(247, 186, 37, .25);
  border-radius: 50%;
  content: "";
  height: 220px;
  position: absolute;
  right: -110px;
  top: -125px;
  width: 220px;
}
.public-storefront .mercado-copy { align-self: center; position: relative; z-index: 1; }
.public-storefront .mercado-copy > span {
  color: var(--store-red);
  font-family: Poppins, Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.public-storefront .mercado-copy > small {
  color: #7b6850;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  margin-left: 10px;
}
.public-storefront .mercado-copy h1 {
  color: var(--store-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 700;
  letter-spacing: -.07em;
  line-height: .88;
  margin: 12px 0 18px;
}
.public-storefront .mercado-copy h1 span,
.public-storefront .mercado-copy h1 em { display: block; }
.public-storefront .mercado-copy h1 em { color: var(--store-red); font-style: normal; }
.public-storefront .menu-slogan {
  color: #526257;
  display: block;
  font-size: clamp(14px, 1.35vw, 17px);
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
  white-space: normal;
}
.public-storefront .menu-slogan::before { display: none; }
.public-storefront .mercado-highlights { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.public-storefront .mercado-highlights span {
  background: #fffdf8;
  border: 1px solid #e9cf98;
  border-radius: 999px;
  color: var(--store-green-deep);
  font-size: 10px;
  font-weight: 900;
  padding: 8px 11px;
}
.public-storefront .mercado-visual {
  background: linear-gradient(135deg, rgba(8, 123, 75, .02), rgba(227, 35, 54, .1)), url("/marca/fruta-enchilada-real.jpg") center / cover;
  border: 5px solid #fffdf8;
  border-radius: 30px 30px 82px 30px;
  box-shadow: 18px 19px 0 var(--store-gold), 0 18px 32px rgba(81, 48, 5, .18);
  min-height: 255px;
  overflow: hidden;
  position: relative;
  transform: rotate(1.4deg);
  z-index: 1;
}
.public-storefront .mercado-visual::after {
  background: linear-gradient(180deg, transparent 48%, rgba(11, 42, 29, .78));
  bottom: 0;
  content: "";
  inset: 0;
  position: absolute;
}
.public-storefront .mercado-visual span {
  align-items: center;
  background: #fffdf8;
  border: 3px solid var(--store-gold);
  border-radius: 50%;
  bottom: 18px;
  color: var(--store-green-deep);
  display: flex;
  flex-direction: column;
  font: 900 20px/1 Poppins, Arial, sans-serif;
  height: 86px;
  justify-content: center;
  left: 18px;
  position: absolute;
  transform: rotate(-8deg);
  width: 86px;
  z-index: 1;
}
.public-storefront .mercado-visual span b { font-size: 8px; letter-spacing: .08em; margin-top: 4px; }

.public-storefront .category-tabs {
  gap: 12px;
  margin: 0 0 30px;
  padding: 0;
}
.public-storefront .category-tabs button {
  background: #fffdf8;
  border: 1px solid var(--store-line);
  border-radius: 19px;
  box-shadow: 0 7px 16px rgba(83, 57, 15, .06);
  color: var(--store-ink);
  min-height: 91px;
  min-width: 112px;
  padding: 11px 13px;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.public-storefront .category-tabs button:hover { border-color: #dfad3a; box-shadow: 0 12px 20px rgba(83, 57, 15, .12); transform: translateY(-3px); }
.public-storefront .category-tabs button span { color: var(--store-ink); font-size: 10px; font-weight: 900; }
.public-storefront .category-tabs button .category-icon {
  align-items: center;
  background: #fff0d7;
  border: 1px solid #fff;
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(75, 43, 8, .12);
  display: flex;
  height: 35px;
  justify-content: center;
  width: 35px;
}
.public-storefront .category-tabs button:nth-child(2) .category-icon { background: #ffead0; }
.public-storefront .category-tabs button:nth-child(3) .category-icon { background: #e1f2e5; }
.public-storefront .category-tabs button:nth-child(4) .category-icon { background: #f7e7e9; }
.public-storefront .category-tabs button:nth-child(5) .category-icon { background: #f8e7fa; }
.public-storefront .category-tabs button:nth-child(6) .category-icon { background: #e5effe; }
.public-storefront .category-tabs button.active {
  background: linear-gradient(135deg, var(--store-green), #0b9658);
  border-color: var(--store-green);
  box-shadow: 0 11px 22px rgba(8, 123, 75, .26);
  color: #fff;
}
.public-storefront .category-tabs button.active span { color: #fff; }
.public-storefront .category-tabs button.active .category-icon { background: #fffdf8; }

.public-storefront .product-group { margin-bottom: 42px; }
.public-storefront .product-group > header {
  background: linear-gradient(90deg, #fff2d7, #fffdf8);
  border: 1px solid var(--store-line);
  border-left: 6px solid var(--store-red);
  border-radius: 16px;
  box-shadow: 0 7px 18px rgba(80, 51, 10, .055);
  margin-bottom: 17px;
  padding: 14px 16px;
}
.public-storefront .product-group > header h3 { color: var(--store-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2.2vw, 31px); }
.public-storefront .product-group > header p { color: #6b7065; font-size: 11px; }
.public-storefront .product-group > header > span { background: #fffdf8; border: 1px solid var(--store-line); color: var(--store-red); }
.public-storefront .group-icon.custom { background: #ffe2df; color: var(--store-red); }
.public-storefront .group-icon.ready { background: #dff1e4; color: var(--store-green); }

.public-storefront .product-list { gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-storefront .order-card {
  background: #fffdf9;
  border: 1px solid var(--store-line);
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(75, 46, 8, .08);
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  position: relative;
}
.public-storefront .order-card::before { background: linear-gradient(90deg, var(--store-red) 0 33.33%, var(--store-gold) 33.33% 66.66%, var(--store-green) 66.66%); height: 5px; }
.public-storefront .order-card:hover { box-shadow: 0 16px 26px rgba(70, 40, 5, .15); transform: translateY(-5px); }
.public-storefront .real-photo { aspect-ratio: 1.22 / .85; min-height: 0; }
.public-storefront .real-photo img { object-fit: cover; transition: transform .32s ease; }
.public-storefront .order-card:hover .real-photo img { transform: scale(1.045); }
.public-storefront .real-photo::after { background: linear-gradient(180deg, transparent 58%, rgba(16, 45, 37, .56)); }
.public-storefront .real-photo .action-badge { background: rgba(255, 253, 248, .94); border: 1px solid #fff; border-radius: 999px; bottom: 10px; color: var(--store-green-deep); font-size: 9px; left: 10px; padding: 7px 9px; position: absolute; z-index: 3; }
.public-storefront .card-info { flex: 1; padding: 16px; }
.public-storefront .card-info > small { color: var(--store-red); font-size: 9px; }
.public-storefront .card-info h3 { color: var(--store-ink); font-family: Poppins, Arial, sans-serif; font-size: 17px; letter-spacing: -.045em; line-height: 1.15; margin: 6px 0; min-height: auto; }
.public-storefront .card-info p { color: #677067; font-size: 11px; line-height: 1.42; }
.public-storefront .card-info > div { margin-top: auto; }
.public-storefront .card-info strong { color: var(--store-green-deep); font-size: 16px; }
.public-storefront .card-info .card-action {
  background: linear-gradient(135deg, var(--store-red), #cb142a);
  border: 1px solid var(--store-red);
  border-radius: 11px;
  box-shadow: 0 7px 12px rgba(227, 35, 54, .18);
  color: #fff;
  font-size: 9px;
  padding: 10px 11px;
}
.public-storefront .order-card.card-opens-picker:hover .card-info .card-action { background: linear-gradient(135deg, var(--store-green), #0a9659); border-color: var(--store-green); }

.public-storefront .desktop-cart {
  background: #fffdf8;
  border: 1px solid #e5c882;
  border-radius: 22px;
  box-shadow: var(--store-shadow);
  top: 106px;
}
.public-storefront .cart-content header { background: var(--store-ink); border-bottom: 5px solid var(--store-gold); padding: 22px; }
.public-storefront .cart-content header span { color: var(--store-gold); }
.public-storefront .cart-content h2 { color: #fffdf8; font-family: Georgia, "Times New Roman", serif; }
.public-storefront .empty-cart { padding: 56px 30px 66px; }
.public-storefront .empty-cart h3 { color: var(--store-ink); }
.public-storefront .cart-total { background: linear-gradient(145deg, #fff0d8, #fffdf8); border-top-color: #e8cd96; }
.public-storefront .cart-total > div b { color: var(--store-green-deep); }
.public-storefront .cart-total > button,
.public-storefront .mobile-cart-bar { background: linear-gradient(135deg, var(--store-red), #ce1529); border-radius: 14px; box-shadow: 0 9px 18px rgba(227, 35, 54, .22); }

.public-storefront .wholesale {
  background: linear-gradient(128deg, #073b2a, #086541 52%, #0c4735);
  border: 1px solid rgba(247, 186, 37, .5);
  box-shadow: var(--store-shadow);
  margin-top: 0;
}
.public-storefront .wholesale::before { opacity: .12; }
.public-storefront .wholesale-label { background: var(--store-gold); color: var(--store-ink); }
.public-storefront .wholesale h2 { font-family: Georgia, "Times New Roman", serif; }
.public-storefront .whatsapp-cta { background: #fffdf8; border-radius: 14px; color: var(--store-green-deep); }
.public-storefront .business-info { background: #092e26; border-top: 5px solid var(--store-gold); }
.public-storefront .mexican-footer { background: #061e18; }

.public-storefront .modal-backdrop { background: rgba(6, 30, 24, .72); backdrop-filter: blur(8px); }
.public-storefront .custom-modal,
.public-storefront .checkout-modal {
  background: #fffdf8;
  border: 1px solid #e6c987;
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(1, 29, 21, .44);
}
.public-storefront .close { background: #fff2dc; color: var(--store-ink); }
.public-storefront .confirm-order,
.public-storefront .add-final { background: linear-gradient(135deg, var(--store-red), #cf142a); border-radius: 14px; box-shadow: 0 10px 20px rgba(227, 35, 54, .2); }
.public-storefront .confirm-order:hover,
.public-storefront .add-final:hover { background: linear-gradient(135deg, var(--store-green), #087c4b); }
.public-storefront .custom-heading { border-bottom-color: #ead8b0; }
.public-storefront .step-label,
.public-storefront .custom-heading span { color: var(--store-red); }

.public-storefront [class*="hero" i] h2,
.public-storefront [class*="sectionTitle" i] b,
.public-storefront [class*="paymentSummary" i] strong { color: var(--store-ink); }
.public-storefront [class*="gpsButton" i],
.public-storefront [class*="choice" i] { border-color: #e8d2a2; border-radius: 15px; }
.public-storefront [class*="gpsButton" i] { background: #fff8e8; }
.public-storefront [class*="choiceActive" i] { background: #ecf8ee; border-color: var(--store-green); box-shadow: 0 0 0 2px rgba(8, 123, 75, .1); }
.public-storefront [class*="routeQuote" i],
.public-storefront [class*="cashNotice" i],
.public-storefront [class*="paymentSummary" i] { border-color: #e8d2a2; border-radius: 16px; }

@media (max-width: 1220px) {
  .public-storefront .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-storefront .mercado-intro { grid-template-columns: minmax(0, 1fr) minmax(250px, .68fr); }
}

@media (max-width: 960px) {
  .public-storefront .app-header { gap: 13px; }
  .public-storefront .brand-seal { min-width: 0; }
  .public-storefront .mercado-intro { grid-template-columns: 1fr; }
  .public-storefront .mercado-visual { min-height: 220px; max-width: 520px; width: calc(100% - 22px); }
}

@media (max-width: 780px) {
  .public-storefront .app-header {
    align-items: center;
    display: flex !important;
    flex-flow: row nowrap;
    gap: 8px;
    height: 70px;
    padding: 0 15px;
  }
  .public-storefront .app-header .brand-seal { flex: 0 1 auto; min-width: 0 !important; }
  .public-storefront .app-header nav { display: none !important; }
  .public-storefront .top-search { display: none; }
  .public-storefront .top-search.mobile-search-open {
    display: flex !important;
    left: 15px;
    max-width: none;
    position: absolute;
    right: 15px;
    top: 77px;
    z-index: 60;
  }
  .public-storefront .mobile-search-toggle {
    flex: 0 0 42px;
    margin: 0;
    position: absolute !important;
    right: 72px;
    top: 14px;
  }
  .public-storefront .header-cart {
    display: flex !important;
    flex: 0 0 49px;
    margin: 0;
    min-width: 49px;
    position: absolute !important;
    right: 15px;
    top: 12px;
  }
  .public-storefront .brand-seal img { height: 42px; width: 42px; }
  .public-storefront .web-wordmark b { font-size: 14px; }
  .public-storefront .web-wordmark em { font-size: 7px; }
  .public-storefront .top-search { border-radius: 15px; height: 45px; top: 76px; }
  .public-storefront .ordering { padding: 22px 15px 108px; }
  .public-storefront .mercado-intro { border-radius: 22px; min-height: 0; padding: 30px 22px 32px; }
  .public-storefront .mercado-copy h1 { font-size: clamp(42px, 13vw, 64px); }
  .public-storefront .mercado-visual { border-radius: 22px 22px 58px 22px; box-shadow: 11px 12px 0 var(--store-gold), 0 15px 28px rgba(81, 48, 5, .16); min-height: 208px; }
  .public-storefront .category-tabs { margin-bottom: 24px; }
  .public-storefront .category-tabs button { border-radius: 15px; min-height: 79px; min-width: 99px; }
  .public-storefront .product-list { gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-storefront .order-card { border-radius: 16px; }
  .public-storefront .real-photo { aspect-ratio: 1 / .82; }
  .public-storefront .card-info { padding: 12px; }
  .public-storefront .card-info h3 { font-size: 14px; }
  .public-storefront .card-info p { display: none; }
  .public-storefront .card-info strong { font-size: 13px; }
  .public-storefront .card-info .card-action { font-size: 8px; padding: 8px; }
  .public-storefront .mobile-cart-bar { bottom: 14px; left: 12px; right: 12px; }
  .public-storefront .custom-modal,
  .public-storefront .checkout-modal { border-radius: 22px 22px 0 0; }
}

@media (max-width: 430px) {
  .public-storefront .mercado-highlights span:last-child { display: none; }
  .public-storefront .product-list { gap: 10px; }
  .public-storefront .card-info .card-action { border-radius: 9px; max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .public-storefront .category-tabs button { min-width: 91px; }
}

@media (prefers-reduced-motion: reduce) {
  .public-storefront *, .public-storefront *::before, .public-storefront *::after { scroll-behavior: auto; transition: none !important; }
}

/* Ajuste de densidad: la portada se mantiene protagonista, pero el menú llega
   antes; las tarjetas no reservan espacio cuando un producto tiene poco texto. */
.public-storefront .mercado-intro {
  gap: clamp(18px, 2.8vw, 38px);
  min-height: 310px;
  padding: clamp(28px, 3.5vw, 44px);
}
.public-storefront .mercado-copy h1 { font-size: clamp(40px, 4.45vw, 66px); margin: 9px 0 13px; }
.public-storefront .mercado-highlights { margin-top: 16px; }
.public-storefront .mercado-highlights span { padding: 7px 10px; }
.public-storefront .mercado-visual { min-height: 228px; }
.public-storefront .category-tabs { margin-bottom: 23px; }
.public-storefront .category-tabs button { min-height: 76px; min-width: 100px; padding: 9px 11px; }
.public-storefront .product-group { margin-bottom: 31px; }
.public-storefront .product-group > header { margin-bottom: 13px; padding: 11px 13px; }
.public-storefront .product-list { align-items: start; gap: 15px; }
.public-storefront .card-info { padding: 13px 14px 14px; }
.public-storefront .card-info h3 { font-size: 16px; margin: 5px 0; }
.public-storefront .card-info p { font-size: 10px; line-height: 1.35; margin: 0 0 9px; }
.public-storefront .card-info .card-action { min-height: 35px; padding: 8px 10px; }

/* Mayoristas pasa a ser una invitación clara y breve, no un bloque pesado. */
.public-storefront .wholesale {
  align-items: center;
  background: linear-gradient(112deg, #fff8e9 0%, #fffdf8 57%, #edf8ef 100%);
  border: 1px solid #e7d19c;
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(76, 48, 7, .1);
  gap: clamp(22px, 4vw, 48px);
  grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
  margin: 20px auto 0;
  max-width: 1280px;
  overflow: hidden;
  padding: clamp(24px, 3.3vw, 40px);
  position: relative;
}
.public-storefront .wholesale::before { display: none; }
.public-storefront .wholesale::after {
  background: linear-gradient(90deg, var(--store-red) 0 33.33%, var(--store-gold) 33.33% 66.66%, var(--store-green) 66.66%);
  content: "";
  height: 4px;
  inset: auto 0 0;
  opacity: 1;
  position: absolute;
}
.public-storefront .wholesale-copy,
.public-storefront .wholesale-visual { position: relative; z-index: 1; }
.public-storefront .wholesale-label { background: #fff0c7; border: 1px solid #edca75; color: #87371f; }
.public-storefront .wholesale h2 { color: var(--store-ink); font-family: Poppins, Arial, sans-serif; font-size: clamp(27px, 3.4vw, 43px); letter-spacing: -.055em; line-height: 1.04; margin: 12px 0 9px; }
.public-storefront .wholesale-copy p { color: #645f55; font-size: 12px; line-height: 1.5; }
.public-storefront .wholesale-perks span { background: #fffdf8; color: var(--store-green-deep); }
.public-storefront .whatsapp-cta { background: var(--store-red); border: 1px solid var(--store-red); box-shadow: 0 8px 15px rgba(227, 35, 54, .18); color: #fff; }
.public-storefront .whatsapp-cta:hover { background: var(--store-green); border-color: var(--store-green); color: #fff; }
.public-storefront .wholesale-visual.wholesale-shipping {
  background: rgba(255, 253, 248, .82);
  border: 1px solid #e7d3a1;
  border-radius: 17px;
  min-height: 214px;
  padding: 17px 18px;
}
.public-storefront .shipping-map { height: 128px; }
.public-storefront .shipping-line { top: 64px; }
.public-storefront .shipping-origin,
.public-storefront .shipping-destination { top: 57px; }
.public-storefront .shipping-truck-art { top: 7px; width: 155px; left: calc(50% - 77.5px); }
.public-storefront .wholesale-shipping .wholesale-sticker { font-size: 7px; left: 12px; padding: 6px 8px; top: 10px; }

/* El cierre conserva la identidad, con contraste apto para leer y para móvil. */
.public-storefront .business-info {
  background: #fff8e9;
  border-bottom: 1px solid #e8d5aa;
  border-top: 4px solid var(--store-gold);
  color: var(--store-ink);
  margin-top: 25px;
  padding: 24px max(5vw, 24px);
}
.public-storefront .business-info h3,
.public-storefront .business-info .branch-locations a { color: var(--store-ink); }
.public-storefront .business-info p,
.public-storefront .business-info .branch-locations small { color: #696458; }
.public-storefront .business-info a { color: var(--store-red); }
.public-storefront .mexican-footer {
  background: #fffdf8;
  border-top: 0;
  color: var(--store-ink);
  padding: 21px max(5vw, 24px);
}
.public-storefront .mexican-footer > p { color: #696458; }
.public-storefront .footer-meta { color: var(--store-ink); }
.public-storefront .footer-meta small { color: #776e61; }

@media (min-width: 781px) {
  .public-storefront .product-list { align-items: start; }
  .public-storefront .product-list .order-card { align-self: start; display: block; height: auto; }
  .public-storefront .product-list .real-photo { aspect-ratio: 1.6 / .82; }
  .public-storefront .product-list .card-info { display: block; flex: initial; height: auto !important; min-height: 0 !important; padding: 12px 14px 13px; }
  .public-storefront .product-list .card-info p { display: none; }
  .public-storefront .product-list .card-info > div { align-items: center; display: flex; margin-top: 9px; min-height: 0; }
}

@media (max-width: 780px) {
  .public-storefront .ordering { padding: 14px 12px 88px; }
  .public-storefront .mercado-intro {
    gap: 13px;
    margin: 0 0 13px;
    min-height: 0;
    padding: 21px 17px 22px;
  }
  .public-storefront .mercado-copy > span { font-size: 8px; }
  .public-storefront .mercado-copy > small { font-size: 7px; margin-left: 6px; }
  .public-storefront .mercado-copy h1 { font-size: clamp(36px, 10.8vw, 48px); line-height: .9; margin: 7px 0 10px; }
  .public-storefront .menu-slogan { font-size: 12px; line-height: 1.3; }
  .public-storefront .mercado-highlights { gap: 6px; margin-top: 12px; }
  .public-storefront .mercado-highlights span { font-size: 9px; padding: 6px 8px; }
  .public-storefront .mercado-visual { border-width: 4px; border-radius: 18px 18px 48px 18px; box-shadow: 8px 9px 0 var(--store-gold), 0 11px 21px rgba(81, 48, 5, .14); min-height: 184px; width: calc(100% - 10px); }
  .public-storefront .mercado-visual span { bottom: 11px; font-size: 16px; height: 66px; left: 11px; width: 66px; }
  .public-storefront .mercado-visual span b { font-size: 6px; }

  .public-storefront .category-tabs {
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    margin: 0 -1px 18px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 1px 1px 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .public-storefront .category-tabs::-webkit-scrollbar { display: none; }
  .public-storefront .category-tabs button { flex: 0 0 82px; min-height: 67px; min-width: 82px; padding: 7px 5px; scroll-snap-align: start; }
  .public-storefront .category-tabs button .category-icon { height: 28px; width: 28px; }
  .public-storefront .category-tabs button span { font-size: 8px; line-height: 1.04; }
  .public-storefront .category-tabs button.active { box-shadow: 0 6px 13px rgba(8, 123, 75, .18); }

  .public-storefront .product-group { margin-bottom: 24px; }
  .public-storefront .product-group > header { align-items: center; gap: 9px; margin-bottom: 10px; padding: 7px 0 8px 9px; }
  .public-storefront .product-group > header h3 { font-size: 16px; line-height: 1.04; }
  .public-storefront .product-group > header p { font-size: 9px; line-height: 1.25; margin-top: 2px; }
  .public-storefront .product-group > header > span { display: none; }
  .public-storefront .group-icon { flex: 0 0 31px; height: 31px; width: 31px; }
  .public-storefront .product-list {
    align-items: start !important;
    gap: 10px;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .public-storefront .product-list .order-card {
    align-self: start !important;
    display: block;
    height: auto !important;
    min-height: 0 !important;
  }
  .public-storefront .product-list .order-card .card-info { display: block; padding: 10px 10px 11px; }
  .public-storefront .real-photo { aspect-ratio: 1 / .76; }
  .public-storefront .real-photo .action-badge { bottom: 7px; font-size: 7px; left: 7px; max-width: calc(100% - 14px); overflow: hidden; padding: 5px 6px; text-overflow: ellipsis; white-space: nowrap; }
  .public-storefront .card-info > small { font-size: 7px; }
  .public-storefront .product-list .card-info h3 { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-size: 13px; line-height: 1.13; margin: 4px 0 7px; min-height: 0 !important; overflow: hidden; }
  .public-storefront .card-info p { display: none; }
  .public-storefront .product-list .card-info > div { align-items: stretch; display: flex; flex-direction: column; gap: 7px; margin-top: 0 !important; min-height: 0 !important; }
  .public-storefront .card-info strong { font-size: 13px; line-height: 1.1; }
  .public-storefront .card-info .card-action { align-items: center; border-radius: 9px; display: flex; font-size: 8px; justify-content: center; max-width: none !important; min-height: 32px !important; overflow: hidden; padding: 7px 6px; text-align: center; white-space: normal; width: 100%; }
  .public-storefront .order-card.has-presentations .card-info > div { gap: 7px; }
  .public-storefront .order-card.has-presentations .presentation-summary { font-size: 10px; }
  .public-storefront .order-card.has-presentations .presentation-summary small { display: none; }

  .public-storefront .wholesale { display: grid; gap: 17px; grid-template-columns: 1fr; margin: 13px 12px 0; padding: 21px 18px 23px; }
  .public-storefront .wholesale h2 { font-size: 28px; max-width: none; }
  .public-storefront .wholesale-copy p { font-size: 11px; }
  .public-storefront .wholesale-perks { gap: 6px; margin: 12px 0 14px; }
  .public-storefront .wholesale-perks span { font-size: 9px; padding: 6px 8px; }
  .public-storefront .whatsapp-cta { justify-content: center; min-height: 42px; width: 100%; }
  .public-storefront .wholesale-visual.wholesale-shipping { box-sizing: border-box; height: 178px; min-height: 178px; order: 0; padding: 13px 12px; }
  .public-storefront .shipping-map { height: 96px; }
  .public-storefront .shipping-line { top: 48px; }
  .public-storefront .shipping-origin,
  .public-storefront .shipping-destination { top: 41px; }
  .public-storefront .shipping-truck-art { top: 3px; width: 116px; left: calc(50% - 58px); }
  .public-storefront .wholesale-shipping .wholesale-sticker { font-size: 6px; left: 8px; padding: 4px 6px; top: 6px; }
  .public-storefront .shipping-route { font-size: 10px; gap: 6px; }
  .public-storefront .shipping-route span { font-size: 15px; }
  .public-storefront .wholesale-shipping > p { font-size: 8px; }

  .public-storefront .business-info { margin-top: 17px; padding: 18px 22px; }
  .public-storefront .business-info > div { padding: 9px 0; }
  .public-storefront .business-info h3 { font-size: 13px; }
  .public-storefront .business-info p { font-size: 10px; }
  .public-storefront .mexican-footer { gap: 13px; padding: 18px 22px 24px; }
  .public-storefront .mexican-footer > p { font-size: 10px; }
}

@media (max-width: 380px) {
  .public-storefront .mercado-copy h1 { font-size: 35px; }
  .public-storefront .mercado-visual { min-height: 169px; }
  .public-storefront .category-tabs button { flex-basis: 78px; min-width: 78px; }
  .public-storefront .product-list { gap: 8px; }
  .public-storefront .card-info .card-action { font-size: 7px; }
}

/* Portada editorial compacta: en la primera vista ya se alcanzan a ver productos. */
.public-storefront .ordering {
  gap: 22px;
  padding-top: clamp(16px, 2vw, 24px);
}
.public-storefront .mercado-intro {
  background:
    radial-gradient(circle at 94% 8%, rgba(247, 186, 37, .18) 0 8%, transparent 8.2%),
    linear-gradient(112deg, #fffaf1 0 55%, #fff3dc 100%);
  display: block;
  margin-bottom: 10px;
  min-height: 158px;
  padding: 12px clamp(20px, 2.6vw, 30px);
}
.public-storefront .mercado-intro::after { display: none; }
.public-storefront .mercado-copy { max-width: min(52%, 410px); }
.public-storefront .mercado-copy > span { font-size: 7px; }
.public-storefront .mercado-copy > small { font-size: 7px; }
.public-storefront .mercado-copy h1 { font-size: clamp(30px, 3vw, 42px); margin: 3px 0 5px; }
.public-storefront .menu-slogan { font-size: clamp(10px, .88vw, 12px); line-height: 1.2; max-width: 355px; }
.public-storefront .mercado-highlights { margin-top: 6px; }
.public-storefront .mercado-highlights span { font-size: 7px; padding: 4px 7px; }
.public-storefront .mercado-visual {
  background: url("/marca/hero-fruta-enchilada-panorama-v1.png") 80% 62% / cover no-repeat;
  border: 0;
  bottom: 0;
  box-shadow: none;
  display: block;
  height: 100%;
  mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%);
  min-height: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transform: none;
  width: 55%;
  z-index: 0;
}
.public-storefront .mercado-visual::after,
.public-storefront .mercado-visual span { display: none; }
.public-storefront .category-tabs { gap: 8px; margin-bottom: 10px; }
.public-storefront .category-tabs button { border-radius: 14px; min-height: 52px; min-width: 82px; padding: 4px 8px; }
.public-storefront .category-tabs button .category-icon { height: 23px; width: 23px; }
.public-storefront .category-tabs button span { font-size: 7px; line-height: 1.02; }

/* Carrito compacto: la ayuda mayorista vive debajo, sin interrumpir el pedido. */
.public-storefront .desktop-cart {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 12px;
  overflow: visible;
}
.public-storefront .desktop-cart > .cart-content {
  background: #fffdf8;
  border: 1px solid #e5c882;
  border-radius: 20px;
  box-shadow: 0 12px 26px rgba(54, 37, 8, .1);
  overflow: hidden;
}
.public-storefront .cart-content header {
  background: linear-gradient(135deg, #fffdf8, #fff3dc);
  border-bottom: 1px solid #ead7a9;
  padding: 15px 18px 14px;
}
.public-storefront .cart-content header span { color: var(--store-red); font-size: 8px; }
.public-storefront .cart-content h2 { color: var(--store-green-deep); font-family: Poppins, Arial, sans-serif; font-size: 23px; line-height: 1; margin-top: 4px; }
.public-storefront .empty-cart { min-height: 0; padding: 27px 24px 29px; }
.public-storefront .empty-cart > div { filter: none; font-size: 33px; opacity: 1; }
.public-storefront .empty-cart h3 { font-family: Poppins, Arial, sans-serif; font-size: 17px; margin: 7px 0 4px; }
.public-storefront .empty-cart p { font-size: 10px; line-height: 1.35; margin: 0 auto; max-width: 29ch; }
.public-storefront .cart-order-label { color: var(--store-red); display: block; font-size: 8px; font-weight: 900; letter-spacing: .12em; margin-top: 4px; }
.public-storefront .cart-order-saved button {
  background: var(--store-green);
  border: 0;
  border-radius: 9px;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  margin-top: 12px;
  padding: 9px 11px;
}
@media (min-width: 781px) {
  .public-storefront .desktop-cart { height: auto; }
  .public-storefront .desktop-cart::before,
  .public-storefront .desktop-cart::after { display: none; }
  .public-storefront .desktop-cart .cart-content { display: block; height: auto; }
  .public-storefront .desktop-cart .cart-products { max-height: 282px; }
}

@media (max-width: 780px) {
  .public-storefront .ordering { padding-top: 10px; }
  .public-storefront .mercado-intro {
    background:
      radial-gradient(circle at 94% 8%, rgba(247, 186, 37, .16) 0 10%, transparent 10.5%),
      linear-gradient(112deg, #fffaf1 0 55%, #fff3dc 100%);
    margin-bottom: 8px;
    min-height: 170px;
    padding: 11px 12px 10px;
  }
  .public-storefront .mercado-copy { max-width: 64%; }
  .public-storefront .mercado-copy > span { font-size: 6px; }
  .public-storefront .mercado-copy > small { font-size: 6px; margin-left: 4px; }
  .public-storefront .mercado-copy h1 { font-size: clamp(27px, 8.2vw, 34px); line-height: .86; margin: 3px 0 4px; }
  .public-storefront .menu-slogan { font-size: 9px; line-height: 1.16; max-width: 28ch; }
  .public-storefront .mercado-highlights { margin-top: 5px; }
  .public-storefront .mercado-highlights span { font-size: 6px; padding: 3px 6px; }
  .public-storefront .mercado-highlights span:last-child { display: none; }
  .public-storefront .mercado-visual {
    background-position: 81% 64%;
    height: 88%;
    mask-image: linear-gradient(90deg, transparent 0%, #000 33%, #000 100%);
    right: -9px;
    top: auto;
    width: 72%;
  }
  .public-storefront .category-tabs { gap: 6px; margin-bottom: 9px; }
  .public-storefront .category-tabs button { flex-basis: 69px; min-height: 50px; min-width: 69px; padding: 4px 3px; }
  .public-storefront .category-tabs button .category-icon { height: 22px; width: 22px; }
  .public-storefront .category-tabs button span { font-size: 6px; }
}

/* Mayoristas y cierre: una invitación breve, comercial y fácil de recorrer. */
.public-storefront .wholesale {
  align-items: stretch;
  background: #075235;
  border: 0;
  border-radius: 17px;
  box-shadow: 0 14px 28px rgba(11, 62, 37, .16);
  gap: 18px;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, .96fr);
  margin: 26px auto 0;
  max-width: 1280px;
  min-height: 0;
  padding: 14px 20px;
}
.public-storefront .wholesale::after { display: none; }
.public-storefront .wholesale-copy { align-self: center; }
.public-storefront .wholesale-label {
  background: #f6c843;
  border: 0;
  border-radius: 999px;
  color: #073b2a;
  display: inline-flex;
  font-size: 8px;
  letter-spacing: .12em;
  padding: 6px 9px;
}
.public-storefront .wholesale h2 {
  color: #fffdf8;
  font-family: Poppins, Arial, sans-serif;
  font-size: clamp(21px, 2.25vw, 29px);
  letter-spacing: -.045em;
  line-height: 1.02;
  margin: 9px 0 4px;
}
.public-storefront .wholesale-copy p { color: #d8ebdf; font-size: 10px; line-height: 1.22; margin: 0; max-width: 47ch; }
.public-storefront .wholesale-perks { gap: 7px; margin: 8px 0 9px; }
.public-storefront .wholesale-perks span { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); color: #fffdf8; font-size: 8px; padding: 5px 7px; }
.public-storefront .whatsapp-cta {
  align-items: center;
  background: #f6c843;
  border: 0;
  border-radius: 9px;
  box-shadow: none;
  color: #073b2a;
  display: inline-flex;
  font-size: 9px;
  gap: 7px;
  min-height: 34px;
  padding: 8px 11px;
  width: auto;
}
.public-storefront .whatsapp-cta b { font-size: 15px; line-height: 1; }
.public-storefront .whatsapp-cta:hover { background: #fffdf8; border: 0; color: #075235; }
.public-storefront .wholesale-visual.wholesale-candy-banner {
  background: linear-gradient(90deg, #075235 0%, transparent 40%), url("/marca/mayoristas-dulces-panorama-v1.png") 77% center / cover no-repeat;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  height: 128px !important;
  min-height: 128px !important;
  padding: 0 !important;
}

.public-storefront .business-info {
  background: #fffaf0;
  border-bottom: 1px solid #ead8b1;
  border-top: 4px solid #f6c843;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.55fr) minmax(180px, .72fr) minmax(180px, .72fr);
  margin: 24px auto 0;
  max-width: 1280px;
  padding: 15px;
}
.public-storefront .business-info > div {
  background: #fffdf8;
  border: 1px solid #eedfbd;
  border-radius: 13px;
  display: block;
  min-width: 0;
  padding: 14px;
}
.public-storefront .business-info > div > span { float: left; font-size: 19px; margin: 0 7px 5px 0; }
.public-storefront .business-info h3 { color: var(--store-ink); font-family: Poppins, Arial, sans-serif; font-size: 13px; margin: 1px 0 3px; }
.public-storefront .business-info p { color: #696458; font-size: 9px; line-height: 1.35; margin: 0; }
.public-storefront .business-info p b { color: var(--store-green-deep); }
.public-storefront .business-info .business-invite { min-height: 26px; }
.public-storefront .branch-locations { clear: both; display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
.public-storefront .business-info .branch-locations a { background: #f4fbf5; border: 1px solid #d3e9d8; border-radius: 9px; color: var(--store-green-deep); min-width: 0; padding: 8px 9px; }
.public-storefront .business-info .branch-locations b { font-size: 10px; }
.public-storefront .business-info .branch-locations small { color: #597060; font-size: 8px; line-height: 1.25; margin-top: 3px; }
.public-storefront .business-info > div:nth-child(3) > a { color: var(--store-red); display: inline-block; font-size: 8px; font-weight: 900; margin-top: 8px; }
.public-storefront .mexican-footer {
  background: #fffdf8;
  border-top: 0;
  color: var(--store-ink);
  display: grid;
  gap: 18px;
  grid-template-columns: .8fr 1.4fr .9fr;
  margin: 0 auto;
  max-width: 1280px;
  padding: 19px 22px 22px;
  position: relative;
}
.public-storefront .mexican-footer::before { background: linear-gradient(90deg, var(--store-red) 0 33%, var(--store-gold) 33% 66%, var(--store-green) 66%); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
.public-storefront .mexican-footer .footer-brand.footer-wordmark { line-height: .96; }
.public-storefront .mexican-footer .footer-brand.footer-wordmark > span { color: var(--store-red); font-size: 7px; }
.public-storefront .mexican-footer .footer-brand.footer-wordmark > b { -webkit-text-stroke: 0; background: none; color: var(--store-green-deep); font-family: Poppins, Arial, sans-serif; font-size: 15px; font-weight: 900; letter-spacing: .03em; }
.public-storefront .mexican-footer .footer-brand.footer-wordmark > em { color: #496557; font-family: Poppins, Arial, sans-serif; font-size: 8px; font-weight: 700; margin-top: 2px; }
.public-storefront .mexican-footer .footer-brand.footer-wordmark > em i { color: var(--store-red); font-family: Poppins, Arial, sans-serif; font-size: 9px; font-weight: 900; }
.public-storefront .mexican-footer > p { align-self: center; color: #696458; font-size: 10px; }
.public-storefront .footer-meta { align-items: end; color: var(--store-green-deep); display: grid; font-size: 9px; justify-items: end; }
.public-storefront .footer-meta small { color: #776e61; font-size: 8px; }

@media (max-width: 780px) {
  .public-storefront .wholesale { gap: 12px; grid-template-columns: 1fr; margin: 18px 12px 0; min-height: 0; padding: 17px 15px; }
  .public-storefront .wholesale h2 { font-size: 24px; }
  .public-storefront .wholesale-copy p { font-size: 10px; }
  .public-storefront .wholesale-perks { margin: 8px 0 10px; }
  .public-storefront .wholesale-perks span { font-size: 7px; }
  .public-storefront .whatsapp-cta { font-size: 8px; width: 100%; justify-content: center; }
  .public-storefront .wholesale-visual.wholesale-candy-banner { height: 102px !important; min-height: 102px !important; }
  .public-storefront .business-info { gap: 9px; grid-template-columns: 1fr; margin-top: 18px; padding: 12px; }
  .public-storefront .business-info > div { padding: 12px; }
  .public-storefront .branch-locations { gap: 6px; }
  .public-storefront .mexican-footer { gap: 12px; grid-template-columns: 1fr; padding: 18px 20px 21px; }
  .public-storefront .footer-meta { justify-items: start; }
}

/* Pulido final del inicio: la foto se funde con la página, sin una tarjeta
   alrededor. Así el menú y los productos empiezan a verse antes. */
.public-storefront .mercado-intro {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  height: 145px;
  margin: 0 0 7px;
  min-height: 145px;
  overflow: hidden;
  padding: 9px clamp(18px, 2.1vw, 28px);
}
.public-storefront .mercado-intro::before,
.public-storefront .mercado-intro::after { display: none; }
.public-storefront .mercado-copy { max-width: min(49%, 390px); position: relative; z-index: 1; }
.public-storefront .mercado-copy > span,
.public-storefront .mercado-copy > small { font-size: 6px; }
.public-storefront .mercado-copy h1 { font-size: clamp(29px, 2.7vw, 39px); line-height: .9; margin: 3px 0 4px; }
.public-storefront .menu-slogan { font-size: clamp(9px, .75vw, 11px); line-height: 1.18; }
.public-storefront .mercado-highlights { gap: 5px; margin-top: 5px; }
.public-storefront .mercado-highlights span { font-size: 6px; padding: 3px 6px; }
.public-storefront .mercado-visual {
  background: url("/marca/hero-fruta-enchilada-integrada-v1.png") 76% 54% / cover no-repeat;
  height: calc(100% + 8px);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 19%, #000 39%, #000 100%);
  right: -2%;
  top: -4px;
  width: 60%;
}

/* Filtros compactos: parecen chips, no tarjetas altas. */
.public-storefront .category-tabs { align-items: center; gap: 7px; margin: 0 0 9px; padding: 0; }
.public-storefront .category-tabs button {
  align-items: center;
  border-radius: 999px;
  flex: 0 1 auto;
  flex-direction: row;
  gap: 4px;
  height: 34px;
  justify-content: center;
  min-height: 34px;
  min-width: 0;
  padding: 5px 9px;
  width: auto;
}
.public-storefront .category-tabs button .category-icon {
  background: transparent;
  border: 0;
  flex: 0 0 auto;
  font-size: 12px;
  height: auto;
  width: auto;
}
.public-storefront .category-tabs button span { font-size: 7px; line-height: 1; white-space: nowrap; }
.public-storefront .category-tabs button span br { display: none; }
.public-storefront .category-tabs button.active { box-shadow: 0 5px 10px rgba(8, 123, 75, .16); }

/* El título introduce los productos sin crear otra caja pesada. */
.public-storefront .product-group { margin-bottom: 25px; }
.public-storefront .product-group > header {
  background: transparent;
  border: 0;
  border-left: 4px solid var(--store-red);
  border-radius: 0;
  margin: 0 0 9px;
  min-height: 42px;
  padding: 4px 0 4px 10px;
}
.public-storefront .product-group > header h3 { font-size: clamp(17px, 1.7vw, 24px); }
.public-storefront .product-group > header p { font-size: 9px; margin-top: 1px; }

/* Mayoristas conserva presencia comercial, pero el verde queda como acento. */
.public-storefront .wholesale {
  align-items: center;
  background: linear-gradient(112deg, #fff8e9 0%, #fffdf8 61%, #f1f8ef 100%);
  border: 1px solid #ead5a7;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(73, 54, 15, .08);
  gap: 18px;
  grid-template-columns: minmax(0, 1.16fr) minmax(240px, .84fr);
  padding: 13px 18px;
}
.public-storefront .wholesale h2 { color: var(--store-green-deep); font-size: clamp(20px, 2.05vw, 27px); margin: 6px 0 3px; }
.public-storefront .wholesale-copy p { color: #6b665b; font-size: 10px; }
.public-storefront .wholesale-perks { margin: 7px 0 8px; }
.public-storefront .wholesale-perks span { background: #fffdf8; border: 1px solid #d8e8d9; color: var(--store-green-deep); font-size: 7px; }
.public-storefront .whatsapp-cta { background: var(--store-red); color: #fff; }
.public-storefront .whatsapp-cta:hover { background: var(--store-green); color: #fff; }
.public-storefront .wholesale-visual.wholesale-candy-banner {
  background: url("/marca/mayoristas-dulces-panorama-v1.png") 78% center / cover no-repeat;
  border: 1px solid rgba(7, 82, 53, .18);
  border-radius: 12px;
  height: 94px !important;
  min-height: 94px !important;
}

@media (max-width: 780px) {
  .public-storefront .mercado-intro {
    height: 138px;
    margin-bottom: 6px;
    min-height: 138px;
    padding: 8px 11px;
  }
  .public-storefront .mercado-copy { max-width: 57%; }
  .public-storefront .mercado-copy h1 { font-size: clamp(25px, 7.1vw, 31px); line-height: .87; }
  .public-storefront .menu-slogan { font-size: 8px; max-width: 24ch; }
  .public-storefront .mercado-highlights { margin-top: 4px; }
  .public-storefront .mercado-highlights span { font-size: 5px; padding: 3px 5px; }
  .public-storefront .mercado-visual {
    background-position: 75% 52%;
    height: calc(100% + 3px);
    right: -9%;
    top: -1px;
    width: 76%;
  }
  .public-storefront .category-tabs {
    gap: 6px;
    margin: 0 -1px 8px;
    overflow-x: auto;
    padding: 1px 1px 5px;
  }
  .public-storefront .category-tabs button {
    flex: 0 0 auto;
    height: 31px;
    min-height: 31px;
    padding: 4px 8px;
    width: auto;
  }
  .public-storefront .category-tabs button .category-icon { font-size: 10px; }
  .public-storefront .category-tabs button span { font-size: 6px; }
  .public-storefront .product-group > header { min-height: 38px; padding-left: 8px; }
  .public-storefront .product-group > header h3 { font-size: 15px; }
  .public-storefront .product-group > header p { font-size: 8px; }
  .public-storefront .wholesale { gap: 10px; margin-top: 17px; padding: 13px; }
  .public-storefront .wholesale h2 { font-size: 21px; }
  .public-storefront .wholesale-visual.wholesale-candy-banner { height: 82px !important; min-height: 82px !important; }
}

/* La portada recupera presencia sin los textos secundarios que distraían. */
.public-storefront .mercado-intro {
  height: 190px;
  margin-bottom: 9px;
  min-height: 190px;
  padding: 17px clamp(22px, 2.7vw, 34px);
}
.public-storefront .mercado-copy { max-width: min(46%, 440px); }
.public-storefront .mercado-copy h1 { font-size: clamp(38px, 3.8vw, 52px); line-height: .9; margin: 0 0 8px; }
.public-storefront .menu-slogan { color: var(--store-green-deep); font-size: clamp(12px, 1vw, 14px); font-weight: 900; line-height: 1.2; margin: 0; }
.public-storefront .menu-slogan::before { content: none; display: none; }
.public-storefront .mercado-highlights { display: none; }
.public-storefront .mercado-visual {
  background-position: 76% 27%;
  height: calc(100% + 10px);
  top: -5px;
  width: 61%;
}
.public-storefront .category-tabs { gap: 8px; margin-bottom: 12px; }
.public-storefront .category-tabs button { height: 40px; min-height: 40px; padding: 6px 11px; }
.public-storefront .category-tabs button .category-icon { font-size: 13px; }
.public-storefront .category-tabs button span { font-size: 8px; }

@media (max-width: 780px) {
  .public-storefront .mercado-intro {
    height: 166px;
    margin-bottom: 8px;
    min-height: 166px;
    padding: 14px 13px;
  }
  .public-storefront .mercado-copy { max-width: 54%; }
  .public-storefront .mercado-copy h1 { font-size: clamp(30px, 8.3vw, 36px); line-height: .88; margin-bottom: 7px; }
  .public-storefront .menu-slogan { font-size: 10px; }
  .public-storefront .mercado-visual {
    background-position: 75% 28%;
    height: calc(100% + 4px);
    right: -8%;
    top: -2px;
    width: 78%;
  }
  .public-storefront .category-tabs { gap: 7px; margin-bottom: 10px; }
  .public-storefront .category-tabs button { height: 35px; min-height: 35px; padding: 5px 9px; }
  .public-storefront .category-tabs button .category-icon { font-size: 11px; }
  .public-storefront .category-tabs button span { font-size: 7px; }
}

/* En escritorio los filtros usan toda la fila: más fáciles de leer y tocar. */
.public-storefront .category-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
}
.public-storefront .category-tabs button {
  height: 48px;
  justify-self: stretch;
  min-height: 48px;
  padding: 7px 10px;
}
.public-storefront .category-tabs button .category-icon { font-size: 15px; }
.public-storefront .category-tabs button span { font-size: 9px; }

@media (max-width: 780px) {
  .public-storefront .category-tabs { display: flex; width: auto; }
  .public-storefront .category-tabs button {
    height: 40px;
    min-height: 40px;
    padding: 6px 11px;
  }
  .public-storefront .category-tabs button .category-icon { font-size: 12px; }
  .public-storefront .category-tabs button span { font-size: 8px; }
}

/* Ajustes finales de móvil: recorrido limpio, portada completa y acciones siempre visibles. */
@media (max-width: 780px) {
  /* El resumen grande pertenece al escritorio; en celular se conserva el carrito rojo del encabezado. */
  .public-storefront .desktop-cart { display: none !important; }

  /* Recupera el acceso verde de seguimiento entre la búsqueda y el carrito. */
  .public-storefront .app-header nav {
    align-items: center;
    display: flex !important;
    margin: 0;
    position: absolute;
    right: 72px;
    top: 14px;
    z-index: 3;
  }
  .public-storefront .app-header nav > a { display: none !important; }
  .public-storefront .app-header .tracking-access {
    align-items: center;
    display: inline-flex !important;
    height: 42px;
    justify-content: center;
    min-height: 42px;
    padding: 0;
    width: 42px;
  }
  .public-storefront .app-header .tracking-access b { display: none; }
  .public-storefront .mobile-search-toggle { right: 122px; }

  /* La composición ocupa todo el alto: la fruta gana presencia y el lado izquierdo deja de verse vacío. */
  .public-storefront .mercado-intro {
    background:
      radial-gradient(ellipse 58% 76% at 33% 112%, rgba(247, 186, 37, .24) 0 47%, transparent 48%),
      radial-gradient(ellipse 38% 48% at 63% 106%, rgba(227, 35, 54, .10) 0 42%, transparent 43%),
      linear-gradient(108deg, #fffaf0 0%, #fff5e5 100%);
  }
  .public-storefront .mercado-intro::after {
    background: radial-gradient(circle, rgba(8, 123, 75, .18) 0 1px, transparent 1.6px) 0 0 / 24px 24px;
    content: "";
    display: block;
    inset: auto auto 14px 27%;
    opacity: .55;
    pointer-events: none;
    position: absolute;
    width: 94px;
    height: 20px;
    z-index: 0;
  }
  .public-storefront .mercado-copy { max-width: 53%; z-index: 1; }
  .public-storefront .mercado-visual {
    background-position: 80% 29%;
    height: calc(100% + 6px);
    right: -13%;
    top: -3px;
    width: 92%;
  }

  /* Más cómodos de tocar, sin convertirlos nuevamente en tarjetas enormes. */
  .public-storefront .category-tabs { gap: 8px; margin-bottom: 11px; }
  .public-storefront .category-tabs button {
    height: 46px;
    min-height: 46px;
    padding: 7px 13px;
  }
  .public-storefront .category-tabs button .category-icon { font-size: 14px; }
  .public-storefront .category-tabs button span { font-size: 9px; }
}

/* Carrito fijo de escritorio: compacto, claro y siempre listo para finalizar. */
@media (min-width: 781px) {
  .public-storefront .desktop-cart {
    align-self: start;
    background: #fffdf8;
    border: 1px solid #e5c882;
    border-radius: 20px;
    box-shadow: 0 18px 38px rgba(54, 37, 8, .14);
    overflow: hidden;
    position: sticky;
    top: 100px;
    z-index: 2;
  }
  .public-storefront .desktop-cart > .cart-content {
    background: #fffdf8;
    display: flex;
    flex-direction: column;
    height: min(420px, calc(100vh - 116px));
    max-height: calc(100vh - 116px);
  }
  .public-storefront .desktop-cart > .cart-content:has(.empty-cart) { height: auto; }
  .public-storefront .cart-content header {
    align-items: center;
    background:
      linear-gradient(135deg, rgba(255, 253, 248, .92), rgba(240, 249, 241, .95)),
      #fffdf8;
    border-bottom: 1px solid #ead7a9;
    border-left: 5px solid var(--store-red);
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 16px 17px 14px;
  }
  .public-storefront .cart-content header > div { min-width: 0; }
  .public-storefront .cart-content header > div > span {
    color: var(--store-red);
    display: block;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .15em;
  }
  .public-storefront .cart-content h2 {
    color: var(--store-green-deep);
    font-family: Poppins, Arial, sans-serif;
    font-size: 22px;
    letter-spacing: -.04em;
    line-height: 1;
    margin: 4px 0 3px;
  }
  .public-storefront .cart-item-count { color: #687066; font-size: 9px; }
  .public-storefront .cart-content header .cart-header-icon {
    align-items: center;
    background: #e9f6ed;
    border-radius: 50%;
    display: flex;
    flex: 0 0 40px;
    font-size: 18px;
    height: 40px;
    justify-content: center;
    margin-left: 12px;
    width: 40px;
  }

  .public-storefront .desktop-cart .cart-products {
    background: #fffdf8;
    flex: 1 1 auto;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    padding: 2px 16px 5px;
    scrollbar-color: #d7ba75 transparent;
    scrollbar-width: thin;
  }
  .public-storefront .cart-products article {
    align-items: start;
    gap: 10px;
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 12px 0;
  }
  .public-storefront .cart-products img { border: 1px solid #f0dfba; border-radius: 11px; height: 58px; width: 58px; }
  .public-storefront .cart-product-head { align-items: start; display: flex; gap: 8px; justify-content: space-between; }
  .public-storefront .cart-product-head h3 { color: var(--store-ink); font-family: Poppins, Arial, sans-serif; font-size: 12px; letter-spacing: -.025em; line-height: 1.15; margin: 0; }
  .public-storefront .cart-product-head > strong { color: var(--store-green-deep); flex: 0 0 auto; font-size: 12px; margin-top: 1px; }
  .public-storefront .cart-product-kicker { color: #748074; display: block; font-size: 8px; line-height: 1.25; margin-top: 3px; }
  .public-storefront .cart-product-details { margin-top: 4px; }
  .public-storefront .cart-product-details summary { color: var(--store-red); cursor: pointer; font-size: 8px; font-weight: 800; list-style: none; }
  .public-storefront .cart-product-details summary::-webkit-details-marker { display: none; }
  .public-storefront .cart-product-details p { color: #747166; font-size: 8px; line-height: 1.3; margin: 4px 0 0; }
  .public-storefront .cart-product-controls { align-items: center; display: flex; justify-content: space-between; margin-top: 7px; }
  .public-storefront .quantity { align-items: center; background: #fffdf8; border: 1px solid #ecdab5; border-radius: 8px; display: flex; float: none; gap: 0; overflow: hidden; }
  .public-storefront .quantity button { background: #fff8e9; border: 0; border-radius: 0; color: var(--store-green-deep); font-size: 14px; height: 24px; line-height: 1; width: 25px; }
  .public-storefront .quantity button:hover { background: #e6f4e8; }
  .public-storefront .quantity span { color: var(--store-ink); font-size: 10px; font-weight: 900; min-width: 25px; text-align: center; }
  .public-storefront .remove-cart-line { color: #bd796f; font-size: 18px; height: 25px; line-height: 1; padding: 0 3px; }
  .public-storefront .remove-cart-line:hover { color: var(--store-red); }

  .public-storefront .cart-total {
    background: linear-gradient(125deg, #fff9eb, #eff8f0);
    border-top: 1px solid #ead7a9;
    margin-top: auto;
    padding: 12px 16px 14px;
  }
  .public-storefront .cart-total .cart-subtotal { align-items: center; display: flex; justify-content: space-between; }
  .public-storefront .cart-total .cart-subtotal span { color: #515c51; font-size: 10px; font-weight: 800; }
  .public-storefront .cart-total .cart-subtotal b { color: var(--store-green-deep); font-size: 19px; }
  .public-storefront .cart-total > small { color: #737267; font-size: 8px; line-height: 1.25; margin: 4px 0 10px; }
  .public-storefront .cart-total > button {
    align-items: center;
    background: linear-gradient(135deg, var(--store-green), #07945a);
    border: 0;
    border-radius: 11px;
    box-shadow: 0 8px 15px rgba(8, 123, 75, .19);
    color: #fff;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    justify-content: space-between;
    padding: 11px 14px;
    width: 100%;
  }
  .public-storefront .cart-total > button:hover { background: linear-gradient(135deg, #08633e, var(--store-green)); transform: translateY(-1px); }
  .public-storefront .cart-total > button b { font-size: 16px; line-height: .6; }
  .public-storefront .cart-keep-shopping { color: var(--store-green-deep); display: block; font-size: 9px; font-weight: 900; margin-top: 10px; text-align: center; }

  .public-storefront .empty-cart { background: linear-gradient(135deg, #fffdf8, #f5fbf4); padding: 24px 22px 25px; }
  .public-storefront .cart-empty-art {
    align-items: center;
    background: radial-gradient(circle at 30% 28%, #fffdf8 0 8%, transparent 8.5%), #e8f5ea;
    border-radius: 50%;
    color: var(--store-green-deep);
    display: flex;
    filter: none;
    font-size: 25px;
    height: 61px;
    justify-content: center;
    margin: 0 auto 9px;
    opacity: 1;
    width: 61px;
  }
  .public-storefront .empty-cart h3 { color: var(--store-green-deep); font-family: Poppins, Arial, sans-serif; font-size: 16px; letter-spacing: -.04em; margin: 0 0 5px; }
  .public-storefront .empty-cart p { color: #6e7268; font-size: 10px; line-height: 1.4; margin: 0 auto; max-width: 26ch; }
  .public-storefront .cart-continue {
    align-items: center;
    background: var(--store-green);
    border-radius: 10px;
    color: #fff;
    display: flex;
    font-size: 10px;
    font-weight: 900;
    justify-content: space-between;
    margin: 14px auto 0;
    max-width: 175px;
    padding: 10px 13px;
  }
  .public-storefront .cart-continue:hover { background: var(--store-red); }
}

/* Carrito contemporáneo: CTAs rojos directos y un vacío que invita a elegir productos. */
@media (min-width: 781px) {
  .public-storefront .cart-total > button,
  .public-storefront .cart-order-saved button,
  .public-storefront .cart-continue {
    background: linear-gradient(135deg, var(--store-red), #c9142a);
    box-shadow: 0 9px 18px rgba(227, 35, 54, .22);
  }
  .public-storefront .cart-total > button:hover,
  .public-storefront .cart-order-saved button:hover,
  .public-storefront .cart-continue:hover { background: linear-gradient(135deg, #be1124, var(--store-red)); }
  .public-storefront .cart-total > button { justify-content: center; }
  .public-storefront .cart-keep-shopping {
    border: 1px solid var(--store-red);
    border-radius: 10px;
    color: var(--store-red);
    margin-top: 9px;
    padding: 8px 10px;
  }
  .public-storefront .cart-keep-shopping:hover { background: #fff0ed; }

  .public-storefront .empty-cart:not(.cart-order-saved) {
    align-items: center;
    background: linear-gradient(126deg, #fffdf8 0%, #fff8eb 57%, #f0f8ef 100%);
    display: grid;
    gap: 13px;
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 187px;
    padding: 16px 17px;
    text-align: left;
  }
  .public-storefront .cart-empty-visual {
    background:
      linear-gradient(135deg, rgba(255, 253, 248, .02), rgba(8, 123, 75, .12)),
      url("/marca/hero-fruta-enchilada-editorial-v2.png") 83% center / cover no-repeat;
    border: 1px solid #f1daa8;
    border-radius: 17px 17px 27px 17px;
    box-shadow: 7px 8px 0 rgba(247, 186, 37, .68), 0 9px 18px rgba(82, 47, 4, .10);
    height: 128px;
    margin: 0;
    width: 112px;
  }
  .public-storefront .cart-empty-copy { min-width: 0; }
  .public-storefront .cart-empty-kicker { color: var(--store-red); display: block; font-size: 7px; font-weight: 900; letter-spacing: .11em; margin-bottom: 5px; }
  .public-storefront .empty-cart:not(.cart-order-saved) h3 { color: var(--store-green-deep); font-size: 16px; line-height: 1.06; margin: 0 0 6px; }
  .public-storefront .empty-cart:not(.cart-order-saved) p { font-size: 9px; line-height: 1.35; margin: 0; max-width: 18ch; }
  .public-storefront .cart-continue { display: block; font-size: 9px; margin: 11px 0 0; max-width: none; padding: 9px 11px; text-align: center; }
}

/* El carrito fijo toma la lectura clara de un panel lateral, sin cambiar su comportamiento. */
@media (min-width: 1221px) {
  .public-storefront .ordering { grid-template-columns: minmax(0, 1fr) 382px; }
}

@media (min-width: 781px) {
  .public-storefront .desktop-cart {
    background: linear-gradient(145deg, #fffefa, #f8fbf5);
    border: 1px solid #ead8ad;
    border-radius: 24px;
    box-shadow: 0 20px 42px rgba(54, 37, 8, .16);
  }
  .public-storefront .desktop-cart > .cart-content { background: transparent; }
  .public-storefront .cart-content header {
    background: linear-gradient(115deg, #fffefa 0%, #f4fbf3 100%);
    border-bottom: 1px solid #eee1c4;
    border-left: 0;
    min-height: 88px;
    padding: 17px 19px 15px;
    position: relative;
  }
  .public-storefront .cart-content header::before {
    background: linear-gradient(180deg, var(--store-red), #c8142a);
    border-radius: 99px;
    content: "";
    height: 36px;
    left: 0;
    position: absolute;
    top: 25px;
    width: 4px;
  }
  .public-storefront .cart-content header > div > span { color: var(--store-red); font-size: 8px; }
  .public-storefront .cart-content h2 { font-size: 25px; }
  .public-storefront .cart-item-count { color: #6e746b; font-size: 10px; }
  .public-storefront .cart-header-icon { background: #e8f5eb; box-shadow: inset 0 0 0 1px #d2ead8; }

  .public-storefront .desktop-cart .cart-products {
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 13px;
  }
  .public-storefront .cart-products article {
    background: rgba(255, 253, 248, .84);
    border: 1px solid #f0e4c9;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(91, 59, 13, .035);
    padding: 9px;
  }
  .public-storefront .cart-products img { border-radius: 12px; height: 62px; width: 62px; }
  .public-storefront .cart-product-head h3 { font-size: 13px; }
  .public-storefront .cart-product-head > strong { font-size: 13px; }
  .public-storefront .cart-product-kicker { color: #65776a; font-size: 8px; }
  .public-storefront .cart-product-details summary { color: var(--store-red); }
  .public-storefront .cart-product-controls { margin-top: 8px; }
  .public-storefront .quantity { background: #fffdf8; border-color: #ead8b0; border-radius: 999px; }
  .public-storefront .quantity button { background: transparent; color: var(--store-green-deep); }
  .public-storefront .quantity button:hover { background: #f1f9f2; }
  .public-storefront .remove-cart-line { align-items: center; background: #fff0ed; border-radius: 50%; color: var(--store-red); display: flex; font-size: 17px; height: 25px; justify-content: center; padding: 0; width: 25px; }

  .public-storefront .cart-total {
    background: linear-gradient(135deg, #fffefa 0%, #f1f9f1 100%);
    border-top: 1px solid #e7d8b6;
    padding: 13px 15px 15px;
  }
  .public-storefront .cart-total .cart-subtotal { border-bottom: 1px dashed #d7c69d; padding-bottom: 8px; }
  .public-storefront .cart-total .cart-subtotal b { font-size: 21px; }
  .public-storefront .cart-total > small { margin: 7px 0 10px; }
  .public-storefront .cart-total > button { border-radius: 12px; font-size: 12px; min-height: 43px; }
  .public-storefront .cart-keep-shopping { border-radius: 999px; font-size: 9px; padding: 7px 10px; }

  .public-storefront .empty-cart:not(.cart-order-saved) { border-radius: 0 0 23px 23px; }
}

/* Carrito editorial: más productos visibles y detalles gráficos mexicanos discretos. */
@media (min-width: 781px) {
  .public-storefront .desktop-cart > .cart-content:has(.cart-products) {
    height: min(566px, calc(100vh - 108px));
    max-height: calc(100vh - 108px);
    position: relative;
  }

  .public-storefront .cart-content header {
    min-height: 84px;
    padding: 16px 18px 14px;
  }
  .public-storefront .cart-content header > div { padding-right: 110px; }
  .public-storefront .cart-content header .cart-header-icon {
    margin: 0;
    position: absolute;
    right: 17px;
    top: 17px;
  }
  .public-storefront .cart-header-cheer {
    color: var(--store-green-deep) !important;
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px !important;
    font-style: italic;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
    line-height: .82;
    position: absolute;
    right: 59px;
    text-align: center;
    text-transform: none !important;
    top: 22px;
    transform: rotate(-7deg);
    width: 72px;
  }
  .public-storefront .cart-header-cheer::before,
  .public-storefront .cart-header-cheer::after {
    background: var(--store-gold);
    border-radius: 999px;
    content: "";
    height: 4px;
    position: absolute;
    width: 12px;
  }
  .public-storefront .cart-header-cheer::before { background: var(--store-red); left: -9px; top: 4px; transform: rotate(52deg); }
  .public-storefront .cart-header-cheer::after { right: -7px; top: 28px; transform: rotate(-49deg); }

  .public-storefront .desktop-cart .cart-products {
    gap: 7px;
    padding: 10px 13px;
  }
  .public-storefront .cart-products article {
    gap: 9px;
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 80px;
    padding: 8px;
  }
  .public-storefront .cart-products img { height: 60px; width: 60px; }
  .public-storefront .cart-product-head h3,
  .public-storefront .cart-product-head > strong { font-size: 12px; }
  .public-storefront .cart-product-details { margin-top: 2px; }
  .public-storefront .cart-product-controls { margin-top: 4px; }

  .public-storefront .cart-total {
    min-height: 176px;
    overflow: hidden;
    padding: 12px 16px 67px;
    position: relative;
    z-index: 1;
  }
  .public-storefront .cart-total::before { display: none; }
  .public-storefront .cart-total::after {
    background: url("/marca/carrito-ornamento-chile-v1.png") center / contain no-repeat;
    bottom: -20px;
    content: "";
    height: 98px;
    pointer-events: none;
    position: absolute;
    right: -15px;
    width: 121px;
  }
  .public-storefront .cart-total > * { position: relative; z-index: 1; }
  .public-storefront .cart-flavor-sign {
    bottom: 13px;
    color: var(--store-green-deep);
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    font-style: italic;
    font-weight: 800;
    left: 16px;
    letter-spacing: -.04em;
    line-height: .7;
    position: absolute !important;
    text-align: center;
    transform: rotate(-8deg);
    width: 62px;
  }
  .public-storefront .cart-flavor-sign span,
  .public-storefront .cart-flavor-sign b { display: block; }
  .public-storefront .cart-flavor-sign b { color: var(--store-red); font-size: 14px; line-height: .82; }
}

/* El pedido conserva su columna natural: acompaña al menú sin flotar sobre otras secciones. */
@media (min-width: 1000px) {
  .public-storefront .ordering { z-index: auto; }
  .public-storefront .desktop-cart {
    position: static;
    right: auto;
    top: auto;
    width: auto;
    z-index: auto;
  }
  .public-storefront .wholesale {
    gap: 38px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr);
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px;
  }
}

/* Portada viva: el antojo y el reto quedan fijos; la historia cambia con cada categoría. */
.public-storefront .mercado-intro { isolation: isolate; overflow: hidden; }
.public-storefront .mercado-visual {
  background: none;
  overflow: hidden;
}
.public-storefront .mercado-visual::after {
  background: linear-gradient(90deg, rgba(255, 250, 240, .02) 20%, rgba(255, 250, 240, .08) 46%, rgba(5, 58, 39, .11));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.public-storefront .mercado-visual img {
  animation: hero-photo-enter .58s cubic-bezier(.2, .75, .25, 1) both;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
}
.public-storefront .mercado-promo {
  animation: hero-copy-enter .48s ease-out both;
  background: linear-gradient(135deg, rgba(255, 253, 247, .96), rgba(255, 246, 228, .9));
  border-left: 3px solid var(--store-red);
  border-radius: 0 11px 11px 0;
  box-shadow: 0 8px 18px rgba(77, 49, 10, .11);
  color: var(--store-green-deep);
  left: 35%;
  max-width: 220px;
  padding: 8px 10px 8px 11px;
  position: absolute;
  top: 51%;
  transform: translateY(-31%);
  width: 24%;
  z-index: 4;
}
.public-storefront .mercado-promo span {
  color: var(--store-red);
  display: block;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1;
}
.public-storefront .mercado-promo p {
  color: var(--store-green-deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(11px, 1.05vw, 14px);
  font-style: italic;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: .98;
  margin: 4px 0 0;
}

@keyframes hero-photo-enter {
  from { opacity: .34; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes hero-copy-enter {
  from { opacity: 0; transform: translate3d(-8px, -31%, 0); }
  to { opacity: 1; transform: translate3d(0, -31%, 0); }
}

@media (max-width: 780px) {
  .public-storefront .mercado-visual img { object-position: 67% center; }
  .public-storefront .mercado-promo {
    background: rgba(255, 253, 247, .89);
    border-left-width: 2px;
    border-radius: 0 7px 7px 0;
    bottom: 11px;
    box-shadow: 0 4px 10px rgba(77, 49, 10, .08);
    left: 13px;
    max-width: 145px;
    padding: 4px 6px 4px 7px;
    top: auto;
    transform: none;
    width: 44%;
  }
  .public-storefront .mercado-promo span { font-size: 5px; }
  .public-storefront .mercado-promo p { font-size: 9px; margin-top: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .public-storefront .mercado-visual img,
  .public-storefront .mercado-promo { animation: none; }
}
