
:root{--navy:#08224a;--ink:#101828;--muted:#667085;--cream:#f6efe4;--cream2:#fbf7ef;--card:#fff;--line:rgba(16,24,40,.12);--cyan:#2fb7e8;--violet:#755df2;--green:#25D366;--shadow:0 24px 70px rgba(8,34,74,.10)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(47,183,232,.14),transparent 28%),radial-gradient(circle at 88% 10%,rgba(198,166,103,.16),transparent 32%),linear-gradient(180deg,#fff,var(--cream2) 54%,#fff);line-height:1.55}img{display:block;width:100%}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,34,74,.08)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;color:var(--navy)}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--cyan),var(--violet));display:grid;place-items:center;color:#fff;font-size:26px;box-shadow:0 16px 34px rgba(8,34,74,.18)}.links{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:15px;font-weight:700}.links a:hover,.links a.active{color:var(--navy)}.mobile-menu-button{display:none}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(8,34,74,.18)}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:0 10px 22px rgba(8,34,74,.06)}.btn.small{padding:10px 14px;font-size:13px}.cart-button{position:relative}.cart-count{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;border-radius:999px;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:12px}
main{overflow:hidden}section{padding:82px 0}.hero{padding:86px 0 60px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:850;font-size:14px;margin-bottom:18px}h1{font-size:clamp(42px,6.2vw,78px);line-height:.95;letter-spacing:-3px;margin-bottom:22px;color:var(--navy)}h2{font-size:clamp(32px,4.2vw,54px);line-height:1;letter-spacing:-2px;color:var(--navy)}h3{color:var(--navy)}.lead,.hero p{font-size:18px;color:var(--muted);max-width:680px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}
.hero-visual{position:relative;border-radius:36px;overflow:hidden;min-height:430px;background:linear-gradient(135deg,#f8efe3,#fff);border:1px solid rgba(8,34,74,.10);box-shadow:var(--shadow)}.hero-visual img{height:100%;min-height:430px;object-fit:cover}.hero-visual.contain img{object-fit:contain;padding:24px;background:#f7f2ea}.hero-card-label{position:absolute;left:22px;bottom:22px;right:22px;z-index:2;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border:1px solid rgba(8,34,74,.10);border-radius:24px;padding:18px}.hero-card-label strong{font-size:20px;color:var(--navy)}.hero-card-label p{font-size:14px;margin-top:4px;color:var(--muted)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-head p{max-width:560px;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card,.product,.panel,.mission-card,.step,.faq-item{border:1px solid rgba(8,34,74,.10);background:rgba(255,255,255,.92);border-radius:28px;box-shadow:0 20px 55px rgba(8,34,74,.07)}.card{padding:26px}.card-image{height:210px;border-radius:22px;background:#f3f6fb;overflow:hidden;margin-top:18px}.card-image img{height:100%;object-fit:contain;padding:8px}.icon{width:62px;height:62px;border-radius:20px;background:var(--cream);display:grid;place-items:center;font-size:28px;margin-bottom:20px;color:var(--navy)}.card p,.panel p,.step p,.mission-card p{color:var(--muted)}
.category-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px;margin-top:26px}.category-pill{padding:18px 12px;border-radius:24px;background:#fff;border:1px solid var(--line);text-align:center;box-shadow:0 12px 30px rgba(8,34,74,.05)}.category-pill span{display:block;font-size:26px;margin-bottom:7px}.category-pill strong{font-size:13px;color:var(--navy)}
.product{overflow:hidden;display:flex;flex-direction:column}.product-image{height:245px;background:#f5f7fa;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(8,34,74,.08);font-size:52px}.product-image img{height:100%;width:100%;object-fit:contain;padding:10px}.product-body{padding:20px;display:flex;flex-direction:column;flex:1}.tag{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#eaf8fc;color:#087ca0;font-size:12px;font-weight:900;margin-bottom:12px}.product h3{font-size:20px;margin-bottom:8px}.product p{font-size:14px;color:var(--muted);margin-bottom:16px}.price{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.price strong{font-size:22px;color:var(--ink)}.consult-label{color:var(--navy);font-size:18px}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mission-card{padding:18px;text-align:center;cursor:pointer;transition:.2s}.mission-card:hover{transform:translateY(-2px);border-color:rgba(8,34,74,.28)}.mission-card span{font-size:24px;display:block;margin-bottom:8px}.mission-card strong{color:var(--navy)}.mission-card.active{background:var(--navy);color:#fff}.mission-card.active strong,.mission-card.active p{color:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{padding:24px;text-align:center}.step span{font-size:32px;display:block;margin-bottom:12px}.step h3{font-size:18px;margin-bottom:8px}
.band{border-radius:34px;background:var(--navy);color:#fff;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;box-shadow:var(--shadow)}.band-content{padding:44px}.band h2{color:#fff}.band p{color:rgba(255,255,255,.78);margin-top:12px}.band img{height:100%;min-height:260px;object-fit:cover}.value{padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);margin-top:14px}
.footer{margin-top:60px;background:var(--navy);color:#fff;padding:42px 0;border-radius:34px 34px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}.footer a,.footer p{color:rgba(255,255,255,.76);display:block;margin-top:8px}.footer h3{color:#fff;margin-bottom:10px}.socials{display:flex;gap:10px;margin-top:14px}.social{width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.10);display:grid;place-items:center}
.overlay{position:fixed;inset:0;background:rgba(8,34,74,.35);z-index:110;display:none}.overlay.show{display:block}.cart-drawer{position:fixed;top:0;right:-480px;width:min(480px,100%);height:100vh;background:#fff;z-index:120;transition:.28s ease;box-shadow:-24px 0 80px rgba(8,34,74,.22);display:flex;flex-direction:column}.cart-drawer.open{right:0}.cart-head{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.cart-body{padding:22px;overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-thumb{height:76px;width:76px;border-radius:18px;background:#f3f6fb;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:28px}.cart-thumb img{height:100%;width:100%;object-fit:contain;padding:5px}.qty{display:flex;align-items:center;gap:8px;margin-top:8px}.qty button{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer}.remove{border:0;background:transparent;color:#ef4444;cursor:pointer;margin-top:6px;font-weight:800}.checkout-form{display:grid;gap:12px;margin-top:18px}.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;padding:12px 14px;border-radius:15px;border:1px solid var(--line);font:inherit}.cart-total{padding:18px 22px;border-top:1px solid var(--line);background:#f8fafc}.row{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.hint{font-size:13px;color:var(--muted);margin-top:8px}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:85;background:var(--green);color:#fff;border-radius:999px;padding:14px 17px;font-weight:950;box-shadow:0 18px 38px rgba(37,211,102,.25)}
@media(max-width:1000px){.links{display:none}.mobile-menu-button{display:inline-flex}.hero-grid,.section-head,.band,.footer-grid{display:block}.hero-visual{margin-top:28px}.grid3,.grid4,.mission-grid,.steps{grid-template-columns:1fr}h1{letter-spacing:-2px}.band img{display:none}}




/* FINAL HERO BANNERS - full image + programmed editorial text */
.hero { padding: 0; }

.hero-banner {
  position: relative;
  min-height: calc(100vh - 78px);
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}

.hero-banner.compact { min-height: 78vh; }

.hero-banner .hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero-banner .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero .hero-bg img { object-position: 72% center; }
.sud-hero .hero-bg img { object-position: 64% center; }
.mission-hero .hero-bg img { object-position: 70% center; }
.art3d-hero .hero-bg img { object-position: 66% center; }

.hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,
    rgba(255,248,237,.96) 0%,
    rgba(255,248,237,.90) 28%,
    rgba(255,248,237,.60) 48%,
    rgba(255,248,237,.18) 68%,
    rgba(255,248,237,.03) 100%);
}

.home-hero::before {
  background: linear-gradient(90deg,
    rgba(255,248,237,.96) 0%,
    rgba(255,248,237,.88) 30%,
    rgba(255,248,237,.52) 51%,
    rgba(255,248,237,.14) 72%,
    rgba(255,248,237,.03) 100%);
}

.art3d-hero::before {
  background: linear-gradient(90deg,
    rgba(5,18,40,.92) 0%,
    rgba(5,18,40,.82) 28%,
    rgba(5,18,40,.48) 50%,
    rgba(5,18,40,.12) 72%,
    rgba(5,18,40,.02) 100%);
}

.hero-copy {
  width: min(650px, 92vw);
  padding: 86px 0;
}

.hero-copy.light-text,
.hero-copy.light-text h1,
.hero-copy.light-text p { color: #fff; }

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  color: #7a5626;
  font-size: clamp(18px, 2.1vw, 28px);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .42em;
  text-transform: uppercase;
}

.hero-title-editorial {
  margin: 0;
  color: #4c321f;
  max-width: 650px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 6.2vw, 92px);
  line-height: .92;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 500;
}

.hero-title-editorial .script {
  display: block;
  margin-top: -6px;
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: clamp(64px, 8vw, 130px);
  line-height: .82;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  color: #a47b43;
}

.hero-title-modern {
  color: #08224a;
  max-width: 720px;
  font-size: clamp(48px, 6.3vw, 92px);
  line-height: .94;
  letter-spacing: -3px;
  font-weight: 950;
}

.hero-copy.light-text .hero-title-modern { color: #fff; }

.hero-subcopy {
  max-width: 540px;
  margin-top: 26px;
  color: #4f3d2d;
  font-size: clamp(17px, 1.8vw, 24px);
  line-height: 1.45;
}

.hero-copy.light-text .hero-subcopy { color: rgba(255,255,255,.86); }
.hero-subcopy strong { font-weight: 900; }

.hero-feature-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.hero-feature {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(122,86,38,.16);
  color: #6f4a25;
  backdrop-filter: blur(10px);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.hero-feature span { font-size: 25px; line-height: 1; }
.hero-banner .actions { margin-top: 34px; }

@media (max-width: 900px) {
  .hero-banner, .hero-banner.compact {
    min-height: calc(100vh - 78px);
    align-items: flex-end;
  }
  .hero-banner .hero-bg img { object-position: center top; }
  .hero-banner::before,
  .home-hero::before,
  .sud-hero::before,
  .mission-hero::before {
    background: linear-gradient(180deg,
      rgba(255,248,237,.16) 0%,
      rgba(255,248,237,.62) 42%,
      rgba(255,248,237,.98) 78%,
      rgba(255,248,237,1) 100%);
  }
  .art3d-hero::before {
    background: linear-gradient(180deg,
      rgba(5,18,40,.10) 0%,
      rgba(5,18,40,.54) 44%,
      rgba(5,18,40,.94) 82%,
      rgba(5,18,40,1) 100%);
  }
  .hero-copy { padding: 300px 0 44px; }
  .hero-title-editorial { font-size: 44px; }
  .hero-title-editorial .script { font-size: 74px; }
  .hero-title-modern { font-size: 44px; letter-spacing: -2px; }
  .hero-feature-strip { gap: 10px; }
  .hero-feature { font-size: 11px; min-height: 46px; }
}


/* V5 - Ajustes minimalistas para banners */
.hero-eyebrow {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .28em;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 800;
  color: rgba(8, 34, 74, .72);
  margin-bottom: 22px;
}

.hero-title-modern {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(42px, 5.15vw, 74px);
  line-height: .98;
  letter-spacing: -3.6px;
  font-weight: 900;
  max-width: 700px;
}

.home-hero .hero-title-modern {
  max-width: 650px;
}

.home-hero .hero-subcopy {
  max-width: 560px;
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.5;
}

.home-hero .hero-copy {
  width: min(660px, 92vw);
}

/* Hacer el Home más limpio y menos editorial */
.home-hero .hero-eyebrow {
  color: rgba(76, 50, 31, .72);
  letter-spacing: .32em;
}

/* Artículos 3D: reducir texto y mostrar mejor la pareja */
.art3d-hero .hero-bg img {
  object-position: 54% center;
}

.art3d-hero::before {
  background:
    linear-gradient(90deg,
      rgba(5, 18, 40, .88) 0%,
      rgba(5, 18, 40, .76) 24%,
      rgba(5, 18, 40, .42) 44%,
      rgba(5, 18, 40, .18) 62%,
      rgba(5, 18, 40, .04) 100%);
}

.art3d-hero .hero-copy {
  width: min(575px, 92vw);
}

.art3d-hero .hero-eyebrow {
  color: rgba(198,166,103,.86);
}

.art3d-hero .hero-title-modern {
  font-size: clamp(38px, 4.55vw, 64px);
  line-height: 1;
  letter-spacing: -2.8px;
  max-width: 570px;
}

.art3d-hero .hero-subcopy {
  max-width: 520px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.55;
}

.art3d-hero .actions .btn {
  padding: 12px 18px;
}

/* Ajuste general para que los botones no compitan tanto con el banner */
.hero-banner .actions {
  gap: 12px;
  margin-top: 28px;
}

.hero-banner .btn {
  padding: 12px 18px;
  font-size: 14px;
}

/* Mobile */
@media (max-width: 900px) {
  .hero-title-modern {
    font-size: 40px;
    letter-spacing: -2px;
  }

  .art3d-hero .hero-title-modern {
    font-size: 38px;
  }

  .art3d-hero .hero-bg img {
    object-position: 58% top;
  }

  .home-hero .hero-title-modern {
    font-size: 42px;
  }
}


/* V6 - Tienda SUD: categorías como botones/filtros */
.filter-strip {
  align-items: stretch;
}

.filter-btn {
  font-family: inherit;
  cursor: pointer;
  transition: .2s ease;
}

.filter-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(8,34,74,.26);
}

.filter-btn.active {
  background: #08224a;
  color: #fff;
  border-color: #08224a;
  box-shadow: 0 16px 34px rgba(8,34,74,.18);
}

.filter-btn.active strong,
.filter-btn.active span {
  color: #fff;
}

#sudProducts {
  align-items: stretch;
}

#sudProducts .product {
  min-height: 100%;
}

@media (min-width: 1200px) {
  #sudProducts.grid4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .category-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* V7 - Categorías SUD simplificadas, sin iconos */
.category-text-only {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.category-text-only .category-pill {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 20px;
}

.category-text-only .category-pill span {
  display: none;
}

.category-text-only .category-pill strong {
  font-size: 16px;
}

/* V7 - Misiones como información, no selección */
.mission-info-grid {
  grid-template-columns: repeat(3, 1fr);
}

.mission-card.info-card {
  cursor: default;
  text-align: left;
  padding: 26px;
  display: block;
}

.mission-card.info-card:hover {
  transform: none;
  border-color: rgba(8,34,74,.10);
}

.mission-card.info-card::before {
  content: "Entregamos en";
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f6efe4;
  color: #7a5626;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 14px;
}

.mission-card.info-card strong {
  display: block;
  font-size: 22px;
  margin-bottom: 6px;
}

/* V7 - Cómo comprar tipo infografía */
.infographic-steps {
  position: relative;
}

.infographic-steps .step {
  position: relative;
  text-align: left;
  overflow: hidden;
  padding: 30px;
}

.infographic-steps .step span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: #08224a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 950;
  margin-bottom: 22px;
}

.infographic-steps .step h3 {
  font-size: 24px;
  margin-bottom: 8px;
}

.infographic-steps .step::after {
  content: "";
  position: absolute;
  right: -24px;
  top: 38px;
  width: 70px;
  height: 2px;
  background: linear-gradient(90deg, rgba(8,34,74,.28), transparent);
}

.infographic-steps .step:last-child::after {
  display: none;
}

@media (max-width: 900px) {
  .mission-info-grid {
    grid-template-columns: 1fr;
  }

  .category-text-only {
    grid-template-columns: repeat(2, 1fr);
  }

  .infographic-steps .step::after {
    display: none;
  }
}


/* V8 - Integración final de imágenes, categorías y secciones */
.category-text-only {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.category-text-only .category-pill {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 20px;
}

.category-text-only .category-pill span {
  display: none !important;
}

.category-text-only .category-pill strong {
  font-size: 16px;
}

.mission-info-grid {
  grid-template-columns: repeat(3, 1fr);
}

.mission-card.info-card {
  cursor: default;
  text-align: left;
  padding: 26px;
  display: block;
}

.mission-card.info-card:hover {
  transform: none;
  border-color: rgba(8,34,74,.10);
}

.mission-card.info-card::before {
  content: "Cobertura";
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f6efe4;
  color: #7a5626;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 14px;
}

.mission-card.info-card strong {
  display: block;
  font-size: 22px;
  margin-bottom: 6px;
}

.infographic-steps .step {
  text-align: left;
  overflow: hidden;
  padding: 30px;
}

.infographic-steps .step span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: #08224a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 950;
  margin-bottom: 22px;
}

.infographic-steps .step h3 {
  font-size: 24px;
  margin-bottom: 8px;
}

.image-band {
  grid-template-columns: .95fr 1.05fr;
}

.image-band img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
}

#sudProductsCount {
  color: #08224a;
}

@media (max-width: 900px) {
  .mission-info-grid {
    grid-template-columns: 1fr;
  }

  .category-text-only {
    grid-template-columns: repeat(2, 1fr);
  }

  .image-band {
    display: block;
  }

  .image-band img {
    display: block;
    min-height: 240px;
  }
}


/* V9 - Logo correcto */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.brand img {
  width: 170px;
  height: auto;
  display: block;
}

@media (max-width: 760px) {
  .brand img {
    width: 135px;
  }
}


/* V9 - Restaurar categorías y mapa compacto Mi Misionero */
.section-categories {
  padding: 70px 0 24px;
}

.category-text-only {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px;
}

.category-text-only .category-pill {
  min-height: 78px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  box-shadow: 0 10px 26px rgba(8,34,74,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.category-text-only .category-pill strong {
  font-size: 16px;
}

.category-text-only .category-pill.active {
  background: #08224a;
  color: #fff;
}

.missions-map-section {
  padding: 80px 0;
}

.missions-map-card {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 34px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  border-radius: 36px;
  padding: 42px;
  box-shadow: 0 24px 60px rgba(8,34,74,.08);
}

.mini-label {
  display: inline-flex;
  color: #7a5626;
  background: #f6efe4;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 16px;
}

.missions-map-copy h2 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: .98;
  letter-spacing: -2px;
  margin-bottom: 18px;
  color: #08224a;
}

.missions-map-copy p {
  color: #667085;
  font-size: 19px;
  line-height: 1.5;
  margin-bottom: 24px;
}

.mission-list-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mission-list-compact span {
  background: #f8fafc;
  border: 1px solid rgba(8,34,74,.10);
  border-radius: 999px;
  padding: 10px 13px;
  font-weight: 850;
  color: #08224a;
  font-size: 14px;
}

.bolivia-map {
  background: linear-gradient(145deg, #f8fafc, #fff8ed);
  border-radius: 30px;
  padding: 24px;
}

.bolivia-map svg {
  width: 100%;
  height: auto;
}

.bolivia-map .map-shape {
  fill: #f6efe4;
  stroke: #a47b43;
  stroke-width: 4;
}

.bolivia-map circle {
  fill: #08224a;
  stroke: #fff;
  stroke-width: 4;
}

.bolivia-map text {
  font-size: 18px;
  font-weight: 900;
  fill: #08224a;
  font-family: Inter, Arial, sans-serif;
}

.bolivia-map .route {
  fill: none;
  stroke: #6ec6ff;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 10 10;
}

.how-infographic-section {
  padding: 80px 0;
}

.infographic-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.infographic-steps .step {
  position: relative;
  text-align: left;
  padding: 30px;
  border-radius: 30px;
  border: 1px solid rgba(8,34,74,.10);
  background: #fff;
  box-shadow: 0 18px 50px rgba(8,34,74,.06);
}

.infographic-steps .step span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: #08224a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 950;
  margin-bottom: 22px;
}

.infographic-steps .step h3 {
  font-size: 24px;
  margin-bottom: 8px;
  color: #08224a;
}

.infographic-steps .step p {
  color: #667085;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .category-text-only {
    grid-template-columns: repeat(4, 1fr);
  }

  .infographic-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .category-text-only {
    grid-template-columns: repeat(2, 1fr);
  }

  .missions-map-card {
    grid-template-columns: 1fr;
    padding: 26px;
  }

  .infographic-steps {
    grid-template-columns: 1fr;
  }
}


/* V10 - Sin mapa: cobertura compacta + infografías visibles */
.coverage-section {
  padding: 70px 0;
}

.coverage-card {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 34px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  border-radius: 34px;
  padding: 40px;
  box-shadow: 0 22px 60px rgba(8,34,74,.07);
}

.coverage-card h2 {
  color: #08224a;
  font-size: clamp(34px, 4vw, 56px);
  line-height: .98;
  letter-spacing: -2px;
  margin: 0 0 16px;
}

.coverage-card p {
  color: #667085;
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
}

.coverage-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.coverage-list span {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(8,34,74,.10);
  color: #08224a;
  font-weight: 850;
}

.coverage-list span::before {
  content: "✓";
  width: 26px;
  height: 26px;
  margin-right: 10px;
  border-radius: 999px;
  background: #08224a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 900;
}

.how-infographic-section {
  padding: 80px 0;
}

.infographic-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  position: relative;
}

.infographic-steps .step {
  position: relative;
  text-align: left;
  padding: 30px;
  border-radius: 30px;
  border: 1px solid rgba(8,34,74,.10);
  background: #fff;
  box-shadow: 0 18px 50px rgba(8,34,74,.06);
  overflow: hidden;
}

.infographic-steps .step::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, #08224a, #6ec6ff);
  opacity: .95;
}

