/* ============================================================
   home-premium-styles.css
   Estilos externos del Home IZACORP (ihv2-, izh-, iz-inicio)
   Extraidos de fix-full-width-pages.php - 2026-04-15
   ============================================================ */

/* ==========================================================================
   VARIABLES & RESET
   ========================================================================== */
:root {
  --iza-navy:       #001A38;
  --iza-navy-deep:  #050E18;
  --iza-blue:       #0052CC;
  --iza-blue-mid:   #0066FF;
  --iza-accent:     #F5A623;
  --iza-accent-dim: rgba(245,166,35,0.15);
  --iza-bg:         #F4F7FB;
  --iza-bg-dark:    #0A1628;
  --iza-gray:       #64748B;
  --iza-border:     #E1E8F0;
  --font-head:      'Barlow Condensed', system-ui, sans-serif;
  --font-body:      'Barlow', system-ui, sans-serif;
  --ease-out:       cubic-bezier(0.16,1,0.3,1);
  --ease-spring:    cubic-bezier(0.175,0.885,0.32,1.275);
  /* --iza-hero-h está centralizado en iza-header.css */
}

.ihv2 { font-family:var(--font-body); color:var(--iza-navy); overflow-x:hidden; }
.ihv2 *, .ihv2 *::before, .ihv2 *::after { box-sizing:border-box; }
.ihv2 h1,.ihv2 h2,.ihv2 h3,.ihv2 h4 {
  font-family:var(--font-head);
  letter-spacing:-0.01em;
  line-height:1.1;
  font-weight:800;
}
/* Barlow Condensed necesita text-transform en h1/h2 para máximo impacto */
.ihv2 h1 { font-weight:900; letter-spacing:0; }
.ihv2 h2 { font-weight:800; }
.ihv2 p, .ihv2 li, .ihv2 span:not([class*="ihv2"]) { font-family:var(--font-body); line-height:1.7; }
.ihv2 a { text-decoration:none; }
/* ── Contenedor de botones hero: nunca estirar botones ── */
.ihv2-hero-btns {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;   /* evita stretch vertical */
  gap: 14px !important;
}

.ihv2-hero-cta {
  display: inline-flex !important;  /* override inline-block del DB */
  align-items: center !important;
  align-self: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important; /* padding incluido en la altura */
  transition: transform .25s cubic-bezier(0.175,0.885,0.32,1.275), box-shadow .25s ease !important;
  will-change: transform;
  min-height: 52px !important;
  max-height: 52px !important;
}
.ihv2-hero-cta:hover {
  transform: translateY(-4px) scale(1.04) !important;
  box-shadow: 0 16px 36px rgba(245,166,35,0.6) !important;
}
.ihv2-hero-cta:active {
  transform: translateY(-1px) scale(1.01) !important;
}
.ihv2-hero-ghost {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: transform .25s cubic-bezier(0.175,0.885,0.32,1.275), background .25s ease, border-color .25s ease, color .25s ease !important;
  will-change: transform;
  min-height: 52px !important;
  max-height: 52px !important;
}
.ihv2-hero-ghost:hover {
  transform: translateY(-4px) scale(1.04) !important;
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.6) !important;
  color: #fff !important;
}
.ihv2-hero-ghost:active {
  transform: translateY(-1px) scale(1.01) !important;
}
.ihv2 img { max-width:100%; }

.ihv2-wrap   { max-width:1200px; margin:0 auto; padding:0 24px; }
.ihv2-section{ padding:96px 0; }

/* ==========================================================================
   HERO FIX
   ========================================================================== */
.wp-block-html { margin-block-start:0 !important; }
/* ══════════════════════════════════════════════════════════════
   HOME HERO V3 — Espeja al detalle .n26-hero de Nosotros
   ══════════════════════════════════════════════════════════════ */
.ihv2-hero2 {
  position: relative;
  min-height: var(--iza-hero-h);
  height: var(--iza-hero-h);
  max-height: var(--iza-hero-h);
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 40px 60px 60px;
  overflow: hidden;
  text-align: left;
  background-color: #002752;
  margin: 0 !important;
}
.ihv2-hero2::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right,rgba(0,26,56,0.92) 0%,rgba(0,26,56,0.75) 40%,rgba(0,26,56,0.20) 70%,transparent 100%),
    linear-gradient(to top,rgba(0,12,35,0.60) 0%,rgba(0,12,35,0.20) 20%,transparent 45%);
  z-index: 1;
  pointer-events: none;
}
.ihv2-hero2::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle,rgba(255,255,255,0.045) 1px,transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
  z-index: 2;
}
.ihv2-hero2-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  animation: ihv2-zoom-hero 10s ease-out forwards;
  will-change: transform;
}
.ihv2-hero2-content {
  position: relative;
  z-index: 3;
  max-width: 750px;
  text-align: left;
}

/* Badge — espeja al .n26-chip.gold de Nosotros */
.ihv2-hero2-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: rgba(5,14,24,0.75);
  border: 1px solid rgba(245,166,35,0.7);
  color: #F5A623;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 8px 18px;
  border-radius: 50px;
  font-family: 'Barlow Condensed', sans-serif;
  backdrop-filter: blur(6px);
  margin-bottom: 0 !important;
  width: auto !important;
}

/* H1 — espeja al .n26-hero-title */
.ihv2-hero2-h1 {
  font-size: clamp(1.8rem, 3.4vw, 3rem);
  text-transform: uppercase;
  letter-spacing: -0.03em;
  background: linear-gradient(to bottom right, #ffffff, #c8d8f0);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 18px 0 14px !important;
  line-height: 1.08;
  font-weight: 900;
  color: #fff;
}
.ihv2-hero2-h1 em {
  font-style: normal;
  background: linear-gradient(to right, #F5A623, #ffbf47);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Subtítulo — espeja al .n26-hero-desc */
.ihv2-hero2-desc {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.78);
  max-width: 580px;
  margin: 0 0 20px !important;
  line-height: 1.7;
}

/* Botones — espeja a .n26-btn-primary y .n26-btn-ghost */
.ihv2-hero2-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.ihv2-hero2-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: linear-gradient(135deg, #F5A623, #ffbf47);
  color: #002752 !important;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 13px 26px;
  border-radius: 50px;
  text-decoration: none;
  border: none;
  text-transform: none;
  letter-spacing: 0.02em;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 8px 24px rgba(245,166,35,0.32);
  font-family: inherit;
}
.ihv2-hero2-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(245,166,35,0.45);
  color: #002752;
  text-decoration: none;
}
.ihv2-hero2-cta-ghost {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: transparent;
  border: 1.5px solid rgba(34,197,94,0.85);
  color: #fff !important;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 12px 26px;
  border-radius: 50px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background .2s, border-color .2s;
}
.ihv2-hero2-cta-ghost:hover {
  background: rgba(34,197,94,0.12);
  border-color: rgba(34,197,94,1);
  color: #fff;
  text-decoration: none;
}

/* Tags — espeja a .n26-hero-tags */
.ihv2-hero2-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 32px !important;
}
.ihv2-hero2-tags > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 50px;
  padding: 6px 14px;
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(34,197,94,0.95);
  backdrop-filter: blur(4px);
}

