/* ==========================================================================
   Ruta 5 v2 — estilos de secciones (mobile-first)
   Reglas: azul+blanco enmarcan, rojo único acento, sin gradientes,
   esquinas rectas, hairlines 1px, mucho aire. Baseline 8px.
   ========================================================================== */

:root {
  --nav-h: 64px;
  --pad-x: 20px;
}
@media (min-width: 769px) {
  :root { --pad-x: 60px; --nav-h: 76px; }
}

/* ---------- Botones ---------- */
.r5-btn {
  display: inline-block;
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: 1rem;
  line-height: 1;
  padding: 16px 28px;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: background 160ms ease;
}
.r5-btn:hover { text-decoration: none; }
.r5-btn--primary { background: var(--r5-rojo); color: #fff; }
.r5-btn--primary:hover { background: var(--r5-rojo-deep); }
.r5-btn--ghost-light {
  background: transparent; color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.55);
}
.r5-btn--ghost-light:hover { box-shadow: inset 0 0 0 1px #fff; }

/* ---------- Cápsula mono (sello pill) ---------- */
.r5-capsula {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--type-micro-size);
  letter-spacing: var(--type-micro-track);
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid currentColor;
}

/* ---------- NAV ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: var(--r5-crema);
  border-bottom: 1px solid var(--r5-line);
  height: var(--nav-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--pad-x);
}
.nav__logo img { height: 28px; display: block; }
.nav__links { display: none; }
.nav__cta { padding: 12px 20px; font-size: 0.9375rem; }
.nav__burger {
  display: flex; flex-direction: column; gap: 5px;
  background: none; border: 0; padding: 8px; cursor: pointer;
}
.nav__burger span { width: 22px; height: 2px; background: var(--r5-azul); display: block; }
@media (min-width: 900px) {
  .nav__links {
    display: flex; gap: 32px; align-items: center;
    font-size: 0.9375rem; font-weight: var(--fw-regular);
  }
  .nav__links a { color: var(--r5-azul); }
  .nav__burger { display: none; }
}

/* menú móvil */
.nav-menu {
  position: fixed; inset: 0; z-index: 60;
  background: var(--r5-azul); color: #fff;
  display: none;
  flex-direction: column; justify-content: center; gap: 8px;
  padding: 0 var(--pad-x);
}
.nav-menu.is-open { display: flex; }
.nav-menu a {
  color: #fff;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: 2rem; line-height: 1.3;
}
.nav-menu__close {
  position: absolute; top: 16px; right: var(--pad-x);
  background: none; border: 0; color: #fff;
  font-size: 2rem; line-height: 1; cursor: pointer; padding: 8px;
}
.nav-menu .r5-caption { color: rgba(255,255,255,0.6); margin-bottom: 24px; }

/* ---------- HERO ---------- */
.hero {
  position: relative;
  min-height: calc(100svh - var(--nav-h));
  display: flex; flex-direction: column; justify-content: flex-end;
  color: #fff;
  isolation: isolate;
  overflow: hidden;
}
.hero__img {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover;
  object-position: center 40%;
}
.hero__scrim {
  position: absolute; inset: 0; z-index: -1;
  background: rgba(22, 30, 51, 0.44);
}
.hero__content {
  padding: 96px var(--pad-x) 72px;
  max-width: 880px;
}
.hero__stamp { color: rgba(255,255,255,0.85); margin-bottom: 24px; display: block; }
.hero__title {
  color: #fff;
  font-size: clamp(2.75rem, 9.5vw, 5.5rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
}
.hero__title .r5-accent-italic {
  font-size: 0.96em;
  color: var(--r5-rojo);
  /* rojo sobre foto oscura necesita subir medio tono para AA */
  filter: brightness(1.35) saturate(0.9);
}
.hero__sub {
  font-size: 1.125rem; line-height: 1.55;
  max-width: 34rem;
  color: rgba(255,255,255,0.92);
  margin-bottom: 40px;
}
.hero__cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 48px; }
.hero__corner {
  display: flex; justify-content: space-between;
  padding: 0 var(--pad-x) 20px;
  color: rgba(255,255,255,0.55);
}
@media (min-width: 769px) {
  .hero__content { padding-bottom: 96px; }
}