.infographic-steps .step span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: #08224a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 950;
  margin-bottom: 22px;
}

.infographic-steps .step h3 {
  font-size: 24px;
  margin-bottom: 8px;
  color: #08224a;
}

.infographic-steps .step p {
  color: #667085;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .infographic-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .coverage-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .infographic-steps {
    grid-template-columns: 1fr;
  }

  .coverage-list {
    grid-template-columns: 1fr;
  }

  .coverage-card {
    padding: 26px;
  }
}


/* V11 - Categorías Tienda SUD y nueva infografía gráfica */
.section-categories {
  padding: 70px 0 24px;
}

.category-text-only {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px;
}

.category-text-only .category-pill {
  min-height: 76px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  box-shadow: 0 10px 26px rgba(8,34,74,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: inherit;
  transition: .2s ease;
}

.category-text-only .category-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(8,34,74,.22);
}

.category-text-only .category-pill.active {
  background: #08224a;
  color: #fff;
  border-color: #08224a;
}

.category-text-only .category-pill strong {
  font-size: 16px;
}

.infographic-image-section {
  padding: 80px 0;
}

.infographic-image-card {
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(8,34,74,.10);
  background: #fff;
  box-shadow: 0 24px 70px rgba(8,34,74,.08);
}

.infographic-image-card img {
  width: 100%;
  display: block;
}