@media (max-width: 768px) {
  .ihv2-hero2 { padding: 40px 24px; height: auto; max-height: none; }
  .ihv2-hero2-h1 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .ihv2-hero2-desc { font-size: 0.88rem; }
  .ihv2-hero2-content { max-width: 100%; }
  .ihv2-hero2-btns a { width: 100%; justify-content: center; }
}
@keyframes ihv2-zoom-hero{from{transform:scale(1.08)}to{transform:scale(1)}}

/* Hero badge — destello + glow */
.ihv2-hero-badge {
  position: relative;
  overflow: hidden;
  animation: ihv2-badge-glow 1.8s ease-in-out infinite;
}
.ihv2-hero-badge::before {
  content: '';
  position: absolute;
  top: 0; left: -120%;
  width: 55%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.45) 50%, transparent 100%);
  transform: skewX(-15deg);
  animation: ihv2-badge-shine 2.2s ease-in-out infinite;
}
@keyframes ihv2-badge-shine {
  0%   { left: -120%; }
  60%  { left: 160%;  }
  100% { left: 160%;  }
}
@keyframes ihv2-badge-glow {
  0%,100% { box-shadow: 0 0 6px 1px rgba(245,166,35,0.35); border-color: rgba(245,166,35,0.45); }
  50%     { box-shadow: 0 0 22px 7px rgba(245,166,35,0.7);  border-color: rgba(245,166,35,1);    }
}
@media(prefers-reduced-motion:reduce){
  .ihv2-hero-badge, .ihv2-hero-badge::before { animation:none !important; }
}

/* ==========================================================================
   SCROLL-REVEAL — Transition approach (estándar sitios modernos)
   Elementos empiezan invisible abajo → transition suave al hacer scroll.
   JS agrega .iz-visible cuando el elemento entra al viewport.
   ========================================================================== */

/* Estado inicial: invisible + desplazado abajo */
.iz-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1),
              transform 0.65s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}

/* Variante scale (cards de producto) */
.iz-reveal.iz-scale {
  transform: scale(0.94) translateY(20px);
  transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1),
              transform 0.7s cubic-bezier(0.22,1,0.36,1);
}

/* Variante desde la izquierda */
.iz-reveal.iz-left {
  transform: translateX(-32px);
}

/* Estado visible: clase agregada por JS */
.iz-reveal.iz-visible {
  opacity: 1;
  transform: none;
}

/* Delays escalonados para grids (natural, como Stripe/Linear) */
.iz-reveal-d1 { transition-delay: 0.08s; }
.iz-reveal-d2 { transition-delay: 0.16s; }
.iz-reveal-d3 { transition-delay: 0.24s; }
.iz-reveal-d4 { transition-delay: 0.32s; }

/* Accesibilidad: respetar prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .iz-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Mobile + Tablet: desactivar animaciones iz-reveal — en conexiones lentas el
   contenido quedaría invisible si el IntersectionObserver no dispara a tiempo.
   En desktop (>900px) la animación sí aplica (conexión típicamente más rápida) */
