/* ============================
   productos-zurich.css
   Estilos compartidos para:
   - Zurich Options Easy Life
   - Zurich Invest Future
   - Vida Ahorro y Protección
   - Plan de Retiro / Jubilación
   ============================ */

:root{
  --c-bg:#F5FAFF;
  --c-surface:#FFFFFF;
  --c-text:#071827;
  --c-muted:#4B5E73;
  --c-primary:#005BAA;
  --c-primary-dark:#00427C;
  --c-secondary:#00B5E2;
  --c-accent:#00C853;
  --r-xl:20px;
  --r-lg:14px;
  --sh-1:0 8px 24px rgba(1,28,54,.10);
  --sh-2:0 14px 36px rgba(1,28,54,.18);
  --font-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --font-heading:'Playfair Display',serif;
}

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--font-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit; text-decoration:none}

.container{
  max-width:1180px;
  margin:0 auto;
  padding:0 22px;
}

h1,h2,h3{
  font-family:var(--font-heading);
  line-height:1.12;
  margin:0 0 16px;
}
h1{font-size:clamp(32px,4.8vw,46px)}
h2{font-size:clamp(24px,4vw,34px)}
h3{font-size:clamp(20px,3.2vw,26px)}

p{
  margin:0 0 14px;
  color:var(--c-muted);
  font-size:1.02rem;
}
ul{
  margin:0 0 16px 20px;
  color:var(--c-muted);
  font-size:1.02rem;
}

.hl{
  background:rgba(0, 37, 84, 0.92);
  padding:.1em .5em;
  border-radius:.45em;
  font-weight:800;
  color:#F7FBFF;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  letter-spacing:.02em;
}

/* ===== Header & Nav ===== */
.header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid rgba(4,23,53,.06);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:70px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.brand-badge{
  width:42px; height:42px;
  border-radius:10px;
  display:grid; place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#005BAA,#00B5E2);
  box-shadow:0 8px 18px rgba(0,91,170,.35);
  font-weight:800;
}
.brand-name{
  font-weight:800;
  letter-spacing:.4px;
}
.brand-tagline{
  font-size:.78rem;
  color:var(--c-muted);
  font-weight:600;
}
.nav{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.95rem;
}
.nav a{
  padding:8px 10px;
  border-radius:10px;
  font-weight:600;
  white-space:nowrap;
}
.nav a:hover{
  background:#E3F1FF;
}

/* ===== HERO genérico para productos ===== */
.hero{
  position:relative;
  padding:92px 0 70px;
  background:
    radial-gradient(circle at 0% 0%, rgba(0,181,226,.18), transparent 60%),
    radial-gradient(circle at 100% 0%, rgba(0,91,170,.16), transparent 60%),
    #020F1C;
  color:#EAF3FF;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-40px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.30;
  filter:blur(2px);
  z-index:-2;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,15,28,.86), rgba(2,15,28,.96));
  z-index:-1;
}

.hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:32px;
  align-items:center;
}

.hero-kicker{
  display:inline-block;
  margin-bottom:10px;
  font-weight:800;
  letter-spacing:.4px;
  background:rgba(1,12,28,.6);
  padding:6px 12px;
  border-radius:999px;
  font-size:.85rem;
  color:#E9F3FF;
}

.hero h1{
  margin-bottom:10px;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}

.hero-lead{
  font-size:1.05rem;
  color:#E1ECF9;
  margin-bottom:18px;
}

.hero-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 22px;
  font-size:.9rem;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(1,12,28,.78);
  box-shadow:0 8px 18px rgba(0,0,0,.45);
  color:#DDE9FA;
}

.hero-card{
  background:rgba(3,22,40,.94);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 18px 36px rgba(0,0,0,.65);
  color:#EAF3FF;
  border:1px solid rgba(0,181,226,.35);
}
.hero-card h2{
  font-size:1.2rem;
  margin-bottom:8px;
}
.hero-card ul{
  margin:0 0 10px 18px;
  font-size:.96rem;
  color:#D3E3FA;
}

/* ===== Botones ===== */
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:14px 0 0;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:0;
  cursor:pointer;
  font-weight:800;
  padding:12px 18px;
  border-radius:14px;
  transition:transform .18s ease, box-shadow .18s ease,
             background .18s ease, color .18s ease;
  font-size:.96rem;
}
.btn-primary{
  background:linear-gradient(135deg,#00C853,#00B5E2);
  color:#02223d;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.55);
}
.btn-ghost{
  background:rgba(255,255,255,.12);
  color:#EAF3FF;
  border:1px solid rgba(234,243,255,.5);
}
.btn-ghost:hover{
  background:rgba(255,255,255,.2);
}

/* ===== Secciones base ===== */
section{
  position:relative;
  padding:72px 0;
}
.section-muted{
  background:linear-gradient(180deg,#FFFFFF 0%,#F5FAFF 100%);
}
.card{
  background:var(--c-surface);
  border-radius:var(--r-lg);
  padding:24px;
  box-shadow:var(--sh-1);
}
.grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:22px;
}
.grid-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}

/* ===== Footer ===== */
footer{
  background:#020A14;
  color:#B8C4D5;
  padding:28px 0;
  text-align:center;
}
footer a{color:#E2ECFF}
footer a:hover{color:#fff}

/* ===== WhatsApp FAB ===== */
.fab-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  width:60px;
  height:60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#00C853,#00B5E2);
  color:#FFFFFF;
  box-shadow:0 12px 26px rgba(0,200,83,.40);
}
.fab-whatsapp:hover{
  transform:translateY(-2px);
}

/* ===== Responsive ===== */
@media (max-width:900px){
  .hero-layout{
    grid-template-columns:1fr;
  }
  .hero{
    padding:86px 0 60px;
  }
  .nav{display:none;}
}
@media (max-width:640px){
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
}

/* ============================
   Fondos del HERO según página
   (usar la clase en el <body>)
   ============================ */

/* Zurich Options Easy Life */
.page-easylife .hero::before{
  background-image:url('fotos/hero-zurich-options-easy-life.jpg');
}

/* Zurich Invest Future */
.page-invest-future .hero::before{
  background-image:url('fotos/hero-zurich-invest-future.jpg');
}

/* Vida Ahorro y Protección */
.page-vida-ahorro .hero::before{
  background-image:url('fotos/hero-vida-ahorro-proteccion.jpg');
}

/* Plan de Retiro / Jubilación */
.page-retiro .hero::before{
  background-image:url('fotos/hero-plan-retiro-jubilacion.jpg');
}