.coverage-section {
  padding: 65px 0;
}

.coverage-card.simple-coverage,
.coverage-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 30px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  border-radius: 34px;
  padding: 38px;
  box-shadow: 0 22px 60px rgba(8,34,74,.07);
}

.coverage-card h2 {
  color: #08224a;
  font-size: clamp(32px, 3.6vw, 52px);
  line-height: 1;
  letter-spacing: -2px;
  margin: 0 0 14px;
}

.coverage-card p {
  color: #667085;
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
}

.coverage-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.coverage-list span {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 13px 15px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(8,34,74,.10);
  color: #08224a;
  font-weight: 850;
}

.coverage-list span::before {
  content: "✓";
  width: 24px;
  height: 24px;
  margin-right: 10px;
  border-radius: 999px;
  background: #08224a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1100px) {
  .category-text-only {
    grid-template-columns: repeat(4, 1fr);
  }

  .coverage-card.simple-coverage,
  .coverage-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .category-text-only {
    grid-template-columns: repeat(2, 1fr);
  }

  .coverage-list {
    grid-template-columns: 1fr;
  }

  .coverage-card.simple-coverage,
  .coverage-card {
    padding: 26px;
  }

  .infographic-image-card {
    border-radius: 22px;
    overflow-x: auto;
  }

  .infographic-image-card img {
    min-width: 900px;
  }
}