@media (max-width: 900px) {
  .iz-reveal, .iz-reveal.iz-scale, .iz-reveal.iz-left {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ==========================================================================
   TICKER BANNER
   ========================================================================== */
.ihv2-ticker {
  background:linear-gradient(90deg,#000F24,#00214A);
  color:#7FAACC;
  text-align:center;
  padding:10px 20px;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.5px;
  border-bottom:1px solid rgba(0,82,204,.25);
  font-family:var(--font-head);
  position:relative;
  overflow:hidden;
}
.ihv2-ticker::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(0,82,204,.08) 50%, transparent 100%);
  animation: ticker-shine 3s ease-in-out infinite;
}
@keyframes ticker-shine {
  0%,100%{ opacity:0; transform:translateX(-100%); }
  50%{ opacity:1; transform:translateX(100%); }
}
.ihv2-ticker-dot {
  display:inline-block; width:8px; height:8px;
  background:var(--iza-accent); border-radius:50%;
  margin-right:10px; vertical-align:middle;
  animation: ticker-pulse 2s ease-in-out infinite;
}
@keyframes ticker-pulse {
  0%,100%{ box-shadow:0 0 0 0 rgba(245,166,35,.6); }
  50%{ box-shadow:0 0 0 6px rgba(245,166,35,0); }
}

/* ==========================================================================
   SECTION LABELS
   ========================================================================== */
.ihv2-label {
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 14px; border-radius:50px;
  font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1.8px;
  font-family:var(--font-head); margin-bottom:16px;
}
.ihv2-label--blue { background:rgba(0,82,204,.1); color:var(--iza-blue); }
.ihv2-label--gold { background:rgba(245,166,35,.15); color:#C17F1A; }
.ihv2-label--white{ background:rgba(255,255,255,.12); color:rgba(255,255,255,.85); }

.ihv2-title {
  font-size:clamp(2.4rem,4vw,3.8rem);
  margin:0 0 18px; color:var(--iza-navy);
  font-family:var(--font-head);
  font-weight:800; letter-spacing:0.01em;
}
.ihv2-title--white{ color:#fff !important; }
.ihv2-sub   { font-size:1.05rem; color:var(--iza-gray); line-height:1.75; max-width:660px; font-family:var(--font-body); font-weight:400; }
.ihv2-sub--white { color:rgba(255,255,255,.7); }
.ihv2-header{ margin-bottom:56px; }
.ihv2-header--center { text-align:center; }
.ihv2-header--center .ihv2-sub { margin:0 auto; }

/* ==========================================================================
   1. SERVICES GRID — Soluciones (3 cards claras)
   ========================================================================== */
.ihv2-sol-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
@media(max-width:900px){ .ihv2-sol-grid{ grid-template-columns:1fr; } }

.ihv2-sol-card {
  background:#fff;
  border:1.5px solid var(--iza-border);
  border-radius:20px;
  padding:40px;
  position:relative;
  transition:transform .4s var(--ease-out), box-shadow .4s ease, border-color .4s ease;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.ihv2-sol-card::before {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--iza-blue), var(--iza-accent));
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease-out);
}
.ihv2-sol-card:hover { transform:translateY(-6px); box-shadow:0 20px 48px rgba(0,39,82,.12); border-color:transparent; }
.ihv2-sol-card:hover::before { transform:scaleX(1); }

.ihv2-sol-icon {
  width:64px; height:64px; border-radius:16px;
  background:#EEF6FF;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:28px;
  transition:background .3s;
  flex-shrink:0;
}
.ihv2-sol-icon svg { width:32px; height:32px; display:block; }
.ihv2-sol-card--alert .ihv2-sol-icon { background:#FFF4E0; }
.ihv2-sol-card:hover .ihv2-sol-icon { background:#DDEEFF; }
.ihv2-sol-card--alert:hover .ihv2-sol-icon { background:#FFE8C0; }
.ihv2-sol-card h3 { font-size:1.375rem; font-weight:800; color:var(--iza-navy); margin:0 0 10px; line-height:1.2; }
.ihv2-sol-card p  { font-size:1.05rem; color:var(--iza-gray); line-height:1.7; margin:0 0 20px; }
.ihv2-sol-link    { color:var(--iza-blue); font-weight:700; font-size:.9rem; display:inline-flex; align-items:center; gap:5px; transition:gap .3s; margin-top:auto; }
.ihv2-sol-card:hover .ihv2-sol-link { gap:9px; }

/* ==========================================================================
   2. PRODUCTOS DARK CARDS
   ========================================================================== */
.ihv2-dark-section {
  background:var(--iza-bg-dark);
  position:relative;
  overflow:hidden;
}
.ihv2-dark-section::before {
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:50px 50px;
  pointer-events:none;
}
.ihv2-prod-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  position:relative; z-index:1;
}
@media(max-width:900px){ .ihv2-prod-grid{ grid-template-columns:1fr; } }

.ihv2-prod-card {
  height:440px;
  position:relative; border-radius:20px; overflow:hidden;
  display:block; text-decoration:none;
  border:1px solid rgba(255,255,255,.07);
  transition:transform .5s var(--ease-out), box-shadow .5s ease;
}
.ihv2-prod-card:hover { transform:translateY(-8px); box-shadow:0 30px 60px rgba(0,0,0,.5); }

.ihv2-prod-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:top center;
  transition:transform .8s var(--ease-out);
}
.ihv2-prod-card:hover .ihv2-prod-bg { transform:scale(1.07); }

.ihv2-prod-grad {
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,14,24,0) 0%, rgba(5,14,24,.95) 100%);
  transition:background .4s ease;
}
.ihv2-prod-card:hover .ihv2-prod-grad {
  background:linear-gradient(180deg, rgba(0,82,204,.15) 0%, rgba(5,14,24,.98) 100%);
}
.ihv2-prod-info {
  position:absolute; bottom:0; left:0; right:0;
  padding:36px 28px;
  transform:translateY(0);
  transition:transform .4s var(--ease-spring);
}
.ihv2-prod-tag {
  display:inline-block; background:var(--iza-accent); color:var(--iza-navy-deep);
  font-size:.65rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 12px; border-radius:50px; margin-bottom:12px;
}
.ihv2-prod-info h3 { font-size:1.55rem; color:#fff; margin:0 0 10px; }
.ihv2-prod-info p  { color:rgba(160,196,235,.8); font-size:.9rem; line-height:1.55; margin:0; }
/* Especificidad alta para ganarle al inline !important section[style*=background:#fff] p:not([class]) */
.ihv2-prod-grid .ihv2-prod-card .ihv2-prod-info p { color:rgba(160,196,235,.8) !important; }
.ihv2-prod-cta {
  display:block; margin-top:18px; color:var(--iza-accent);
  font-weight:700; font-size:.88rem; font-family:var(--font-head);
  opacity:1; transform:translateY(0);
  transition:all .4s var(--ease-spring);
}
/* Solo en desktop con mouse: activar efecto hover (excluye móvil y DevTools responsive) */
@media (hover: hover) and (pointer: fine) and (min-width: 901px) {
  .ihv2-prod-info { transform:translateY(16px); }
  .ihv2-prod-card:hover .ihv2-prod-info { transform:translateY(0); }
  .ihv2-prod-cta { opacity:0; transform:translateY(8px); }
  .ihv2-prod-card:hover .ihv2-prod-cta { opacity:1; transform:translateY(0); }
}

/* ==========================================================================
   3. SERVICIOS B2B (3 columnas)
   ========================================================================== */
.ihv2-svc-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
@media(max-width:900px){ .ihv2-svc-grid{ grid-template-columns:1fr; } }

.ihv2-svc-card {
  border:1.5px solid var(--iza-border);
  border-radius:20px; padding:36px 28px;
  background:#fff;
  transition:transform .4s var(--ease-out), box-shadow .4s ease, border-color .3s;
}
.ihv2-svc-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,39,82,.1); border-color:var(--iza-blue); }

.ihv2-svc-icon {
  width:52px; height:52px; border-radius:14px;
  background:var(--iza-bg); display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; margin-bottom:20px;
  transition:background .3s;
}
.ihv2-svc-card:hover .ihv2-svc-icon { background:rgba(0,82,204,.1); }
.ihv2-svc-card h3 { font-size:1.1rem; font-weight:800; color:var(--iza-navy); margin:0 0 10px; }
.ihv2-svc-card p  { font-size:.88rem; color:var(--iza-gray); line-height:1.78; margin:0 0 20px; }
.ihv2-svc-link    { color:var(--iza-blue); font-weight:700; font-size:.87rem; display:inline-flex; align-items:center; gap:5px; transition:gap .3s; }
.ihv2-svc-card:hover .ihv2-svc-link { gap:9px; }

.ihv2-svc-cta { text-align:center; margin-top:52px; }
.ihv2-btn-gold {
  display:inline-block; background:var(--iza-accent); color:var(--iza-navy-deep);
  font-weight:800; font-size:.95rem; font-family:var(--font-head);
  padding:16px 44px; border-radius:50px; text-decoration:none;
  box-shadow:0 4px 24px rgba(245,166,35,.35);
  transition:transform .3s var(--ease-spring), box-shadow .3s;
}
.ihv2-btn-gold:hover { transform:translateY(-4px); box-shadow:0 8px 36px rgba(245,166,35,.5); color:var(--iza-navy-deep); }

/* ==========================================================================
   4. PROCESO — Timeline Clean
   ========================================================================== */
