:root {
  --verde:       #1D9E75;
  --verde-dark:  #0F6E56;
  --verde-glow:  rgba(29,158,117,0.15);
  --verde-border:rgba(29,158,117,0.28);
}

/* HERO */
.elec-hero {
  position:relative; padding:5rem 3rem 3rem;
  background:
    radial-gradient(ellipse at 30% 60%, rgba(29,158,117,0.12) 0%, transparent 60%),
    repeating-linear-gradient(-55deg, transparent, transparent 40px, rgba(29,158,117,0.03) 40px, rgba(29,158,117,0.03) 41px),
    var(--negro);
  border-bottom:1px solid var(--verde-border);
  overflow:hidden;
}

.elec-hero::after {
  content:'EV';
  position:absolute; right:-1rem; bottom:-1rem;
  font-family:var(--font-display);
  font-size:clamp(10rem,25vw,18rem);
  color:rgba(29,158,117,0.04);
  line-height:1; pointer-events:none; user-select:none;
}

.elec-hero-inner { max-width:640px; margin-bottom:3rem; }

.elec-eyebrow { font-size:0.7rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--verde); margin-bottom:0.7rem; display:block; }

.elec-hero h1 {
  font-family:var(--font-display);
  font-size:clamp(3rem,10vw,6rem);
  line-height:0.9; letter-spacing:0.02em;
  color:var(--blanco); margin-bottom:1rem;
}
.green-word { color:var(--verde); }

.elec-sub { font-size:1.05rem; font-weight:300; color:var(--gris-muted); max-width:500px; line-height:1.7; margin-bottom:2rem; }

.elec-hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* VENTAJAS STRIP — 6 items */
.ventajas-strip {
  display:grid; grid-template-columns:repeat(6,1fr);
  border-bottom:1px solid var(--gris-borde);
}
.ventaja-item {
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  padding:1.25rem 0.75rem; text-align:center;
  border-right:1px solid var(--gris-borde);
  transition:background var(--t-fast);
}
.ventaja-item:last-child { border-right:none; }
.ventaja-item:hover { background:rgba(29,158,117,0.06); }
.v-icon { font-size:1.3rem; line-height:1; }
.ventaja-item p { font-size:0.75rem; font-weight:500; color:var(--gris-muted); line-height:1.3; }

/* CATÁLOGO */
.elec-catalogo { padding:3.5rem 2rem 4rem; max-width:1200px; margin:0 auto; }
.elec-catalogo h2 {
  font-family:var(--font-display); font-size:clamp(2rem,6vw,3rem);
  letter-spacing:0.05em; color:var(--blanco); margin-bottom:2.5rem; text-align:center;
}

.elec-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.5rem;
}

/* CARD */
.elec-card {
  position:relative; background:var(--negro-card);
  border:1px solid var(--gris-borde); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
  box-shadow:var(--shadow-card);
}
.elec-card:hover { transform:translateY(-5px); border-color:var(--verde-border); box-shadow:0 12px 40px rgba(0,0,0,0.55); }
.elec-card.featured { border-color:var(--verde); box-shadow:0 0 30px var(--verde-glow); }

.elec-card-badge {
  position:absolute; top:0.9rem; left:0.9rem; z-index:2;
  font-size:0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  padding:0.28rem 0.75rem; border-radius:var(--r-sm);
  background:var(--verde); color:var(--blanco);
}

