/* ============================================================
   GEOMAP — Producto individual | Marvel Pro + Marvel Lite v3
   Cuerpo de producto compacto, header/footer unificados
   ============================================================ */
body{background:var(--soft)}
.product-main{padding-top:104px;padding-bottom:0}
.breadcrumb{display:none}
.product-hero{display:grid;grid-template-columns:1.06fr .94fr;gap:28px;align-items:stretch}
.gallery-card,.buy-card,.card,.accordion,.trust-strip,.product-cta{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.gallery-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding:16px;min-height:0}
.thumbs{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:flex-start}.thumb{border:1px solid var(--line);background:#fff;border-radius:12px;width:86px;height:86px;padding:7px;display:grid;place-items:center;cursor:pointer;transition:.2s ease;overflow:hidden}.thumb:hover,.thumb.active{border-color:var(--blue);box-shadow:0 8px 18px rgba(31,78,163,.14);transform:translateY(-1px)}.thumb img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:8px;margin:auto}.stage{background:#fff;border:1px solid rgba(229,234,242,.72);border-radius:14px;display:grid;place-items:center;aspect-ratio:4/5;width:100%;height:auto;max-height:560px;position:relative;overflow:hidden;cursor:zoom-in}.stage img{position:relative;width:100%;height:100%;object-fit:contain;object-position:center;padding:8px;transition:transform .18s ease;will-change:transform;pointer-events:none}.stage.zooming img{transform:scale(1.85)}.feature-grid{display:none}.feature{display:none}.icon{flex:0 0 30px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#EAF2FF;color:var(--blue);font-size:1rem}.note{display:none}.buy-card{padding:28px}.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.badge{font-weight:700;font-size:.78rem;letter-spacing:.35px;padding:6px 10px;border-radius:4px;border:1px solid #b9c8dc;color:var(--blue);background:#f9fbff;text-transform:uppercase}.badge.orange{background:var(--orange);color:#fff;border-color:var(--orange)}.buy-card h1{font-family:'Manrope','Inter',sans-serif;font-size:clamp(1.72rem,2.9vw,2.75rem);line-height:1.04;margin:0 0 12px;color:var(--navblue);letter-spacing:-.04em;font-weight:800}.subtitle{font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.32;font-weight:600;color:#34435a;margin-bottom:12px}.desc{color:#31415e;font-size:.95rem;line-height:1.58;margin-bottom:16px;font-weight:400}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0 20px}.benefit{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-weight:600;background:#fff;color:#142033;font-size:.88rem;line-height:1.22}.benefit-icon{width:30px;height:30px;flex:0 0 30px;object-fit:contain;display:block}.pricebox{display:grid;grid-template-columns:1fr 128px;gap:16px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;margin-top:12px}.old{color:#7a879a;text-decoration:line-through;font-weight:800;margin-bottom:4px}.promo-label{color:var(--blue);font-weight:700}.price{font-family:'Manrope','Inter',sans-serif;font-size:2.7rem;color:var(--navblue);font-weight:800;letter-spacing:-.02em;line-height:1}.iva{color:var(--muted);font-weight:800;margin-top:6px}.save{background:#e7f8ec;color:#047832;border-radius:14px;padding:16px 8px;text-align:center;font-weight:700}.save b{display:block;font-size:1.25rem}.actions{display:grid;gap:12px;margin-top:16px}.p-btn{border:0;border-radius:12px;padding:16px 18px;font-weight:800;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:.2s ease;font-size:1.03rem}.p-btn:hover{transform:translateY(-1px);filter:brightness(.98)}.p-btn-primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 12px 22px rgba(34,160,69,.22)}.p-btn-secondary{background:#fff;color:var(--navblue);border:2px solid #b8c9df}.secure-mini{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid #d7e4f5;border-radius:12px;background:#f7fbff;color:#243a5e;font-size:.86rem;font-weight:600}.secure-mini .icon{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#EAF2FF;color:var(--blue);display:grid;place-items:center}.secure-mini b{color:var(--navblue)}.product-policy-note{margin-top:12px;padding:12px 14px;border:1px solid #d7e4f5;border-radius:12px;background:#f7fbff;color:#243a5e;font-size:.86rem;line-height:1.55;font-weight:600}.product-policy-note b{color:var(--navblue)}.safe-row{display:none}.sections-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.card{padding:24px;min-height:320px}.card h2{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--navblue);font-size:1.32rem;font-family:'Manrope','Inter',sans-serif}.card p{line-height:1.62;color:#35445f;margin:0 0 14px;font-weight:600}.card ul{margin:0;padding-left:22px;line-height:1.95;color:#253651;font-weight:600}.card-img{height:120px;border-radius:12px;overflow:hidden;margin-top:16px;background:#eef4fb;display:grid;place-items:center}.card-img img{width:100%;height:100%;object-fit:cover}.card-img.contain img{object-fit:contain;padding:4px}.accordion{margin-top:22px;overflow:hidden}details{border-bottom:1px solid var(--line)}details:last-child{border-bottom:0}summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;color:var(--navblue);font-size:1.22rem;font-weight:800}summary::-webkit-details-marker{display:none}summary:hover{background:#f7fbff}summary .left{display:flex;align-items:center;gap:14px}.chev{transition:.2s ease}details[open] .chev{transform:rotate(180deg)}.detail-content{padding:0 26px 24px}.include-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 24px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:800;color:#243a5e;line-height:1.35}.check:before{content:"✓";flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#EAF2FF;color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:.82rem}.spec-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:12px;font-size:.96rem}.spec-table th,.spec-table td{text-align:left;padding:12px 14px;border:1px solid var(--line);vertical-align:top}.spec-table th{width:34%;color:var(--navblue);background:#f3f7fc;font-weight:800}.smart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.smart-box{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.smart-box h3{margin:0 0 12px;color:var(--navblue)}.smart-box ul{margin:0;padding-left:20px;line-height:1.8}.smart-note{margin-top:16px;background:#eaf3ff;border-left:5px solid var(--blue);padding:14px 16px;border-radius:12px;font-weight:700;color:#183a64}.trust-strip{margin-top:30px;padding:28px;background:linear-gradient(180deg,#f7fbff,#fff)}.trust-strip h2{margin:0 0 20px;text-align:center;color:var(--navblue);font-size:1.55rem;font-family:'Manrope','Inter',sans-serif}.trust-items{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.trust-item{text-align:center;border-right:1px solid var(--line);padding:8px 12px;font-weight:700;color:#243a5e}.trust-item:last-child{border-right:0}.trust-item .icon{margin:0 auto 9px;width:44px;height:44px;border-radius:50%;background:#EAF2FF;color:var(--blue);display:grid;place-items:center}.trust-item .icon svg{width:23px;height:23px;display:block}.product-cta{margin-top:24px;margin-bottom:34px;padding:26px 36px;background:linear-gradient(135deg,var(--navblue),#004685);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.product-cta h2{margin:0;font-size:1.65rem;line-height:1.2}.product-cta p{margin:6px 0 0;color:#d9e9ff}.mobile-sticky{display:none}
@media (max-width:1060px){.product-hero{grid-template-columns:1fr}.gallery-card{order:1;min-height:0;grid-template-columns:1fr}.buy-card{order:2}.thumbs{order:2;flex-direction:row;overflow:auto;padding-bottom:4px;justify-content:flex-start}.thumb{min-width:78px;width:78px;height:72px}.stage{aspect-ratio:4/5;height:auto;max-height:440px}.stage.zooming img{transform:none}.benefits{grid-template-columns:1fr}.pricebox{grid-template-columns:1fr}.safe-row{grid-template-columns:repeat(2,1fr)}.sections-3{grid-template-columns:1fr}.include-grid{grid-template-columns:1fr}.smart-grid{grid-template-columns:1fr}.trust-items{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.product-cta{flex-direction:column;align-items:flex-start;padding:24px}.product-cta .p-btn{width:100%}.mobile-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:75;padding:10px 14px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(0,0,0,.12)}.mobile-sticky .p-btn{padding:13px 16px}body{padding-bottom:76px}.product-main{padding-top:88px}}
@media (max-width:560px){.benefit-icon{width:26px;height:26px;flex-basis:26px}.container{width:min(100% - 18px,1280px)}.buy-card,.card,.trust-strip{padding:18px}.gallery-card{padding:12px}.stage{aspect-ratio:4/5;height:auto;max-height:380px}.feature-grid{grid-template-columns:1fr}.price{font-size:2.15rem}.buy-card h1{font-size:1.7rem;letter-spacing:-.03em}.subtitle{font-size:.98rem}.desc{font-size:.9rem}.safe-row{grid-template-columns:1fr}.card{min-height:auto}.card-img{height:102px}summary{padding:18px;font-size:1.05rem}.detail-content{padding:0 18px 20px}.spec-table,.spec-table tbody,.spec-table tr,.spec-table th,.spec-table td{display:block;width:100%}.spec-table th{border-bottom:0}.breadcrumb{font-size:.76rem}.product-cta h2{font-size:1.3rem}}



/* ============================================================
   GALERÍA FINAL — 4:5 real + miniaturas centradas
   ============================================================ */
.product-hero{align-items:start;}
.gallery-card{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  padding:16px;
  align-self:start;
}
.stage{
  width:min(100%, 520px);
  aspect-ratio:4 / 5;
  height:auto;
  max-height:none;
  margin-inline:auto;
  border-radius:14px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.stage img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:8px;
  transform:none;
  opacity:1;
  transition:opacity .22s ease, transform .18s ease;
}
.stage img.is-changing{opacity:.18;}
.stage.zooming img{transform:scale(1.65);}
.thumbs{
  width:100%;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:12px;
  overflow-x:auto;
  padding:0 4px 2px;
  scrollbar-width:none;
}
.thumbs::-webkit-scrollbar{display:none;}
.thumb{
  flex:0 0 82px;
  width:82px;
  height:72px;
  padding:6px;
  border-radius:10px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  border-radius:7px;
}
/* Ajuste óptico por composición de la fotografía: centra visualmente las imágenes con mucho aire superior */
.thumb-main img,
.thumb-field img{
  transform:translateY(-7%);
}
.thumb.active{border-color:var(--blue);box-shadow:0 8px 18px rgba(31,78,163,.14);}
.gallery-trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  margin-top:0;
}
.gallery-trust-item{
  min-height:86px;
  padding:12px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:7px;
  color:var(--navblue);
  font-size:.83rem;
  line-height:1.14;
  font-weight:800;
  border-right:1px solid var(--line);
}
.gallery-trust-item:last-child{border-right:0;}
.gallery-trust-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:transparent;
  overflow:hidden;
  filter:drop-shadow(0 8px 14px rgba(31,78,163,.18));
}
.gallery-trust-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.gallery-trust-item b{font-weight:800;}
@media (max-width:1060px){
  .gallery-card{grid-template-columns:1fr;}
  .stage{width:min(100%, 500px);aspect-ratio:4 / 5;max-height:none;}
  .stage.zooming img{transform:none;}
}
@media (max-width:560px){
  .gallery-card{padding:12px;gap:12px;}
  .stage{width:100%;aspect-ratio:4 / 5;}
  .thumb{flex-basis:72px;width:72px;height:64px;}
  .gallery-trust{grid-template-columns:1fr 1fr 1fr;}
  .gallery-trust-item{min-height:82px;padding:10px 6px;font-size:.74rem;}
  .gallery-trust-icon{width:44px;height:44px;flex-basis:44px;}
}