.ihv2-process-timeline {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
  margin-top:56px;
}
/* Línea horizontal conectora */
.ihv2-process-timeline::before {
  content:'';
  position:absolute;
  top:44px; left:12.5%; right:12.5%;
  height:2px;
  background:linear-gradient(90deg, var(--iza-blue) 0%, var(--iza-accent) 50%, var(--iza-blue) 100%);
  opacity:.25;
  z-index:0;
}
@media(max-width:900px){
  .ihv2-process-timeline { grid-template-columns:1fr 1fr; }
  .ihv2-process-timeline::before { display:none; }
}
@media(max-width:500px){
  .ihv2-process-timeline { grid-template-columns:1fr; }
}

.ihv2-pstep {
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:0 20px 0;
}

/* Círculo numerado — estado BASE siempre visible y nítido */
.ihv2-pstep-num {
  width:90px; height:90px; border-radius:50%;
  background:#fff;
  border:3px solid #b8d0ee;
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; line-height:1;
  position:relative;
  margin:0 auto 28px;
  transition:background .5s var(--ease-out), border-color .5s, box-shadow .5s, transform .5s var(--ease-spring);
  filter:none;
  box-shadow:0 4px 16px rgba(0,86,179,.10);
}
/* Anillo exterior pulsante — solo cuando activo */
.ihv2-pstep-num::before {
  content:'';
  position:absolute; inset:-8px; border-radius:50%;
  border:2px solid rgba(0,86,179,.0);
  transition:border-color .5s;
}
/* Estado BASE iluminado (tras la intro, todos quedan así) */
.ihv2-pstep-num.pstep-lit {
  background:#fff;
  border-color:#b8d0ee;
  box-shadow:0 4px 16px rgba(0,86,179,.10);
  transform:translateY(-4px) scale(1.02);
  filter:grayscale(0) brightness(1);
}

/* Estado ACTIVO DEL LOOP — el paso que está "encendido" ahora */
.ihv2-pstep-num.pstep-current {
  background:#fff;
  border-color:var(--iza-blue);
  box-shadow:0 0 0 8px rgba(0,86,179,.13), 0 18px 44px rgba(0,86,179,.28);
  transform:translateY(-10px) scale(1.12);
  filter:grayscale(0) brightness(1);
}

/* Anillo pulsante sólo en el paso current */
.ihv2-pstep-num::before {
  content:''; position:absolute; inset:-8px; border-radius:50%;
  border:2px solid transparent; transition:border-color .4s;
  pointer-events:none;
}
.ihv2-pstep-num.pstep-current::before {
  border-color:rgba(0,86,179,.22);
  animation:pstep-ring 1.6s ease-in-out infinite;
}
@keyframes pstep-ring {
  0%,100% { transform:scale(1);    opacity:1; }
  50%      { transform:scale(1.32); opacity:0; }
}

/* Tag y texto — current */
.ihv2-pstep.pstep-current-step .ihv2-pstep-tag { color:var(--iza-blue); }
.ihv2-pstep.pstep-current-step h3,
.ihv2-pstep.pstep-current-step h4               { color:var(--iza-navy); }
.ihv2-pstep.pstep-current-step p                { color:#5a7a9a; }

/* Icono */
.ihv2-pstep-icon { font-size:1.7rem; line-height:1; pointer-events:none; }

/* Tag "Paso 0X" */
.ihv2-pstep-tag {
  font-size:.68rem; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; color:var(--iza-blue);
  margin-bottom:10px; font-family:var(--font-head);
  transition:color .5s;
}
.ihv2-pstep.pstep-active .ihv2-pstep-tag { color:var(--iza-blue); }

.ihv2-pstep h3,
.ihv2-pstep h4 {
  font-size:1.05rem; font-weight:800;
  color:var(--iza-navy); margin:0 0 10px; line-height:1.3;
  transition:color .5s;
}
.ihv2-pstep.pstep-active h3,
.ihv2-pstep.pstep-active h4 { color:var(--iza-navy); }

.ihv2-pstep p {
  font-size:.875rem; color:#3a5a7a;
  line-height:1.7; margin:0;
  transition:color .5s;
}
.ihv2-pstep.pstep-active p { color:#2a4a6a; }

/* ── Barra de progreso entre pasos ── */
.ihv2-pstep-arrow {
  position:absolute;
  top:41px;                     /* centro del círculo 90px */
  left:calc(50% + 50px);       /* justo al salir del círculo */
  right:calc(-50% + 50px);     /* justo antes del siguiente círculo */
  height:6px;
  background:#c8dff5;
  border-radius:6px;
  overflow:hidden;
  z-index:2;
}
.ihv2-pstep-arrow-fill {
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--iza-blue) 0%, var(--iza-accent) 100%);
  border-radius:6px;
  transition:width 1.6s cubic-bezier(0.4,0,0.2,1);
}
/* Barra llena */
.ihv2-pstep-arrow.arrow-lit .ihv2-pstep-arrow-fill { width:100%; }
/* Barra se vacía sin transición al reiniciar */
.ihv2-pstep-arrow.arrow-reset .ihv2-pstep-arrow-fill { width:0%; transition:none; }
@media(max-width:900px){ .ihv2-pstep-arrow{ display:none; } }

/* ==========================================================================
   4b. COBERTURA LATINOAMÉRICA
   ========================================================================== */
.ihv2-coverage {
  background:var(--iza-navy-deep);
  position:relative; overflow:hidden;
}
.ihv2-coverage-inner {
  display:grid; grid-template-columns:1fr 480px; gap:64px;
  align-items:center;
}
@media(max-width:960px){
  .ihv2-coverage-inner { grid-template-columns:1fr; gap:40px; }
}

/* Texto lado izquierdo */
.ihv2-cov-title {
  font-size:clamp(1.9rem,3vw,2.8rem); font-weight:900;
  color:#fff; line-height:1.15; margin:0 0 20px;
}
.ihv2-cov-sub {
  font-size:1rem; color:rgba(180,210,240,.75);
  line-height:1.7; margin:0 0 36px;
}
.ihv2-cov-countries {
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px;
}
.ihv2-cov-tag {
  display:flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:50px; padding:7px 16px;
  font-size:.82rem; font-weight:600; color:rgba(220,235,255,.85);
  font-family:var(--font-head);
  transition:background .3s, border-color .3s;
}
.ihv2-cov-tag:hover { background:rgba(0,86,179,.25); border-color:rgba(0,86,179,.5); }
.ihv2-cov-tag-flag { font-size:1rem; }