/* ---------- MANIFIESTO ---------- */
.manifiesto {
  background: var(--r5-dorado);
  color: var(--r5-azul);
  padding: 88px var(--pad-x);
}
.manifiesto__inner { max-width: 720px; margin: 0 auto; }
.manifiesto .r5-caption { color: var(--r5-azul); opacity: 0.65; display: block; margin-bottom: 32px; }
.manifiesto__lead {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: clamp(1.625rem, 5.2vw, 2.5rem);
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin-bottom: 28px;
}
.manifiesto__body {
  font-size: 1.125rem; line-height: 1.6;
  margin-bottom: 28px;
}
.manifiesto__cierre {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: clamp(1.375rem, 4.6vw, 1.875rem);
  line-height: 1.3;
  color: var(--r5-rojo);
}
.manifiesto__rule { border: 0; border-top: 1px solid rgba(40,67,125,0.25); margin: 40px 0 16px; }
.manifiesto__sello { opacity: 0.65; }

/* ---------- PRODUCTOS ---------- */
.productos {
  background: var(--r5-azul);
  color: #fff;
  padding: 88px var(--pad-x) 96px;
}
.productos__head { max-width: 720px; margin-bottom: 56px; }
.productos__head .r5-caption { color: rgba(255,255,255,0.6); display: block; margin-bottom: 24px; }
.productos__title {
  color: #fff;
  font-size: clamp(2.25rem, 7vw, 3.5rem);
  line-height: 1.05; letter-spacing: -0.025em;
  margin-bottom: 8px;
}
.productos__title em {
  display: block;
  font-family: var(--font-editorial);
  font-style: italic; font-weight: var(--fw-regular);
  color: var(--r5-amarillo);
  font-size: 0.82em;
}
.productos__grid {
  display: grid; gap: 24px;
  grid-template-columns: 1fr;
  max-width: 1280px; margin: 0 auto;
}
@media (min-width: 900px) {
  .productos__grid { grid-template-columns: repeat(3, 1fr); }
}