/* ── Iconos de beneficios GeoMap: PNG embebidos, sin rutas externas ── */
.benefit{
  align-items:center;
}
.benefit-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  object-fit:contain;
  object-position:center;
  display:block;
}
@media (max-width:560px){
  .benefit-icon{width:28px;height:28px;flex-basis:28px;}
}





/* ── Sección problema / solución / ideal: guía visual corregida ── */
.sections-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:28px;
  align-items:stretch;
}
.sections-3 .card{
  padding:24px 24px 22px;
  min-height:320px;
  border:1px solid rgba(229,234,242,.96);
  background:#fff;
  border-radius:18px;
  box-shadow:0 16px 36px rgba(7,20,38,.06);
  overflow:hidden;
}
.sections-3 .card h2{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  color:var(--navblue);
  font-size:1.28rem;
  letter-spacing:-.025em;
  font-family:'Manrope','Inter',sans-serif;
  font-weight:800;
}
.section-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.section-icon img{
  width:44px;
  height:44px;
  display:block;
  object-fit:contain;
  object-position:center center;
  border-radius:50%;
  filter:drop-shadow(0 4px 10px rgba(10,42,92,.12));
}
.sections-3 .card p{
  line-height:1.62;
  color:#35445f;
  margin:0 0 14px;
  font-weight:600;
  font-size:.98rem;
}
.sections-3 .card ul{
  margin:0;
  padding-left:22px;
  line-height:1.95;
  color:#253651;
  font-weight:600;
  font-size:.98rem;
}
.sections-3 .card-img{
  height:142px;
  border-radius:14px;
  border:1px solid rgba(229,234,242,.9);
  background:#F7FAFE;
  overflow:hidden;
  display:grid;
  place-items:center;
  margin-top:16px;
}
.sections-3 .card-img img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  border-radius:0;
}
.solution-card .card-img img{
  object-fit:cover;
  object-position:center center;
}
.ideal-card ul{
  margin-top:4px;
}
@media (max-width:1060px){
  .sections-3{
    grid-template-columns:1fr;
  }
}
@media (max-width:560px){
  .sections-3{
    gap:14px;
  }
  .sections-3 .card{
    padding:18px;
    min-height:auto;
  }
  .section-icon,
  .section-icon img{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
  .sections-3 .card-img{
    height:132px;
  }
  .sections-3 .card h2{
    font-size:1.13rem;
  }
}



/* ── Orden correcto en móvil: imagen principal → miniaturas → confianza ── */
@media (max-width:1060px){
  .stage{order:1;}
  .thumbs{order:2;}
  .gallery-trust{
    order:3;
    margin-top:4px;
  }
}

@media (max-width:560px){
  .gallery-trust{
    margin-top:2px;
  }
}



/* ── Ajuste comercial precio / botones ─────────────────────── */
.actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.actions .p-btn{
  gap:12px;
  min-height:54px;
  padding:14px 16px;
  font-size:1rem;
}
@media (max-width:1060px){
  .pricebox{
    text-align:center;
    justify-items:center;
    gap:13px;
  }
  .pricebox > div:first-child{
    width:100%;
  }
  .save{
    width:min(100%, 190px);
    margin-inline:auto;
  }
}
@media (max-width:560px){
  .actions{
    grid-template-columns:1fr;
  }
  .actions .p-btn{
  gap:12px;
    min-height:52px;
  }
  .pricebox{
    padding:18px 16px;
  }
  .save{
    width:min(100%, 168px);
    padding:14px 8px;
  }
}



/* ============================================================
   Sección Problema / Solución / Ideal — versión limpia
   Recomendación: ventana 4:3 en PC para no alargar demasiado las 3 columnas.
   En celular se mantiene amplia y proporcional.
   ============================================================ */
.sections-product-fit{
  align-items:stretch;
}
.sections-product-fit .card{
  display:flex;
  flex-direction:column;
  min-height:auto;
}
.sections-product-fit .section-copy{
  flex:1 1 auto;
}
.sections-product-fit .section-media{
  width:100%;
  aspect-ratio:4 / 3;
  border-radius:16px;
  border:1px solid rgba(229,234,242,.96);
  background:linear-gradient(180deg,#F8FBFF,#EEF4FB);
  overflow:hidden;
  display:grid;
  place-items:center;
  margin-top:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.sections-product-fit .section-media img{
  width:100%;
  height:100%;
  display:block;
}
.sections-product-fit .problem-media img{
  object-fit:cover;
  object-position:center center;
}
.sections-product-fit .solution-media{
  padding:18px;
  background:linear-gradient(180deg,#F9FCFF,#EFF5FB);
}
.sections-product-fit .solution-media img{
  object-fit:contain;
  object-position:center center;
  filter:drop-shadow(0 14px 24px rgba(7,20,38,.16));
}
@media (max-width:1060px){
  .sections-product-fit .section-media{
    aspect-ratio:16 / 9;
    margin-top:16px;
  }
}
@media (max-width:560px){
  .sections-product-fit .card{
    padding:18px;
  }
  .sections-product-fit .section-media{
    aspect-ratio:4 / 3;
    border-radius:14px;
  }
  .sections-product-fit .solution-media{
    padding:14px;
  }
}


/* ============================================================
   Acordeones producto — versión híbrida responsiva
   PC: visual + tabla + comparativa | Móvil: acordeones limpios
   ============================================================ */
.product-info-accordion{
  margin-top:22px;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 16px 42px rgba(7,20,38,.10);
}
.product-info-accordion .info-panel{
  border-bottom:1px solid var(--line);
}
.product-info-accordion .info-panel:last-child{
  border-bottom:0;
}
.product-info-accordion summary{
  padding:24px 30px;
  font-size:1.26rem;
  background:#fff;
}
.product-info-accordion summary:hover{
  background:#F7FAFE;
}
.product-info-accordion .left{
  display:flex;
  align-items:center;
  gap:14px;
}
.summary-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#EAF2FF;
  color:var(--blue);
  box-shadow:0 8px 18px rgba(31,78,163,.08);
}
.summary-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.summary-icon-box{
  background:linear-gradient(135deg,#EAF2FF,#F8FBFF);
}
.summary-icon-gear{
  background:linear-gradient(135deg,#EAF2FF,#F8FBFF);
}
.summary-icon-vs{
  background:linear-gradient(135deg,#0B3D86,#1F4EA3);
  color:#fff;
}
.product-detail-content{
  padding:0 30px 30px;
}
.include-content-pro{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) 1.22fr;
  gap:26px;
  align-items:stretch;
}
.kit-visual-card{
  position:relative;
  min-height:300px;
  border:1px solid rgba(229,234,242,.95);
  border-radius:18px;
  background:linear-gradient(180deg,#F8FBFF,#FFFFFF);
  display:grid;
  place-items:center;
  padding:22px;
  overflow:hidden;
}
.kit-visual-card::before{
  content:"";
  position:absolute;
  inset:auto -20% -35% -20%;
  height:60%;
  background:radial-gradient(circle,rgba(31,78,163,.10),transparent 62%);
}
.kit-visual-card img{
  position:relative;
  width:min(100%,360px);
  height:230px;
  object-fit:contain;
  object-position:center;
  z-index:1;
}
.kit-visual-card p{
  position:relative;
  z-index:1;
  margin:10px 0 0;
  color:#52637B;
  font-weight:700;
  font-size:.86rem;
  text-align:center;
}
.media-tag{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  border-radius:999px;
  padding:7px 11px;
  background:#EAF2FF;
  color:var(--blue);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.02em;
}
.include-grid-pro{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 22px;
  align-content:center;
}
.include-grid-pro .check{
  padding:12px 12px;
  border:1px solid rgba(229,234,242,.88);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(7,20,38,.035);
}
.include-grid-pro .check::before{
  background:linear-gradient(135deg,#0B3D86,#1F4EA3);
  color:#fff;
  box-shadow:0 4px 10px rgba(31,78,163,.18);
}
.specs-content-pro{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.spec-note-card{
  border:1px solid rgba(229,234,242,.95);
  border-radius:18px;
  background:linear-gradient(180deg,#F8FBFF,#FFFFFF);
  padding:20px;
  min-height:160px;
}
.spec-note-card b{
  display:block;
  color:var(--navblue);
  font-family:'Manrope','Inter',sans-serif;
  font-size:1.15rem;
  letter-spacing:-.02em;
  margin-bottom:8px;
}
.spec-note-card span{
  color:#52637B;
  line-height:1.58;
  font-weight:700;
  font-size:.92rem;
}
.spec-table-pro{
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
}
.spec-table-pro th,
.spec-table-pro td{
  padding:13px 16px;
  border:0;
  border-bottom:1px solid var(--line);
}
.spec-table-pro tr:last-child th,
.spec-table-pro tr:last-child td{
  border-bottom:0;
}
.spec-table-pro th{
  width:36%;
  background:#F3F7FC;
  color:var(--navblue);
}
.spec-table-pro tr:nth-child(even) td{
  background:#F9FBFE;
}
.compare-content-pro{
  position:relative;
  display:grid;
  grid-template-columns:1fr 70px 1fr;
  gap:18px;
  align-items:stretch;
}
.compare-card{
  border:1px solid rgba(229,234,242,.95);
  border-radius:18px;
  padding:20px;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  align-items:center;
  background:#fff;
  min-height:240px;
}
.compare-card h3{
  font-family:'Manrope','Inter',sans-serif;
  color:var(--navblue);
  font-size:1.36rem;
  margin:0 0 10px;
  letter-spacing:-.035em;
}
.compare-card ul{
  margin:0;
  padding-left:18px;
  color:#253651;
  font-weight:700;
  line-height:1.65;
}
.compare-card li::marker{
  color:var(--blue);
}
.compare-media{
  min-height:170px;
  border-radius:16px;
  border:1px solid rgba(229,234,242,.9);
  background:#F8FBFF;
  display:grid;
  place-items:center;
  padding:14px;
  position:relative;
  overflow:hidden;
}
.compare-media img{
  width:100%;
  height:128px;
  object-fit:contain;
  object-position:center;
}
.compare-media span{
  position:absolute;
  bottom:10px;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:90%;
  font-size:.72rem;
  font-weight:900;
  color:#617089;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(229,234,242,.9);
  border-radius:999px;
  padding:4px 9px;
}
.pro-card{
  background:linear-gradient(135deg,var(--navblue),#064B91);
  border-color:rgba(4,30,61,.25);
}
.pro-card h3,
.pro-card ul{
  color:#fff;
}
.pro-card li::marker{
  color:#fff;
}
.pro-card .compare-media{
  background:rgba(255,255,255,.95);
}
.vs-badge{
  width:66px;
  height:66px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:auto;
  background:linear-gradient(135deg,#0B3D86,#1F4EA3);
  color:#fff;
  font-family:'Manrope','Inter',sans-serif;
  font-size:1.28rem;
  font-weight:900;
  box-shadow:0 14px 26px rgba(31,78,163,.22);
}
.compare-note{
  margin:0 30px 30px;
  padding:15px 18px;
  border-radius:14px;
  background:#EAF3FF;
  border-left:5px solid var(--blue);
  color:#183A64;
  line-height:1.55;
  font-weight:700;
}

/* Tablet */
@media (max-width:1060px){
  .product-info-accordion summary{
    padding:21px 22px;
  }
  .product-detail-content{
    padding:0 22px 24px;
  }
  .include-content-pro{
    grid-template-columns:1fr;
  }
  .kit-visual-card{
    min-height:240px;
  }
  .kit-visual-card img{
    height:190px;
  }
  .include-grid-pro{
    grid-template-columns:1fr 1fr;
  }
  .specs-content-pro{
    grid-template-columns:1fr;
  }
  .compare-content-pro{
    grid-template-columns:1fr;
  }
  .compare-card{
    grid-template-columns:140px 1fr;
  }
  .vs-badge{
    width:54px;
    height:54px;
    font-size:1rem;
  }
}

/* Móvil */
@media (max-width:560px){
  .product-info-accordion{
    margin-top:18px;
    border-radius:16px;
  }
  .product-info-accordion summary{
    padding:18px;
    font-size:1.05rem;
  }
  .summary-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:12px;
  }
  .summary-icon svg{
    width:21px;
    height:21px;
  }
  .product-detail-content{
    padding:0 18px 20px;
  }
  .kit-visual-card{
    min-height:205px;
    padding:18px;
  }
  .kit-visual-card img{
    height:150px;
  }
  .kit-visual-card p{
    font-size:.78rem;
  }
  .media-tag{
    top:10px;
    left:10px;
    font-size:.68rem;
  }
  .include-grid-pro{
    grid-template-columns:1fr;
    gap:10px;
  }
  .include-grid-pro .check{
    padding:10px 11px;
  }
  .spec-note-card{
    min-height:auto;
    padding:16px;
  }
  .spec-table-pro,
  .spec-table-pro tbody,
  .spec-table-pro tr,
  .spec-table-pro th,
  .spec-table-pro td{
    display:block;
    width:100%;
  }
  .spec-table-pro tr{
    border-bottom:1px solid var(--line);
  }
  .spec-table-pro tr:last-child{
    border-bottom:0;
  }
  .spec-table-pro th,
  .spec-table-pro td{
    border-bottom:0;
  }
  .spec-table-pro th{
    padding:12px 14px 6px;
  }
  .spec-table-pro td{
    padding:0 14px 12px;
    background:#fff !important;
    color:#30415E;
    font-weight:650;
  }
  .compare-content-pro{
    gap:14px;
  }
  .compare-card{
    grid-template-columns:1fr;
    min-height:auto;
    padding:18px;
    gap:14px;
  }
  .compare-media{
    min-height:150px;
  }
  .compare-media img{
    height:112px;
  }
  .compare-card h3{
    font-size:1.18rem;
    text-align:center;
  }
  .compare-card ul{
    line-height:1.58;
    font-size:.92rem;
  }
  .vs-badge{
    width:48px;
    height:48px;
    margin:0 auto;
  }
  .compare-note{
    margin:0 18px 20px;
    padding:13px 14px;
    font-size:.88rem;
  }
}


/* ============================================================
   Refinamiento visual — Incluye el kit limpio y profesional
   ============================================================ */
.include-content-clean{
  grid-template-columns:minmax(250px,.72fr) 1.28fr;
  gap:30px;
  align-items:center;
}

.kit-visual-clean{
  min-height:auto;
  padding:18px;
  background:linear-gradient(180deg,#F8FBFF,#FFFFFF);
  box-shadow:none;
  display:grid;
  place-items:center;
}

.kit-visual-clean img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:420px;
  aspect-ratio:804/935;
  object-fit:contain;
  object-position:center;
}

.kit-visual-clean p{
  display:none;
}

.include-copy-clean{
  align-self:center;
}

.include-copy-clean h3{
  margin:0 0 18px;
  font-family:'Manrope','Inter',sans-serif;
  color:var(--navblue);
  font-size:1.38rem;
  line-height:1.15;
  letter-spacing:-.035em;
  font-weight:800;
}

.include-list-clean{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 28px;
}

.include-list-clean .check{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#253651;
  font-size:.96rem;
  line-height:1.42;
  font-weight:650;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.include-list-clean .check::before{
  content:"✓";
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-top:1px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.76rem;
  font-weight:900;
  box-shadow:0 4px 10px rgba(31,78,163,.16);
}

/* Evita que reglas anteriores de tarjetas vuelvan a pintar cajas */
.include-content-clean .include-grid-pro,
.include-content-clean .include-grid-pro .check{
  border:0;
  box-shadow:none;
}

@media (max-width:1060px){
  .include-content-clean{
    grid-template-columns:1fr;
    gap:22px;
  }

  .kit-visual-clean{
    min-height:auto;
  }

  .kit-visual-clean img{
    max-height:360px;
  }

  .include-list-clean{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:560px){
  .include-content-clean{
    gap:18px;
  }

  .kit-visual-clean{
    min-height:auto;
    padding:14px;
  }

  .kit-visual-clean img{
    max-height:300px;
  }

  .include-copy-clean h3{
    text-align:left;
    font-size:1.18rem;
    margin-bottom:15px;
  }

  .include-list-clean{
    grid-template-columns:1fr;
    gap:12px;
  }

  .include-list-clean .check{
    font-size:.92rem;
    font-weight:620;
    line-height:1.4;
  }

  .include-list-clean .check::before{
    width:19px;
    height:19px;
    flex-basis:19px;
    font-size:.72rem;
  }
}


/* ============================================================
   GeoMap — Estandarización tipográfica final
   Objetivo: títulos firmes, texto limpio y lectura uniforme
   ============================================================ */
:root{
  --title-blue:#041E3D;
  --body-blue:#243A5E;
  --body-soft:#52637B;
  --table-soft:#F4F7FB;
}

/* Base general */
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--body-blue);
  font-weight:500;
}

p,
li,
td,
.muted,
.desc,
.product-policy-note,
.spec-note-card span,
.compare-note{
  color:var(--body-blue);
  font-weight:500;
  letter-spacing:-.005em;
}

b,
strong,
th,
.summary-title,
.section-title,
.buy-card h1,
.sections-3 .card h2,
.product-info-accordion summary,
.include-copy-clean h3,
.compare-card h3,
.trust-strip h2,
.product-cta h2{
  color:var(--title-blue);
}

/* Hero / tarjeta de compra */
.buy-card h1{
  font-weight:800;
  letter-spacing:-.042em;
}

.subtitle{
  color:#34435A;
  font-weight:600;
  line-height:1.36;
}

.desc{
  font-weight:500;
  line-height:1.64;
}

.benefit{
  color:var(--body-blue);
  font-weight:600;
  line-height:1.28;
}

.old{
  font-weight:700;
  color:#7A879A;
}

.promo-label,
.iva{
  font-weight:700;
}

.price{
  color:var(--title-blue);
  font-weight:800;
}

.save{
  font-weight:700;
}

.p-btn{
  font-weight:800;
  letter-spacing:-.01em;
}

.product-policy-note{
  font-weight:500;
  line-height:1.6;
}

.product-policy-note b{
  color:var(--title-blue);
  font-weight:800;
}

/* Tarjetas problema / solución / ideal */
.sections-3 .card h2{
  font-weight:800;
  letter-spacing:-.03em;
}

.sections-3 .card p{
  color:var(--body-blue);
  font-weight:500;
  line-height:1.66;
}

.sections-3 .card ul{
  color:var(--body-blue);
  font-weight:500;
  line-height:1.82;
}

.sections-3 .card li{
  padding-left:2px;
}

.sections-3 .card li::marker{
  color:var(--blue);
}

/* Acordeones */
.product-info-accordion summary{
  color:var(--title-blue);
  font-weight:800;
  letter-spacing:-.02em;
}

.product-info-accordion .left span:last-child{
  color:var(--title-blue);
}

.product-detail-content{
  color:var(--body-blue);
}

/* Incluye el kit */
.include-copy-clean h3{
  color:var(--title-blue);
  font-weight:800;
  letter-spacing:-.035em;
}

.include-list-clean .check{
  color:var(--body-blue);
  font-weight:540;
  line-height:1.46;
  letter-spacing:-.006em;
}

.include-list-clean .check::before{
  font-weight:900;
}

/* Especificaciones técnicas */
.spec-note-card b{
  color:var(--title-blue);
  font-weight:800;
}

.spec-note-card span{
  color:var(--body-soft);
  font-weight:550;
}

.spec-table-pro{
  color:var(--body-blue);
  font-size:.96rem;
}

.spec-table-pro th{
  color:var(--title-blue);
  font-weight:800;
  letter-spacing:-.01em;
  background:#EEF3FA;
}

.spec-table-pro td{
  color:#10233F;
  font-weight:500;
  line-height:1.42;
}

.spec-table-pro tr:nth-child(even) td{
  background:#F8FAFD;
}

/* Comparativa */
.compare-card h3{
  color:var(--title-blue);
  font-weight:800;
  letter-spacing:-.035em;
}

.compare-card ul{
  color:var(--body-blue);
  font-weight:500;
  line-height:1.66;
}

.compare-card li{
  margin-bottom:3px;
}

.pro-card h3,
.pro-card ul{
  color:#fff;
}

.pro-card ul{
  font-weight:500;
}

.compare-note{
  color:#183A64;
  font-weight:500;
  line-height:1.6;
}

.compare-note b{
  color:#0B2F63;
  font-weight:800;
}

/* Tabla técnica antigua, por si queda alguna instancia */
.spec-table th{
  color:var(--title-blue);
  font-weight:800;
  background:#EEF3FA;
}

.spec-table td{
  color:#10233F;
  font-weight:500;
}

/* Confianza y CTA */
.gallery-trust-item,
.trust-item{
  color:var(--body-blue);
  font-weight:650;
}

.product-cta p{
  font-weight:500;
}

/* Footer conserva contraste, pero se unifica peso */
.footer-brand p,
.footer-contact-item span,
.footer-contact-item a,
.mex-card p{
  font-weight:500;
}

.footer h3,
.footer-contact-item strong,
.quick a,
.legal a,
.footer-bottom{
  font-weight:800;
}

/* Móvil: lectura más limpia */
@media (max-width:560px){
  body{
    font-size:15.5px;
  }

  .buy-card h1{
    line-height:1.08;
  }

  .desc,
  .sections-3 .card p,
  .product-policy-note{
    line-height:1.62;
  }

  .include-list-clean .check,
  .compare-card ul,
  .spec-table-pro td{
    font-size:.92rem;
    line-height:1.48;
  }

  .product-info-accordion summary{
    font-size:1.05rem;
  }
}


/* ============================================================
   GEOMAP — Estilos consolidados: botones, acordeones, garantía
   ============================================================ */

/* ── Botón SVG base ─────────────────────────────────────── */
.button-svg {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  display: block;
}
.button-svg-wa {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}
.p-btn-primary .button-svg {
  color: #fff;
  fill: currentColor;
}
.p-btn-secondary .button-svg {
  color: var(--navblue);
  fill: currentColor;
  stroke: none;
}
@media (max-width: 560px) {
  .button-svg, .button-svg-wa, .button-svg-ficha {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
}

/* ── Acordeón product-info — iconos y chevrons ──────────── */
.product-info-accordion {
  border-radius: 18px;
}
.product-info-accordion .info-panel > summary {
  min-height: 76px;
  padding: 12px 28px;
  display: flex;
  align-items: center;
}
.product-info-accordion .left {
  display: flex;
  align-items: center;
  gap: 15px;
}
.product-info-accordion .left span:last-child {
  font-size: 1.06rem;
  line-height: 1.12;
  font-weight: 800;
}

/* Contenedor del ícono */
.product-info-accordion .summary-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

/* Imágenes de ícono (WebP/PNG) */
.product-info-accordion .summary-icon-img {
  display: block;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 7px 14px rgba(8,44,105,.16));
}

/* Tamaños por tipo de ícono (compensación óptica) */
.product-info-accordion .summary-icon-kit {
  width: 54px;
  height: 54px;
}
.product-info-accordion .summary-icon-specs {
  width: 56px;
  height: 56px;
}
.product-info-accordion .summary-icon-vsimg {
  width: 55px;
  height: 55px;
}

/* Chevron */
.product-info-accordion .chev {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #F4F7FB;
  color: #23436E;
  transition: transform .26s ease, background-color .26s ease, color .26s ease;
}
.product-info-accordion .chev-svg {
  width: 17px;
  height: 17px;
  display: block;
}
.product-info-accordion details[open] > summary .chev {
  transform: rotate(180deg);
  background: #EAF2FF;
  color: var(--blue);
}
.product-info-accordion summary:hover .chev {
  background: #EAF2FF;
  color: var(--blue);
}

/* Tablet */
@media (max-width: 1060px) {
  .product-info-accordion .info-panel > summary {
    min-height: 74px;
    padding: 11px 22px;
  }
  .product-info-accordion .summary-icon-kit   { width: 52px; height: 52px; }
  .product-info-accordion .summary-icon-specs { width: 54px; height: 54px; }
  .product-info-accordion .summary-icon-vsimg { width: 53px; height: 53px; }
}

/* Móvil */
@media (max-width: 560px) {
  .product-info-accordion .info-panel > summary {
    min-height: 68px;
    padding: 10px 15px;
  }
  .product-info-accordion .left {
    gap: 11px;
  }
  .product-info-accordion .left span:last-child {
    font-size: 1rem;
  }
  .product-info-accordion .summary-icon-kit   { width: 50px; height: 50px; }
  .product-info-accordion .summary-icon-specs { width: 52px; height: 52px; }
  .product-info-accordion .summary-icon-vsimg { width: 51px; height: 51px; }
  .product-info-accordion .chev {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }
  .product-info-accordion .chev-svg {
    width: 16px;
    height: 16px;
  }
}

/* ── Garantía GeoMap — trust strip premium ──────────────── */
.trust-strip-premium {
  margin-top: 30px;
  padding: 30px 28px 26px;
  background: linear-gradient(180deg, #F8FBFF, #FFFFFF);
  border: 1px solid rgba(229,234,242,.96);
  border-radius: 20px;
  box-shadow: 0 16px 38px rgba(7,20,38,.08);
}
.trust-strip-premium h2 {
  margin: 0 0 22px;
  text-align: center;
  color: var(--navblue);
  font-family: 'Manrope','Inter',sans-serif;
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: -.035em;
  font-weight: 800;
}
.trust-items-premium {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}
.trust-item-premium {
  min-height: 126px;
  padding: 10px 18px 8px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  color: #243A5E;
}
.trust-item-premium:last-child { border-right: 0; }

.trust-icon-circle {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: transparent;
  overflow: visible;
  filter: drop-shadow(0 10px 18px rgba(31,78,163,.16));
}
.trust-icon-img {
  width: 58px;
  height: 58px;
  display: block;
  object-fit: contain;
  object-position: center;
}
.trust-copy { display: block; max-width: 175px; margin-inline: auto; }
.trust-copy strong {
  display: block;
  color: var(--navblue);
  font-size: .95rem;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -.015em;
}
.trust-copy small {
  display: block;
  margin-top: 2px;
  color: #33496A;
  font-size: .91rem;
  line-height: 1.2;
  font-weight: 650;
}

/* Tablet */
@media (max-width: 1060px) {
  .trust-strip-premium { padding: 26px 20px 20px; }
  .trust-items-premium {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .trust-item-premium {
    min-height: 96px;
    padding: 16px 10px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .trust-item-premium:last-child { border-bottom: 0; }
  .trust-icon-circle,
  .trust-icon-img {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }
}

/* Móvil */
@media (max-width: 560px) {
  .trust-icon-circle,
  .trust-icon-img {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
}

/* ── Colores de texto sobre tarjeta Pro ─────────────────── */
.compare-card.pro-card h3,
.compare-card.pro-card ul,
.compare-card.pro-card li,
.compare-card.pro-card li::marker {
  color: #fff;
}

/* ── CTA final: título en naranja sobre azul marino ─────── */
.product-cta h2 { color: var(--orange); }





/* ============================================================
   GEOMAP — WhatsApp oficial y limpieza final de iconos
   Criterio: un solo SVG reutilizable, simple y legible en 17–28 px.
   ============================================================ */
.wa-logo{
  display:block;
  flex-shrink:0;
  color:currentColor;
  fill:currentColor;
}
.wa-logo path{
  fill:currentColor;
}
.nav-cta .wa-logo{
  width:20px;
  height:23px;
  color:#fff;
}
.mobile-panel .mobile-wa .wa-logo{
  width:22px;
  height:25px;
  color:#fff;
}
.p-btn-primary .button-svg-wa{
  width:24px;
  height:24px;
  flex:0 0 24px;
  color:#fff;
  fill:currentColor;
  stroke:none;
  transform:translateY(.5px);
}
.socials .wa-logo{
  width:17px;
  height:20px;
  color:#fff;
}
.socials a:hover .wa-logo{
  color:var(--orange);
}
.mobile-sticky .button-svg-wa{
  width:24px;
  height:24px;
  flex-basis:24px;
}
.p-btn-secondary .button-svg-ficha{
  width:24px;
  height:24px;
  flex:0 0 24px;
  color:#179B4A;
  fill:none;
  stroke:currentColor;
  transform:translateY(.25px);
}
@media (max-width:560px){
  .nav-cta .wa-logo,
  .p-btn-primary .button-svg-wa,
  .mobile-sticky .button-svg-wa,
  .p-btn-secondary .button-svg-ficha{
    width:23px;
    height:23px;
    flex-basis:23px;
  }
}

/* ============================================================
   GEOMAP — Jerarquía comercial premium final
   Objetivo: mayor claridad visual, mejor conversión y móvil más limpio.
   Bloque único de refinamiento; no reemplaza la estructura del HTML.
   ============================================================ */
:root{
  --premium-ink:#031B38;
  --premium-copy:#243A5E;
  --premium-soft:#5B6B82;
  --premium-border:#DCE6F2;
  --premium-panel:#FBFDFF;
  --premium-blue:#0A3D86;
  --premium-green:#179B4A;
}

body{
  background:linear-gradient(180deg,#F3F7FB 0%, #F7F9FC 38%, #FFFFFF 100%);
  color:var(--premium-copy);
}

.product-main{
  padding-top:104px;
}

.product-hero{
  gap:30px;
}

.gallery-card,
.buy-card,
.sections-3 .card,
.product-info-accordion,
.trust-strip-premium,
.product-cta{
  border-color:rgba(220,230,242,.92);
  box-shadow:0 18px 44px rgba(7,20,38,.075);
}

.buy-card{
  padding:30px;
  align-self:start;
  position:relative;
}

.badges{
  gap:7px;
  margin-bottom:14px;
}

.badge{
  height:28px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:0 11px;
  font-size:.72rem;
  letter-spacing:.06em;
  font-weight:800;
  background:#F7FAFE;
  border-color:#CEDBEA;
  color:#0A3D86;
}

.badge.orange{
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  border-color:transparent;
  color:#fff;
}

.buy-card h1{
  max-width:720px;
  margin-bottom:12px;
  color:var(--premium-ink);
  font-size:clamp(1.95rem,2.65vw,2.9rem);
  line-height:.99;
  letter-spacing:-.052em;
  font-weight:850;
}

.subtitle{
  max-width:680px;
  margin-bottom:10px;
  color:#243A5E;
  font-size:clamp(1.02rem,1.2vw,1.14rem);
  line-height:1.38;
  font-weight:650;
}

.desc{
  max-width:680px;
  margin-bottom:18px;
  color:var(--premium-soft);
  font-size:.96rem;
  line-height:1.7;
  font-weight:500;
}

.benefits{
  gap:10px;
  margin:14px 0 18px;
}

.benefit{
  min-height:58px;
  padding:10px 12px;
  border-radius:14px;
  background:linear-gradient(180deg,#FFFFFF,#FAFCFF);
  border-color:rgba(220,230,242,.95);
  color:#183355;
  font-size:.86rem;
  line-height:1.23;
  font-weight:650;
}

.benefit-icon{
  width:30px;
  height:30px;
  flex-basis:30px;
}

.pricebox{
  margin-top:10px;
  grid-template-columns:minmax(0,1fr) 132px;
  gap:16px;
  padding:20px;
  border-radius:18px;
  background:linear-gradient(180deg,#FFFFFF,#F9FCFF);
  border-color:rgba(206,219,234,.95);
}

.old{
  margin-bottom:3px;
  color:#7E8B9D;
  font-size:.94rem;
  font-weight:750;
}

.promo-label{
  margin-bottom:2px;
  color:var(--premium-blue);
  font-size:.92rem;
  font-weight:800;
}

.price{
  color:var(--premium-ink);
  font-size:clamp(2.55rem,3.6vw,3.25rem);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:850;
}

.price small{
  font-size:.52em;
  letter-spacing:-.025em;
  font-weight:800;
}

.iva{
  margin-top:7px;
  color:#66758C;
  font-size:.94rem;
  font-weight:750;
}

.save{
  min-height:96px;
  display:grid;
  place-content:center;
  border-radius:16px;
  background:linear-gradient(180deg,#E9F8EE,#DDF4E6);
  color:#047A36;
  font-size:.92rem;
  line-height:1.05;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}

.save b{
  margin:3px 0;
  font-size:1.45rem;
  letter-spacing:-.025em;
  font-weight:900;
}

.actions{
  margin-top:14px;
  gap:12px;
}

.actions .p-btn,
.product-cta .p-btn,
.mobile-sticky .p-btn{
  min-height:54px;
  border-radius:12px;
  font-size:1rem;
  line-height:1;
  font-weight:850;
}

.p-btn-primary{
  background:linear-gradient(135deg,#20A34A 0%,#159447 52%,#0F7F3A 100%);
  box-shadow:0 14px 24px rgba(23,155,74,.23);
}

.p-btn-primary:hover{
  transform:translateY(-1px);
  filter:saturate(1.02) brightness(.99);
  box-shadow:0 18px 30px rgba(23,155,74,.29);
}

.p-btn-secondary{
  color:var(--premium-ink);
  border:1.8px solid #AFC4DE;
  background:linear-gradient(180deg,#FFFFFF,#FBFDFF);
  box-shadow:0 10px 20px rgba(7,20,38,.035);
}

.p-btn-secondary:hover{
  border-color:#8FAED2;
  background:#F9FCFF;
}

.button-svg-wa{
  width:20px;
  height:20px;
  flex-basis:20px;
}

.button-svg-ficha{
  width:21px;
  height:21px;
  flex-basis:21px;
  color:var(--premium-green);
}

.product-policy-note{
  margin-top:14px;
  padding:13px 15px;
  border-radius:14px;
  background:#F6FAFF;
  border-color:#D5E3F3;
  color:#354A68;
  font-size:.88rem;
  line-height:1.62;
}

.product-policy-note b{
  color:var(--premium-ink);
}

.sections-3{
  gap:20px;
  margin-top:30px;
}

.sections-3 .card{
  padding:26px 24px 24px;
  border-radius:20px;
}

.sections-3 .card h2{
  margin-bottom:15px;
  color:var(--premium-ink);
  font-size:1.22rem;
  line-height:1.16;
  letter-spacing:-.032em;
}

.sections-3 .card p,
.sections-3 .card ul{
  color:#314563;
  font-size:.96rem;
  line-height:1.68;
  font-weight:500;
}

.sections-3 .card li{
  margin-bottom:2px;
}

.sections-product-fit .section-media{
  margin-top:16px;
  border-radius:16px;
  border-color:rgba(220,230,242,.95);
  background:linear-gradient(180deg,#F9FCFF,#EEF4FB);
}

.product-info-accordion{
  margin-top:24px;
  border-radius:20px;
}

.product-info-accordion .info-panel > summary{
  min-height:72px;
  padding:10px 28px;
}

.product-info-accordion .left span:last-child{
  color:var(--premium-ink);
  font-size:1.04rem;
  letter-spacing:-.018em;
}

.product-detail-content{
  padding:0 30px 28px;
}

.include-copy-clean h3,
.spec-note-card b,
.compare-card h3{
  color:var(--premium-ink);
}

.include-list-clean{
  gap:12px 28px;
}

.include-list-clean .check{
  color:#304461;
  font-size:.94rem;
  line-height:1.5;
  font-weight:520;
}

.spec-table-pro{
  font-size:.94rem;
  border-color:rgba(220,230,242,.96);
}

.spec-table-pro th,
.spec-table-pro td{
  padding:12px 15px;
}

.spec-table-pro th{
  background:#EEF4FB;
  color:var(--premium-ink);
  font-weight:800;
}

.spec-table-pro td{
  color:#1F344F;
  font-weight:500;
}

.compare-card{
  border-radius:20px;
  border-color:rgba(220,230,242,.96);
}

.compare-card ul{
  color:#304461;
  font-size:.94rem;
  line-height:1.66;
  font-weight:520;
}

.pro-card{
  background:linear-gradient(135deg,#041E3D 0%,#07366F 52%,#064B91 100%);
}

.compare-note{
  background:#EAF3FF;
  border-left-color:#0A4EA3;
  color:#183A64;
  font-size:.94rem;
  line-height:1.62;
}

.trust-strip-premium{
  margin-top:30px;
  padding:30px 28px 26px;
  border-radius:20px;
}

.trust-strip-premium h2{
  margin-bottom:22px;
  color:var(--premium-ink);
  font-size:clamp(1.42rem,2vw,1.82rem);
}

.trust-copy strong{
  color:var(--premium-ink);
  font-size:.94rem;
  line-height:1.14;
}

.trust-copy small{
  color:#304461;
  font-size:.88rem;
  line-height:1.15;
  font-weight:750;
}

.product-cta{
  margin-top:26px;
  margin-bottom:36px;
  padding:28px 34px;
  border-radius:20px;
  background:radial-gradient(circle at 18% 10%,rgba(243,107,33,.20),transparent 32%), linear-gradient(135deg,#041E3D,#063A75 62%,#074B91);
}

.product-cta h2{
  color:#FFFFFF;
  font-size:clamp(1.35rem,2vw,1.78rem);
  line-height:1.16;
  letter-spacing:-.035em;
}

.product-cta p{
  color:#DCEBFF;
  line-height:1.55;
  font-size:.96rem;
}

@media (max-width:1060px){
  .product-main{
    padding-top:92px;
  }
  .product-hero{
    gap:22px;
  }
  .buy-card{
    padding:24px;
  }
  .buy-card h1{
    font-size:clamp(1.82rem,4.6vw,2.45rem);
  }
  .benefits{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pricebox{
    grid-template-columns:1fr 132px;
    text-align:left;
    justify-items:stretch;
  }
  .save{
    width:132px;
  }
  .sections-3 .card{
    padding:24px;
  }
  .product-cta{
    align-items:stretch;
  }
}

@media (max-width:720px){
  .benefits{
    grid-template-columns:1fr;
  }
  .pricebox{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    padding:18px 16px;
  }
  .save{
    width:min(100%,180px);
    min-height:86px;
  }
}

@media (max-width:560px){
  body{
    font-size:15.5px;
  }
  .product-main{
    padding-top:86px;
  }
  .buy-card,
  .sections-3 .card,
  .trust-strip-premium{
    padding:18px;
    border-radius:18px;
  }
  .badges{
    margin-bottom:12px;
  }
  .badge{
    height:26px;
    font-size:.68rem;
    padding-inline:9px;
  }
  .buy-card h1{
    margin-bottom:10px;
    font-size:1.72rem;
    line-height:1.06;
    letter-spacing:-.04em;
  }
  .subtitle{
    font-size:.98rem;
    line-height:1.4;
  }
  .desc{
    font-size:.91rem;
    line-height:1.62;
  }
  .benefit{
    min-height:54px;
    font-size:.84rem;
  }
  .price{
    font-size:2.35rem;
  }
  .old,
  .promo-label,
  .iva{
    font-size:.9rem;
  }
  .actions{
    grid-template-columns:1fr;
  }
  .actions .p-btn{
  gap:12px;
    min-height:52px;
  }
  .product-policy-note{
    font-size:.84rem;
  }
  .sections-3{
    margin-top:22px;
    gap:14px;
  }
  .sections-3 .card h2{
    font-size:1.13rem;
  }
  .sections-3 .card p,
  .sections-3 .card ul{
    font-size:.91rem;
    line-height:1.62;
  }
  .product-info-accordion .info-panel > summary{
    min-height:66px;
    padding:9px 15px;
  }
  .product-info-accordion .left span:last-child{
    font-size:1rem;
  }
  .product-detail-content{
    padding:0 18px 20px;
  }
  .include-list-clean .check,
  .spec-table-pro td,
  .compare-card ul{
    font-size:.91rem;
  }
  .trust-strip-premium h2{
    font-size:1.32rem;
  }
  .trust-copy strong{
    font-size:.92rem;
  }
  .trust-copy small{
    font-size:.84rem;
  }
  .product-cta{
    margin-top:22px;
    padding:22px 18px;
    border-radius:18px;
  }
  .product-cta h2{
    font-size:1.24rem;
  }
  .mobile-sticky{
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  }
  .mobile-sticky .p-btn{
    min-height:52px;
  }
}


/* ============================================================
   UX premium v2 — acordeón visible
   Nota: el WhatsApp flotante se controla solo desde global.css/footer global.
   ============================================================ */
.mobile-sticky{
  display:none !important;
}
@media (max-width:1060px){
  body{padding-bottom:0 !important;}
}

/* Acordeones: toda la fila comunica que es desplegable */
.product-info-accordion summary{
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.product-info-accordion summary:hover,
.product-info-accordion details[open] > summary{
  background:#F7FAFE;
}

.product-info-accordion details[open] > summary .left span:last-child,
.product-info-accordion summary:hover .left span:last-child{
  color:var(--blue);
}

.product-info-accordion .chev{
  box-shadow:inset 0 0 0 1px rgba(31,78,163,.06);
}

.product-info-accordion details[open] > summary .chev{
  background:#EAF2FF;
  color:var(--blue);
  box-shadow:inset 0 0 0 1px rgba(31,78,163,.14);
}

/* Pista visual temporal para que el usuario entienda que hay contenido desplegable */
.product-info-accordion.accordion-hint-active details:not([open]) .chev{
  animation:accordionChevronPulse 1.35s ease-in-out infinite;
}

@keyframes accordionChevronPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(31,78,163,.20), inset 0 0 0 1px rgba(31,78,163,.08);
  }
  50%{
    transform:scale(1.08);
    box-shadow:0 0 0 8px rgba(31,78,163,0), inset 0 0 0 1px rgba(31,78,163,.18);
  }
}

/* Si un panel está abierto, el contenido se presenta con respiración premium */
.product-info-accordion details[open] .product-detail-content{
  animation:accordionContentIn .22s ease both;
}

@keyframes accordionContentIn{
  from{opacity:0; transform:translateY(-4px);}
  to{opacity:1; transform:translateY(0);}
}

/* Garantía: mejor lectura en celular */
@media (max-width:560px){
  .trust-strip-premium h2{
    max-width:340px;
    margin-left:auto;
    margin-right:auto;
    font-size:clamp(1.28rem,6vw,1.48rem);
    line-height:1.12;
    letter-spacing:-.04em;
  }

  .trust-strip-premium{
    padding-top:26px;
  }
}


/* ============================================================
   Ajuste de scroll — acordeones abren desde su encabezado
   ============================================================ */
.product-info-accordion details{
  scroll-margin-top:96px;
}

@media (max-width:1060px){
  .product-info-accordion details{
    scroll-margin-top:88px;
  }
}




/* ============================================================
   GEOMAP — Iconos y acordeones premium final v5
   ============================================================ */

/* Botones: WhatsApp y Ficha técnica con peso visual equilibrado */
.actions .p-btn,
.product-cta .p-btn{
  gap:12px !important;
}

.actions .p-btn-primary .button-svg-wa,
.product-cta .p-btn-primary .button-svg-wa{
  width:25px !important;
  height:25px !important;
  flex:0 0 25px !important;
  transform:translateY(.5px) !important;
}

.actions .p-btn-secondary .ficha-premium-icon{
  width:36px !important;
  height:36px !important;
  flex:0 0 36px !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  mix-blend-mode:normal !important;
  filter:drop-shadow(0 3px 9px rgba(4,30,61,.08)) !important;
  transform:translateY(.25px) !important;
}

/* Acordeones: tamaño más cercano a Garantía GeoMap, sin verse exagerados */
.product-info-accordion .summary-icon{
  width:60px !important;
  height:60px !important;
  flex:0 0 60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.product-info-accordion .summary-icon-img{
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:drop-shadow(0 8px 15px rgba(8,44,105,.15)) !important;
}

.product-info-accordion .summary-icon-kit{
  width:56px !important;
  height:56px !important;
}

.product-info-accordion .summary-icon-specs{
  width:57px !important;
  height:57px !important;
}

.product-info-accordion .summary-icon-vsimg{
  width:56px !important;
  height:56px !important;
}

.product-info-accordion .info-panel > summary{
  min-height:78px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.product-info-accordion .left{
  gap:14px !important;
}

/* Estados de apertura/cierre más claros */
.product-info-accordion summary{
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent;
}

.product-info-accordion details[open] > summary{
  background:#F7FAFE !important;
}

.product-info-accordion details[open] > summary .left span:last-child{
  color:var(--blue) !important;
}

.product-info-accordion .chev{
  transition:transform .24s ease, background-color .24s ease, box-shadow .24s ease, color .24s ease !important;
}

.product-info-accordion details[open] > summary .chev{
  transform:rotate(180deg) !important;
  background:#EAF2FF !important;
  color:var(--blue) !important;
  box-shadow:inset 0 0 0 1px rgba(31,78,163,.14) !important;
}

/* Pista visual inicial: indica que las filas son desplegables */
.product-info-accordion.accordion-hint-active details:not([open]) .chev{
  animation:accordionChevronPulse 1.35s ease-in-out infinite;
}

@keyframes accordionChevronPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(31,78,163,.22), inset 0 0 0 1px rgba(31,78,163,.08);
  }
  50%{
    transform:scale(1.08);
    box-shadow:0 0 0 8px rgba(31,78,163,0), inset 0 0 0 1px rgba(31,78,163,.18);
  }
}

.product-info-accordion details[open] .product-detail-content{
  animation:accordionContentIn .22s ease both;
}

@keyframes accordionContentIn{
  from{opacity:0; transform:translateY(-4px);}
  to{opacity:1; transform:translateY(0);}
}

/* Referencia: garantía se mantiene igual */
.trust-icon-circle,
.trust-icon-img{
  width:58px !important;
  height:58px !important;
  flex-basis:58px !important;
}

/* Tablet */
@media (max-width:1060px){
  .actions .p-btn-primary .button-svg-wa,
  .product-cta .p-btn-primary .button-svg-wa{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
  }

  .actions .p-btn-secondary .ficha-premium-icon{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }

  .product-info-accordion .summary-icon{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }

  .product-info-accordion .summary-icon-kit{
    width:54px !important;
    height:54px !important;
  }

  .product-info-accordion .summary-icon-specs{
    width:55px !important;
    height:55px !important;
  }

  .product-info-accordion .summary-icon-vsimg{
    width:54px !important;
    height:54px !important;
  }

  .product-info-accordion .info-panel > summary{
    min-height:76px !important;
  }

  .trust-icon-circle,
  .trust-icon-img{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
}

/* Celular */
@media (max-width:560px){
  .actions .p-btn{
    gap:12px !important;
  }

  .actions .p-btn-primary .button-svg-wa,
  .product-cta .p-btn-primary .button-svg-wa{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
  }

  .actions .p-btn-secondary .ficha-premium-icon{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }

  .product-info-accordion .summary-icon{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }

  .product-info-accordion .summary-icon-kit{
    width:52px !important;
    height:52px !important;
  }

  .product-info-accordion .summary-icon-specs{
    width:53px !important;
    height:53px !important;
  }

  .product-info-accordion .summary-icon-vsimg{
    width:52px !important;
    height:52px !important;
  }

  .product-info-accordion .info-panel > summary{
    min-height:74px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
  }

  .product-info-accordion .left{
    gap:12px !important;
  }

  .trust-icon-circle,
  .trust-icon-img{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }
}


/* Promoción */
.promo-label{
  color:#8A5A00 !important;
}


/* ============================================================
   Estado de inventario — Sin existencia temporal
   ============================================================ */
.stock-notice{
  margin-top:14px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 14px;
  border-radius:14px;
  font-size:.91rem;
  line-height:1.45;
  font-weight:650;
}
.stock-notice-out{
  background:#FFF7E8;
  border:1px solid rgba(243,107,33,.28);
  color:#49351D;
}
.stock-notice-in{
  background:#ECFDF3;
  border:1px solid rgba(18,183,106,.22);
  color:#184B2C;
}
.stock-notice b,
.stock-notice strong{
  color:var(--navblue);
  font-weight:850;
}
.stock-notice-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  background:transparent;
  box-shadow:none;
}
.stock-notice-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 10px 20px rgba(243,107,33,.10));
}
@media (max-width:560px){
  .stock-notice{
    padding:12px 12px;
    font-size:.88rem;
  }
  .stock-notice-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
}



/* V19 WordPress safety: la página usa header/footer global del tema. */
body.geomap-site .product-main{padding-top:104px;}
@media(max-width:1060px){body.geomap-site .product-main{padding-top:88px;}}


/* ============================================================
   Guard footer global — Producto piloto
   Mantiene el footer/header del tema sin contaminación de reglas comerciales
   de la ficha de producto. No modifica el cuerpo del producto.
   ============================================================ */
body.geomap-site .footer h3,
body.geomap-site .footer-contact-item strong,
body.geomap-site .footer .mex-head,
body.geomap-site .footer-bottom{
  color:#fff !important;
}
body.geomap-site .footer-brand p,
body.geomap-site .footer-contact-item span,
body.geomap-site .footer-contact-item a,
body.geomap-site .footer .mex-card p,
body.geomap-site .footer-address{
  color:rgba(255,255,255,.80) !important;
}
body.geomap-site .footer-contact-item svg{
  stroke:var(--orange) !important;
  fill:none !important;
}
body.geomap-site .footer .quick a,
body.geomap-site .footer .legal a{
  color:#fff !important;
}
body.geomap-site .footer .legal a:hover{
  color:var(--orange) !important;
}
body.geomap-site .footer .socials svg{
  fill:#fff !important;
}
body.geomap-site .footer .socials a:hover svg{
  fill:var(--orange) !important;
}
body.geomap-site .footer .quick a.active,
body.geomap-site .footer .quick a:hover{
  color:#fff !important;
}