/* Mapa SVG lado derecho */
.ihv2-map-wrap {
  position:relative;
}
.ihv2-map-svg {
  width:100%; height:auto;
  filter:drop-shadow(0 20px 60px rgba(0,0,0,.4));
}
/* País base */
.ihv2-map-svg .cty {
  fill:#1a3a5c;
  stroke:#0d2a45;
  stroke-width:0.5;
  transition:fill .3s;
}
/* Perú destacado */
.ihv2-map-svg .cty-peru {
  fill:var(--iza-blue);
  filter:drop-shadow(0 0 8px rgba(0,86,179,.6));
}
/* Países con cobertura */
.ihv2-map-svg .cty-active {
  fill:#1e4d7a;
  cursor:pointer;
}
.ihv2-map-svg .cty-active:hover { fill:#2563a8; }

/* Pines / Markers */
.ihv2-map-pin {
  position:absolute;
  transform:translate(-50%, -100%);
  cursor:default;
}
.ihv2-pin-dot {
  width:12px; height:12px; border-radius:50%;
  background:var(--iza-accent);
  box-shadow:0 0 0 4px rgba(245,166,35,.25);
  margin:0 auto;
  animation:pin-pulse 2.5s ease-in-out infinite;
}
.ihv2-pin-dot.pin-main {
  width:16px; height:16px;
  background:#fff;
  box-shadow:0 0 0 5px rgba(0,86,179,.5), 0 0 0 10px rgba(0,86,179,.2);
}
.ihv2-pin-label {
  font-size:.65rem; font-weight:700; font-family:var(--font-head);
  color:rgba(255,255,255,.7); text-transform:uppercase;
  letter-spacing:.5px; text-align:center; margin-top:3px;
  white-space:nowrap;
}
@keyframes pin-pulse {
  0%,100% { box-shadow:0 0 0 4px rgba(245,166,35,.25); }
  50%      { box-shadow:0 0 0 8px rgba(245,166,35,.05); }
}

/* ==========================================================================
   5. POR QUÉ IZACORP (Dark) + STATS
   ========================================================================== */
.ihv2-why-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  margin-bottom:56px;
}
@media(max-width:900px){ .ihv2-why-grid{ grid-template-columns:1fr; } }