/* V12 - Categorías Tienda SUD visibles y sin infografía en Mi Misionero */
.section-categories {
  padding: 70px 0 24px;
}

.category-text-only {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px;
}

.category-text-only .category-pill {
  min-height: 76px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  box-shadow: 0 10px 26px rgba(8,34,74,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: inherit;
  transition: .2s ease;
}

.category-text-only .category-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(8,34,74,.22);
}

.category-text-only .category-pill.active {
  background: #08224a;
  color: #fff;
  border-color: #08224a;
}

.category-text-only .category-pill strong {
  font-size: 16px;
}

@media (max-width: 1100px) {
  .category-text-only {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 760px) {
  .category-text-only {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* V13 - Categorías debajo del banner y filiales genéricas */
#categorias-sud.section-categories {
  padding: 52px 0 22px;
}

.affiliates-section {
  padding: 80px 0;
}

.affiliate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.affiliate-card {
  background: #fff;
  border: 1px solid rgba(8,34,74,.10);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 18px 48px rgba(8,34,74,.06);
}

.affiliate-card h3 {
  color: #08224a;
  font-size: 26px;
  margin-bottom: 16px;
}

.affiliate-card p {
  color: #667085;
  margin: 8px 0;
  line-height: 1.45;
}

.affiliate-card strong {
  color: #08224a;
}

@media (max-width: 900px) {
  .affiliate-grid {
    grid-template-columns: 1fr;
  }
}


/* V14 - Mobile Friendly Fixes */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { max-width: 100%; }
.container { width: min(1180px, calc(100% - 32px)); }

.header, .site-header, nav.header, header {
  z-index: 999;
}

.header .container,
.site-header .container,
header .container {
  position: relative;
}

.menu-toggle {
  display: none;
  border: 0;
  background: #08224a;
  color: #fff;
  border-radius: 16px;
  width: 46px;
  height: 46px;
  font-size: 24px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(8,34,74,.18);
}

.nav { transition: .25s ease; }

.cart-button,
.cart-open,
button[onclick="openCart()"] {
  white-space: nowrap;
}

.hero-banner {
  min-height: min(760px, calc(100vh - 76px));
}

.hero-copy { max-width: 680px; }

.hero-title-modern,
.hero-title-editorial {
  text-wrap: balance;
}

.hero-subcopy { text-wrap: pretty; }

.grid4,
.product-grid,
#sudProducts,
#missionProducts,
#art3dProducts {
  gap: 22px;
}

.category-strip,
.filter-strip {
  gap: 14px;
}

.band,
.image-band {
  overflow: hidden;
}

.image-band img,
.band img {
  object-fit: cover;
}

.cart-drawer,
#cartDrawer {
  max-width: min(460px, 100vw);
}

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