.elec-card-img {
  height:200px; background:linear-gradient(145deg,#141414,#1e1e1e);
  border-bottom:1px solid var(--gris-borde);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.elec-card-img img { width:100%; height:100%; object-fit:cover; transition:transform var(--t-base); }
.elec-card:hover .elec-card-img img { transform:scale(1.05); }
.elec-card-img.no-img { font-family:var(--font-display); font-size:2.5rem; color:rgba(29,158,117,0.3); }
.elec-card-img.no-img span { font-family:var(--font-display); font-size:2.5rem; color:rgba(29,158,117,0.3); }

.elec-card-body { padding:1.3rem 1.4rem 1.5rem; flex:1; display:flex; flex-direction:column; }
.elec-brand { font-size:0.68rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--verde); margin-bottom:0.2rem; }
.elec-card-body h3 { font-family:var(--font-display); font-size:1.5rem; letter-spacing:0.04em; color:var(--blanco); margin-bottom:0.25rem; line-height:1.05; }
.elec-tipo { font-size:0.75rem; color:var(--gris-muted); margin-bottom:1rem; }

.elec-specs { list-style:none; border-top:1px solid var(--gris-borde); margin-bottom:1.25rem; }
.elec-specs li { display:flex; justify-content:space-between; padding:0.45rem 0; border-bottom:1px solid rgba(255,255,255,0.04); font-size:0.8rem; }
.elec-specs li span:first-child { color:var(--gris-muted); }
.elec-specs li span:last-child  { color:var(--hueso); font-weight:500; }

.btn-elec {
  display:block; text-align:center; padding:0.65rem;
  background:var(--verde); color:var(--blanco);
  font-size:0.78rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  border-radius:var(--r-sm); text-decoration:none; margin-top:auto;
  transition:background var(--t-fast);
}
.btn-elec:hover { background:var(--verde-dark); }
.btn-elec.outline { background:transparent; border:1px solid var(--verde); color:var(--verde); }
.btn-elec.outline:hover { background:var(--verde); color:var(--blanco); }

/* COMING SOON */
.elec-card.coming-soon { border-style:dashed; background:transparent; }
.coming-body { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:1rem; padding:3rem 2rem; flex:1; }
.coming-icon { font-size:2.5rem; opacity:0.4; }
.coming-body h3 { font-family:var(--font-display); font-size:1.5rem; color:var(--gris-sub); letter-spacing:0.04em; }
.coming-body p { font-size:0.82rem; color:var(--gris-muted); line-height:1.6; }

/* CTA */
.elec-cta {
  background:linear-gradient(135deg, var(--verde-glow) 0%, rgba(29,158,117,0.06) 100%);
  border-top:1px solid var(--verde-border); border-bottom:1px solid var(--verde-border);
  padding:4rem 2rem; text-align:center;
}
.elec-cta-inner { max-width:580px; margin:0 auto; }
.elec-cta-inner h2 { font-family:var(--font-display); font-size:clamp(1.8rem,5vw,2.8rem); color:var(--blanco); margin-bottom:1rem; letter-spacing:0.04em; }
.elec-cta-inner p { font-size:0.95rem; font-weight:300; color:var(--gris-muted); line-height:1.7; margin-bottom:2rem; }

/* RESPONSIVE */
@media(max-width:900px){
  .ventajas-strip { grid-template-columns:repeat(3,1fr); }
  .ventaja-item:nth-child(3n) { border-right:none; }
  .ventaja-item:nth-child(4) { border-right:1px solid var(--gris-borde); }
}
@media(max-width:640px){
  .elec-hero { padding:3rem 1.2rem 2.5rem; }
  .elec-hero::after { display:none; }
  .elec-hero-btns { flex-direction:column; }
  .btn-primary, .btn-outline { text-align:center; }
  .ventajas-strip { grid-template-columns:repeat(2,1fr); }
  .ventaja-item:nth-child(even) { border-right:none; }
  .elec-catalogo { padding:2.5rem 1rem 3rem; }
  .elec-cta { padding:2.5rem 1rem; }
}

/* ══ FINANCIACIÓN INTEGRADA — verde Evobike ══ */
.financiacion-integrada.elec-fin {
  background: linear-gradient(160deg,
    rgba(29,158,117,0.10) 0%,
    rgba(29,158,117,0.04) 50%,
    rgba(0,0,0,0) 100%);
  border-top: 1px solid var(--verde-border);
  border-bottom: 1px solid var(--verde-border);
  padding: 3.5rem 2rem;
  text-align: center;
}
.financiacion-integrada.elec-fin h2 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 5vw, 2.8rem);
  color: var(--blanco); letter-spacing: 0.04em; margin-bottom: 0.75rem;
}
.financiacion-integrada.elec-fin p {
  font-size: 0.92rem; font-weight: 300; color: var(--gris-muted);
  max-width: 520px; margin: 0 auto 2rem; line-height: 1.7;
}
.financiacion-integrada.elec-fin .fin-logos-grid {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 0.75rem; margin: 0 auto 2rem; max-width: 780px;
}
.financiacion-integrada.elec-fin .fin-logo-card {
  display: flex; flex-direction: column; align-items: center; gap: 0.2rem;
  padding: 0.65rem 1.25rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--verde-border);
  border-radius: var(--r-md); min-width: 110px;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.financiacion-integrada.elec-fin .fin-logo-card:hover {
  background: rgba(29,158,117,0.12);
  border-color: var(--verde);
}
.financiacion-integrada.elec-fin .fin-logo-nombre {
  font-family: var(--font-display); font-size: 1.05rem;
  letter-spacing: 0.06em; color: var(--hueso);
}
.financiacion-integrada.elec-fin .fin-logo-tipo {
  font-size: 0.58rem; color: var(--gris-sub);
  letter-spacing: 0.08em; text-transform: uppercase;
}
.financiacion-integrada.elec-fin .btn-fin-cta {
  display: inline-block; padding: 0.9rem 2.25rem;
  background: var(--verde); color: var(--blanco);
  font-family: var(--font-body); font-weight: 700;
  font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase;
  border-radius: var(--r-sm); text-decoration: none;
  transition: background var(--t-fast), transform var(--t-fast);
}
.financiacion-integrada.elec-fin .btn-fin-cta:hover {
  background: var(--verde-dark); transform: translateY(-2px);
}
@media(max-width:600px){
  .financiacion-integrada.elec-fin { padding: 2.5rem 1.2rem; }
  .financiacion-integrada.elec-fin .fin-logo-card { min-width: 80px; padding: 0.4rem 0.7rem; }
}