.ihv2-why-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px; padding:36px 28px;
  transition:transform .4s var(--ease-out), background .4s, border-color .4s;
}
.ihv2-why-card:hover {
  transform:translateY(-6px);
  background:rgba(255,255,255,.07);
  border-color:rgba(245,166,35,.35);
}
.ihv2-why-icon { font-size:2.2rem; margin-bottom:18px; }
.ihv2-why-card h3,
.ihv2-why-card h4 { font-size:1.15rem; font-weight:800; color:#fff; margin:0 0 10px; }
.ihv2-why-card p  { font-size:.9rem; color:rgba(160,196,235,.8); line-height:1.7; margin:0; }

/* Stats */
.ihv2-stats-bar {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:rgba(255,255,255,.08);
  border-radius:20px; overflow:hidden;
}
@media(max-width:700px){ .ihv2-stats-bar{ grid-template-columns:1fr 1fr; } }

.ihv2-stat {
  background:rgba(255,255,255,.03);
  padding:36px 24px; text-align:center;
  transition:background .3s;
}
.ihv2-stat:hover { background:rgba(255,255,255,.07); }
.ihv2-stat-num {
  font-size: clamp(2rem, 5vw, 3.2rem); font-weight:900; font-family:var(--font-head);
  color:#fff; line-height:1; display:block;
}
.ihv2-stat-num .stat-plus { font-size:2rem; color:var(--iza-accent); }
.ihv2-stat-label {
  display:block; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:2px;
  color:rgba(160,196,235,.65); margin-top:10px;
}

/* ==========================================================================
   6. CLIENTES MARQUEE
   ========================================================================== */
.ihv2-marquee-wrap {
  overflow:hidden; width:100%; position:relative;
}
.ihv2-marquee-wrap::before, .ihv2-marquee-wrap::after {
  content:''; position:absolute; top:0; width:12%; height:100%; z-index:2; pointer-events:none;
}
.ihv2-marquee-wrap::before { left:0; background:linear-gradient(to right,var(--iza-bg),transparent); }
.ihv2-marquee-wrap::after  { right:0; background:linear-gradient(to left,var(--iza-bg),transparent); }

.ihv2-marquee-track {
  display:flex; align-items:center; width:max-content; max-width:none !important;
  overflow:visible !important;
  animation:ihv2-marquee 28s linear infinite; gap:56px; padding:0 56px;
}
.ihv2-marquee-track.rev { animation:ihv2-marquee-rev 28s linear infinite; }
.ihv2-marquee-track:hover { animation-play-state:paused; }
.ihv2-marquee-track + .ihv2-marquee-track { margin-top:18px; }
.ihv2-marquee-track img {
  height:44px; max-width:140px; object-fit:contain;
  filter:grayscale(100%) opacity(.4);
  transition:all .4s ease;
}
.ihv2-marquee-track img:hover { filter:grayscale(0%) opacity(1); transform:scale(1.1); }

@keyframes ihv2-marquee     { from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes ihv2-marquee-rev { from{ transform:translateX(-50%); } to{ transform:translateX(0); } }

/* ==========================================================================
   7. PROYECTOS
   ========================================================================== */
.ihv2-proy-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  margin-bottom:48px;
}
@media(max-width:900px){ .ihv2-proy-grid{ grid-template-columns:1fr; } }

.ihv2-proy-card {
  position:relative; border-radius:18px; overflow:hidden; height:300px;
  display:block; text-decoration:none;
  transition:transform .4s var(--ease-out), box-shadow .4s;
}
.ihv2-proy-card:hover { transform:translateY(-6px); box-shadow:0 24px 48px rgba(0,0,0,.3); }
.ihv2-proy-img {
  position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform .6s var(--ease-out);
}
.ihv2-proy-card:hover .ihv2-proy-img { transform:scale(1.07); }
.ihv2-proy-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,10,30,.92) 0%, rgba(0,10,30,.25) 55%, transparent 100%);
}
.ihv2-proy-info {
  position:absolute; bottom:0; left:0; right:0; padding:24px 22px;
  transform:translateY(0); transition:transform .4s var(--ease-spring);
}
.ihv2-proy-tag {
  display:inline-block; background:var(--iza-accent); color:var(--iza-navy-deep);
  font-size:.62rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  padding:3px 10px; border-radius:50px; margin-bottom:8px;
}
.ihv2-proy-info h3 { font-size:1.05rem; font-weight:800; color:#fff; margin:0 0 5px; line-height:1.3; }
.ihv2-proy-info p  { font-size:.78rem; color:rgba(255,255,255,.7); margin:0; }
/* Especificidad alta para ganarle al inline !important */
.ihv2-proy-grid .ihv2-proy-card .ihv2-proy-info p { color:rgba(255,255,255,.7) !important; }
/* Solo en desktop con mouse: hover effects */
@media (hover: hover) and (pointer: fine) and (min-width: 901px) {
  .ihv2-proy-info { transform:translateY(5px); }
  .ihv2-proy-card:hover .ihv2-proy-info { transform:translateY(0); }
}

.ihv2-proy-cta { text-align:center; }
.ihv2-btn-outline-blue {
  display:inline-flex; align-items:center; gap:8px;
  border:2px solid var(--iza-blue); color:var(--iza-blue);
  padding:14px 36px; border-radius:50px; font-weight:700; font-size:.95rem;
  text-decoration:none; transition:all .3s;
}
.ihv2-btn-outline-blue:hover { background:var(--iza-blue); color:#fff; gap:12px; }

/* ==========================================================================
   8. CTA FINAL — Rotating glow animation
   ========================================================================== */
.ihv2-cta-box {
  position:relative; max-width:960px; margin:0 auto;
  border-radius:28px; overflow:hidden;
  background:#001228; padding:80px 48px;
  text-align:center; border:1px solid rgba(255,255,255,.1);
  box-shadow: 0 0 0 1px rgba(245,166,35,.1), 0 40px 80px rgba(0,0,0,.4);
}
/* Borde dorado superior */
.ihv2-cta-box::before {
  content:'';
  position:absolute; top:0; left:10%; right:10%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(245,166,35,.7), transparent);
  z-index:3;
}
/* Glow rotante — el truco: gradientes asimétricos en div grande que gira 360° */
.ihv2-cta-orb1 {
  position:absolute; top:-50%; left:-50%; width:200%; height:200%;
  background:
    radial-gradient(ellipse at 25% 35%, rgba(0,102,255,.55) 0%, transparent 40%),
    radial-gradient(ellipse at 75% 65%, rgba(245,166,35,.30) 0%, transparent 35%),
    radial-gradient(ellipse at 60% 20%, rgba(0,180,255,.20) 0%, transparent 30%);
  z-index:0; pointer-events:none;
  animation: cta-rotate 16s linear infinite;
}
/* Segundo glow más lento y en sentido contrario */
.ihv2-cta-orb2 {
  position:absolute; top:-50%; left:-50%; width:200%; height:200%;
  background:
    radial-gradient(ellipse at 70% 30%, rgba(245,120,35,.22) 0%, transparent 35%),
    radial-gradient(ellipse at 30% 70%, rgba(0,82,204,.35) 0%, transparent 40%);
  z-index:0; pointer-events:none;
  animation: cta-rotate-rev 24s linear infinite;
}
/* Grid sutil */
.ihv2-cta-grid {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:44px 44px;
}
@keyframes cta-rotate     { from{transform:rotate(0deg)}   to{transform:rotate(360deg)} }
@keyframes cta-rotate-rev { from{transform:rotate(0deg)}   to{transform:rotate(-360deg)} }

.ihv2-cta-content { position:relative; z-index:1; }
.ihv2-cta-content h2 { font-size:clamp(1.8rem,3vw,2.8rem); color:#fff; margin:0 0 16px; }
.ihv2-cta-content p  { color:rgba(160,196,235,.8); font-size:1.05rem; margin:0 0 40px; }
/* Especificidad 0,3,1 + !important para ganarle al inline style .ihv2-section p:not([class]) (0,2,1 !important) */
.ihv2-section .ihv2-cta-box .ihv2-cta-content p { color:rgba(160,196,235,.85) !important; }

/* Igualar .izh-cta al tamaño estándar del footer-btn (48px alto) — el inline style del post usa 16px 32px */
.izh-cta { padding: 13px 32px !important; font-size: 0.9rem !important; }

/* ── MOBILE: Estandarizar botones CTA ── */
@media (max-width: 767px) {
  /* ── ESTÁNDAR MOBILE: todos los botones CTA = mismo alto y ancho ── */
  .izh-cta,
  .ihv2-btn-outline-blue,
  .ihv2-btn-gold {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 220px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 20px !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.04em !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
}
.ihv2-cta-btns { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; }

.ihv2-btn-primary {
  background:linear-gradient(135deg, var(--iza-accent), #C17F1A);
  color:var(--iza-navy-deep); font-weight:800; font-size:.95rem;
  font-family:var(--font-head); padding:18px 44px; border-radius:50px;
  text-decoration:none; text-transform:uppercase; letter-spacing:.8px;
  box-shadow:0 10px 24px rgba(245,166,35,.35), inset 0 2px 0 rgba(255,255,255,.25);
  transition:transform .3s var(--ease-spring), box-shadow .3s;
}
.ihv2-btn-primary:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 36px rgba(245,166,35,.52), inset 0 2px 0 rgba(255,255,255,.25);
  color:var(--iza-navy-deep);
}
.ihv2-btn-ghost {
  background:rgba(0,26,80,0.2); border:1.5px solid #25D366; color:#25D366;
  font-weight:700; font-size:.92rem; padding:16px 36px; border-radius:50px;
  text-decoration:none; font-family:var(--font-head);
  transition:all .3s;
}
.ihv2-btn-ghost:hover { background:#fff; color:var(--iza-navy); border-color:#fff; transform:translateY(-3px); }

/* ==========================================================================
   SECTION DIVIDERS
   ========================================================================== */
.ihv2-divider-gold {
  width:60px; height:3px;
  position:relative;
  background:rgba(245,166,35,0.25);
  border-radius:2px; margin-bottom:24px;
  overflow:hidden;
  transform-origin:left center;
  transform:scaleX(0);
  transition:transform 0.55s cubic-bezier(0.22,1,0.36,1);
  will-change:transform;
}
.ihv2-divider-gold--center {
  margin-left:auto; margin-right:auto;
  transform-origin:center center;
}
/* Shimmer que barre de lado a lado en loop */
.ihv2-divider-gold::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent 0%, var(--iza-accent) 50%, transparent 100%);
  transform:translateX(-100%);
}
.ihv2-divider-gold.iz-visible {
  transform:scaleX(1);
}
.ihv2-divider-gold.iz-visible::after {
  animation:ihv2-divider-sweep 1.6s ease-in-out 0.55s infinite alternate;
}
@keyframes ihv2-divider-sweep {
  0%   { transform:translateX(-100%); }
  100% { transform:translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
  .ihv2-divider-gold { transform:scaleX(1) !important; transition:none !important; }
  .ihv2-divider-gold::after { animation:none !important; }
}

/* ==========================================================================
   GLOBAL SECTION MARGIN FIX
   ========================================================================== */
.entry-content section,
.wp-block-post-content section {
  margin-block-start:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* ==========================================================================
   HERO (wp-block-cover simulado)
   ========================================================================== */
.wp-block-cover.alignfull {
  margin:0 !important;
  min-height:var(--iza-hero-h) !important;
}
.wp-block-html { margin-block-start:0 !important; }

@keyframes iza-float-polipasto {
  0%   { transform:translateY(0)   translateZ(60px); }
  50%  { transform:translateY(-22px) translateZ(60px); }
  100% { transform:translateY(0)   translateZ(60px); }
}
@keyframes iza-grid-pan {
  0%   { background-position:0 0; }
  100% { background-position:-40px -40px; }
}
/* Ocultar "Descubre Más" auto-generado por el tema en hero */
.wp-block-cover .scroll-down,
.wp-block-cover [class*="scroll-indicator"],
.wp-block-cover .hero-scroll { display:none !important; }

/* ==========================================================================
   RESPONSIVE — TABLET + MOBILE COMPLETO
   ========================================================================== */

/* ── Tablet (≤ 900px) ── */
@media (max-width: 900px) {
  .ihv2-section { padding: 64px 0; }
  .ihv2-header  { margin-bottom: 40px; }
  .ihv2-hero-row { gap: 40px !important; }
  .ihv2-hero-img-col { flex: 0 0 200px !important; max-width: 200px !important; }
  /* CTA box */
  .ihv2-cta-box { padding: 56px 32px; }
}

/* ── Mobile (≤ 640px) ── */
@media (max-width: 640px) {

  /* === SECCIONES === */
  .ihv2-section { padding: 48px 0; }
  .ihv2-header  { margin-bottom: 28px; }
  .ihv2-title   { font-size: clamp(1.8rem, 7vw, 2.4rem); margin-bottom: 12px; }
  .ihv2-sub     { font-size: 0.92rem; }

  /* === HERO === */
  .ihv2-hero-row {
    gap: 0 !important;
    justify-content: center !important;
  }
  .ihv2-hero-text {
    min-width: unset !important;
    max-width: 100% !important;
    text-align: center !important;
    flex: 1 1 100% !important;
  }
  .ihv2-hero-text p {
    text-align: center !important;
    max-width: 100% !important;
    font-size: 0.95rem !important;
    margin-bottom: 20px !important;
  }
  .ihv2-hero-img-col { display: none !important; }
  .ihv2-hero-btns {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 20px !important;
    width: 100% !important;
  }
  .ihv2-hero-cta {
    display: inline-flex !important;
    align-items: center !important;
    padding: 13px 26px !important;
    font-size: 0.88rem !important;
    width: auto !important;
    white-space: nowrap !important;
  }
  .ihv2-hero-ghost {
    display: inline-flex !important;
    align-items: center !important;
    padding: 12px 20px !important;
    font-size: 0.85rem !important;
    width: auto !important;
    white-space: nowrap !important;
  }
  .ihv2-hero-badge {
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 0.68rem !important;
    padding: 5px 12px !important;
    margin-bottom: 16px !important;
  }

  /* === CARDS (Sol / Svc / Why) === */
  .ihv2-sol-card, .ihv2-svc-card { padding: 24px 20px; }
  .ihv2-why-card { padding: 24px 20px; border-radius: 14px; }

  /* === STATS === */
  .ihv2-stats-bar { grid-template-columns: 1fr 1fr; border-radius: 14px; }
  .ihv2-stat { padding: 24px 12px; }
  .ihv2-stat-num { font-size: 2.4rem; }
  .ihv2-stat-label { font-size: 0.65rem; letter-spacing: 1px; }

  /* === PROCESO === */
  .ihv2-pstep { padding: 0 12px 0; }

  /* === PROYECTOS === */
  .ihv2-proy-card { height: 240px; }

  /* === CTA FINAL === */
  .ihv2-cta-box { padding: 40px 20px; border-radius: 18px; }
  .ihv2-cta-content h2 { font-size: 1.6rem; margin-bottom: 12px; }
  .ihv2-cta-content p  { font-size: 0.92rem; margin-bottom: 28px; }
  .ihv2-cta-btns { flex-direction: row; flex-wrap: wrap; gap: 10px; justify-content: center; }
  .ihv2-btn-primary, .ihv2-btn-ghost { text-align: center; padding: 14px 24px; font-size: 0.88rem; }

  /* === MARQUEE: logos más pequeños === */
  .ihv2-marquee-track img { height: 32px; }
  .ihv2-marquee-track { gap: 36px; padding: 0 36px; }

  /* === HERO H1: centrar + reducir fuente + forzar wrap === */
  .wp-block-cover h1,
  .wp-block-cover .ihv2-hero-text h1 {
    font-size: clamp(1.75rem, 8vw, 2.4rem) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  /* Eliminar white-space:nowrap que desborda viewport en mobile */
  .ihv2-hero-text h1 span {
    white-space: normal !important;
    word-break: break-word !important;
  }
  /* Centrar todos los hijos directos del hero-text */
  .ihv2-hero-text h1,
  .ihv2-hero-text p,
  .ihv2-hero-text .ihv2-hero-badge {
    text-align: center !important;
  }
  /* Evitar cualquier overflow horizontal en la zona del hero */
  .ihv2-hero-text {
    overflow: hidden !important;
  }
  /* Ocultar "Descubre más" en mobile — no tiene sentido en touch */
  #iz-scroll-down { display: none !important; }
}

/* ── Pantallas muy pequeñas (≤ 375px) ── */
@media (max-width: 375px) {
  /* Stats: 1 columna para evitar texto apretado con font grande */
  .ihv2-stats-bar { grid-template-columns: 1fr 1fr; }
  .ihv2-stat-num  { font-size: 2rem; }
  .ihv2-stat      { padding: 20px 8px; }

  /* H1 hero aún más pequeño */
  .wp-block-cover h1,
  .wp-block-cover .ihv2-hero-text h1 {
    font-size: clamp(1.75rem, 8vw, 2.2rem) !important;
  }

  /* Secciones: menos padding */
  .ihv2-section { padding: 36px 0; }
  .ihv2-title   { font-size: clamp(1.6rem, 7vw, 2rem); }
}

/* ==========================================================================
   STICKY MOBILE BOTTOM BAR — 2026
   Solo visible en mobile (< 1050px). Barra fija inferior con 3 CTAs.
   ========================================================================== */
.iz-mobile-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: rgba(0, 18, 40, 0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 10px 12px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  z-index: 9998;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.35);
  animation: iz-bar-slide-up 0.4s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes iz-bar-slide-up {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
@media (max-width: 1049px) {
  .iz-mobile-bar {
    display: grid;
    transform: translateY(110%);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.3s ease;
    animation: none !important;
  }
  .iz-mobile-bar.iz-bar-shown {
    transform: translateY(0);
    opacity: 1;
  }
}

.iz-mobile-bar a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 8px 4px;
  border-radius: 12px;
  text-decoration: none;
  font-family: var(--font-head);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(200, 220, 255, 0.80);
  background: transparent;
  transition: background 0.2s, color 0.2s, transform 0.15s;
  min-height: 52px;
}
.iz-mobile-bar a:active {
  transform: scale(0.94);
}
.iz-mobile-bar a svg {
  width: 20px; height: 20px;
  flex-shrink: 0;
}

/* Llamar */
.iz-mobile-bar .iz-bar-call { color: #60a5fa; }
.iz-mobile-bar .iz-bar-call:active { background: rgba(96,165,250,0.12); }

/* WhatsApp */
.iz-mobile-bar .iz-bar-wa {
  color: #fff;
  background: #25D366;
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(37,211,102,0.35);
}
.iz-mobile-bar .iz-bar-wa:active { background: #1ebd5a; }

/* Cotizar */
.iz-mobile-bar .iz-bar-cta {
  color: #002752;
  background: #F5A623;
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(245,166,35,0.35);
}
.iz-mobile-bar .iz-bar-cta:active { background: #e09410; }

/* Padding inferior en el body para que la barra no tape contenido */
@media (max-width: 1049px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* ── FOOTER MÓVIL — compactar espacios ── */
@media (max-width: 767px) {
  .izacorp-footer-top { padding: 20px 16px; flex-direction: column; align-items: center; gap: 14px; }
  .izacorp-footer-top-text { width: 100%; text-align: center; }
  .izacorp-footer-top-text h3 { font-size: 1.05rem; }
  .izacorp-footer-top-text p { font-size: 0.8rem; }
  .izacorp-footer-top-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 220px !important; height: 44px !important; min-height: 44px !important; max-height: 44px !important; align-self: center !important; text-align: center !important; padding: 0 20px !important; font-size: 0.82rem !important; letter-spacing: 0.04em !important; box-sizing: border-box !important; }
  /* Prod cards: descripción legible en móvil — especificidad 0,3,1 */
  .ihv2-prod-grid .ihv2-prod-card .ihv2-prod-info p { color: rgba(255,255,255,0.9) !important; }
  .ihv2-prod-grad { background: linear-gradient(180deg, rgba(5,14,24,0) 20%, rgba(5,14,24,0.97) 70%) !important; }
  .izacorp-footer-body { grid-template-columns: 1fr !important; padding: 28px 16px !important; gap: 24px !important; }
  .izacorp-footer-divider { margin: 0 16px; }
  .izacorp-footer-bottom { padding: 16px; flex-direction: column; gap: 8px; text-align: center; font-size: 0.75rem; }
}

/* ═══════════════════════════════════════════════════════════════
   HOME MOBILE FIXES — v1.0 (2026-04-16)
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── FIX: Hero row no colapsa en mobile ── */
  .ihv2-hero-row {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 20px !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .ihv2-hero-text {
    max-width: calc(100vw - 80px) !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }
  .ihv2-hero-text h1 span[style*="white-space:nowrap"],
  .ihv2-hero-text h1 span[style*="white-space: nowrap"] {
    white-space: normal !important;
  }
  .ihv2-hero-btns {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .ihv2-pills-row { display: none !important; }
  .ihv2-hero-cta,
  .ihv2-hero-ghost {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 220px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 20px !important;
    font-size: 0.82rem !important;
    white-space: nowrap !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* ── FIX: CTA box — debe ser bloque, no inline-flex ── */
  .ihv2-cta-box {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 40px 20px !important;
  }
  .ihv2-cta-content {
    display: block !important;
    width: 100% !important;
  }
  .ihv2-cta-btns {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }
  /* Misma ALTURA Y ANCHO para todos los botones del CTA box */
  .ihv2-btn-primary,
  .ihv2-btn-ghost {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 220px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 20px !important;
    font-size: 0.82rem !important;
    white-space: nowrap !important;
    text-align: center !important;
    align-self: center !important;
    box-sizing: border-box !important;
  }
  .ihv2-cta-orb1,
  .ihv2-cta-orb2,
  [class*="orb"],
  [class*="-orb"] {
    /* En mobile los orbes no deben causar scroll horizontal */
    pointer-events: none !important;
    max-width: 100% !important;
  }

  /* ── FIX: marquee/ticker no propaga overflow ── */
  .ihv2-marquee-wrap {
    overflow: hidden !important;
    max-width: 100vw !important;
  }


}

/* === ANIMACIÓN POLIPASTO HERO (restaurada 2026-04-19) === */
@keyframes flotar-polipasto {
    0%   { transform: translateY(0px) rotate(0deg); }
    25%  { transform: translateY(-12px) rotate(1deg); }
    50%  { transform: translateY(-20px) rotate(0deg); }
    75%  { transform: translateY(-12px) rotate(-1deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}
.ihv2-hero-img-col img {
    animation: flotar-polipasto 4s ease-in-out infinite;
    transform-origin: top center;
    filter: drop-shadow(0 20px 40px rgba(0,39,82,0.5));
}

/* === FIX PULSE MAPA LIMA (2026-04-19) - animar con scale en lugar de r === */
.izh-r1, .izh-r2, .izh-r3 {
    transform-origin: center;
    transform-box: fill-box;
}
@keyframes izh-pulse-scale {
    0%   { transform: scale(1);   opacity: 0.85; stroke-width: 2; }
    100% { transform: scale(4.5); opacity: 0;    stroke-width: 0.3; }
}
.izh-r1 { animation: izh-pulse-scale 2.5s ease-out infinite !important; }
.izh-r2 { animation: izh-pulse-scale 2.5s ease-out 0.83s infinite !important; }
.izh-r3 { animation: izh-pulse-scale 2.5s ease-out 1.66s infinite !important; }

/* === FIX PULSE MAPA v2 (2026-04-19) - propiedades explícitas === */
.izh-r1, .izh-r2, .izh-r3 {
    animation-name: izh-pulse-scale !important;
    animation-duration: 2.5s !important;
    animation-timing-function: ease-out !important;
    animation-iteration-count: infinite !important;
    animation-fill-mode: both !important;
    animation-play-state: running !important;
}
.izh-r2 { animation-delay: 0.83s !important; }
.izh-r3 { animation-delay: 1.66s !important; }
/* P1-01: Fallback si JS falla — iz-reveal sin animacion en no-js */
.no-js .iz-reveal {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