/* tarjeta */
.pcard { background: var(--r5-crema); color: var(--r5-azul); display: flex; flex-direction: column; }
.pcard__media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.pcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcard__stamp {
  position: absolute; top: 12px; left: 12px;
  background: var(--r5-crema); color: var(--r5-azul);
  padding: 6px 12px;
  font-family: var(--font-mono);
  font-size: var(--type-micro-size);
  letter-spacing: var(--type-micro-track);
  text-transform: uppercase;
}
.pcard__body { padding: 24px 24px 28px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.pcard__name { font-size: 1.5rem; line-height: 1.1; letter-spacing: -0.015em; }
.pcard__name em {
  font-family: var(--font-editorial); font-style: italic;
  font-weight: var(--fw-regular); display: block; font-size: 0.92em;
}
.pcard__desc { font-size: 0.9375rem; line-height: 1.5; opacity: 0.85; }
.pcard__attrs { font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.6; }
.pcard__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.pcard__formats { display: flex; gap: 8px; }
.pcard__format {
  font-family: var(--font-mono); font-size: 0.8125rem; letter-spacing: 0.08em;
  padding: 10px 14px;
  background: transparent; color: var(--r5-azul);
  border: 1px solid rgba(40,67,125,0.35);
  border-radius: 2px; cursor: pointer;
}
.pcard__format.is-active { background: var(--r5-azul); color: #fff; border-color: var(--r5-azul); }
.pcard__price { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.5rem; white-space: nowrap; }
.pcard__btn { width: 100%; }
.pcard__btn.is-added { background: var(--r5-verde); }
.pcard__foot { border-top: 1px solid var(--r5-line); padding-top: 12px; }
.pcard__foot a { font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--r5-azul); opacity: 0.7; }

/* ---------- COCINAMOS DE VERDAD ---------- */
.cocinamos {
  background: var(--r5-crema);
  color: var(--r5-azul);
  padding: 88px var(--pad-x);
}
.cocinamos__grid { max-width: 1280px; margin: 0 auto; display: grid; gap: 40px; }
.cocinamos__text .r5-caption { color: var(--r5-azul); opacity: 0.65; display: block; margin-bottom: 24px; }
.cocinamos__title {
  font-size: clamp(2rem, 6.4vw, 3.25rem);
  line-height: 1.06; letter-spacing: -0.025em;
  margin-bottom: 24px;
}
.cocinamos__title em {
  font-family: var(--font-editorial); font-style: italic;
  font-weight: var(--fw-regular); color: var(--r5-rojo);
}
.cocinamos__body { font-size: 1.125rem; line-height: 1.6; margin-bottom: 20px; max-width: 30rem; }
.cocinamos__firma {
  font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: 1.375rem;
}
.cocinamos__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cocinamos__media { position: relative; }
.cocinamos__media .pcard__stamp { background: rgba(247,243,236,0.92); }
.cocinamos__strip {
  max-width: 1280px; margin: 40px auto 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
}
.cocinamos__strip figure { margin: 0; position: relative; aspect-ratio: 1; overflow: hidden; }
.cocinamos__strip img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cocinamos__caption {
  max-width: 1280px; margin: 16px auto 0;
  display: flex; justify-content: space-between; gap: 16px;
  opacity: 0.6;
}
@media (min-width: 900px) {
  .cocinamos__grid { grid-template-columns: 5fr 7fr; align-items: center; gap: 64px; }
  .cocinamos__media { aspect-ratio: 4/5; max-height: 640px; }
}

/* ---------- CÓMO FUNCIONA ---------- */
.funciona {
  background: var(--r5-dorado);
  color: var(--r5-azul);
  padding: 88px var(--pad-x);
}
.funciona__inner { max-width: 1280px; margin: 0 auto; }
.funciona .r5-caption { color: var(--r5-azul); opacity: 0.65; display: block; margin-bottom: 24px; }
.funciona__title {
  font-size: clamp(2rem, 6.4vw, 3.25rem);
  line-height: 1.06; letter-spacing: -0.025em;
  margin-bottom: 48px;
}
.funciona__title em {
  font-family: var(--font-editorial); font-style: italic;
  font-weight: var(--fw-regular); color: var(--r5-rojo);
}
.funciona__steps { display: grid; gap: 32px; counter-reset: paso; }
.funciona__step { border-left: 2px solid var(--r5-rojo); padding-left: 20px; }
.funciona__num {
  font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: 2.5rem; color: var(--r5-rojo); line-height: 1;
  display: block; margin-bottom: 8px;
}
.funciona__step h3 { font-size: 1.375rem; margin-bottom: 8px; }
.funciona__step p { font-size: 1rem; line-height: 1.55; opacity: 0.9; margin-bottom: 12px; }
.funciona__step .r5-micro { opacity: 0.6; }
@media (min-width: 900px) {
  .funciona__steps { grid-template-columns: repeat(3, 1fr); gap: 48px; }
}

/* ---------- MOMENTOS ---------- */
.momentos { background: var(--r5-blanco); color: var(--r5-azul); padding: 88px var(--pad-x); }
.momentos__inner { max-width: 1280px; margin: 0 auto; }
.momentos .r5-caption { opacity: 0.65; display: block; margin-bottom: 24px; }
.momentos__title {
  font-size: clamp(2rem, 6.4vw, 3.25rem);
  line-height: 1.06; letter-spacing: -0.025em;
  margin-bottom: 12px;
}
.momentos__title em {
  font-family: var(--font-editorial); font-style: italic;
  font-weight: var(--fw-regular); color: var(--r5-rojo);
}
.momentos__sub { font-size: 1.125rem; line-height: 1.6; max-width: 34rem; margin-bottom: 48px; opacity: 0.9; }
.momentos__grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
.momento { position: relative; overflow: hidden; }
.momento img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.momento__stamp {
  position: absolute; top: 12px; left: 12px;
  background: var(--r5-blanco); color: var(--r5-azul);
  padding: 6px 12px;
  font-family: var(--font-mono); font-size: var(--type-micro-size);
  letter-spacing: var(--type-micro-track); text-transform: uppercase;
}
.momento figcaption {
  padding: 14px 2px 0;
  font-family: var(--font-editorial); font-style: italic;
  font-size: 1.25rem; color: var(--r5-azul);
}
@media (min-width: 700px) { .momentos__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .momentos__grid { grid-template-columns: repeat(4, 1fr); } }

/* ---------- DÓNDE COMPRAR ---------- */
.comprar { background: var(--r5-crema); color: var(--r5-azul); padding: 88px var(--pad-x); }
.comprar__inner { max-width: 1280px; margin: 0 auto; }
.comprar .r5-caption { opacity: 0.65; display: block; margin-bottom: 24px; }
.comprar__title {
  font-size: clamp(2rem, 6.4vw, 3.25rem);
  line-height: 1.06; letter-spacing: -0.025em; margin-bottom: 48px;
}
.comprar__title em {
  font-family: var(--font-editorial); font-style: italic;
  font-weight: var(--fw-regular); color: var(--r5-rojo);
}
.comprar__grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
.ccard { background: var(--r5-blanco); border: 1px solid var(--r5-line); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.ccard .r5-micro { opacity: 0.55; }
.ccard h3 { font-size: 1.5rem; }
.ccard p { font-size: 1rem; line-height: 1.55; opacity: 0.9; flex: 1; }
.ccard--destacada { border-top: 3px solid var(--r5-rojo); }
.ccard__link {
  font-family: var(--font-mono); font-size: 0.8125rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--r5-rojo); font-weight: 500;
}
@media (min-width: 900px) { .comprar__grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- B2B ---------- */
.b2b { background: var(--r5-azul); color: #fff; padding: 88px var(--pad-x); }
.b2b__inner { max-width: 880px; margin: 0 auto; }
.b2b .r5-caption { color: rgba(255,255,255,0.6); display: block; margin-bottom: 24px; }
.b2b__title { color: #fff; font-size: clamp(1.875rem, 6vw, 3rem); line-height: 1.08; letter-spacing: -0.02em; margin-bottom: 20px; }
.b2b__title em { font-family: var(--font-editorial); font-style: italic; font-weight: var(--fw-regular); color: var(--r5-amarillo); }
.b2b__body { font-size: 1.125rem; line-height: 1.6; color: rgba(255,255,255,0.92); margin-bottom: 28px; max-width: 40rem; }
.b2b__list { list-style: none; padding: 0; margin: 0 0 36px; display: grid; gap: 12px; }
.b2b__list li { padding-left: 20px; position: relative; font-size: 1rem; line-height: 1.5; color: rgba(255,255,255,0.88); }
.b2b__list li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 8px; height: 2px; background: var(--r5-rojo); }
.b2b__ctas { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- FOOTER ---------- */
.footer { background: var(--r5-azul-deep); color: rgba(255,255,255,0.85); padding: 56px var(--pad-x) 32px; }
.footer__inner { max-width: 1280px; margin: 0 auto; }
.footer__top { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
.footer__logo img { height: 32px; }
.footer__links { display: flex; flex-wrap: wrap; gap: 20px 28px; font-size: 0.9375rem; }
.footer__links a { color: rgba(255,255,255,0.85); }
.footer__bottom {
  border-top: 1px solid var(--r5-line-onnavy); padding-top: 20px;
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between;
  color: rgba(255,255,255,0.5);
}

/* ---------- ajustes: comprar 2x2 + rappi próximamente ---------- */
@media (min-width: 900px) { .comprar__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1200px) { .comprar__grid { grid-template-columns: repeat(4, 1fr) !important; } }
.ccard--soon { opacity: 0.75; }
.ccard__link--muted { color: var(--r5-azul); opacity: 0.5; }

/* ---------- FAB distribuidores (presente en toda la página) ---------- */
.distribuir-fab {
  position: fixed; bottom: 20px; left: 16px; z-index: 40;
  background: var(--r5-azul); color: #fff;
  font-family: var(--font-mono); font-size: 0.75rem;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 12px 18px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.25);
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(22,30,51,0.25);
}
.distribuir-fab:hover { background: var(--r5-azul-deep); text-decoration: none; }
.distribuir-fab__full { display: none; }
.distribuir-fab__short { display: inline; }
@media (min-width: 900px) {
  .distribuir-fab__full { display: inline; }
  .distribuir-fab__short { display: none; }
}

/* ---------- ficha nutricional desplegable ---------- */
.pcard__ficha { border-top: 1px solid var(--r5-line); padding-top: 12px; }
.pcard__ficha summary {
  font-family: var(--font-mono); font-size: 0.6875rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--r5-azul); opacity: 0.7; cursor: pointer;
  list-style: none; display: flex; align-items: center; gap: 8px;
}
.pcard__ficha summary::-webkit-details-marker { display: none; }
.pcard__ficha summary::after { content: "+"; font-size: 1rem; margin-left: auto; }
.pcard__ficha[open] summary::after { content: "\2212"; }
.pcard__ficha summary:hover { opacity: 1; }
.pcard__ficha-body { padding-top: 16px; font-size: 0.8125rem; line-height: 1.55; }
.pcard__ficha-body p { margin-bottom: 10px; opacity: 0.9; }
.pcard__ficha-body table { width: 100%; border-collapse: collapse; margin-top: 4px; font-family: var(--font-mono); font-size: 0.75rem; }
.pcard__ficha-body th { text-align: left; text-transform: uppercase; letter-spacing: 0.1em; padding: 6px 0; border-bottom: 1px solid var(--r5-line); }
.pcard__ficha-body td { padding: 5px 0; border-bottom: 1px solid var(--r5-line); }
.pcard__ficha-body td:last-child { text-align: right; }

/* ---------- carrusel plato/envase en tarjeta ---------- */
.pcard__media img.pcard__view { position: absolute; inset: 0; }
.pcard__media img.pcard__view--pote { object-fit: contain; padding: 20px; background: var(--r5-crema); }
.pcard__media img.is-hidden { display: none; }
.pcard__thumbs {
  position: absolute; bottom: 10px; right: 10px;
  display: flex; gap: 6px;
}
.pcard__thumb {
  width: 44px; height: 44px; padding: 0;
  border: 2px solid rgba(247,243,236,0.8);
  background: var(--r5-crema);
  cursor: pointer; overflow: hidden;
}
.pcard__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcard__thumb--pote img { object-fit: contain; padding: 3px; }
.pcard__thumb.is-active { border-color: var(--r5-rojo); }

/* ---------- Modal Tiendas físicas ---------- */
.ccard__link--btn {
  background: none; border: none; padding: 0; margin: 0;
  cursor: pointer; text-align: left;
  font-family: var(--font-mono); font-size: 0.8125rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--r5-rojo); font-weight: 500;
}
.ccard__link--btn:hover { color: var(--r5-rojo-deep); }

.tiendas-modal {
  position: fixed; inset: 0; z-index: 120;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.tiendas-modal[hidden] { display: none; }
.tiendas-modal__overlay {
  position: absolute; inset: 0;
  background: rgba(22,22,22,0.55); backdrop-filter: blur(2px);
  opacity: 0; transition: opacity 0.25s ease;
}
.tiendas-modal.is-open .tiendas-modal__overlay { opacity: 1; }
.tiendas-modal__dialog {
  position: relative; z-index: 1;
  width: 100%; max-width: 960px; max-height: 90vh; overflow-y: auto;
  background: var(--r5-crema); border-top: 3px solid var(--r5-rojo);
  padding: 40px 32px 32px;
  box-shadow: 0 24px 60px rgba(22,22,22,0.28);
  transform: translateY(16px) scale(0.98); opacity: 0;
  transition: transform 0.28s ease, opacity 0.28s ease;
}
.tiendas-modal.is-open .tiendas-modal__dialog { transform: translateY(0) scale(1); opacity: 1; }
.tiendas-modal__close {
  position: absolute; top: 12px; right: 16px;
  background: none; border: none; cursor: pointer;
  font-size: 1.9rem; line-height: 1; color: var(--r5-azul);
  width: 40px; height: 40px;
}
.tiendas-modal__close:hover { color: var(--r5-rojo); }
.tiendas-modal__head { margin-bottom: 28px; max-width: 44rem; }
.tiendas-modal__head .r5-micro { opacity: 0.6; display: block; margin-bottom: 10px; }
.tiendas-modal__title {
  font-family: var(--font-display); color: var(--r5-azul);
  font-size: clamp(1.6rem, 4.5vw, 2.25rem); line-height: 1.1;
  letter-spacing: -0.02em; margin: 0 0 10px;
}
.tiendas-modal__body { font-size: 1rem; line-height: 1.55; color: var(--text-muted); margin: 0; }
.tiendas-modal__grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .tiendas-modal__grid { grid-template-columns: repeat(3, 1fr); } }
.tienda-card {
  background: var(--r5-blanco); border: 1px solid var(--r5-line);
  display: flex; flex-direction: column;
}
.tienda-card__map { aspect-ratio: 4 / 3; background: var(--r5-azul-95); }
.tienda-card__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.tienda-card__info { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.tienda-card__info .r5-micro { opacity: 0.55; }
.tienda-card__addr { font-size: 1rem; line-height: 1.4; color: var(--r5-azul); font-weight: 600; margin: 0; flex: 1; }
.tienda-card__cta { margin-top: 6px; align-self: flex-start; }

/* ---------- B2B · Bloque Lokal (compra al por mayor online) ---------- */
.b2b__lokal {
  margin: 4px 0 32px;
  padding: 24px 24px 26px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--r5-line-onnavy);
  border-radius: 4px;
}
.b2b__lokal-eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--r5-amarillo);
  padding: 5px 10px; margin-bottom: 14px;
  border: 1px solid rgba(241,188,72,0.4); border-radius: 999px;
}
.b2b__lokal-lead {
  font-size: 1.0625rem; line-height: 1.5;
  color: #fff; margin: 0 0 20px; max-width: 40rem;
}
.b2b__lokal-lead strong { color: var(--r5-amarillo); font-weight: var(--fw-semibold); }
.b2b__benefits { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .b2b__benefits { grid-template-columns: repeat(2, 1fr); } }
.b2b__benefit {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--r5-line-onnavy); border-radius: 4px;
}
.b2b__benefit-ic {
  flex: none; width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(155,204,208,0.14); color: var(--r5-celeste);
}
.b2b__benefit-ic svg { width: 20px; height: 20px; }
.b2b__benefit-txt { font-size: 0.95rem; line-height: 1.4; color: rgba(255,255,255,0.92); }
.b2b__benefit-txt strong { color: #fff; font-weight: var(--fw-semibold); }