input,
select,
textarea,
button {
  font-size: 16px;
}

@media (max-width: 1024px) {
  .container { width: min(100% - 28px, 920px); }

  .grid3,
  .grid4,
  .product-grid,
  #sudProducts,
  #missionProducts,
  #art3dProducts,
  .line-grid,
  .affiliate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hero-title-modern {
    font-size: clamp(40px, 8vw, 68px);
    letter-spacing: -2px;
  }

  .hero-title-editorial {
    font-size: clamp(38px, 7vw, 60px);
  }

  .hero-title-editorial .script {
    font-size: clamp(58px, 11vw, 88px);
  }

  .section-head {
    gap: 14px;
  }

  .section-head h2 {
    font-size: clamp(34px, 7vw, 58px);
  }
}

@media (max-width: 820px) {
  .header .container,
  .site-header .container,
  header .container {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .brand img { width: 132px; }

  .menu-toggle {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
  }

  .nav {
    position: absolute;
    top: calc(100% + 10px);
    left: 14px;
    right: 14px;
    display: none !important;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px;
    border-radius: 22px;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(8,34,74,.10);
    box-shadow: 0 24px 70px rgba(8,34,74,.16);
    backdrop-filter: blur(14px);
  }

  body.nav-open .nav {
    display: grid !important;
  }

  .nav a,
  .nav button,
  .nav .cart-link {
    width: 100%;
    justify-content: center;
    text-align: center;
    padding: 13px 14px;
    border-radius: 16px;
  }

  .header .cart-button,
  .site-header .cart-button,
  header .cart-button {
    display: inline-flex;
    padding: 12px 14px;
    border-radius: 16px;
  }

  .hero-banner,
  .hero-banner.compact {
    min-height: auto;
    align-items: flex-end;
  }

  .hero-banner .hero-bg img {
    object-position: center top;
  }

  .hero-copy {
    width: 100%;
    padding: 260px 0 42px;
  }

  .home-hero .hero-copy { padding-top: 290px; }

  .sud-hero .hero-bg img,
  .mission-hero .hero-bg img,
  .art3d-hero .hero-bg img {
    object-position: center top;
  }

  .hero-banner::before,
  .home-hero::before,
  .sud-hero::before,
  .mission-hero::before {
    background:
      linear-gradient(180deg,
        rgba(255,248,237,.08) 0%,
        rgba(255,248,237,.54) 38%,
        rgba(255,248,237,.96) 72%,
        rgba(255,248,237,1) 100%) !important;
  }

  .art3d-hero::before {
    background:
      linear-gradient(180deg,
        rgba(5,18,40,.08) 0%,
        rgba(5,18,40,.52) 42%,
        rgba(5,18,40,.92) 76%,
        rgba(5,18,40,1) 100%) !important;
  }

  .hero-title-modern {
    font-size: clamp(38px, 11vw, 54px);
    line-height: 1;
    letter-spacing: -1.8px;
  }

  .hero-title-editorial {
    font-size: clamp(34px, 10vw, 50px);
    line-height: 1;
  }

  .hero-title-editorial .script {
    font-size: clamp(54px, 16vw, 78px);
  }

  .hero-subcopy {
    font-size: 17px;
    line-height: 1.45;
  }

  .hero-banner .actions,
  .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero-banner .btn,
  .btn {
    width: 100%;
    justify-content: center;
  }

  #categorias-sud.section-categories,
  .section-categories {
    padding: 36px 0 12px;
  }

  .category-text-only,
  .category-strip,
  .filter-strip {
    display: flex !important;
    overflow-x: auto;
    gap: 10px;
    padding: 4px 2px 14px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .category-text-only .category-pill,
  .category-strip .category-pill,
  .filter-strip .category-pill {
    min-width: 142px;
    min-height: 58px;
    border-radius: 18px;
    padding: 12px 14px;
    scroll-snap-align: start;
    flex: 0 0 auto;
  }

  .category-text-only .category-pill strong {
    font-size: 14px;
  }

  section { scroll-margin-top: 90px; }

  .section-head {
    display: block !important;
    margin-bottom: 22px;
  }

  .section-head h2 {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1;
    margin-bottom: 10px;
  }

  .section-head p {
    font-size: 16px;
    line-height: 1.45;
  }

  .grid3,
  .grid4,
  .product-grid,
  #sudProducts,
  #missionProducts,
  #art3dProducts,
  .line-grid,
  .affiliate-grid,
  .mission-grid {
    grid-template-columns: 1fr !important;
  }

  .product { border-radius: 24px; }
  .product-image { min-height: 220px; }

  .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product-body { padding: 20px; }
  .product-body h3 { font-size: 22px; }

  .price {
    align-items: center;
    gap: 12px;
  }

  .price .btn,
  .price button {
    width: auto;
    min-width: 118px;
  }

  .band,
  .image-band,
  .coverage-card,
  .coverage-card.simple-coverage {
    display: block !important;
    border-radius: 26px;
  }

  .band-content { padding: 26px !important; }

  .band-content h2 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.05;
  }

  .band img,
  .image-band img {
    min-height: 220px;
    max-height: 360px;
    width: 100%;
    object-fit: cover;
  }

  .coverage-list {
    grid-template-columns: 1fr !important;
    margin-top: 22px;
  }

  .infographic-image-card {
    overflow-x: auto;
    border-radius: 22px;
  }

  .infographic-image-card img {
    min-width: 980px;
  }

  .footer,
  footer {
    text-align: center;
  }
}

@media (max-width: 520px) {
  .container { width: calc(100% - 22px); }
  .brand img { width: 118px; }

  .menu-toggle {
    width: 42px;
    height: 42px;
    font-size: 22px;
  }

  .hero-copy { padding-top: 235px; }
  .home-hero .hero-copy { padding-top: 260px; }

  .hero-title-modern { font-size: 38px; }
  .hero-title-editorial { font-size: 34px; }
  .hero-title-editorial .script { font-size: 58px; }

  .hero-eyebrow {
    font-size: 12px;
    letter-spacing: .22em;
    margin-bottom: 14px;
  }

  .category-text-only .category-pill {
    min-width: 128px;
  }

  .cart-drawer,
  #cartDrawer {
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
  }

  .cart-item {
    grid-template-columns: 72px 1fr;
  }

  .cart-thumb {
    width: 72px;
    height: 72px;
  }

  .modal,
  .drawer {
    max-width: 100vw;
  }
}
