/*
 * ZAFFIRO — Landing (Orquídea Derma Med / Neauvia)
 * Estilos propios de la landing. Encapsulados bajo <main class="zaffiro-landing">
 * (ver wordpress/zaffiro-body.html) para minimizar conflicto con el theme de WordPress.
 * Sin resets globales: el bloque de "Neutralización defensiva" (v1.1, más abajo) declara
 * text-transform, border, font-size, margin y padding SOLO dentro de .zaffiro-landing,
 * para que el theme de WordPress no imponga los suyos. Nada fuera del contenedor.
 * Breakpoint principal: 860px (ver bloque @media al final).
 */

/* Sustitutos locales de las fuentes institucionales del Brand Guide Book Neauvia
   (Didot LT Std / ITC Avant Garde Gothic Std no están disponibles en el proyecto).
   Montserrat y Bodoni Moda son fuentes de licencia abierta (no propietarias) — ver
   docs/README.md, sección "Fuentes", para procedencia y qué debe resolver ODM. */
@font-face{
  font-family:'Bodoni Moda';
  src:url('../assets/fonts/BodoniModa-Variable.ttf') format('truetype');
  font-weight:400 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('../assets/fonts/Montserrat-ExtraLight.ttf') format('truetype');
  font-weight:200;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('../assets/fonts/Montserrat-Light.ttf') format('truetype');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('../assets/fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('../assets/fonts/Montserrat-Medium.ttf') format('truetype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('../assets/fonts/Montserrat-SemiBold.ttf') format('truetype');
  font-weight:600;font-style:normal;font-display:swap;
}
.zaffiro-landing{
  --color-primary:#b90932;
  --color-primary-dark:#8a0726;
  --color-ink:#1c1c1b;
  --color-ink-soft:#5a5856;
  --color-bg:#ffffff;
  --color-bg-alt:#f8f6f5;
  --color-border:#e6e1df;
  --color-gold:#a98a4b;
  --color-zaffiro-wordmark:#777776; /* 60% tinta de Process Black — tratamiento oficial "Devices Logos", pág. 29 del Brand Guide Book */
  --font-heading:'Bodoni Moda',Georgia,'Times New Roman',Times,serif;
  --font-body:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --max-width:1120px;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.zaffiro-landing *{box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* ---------- Neutralización defensiva ----------
   Los themes de WordPress imponen estilos globales sobre h1-h3, p, img, section,
   label, ul y figure. Como este CSS no declaraba esas propiedades, el theme ganaba
   por defecto y deformaba el diseño aprobado. Verificado en wordpress/preview-wp.html:
   sin este bloque, los títulos salían en MAYÚSCULAS, los párrafos a 18px, las
   imágenes con borde de 6px y las secciones con borde punteado.

   Solo aplica dentro de .zaffiro-landing — no toca nada del resto del sitio.
   Sin !important: si ODM necesita sobreescribir algo, puede. */
.zaffiro-landing{font-size:16px;}
.zaffiro-landing h1,.zaffiro-landing h2,.zaffiro-landing h3{text-transform:none;}
.zaffiro-landing h2,.zaffiro-landing h3{letter-spacing:normal;}
.zaffiro-landing p{font-size:1rem;text-transform:none;}
.zaffiro-landing img{border:0;border-radius:0;box-shadow:none;}
.zaffiro-landing section{border:0;margin:0;}
.zaffiro-landing label{text-transform:none;letter-spacing:normal;}
.zaffiro-landing ul,.zaffiro-landing ol{padding-left:0;margin:0;}
.zaffiro-landing figure{margin:0;}
.zaffiro-landing table{border-collapse:collapse;border-spacing:0;}
.zaffiro-landing img{max-width:100%;display:block;}
.zaffiro-landing a{color:inherit;}
.zaffiro-landing .container{max-width:var(--max-width);margin:0 auto;padding:0 24px;}
.zaffiro-landing section{padding:88px 0;}
.zaffiro-landing section.alt{background:var(--color-bg-alt);}
.zaffiro-landing h1,.zaffiro-landing h2,.zaffiro-landing h3{font-family:var(--font-heading);font-weight:400;margin:0 0 20px;color:var(--color-ink);}
.zaffiro-landing h1{font-size:2.6rem;line-height:1.15;letter-spacing:.2px;}
.zaffiro-landing h2{font-size:2rem;line-height:1.2;}
.zaffiro-landing h3{font-size:1.25rem;line-height:1.3;}
.zaffiro-landing p{margin:0 0 16px;color:var(--color-ink-soft);}
.zaffiro-landing .eyebrow{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:.75rem;
  font-weight:600;
  color:var(--color-primary);
  margin-bottom:14px;
  display:block;
}
.zaffiro-landing .lead{font-size:1.15rem;color:var(--color-ink-soft);}
.zaffiro-landing .btn-primary{
  display:inline-block;
  background:var(--color-primary);
  color:#fff;
  text-decoration:none;
  font-family:var(--font-body);
  font-weight:600;
  font-size:1rem;
  padding:16px 34px;
  border:none;
  border-radius:2px;
  cursor:pointer;
  transition:background .2s ease;
  letter-spacing:.3px;
}
.zaffiro-landing .btn-primary:hover{background:var(--color-primary-dark);}
.zaffiro-landing .btn-secondary{
  display:inline-block;
  background:transparent;
  color:var(--color-primary);
  border:1px solid var(--color-primary);
  text-decoration:none;
  font-family:var(--font-body);
  font-weight:600;
  font-size:1rem;
  padding:15px 33px;
  border-radius:2px;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
  letter-spacing:.3px;
}
.zaffiro-landing .btn-secondary:hover{background:var(--color-primary);color:#fff;}
.zaffiro-landing .btn-link{
  display:inline-block;
  color:var(--color-primary);
  text-decoration:underline;
  font-weight:600;
  font-size:.92rem;
}

/* ---------- CTA band (middle) ---------- */
.zaffiro-landing .cta-band{
  display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;
  background:var(--color-ink);color:#f4f1f0;border-radius:10px;padding:44px 48px;
}
.zaffiro-landing .cta-band h2{color:#fff;margin-bottom:8px;}
.zaffiro-landing .cta-band p{color:#cfc9c6;margin-bottom:0;max-width:480px;}
.zaffiro-landing .cta-band-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.zaffiro-landing .cta-band .btn-secondary{border-color:#fff;color:#fff;}
.zaffiro-landing .cta-band .btn-secondary:hover{background:#fff;color:var(--color-ink);}
.zaffiro-landing .cta-band .btn-link{color:#fff;}

/* ---------- Header ---------- */
.zaffiro-landing header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--color-border);
  backdrop-filter:blur(6px);
}
.zaffiro-landing header .container{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:18px;padding-bottom:18px;
}
.zaffiro-landing .brandmark{
  display:flex;flex-direction:column;gap:2px;text-decoration:none;line-height:1;
}
.zaffiro-landing .brandmark .wordmark{
  font-family:'Montserrat',sans-serif;font-weight:200;
  font-size:1.5rem;letter-spacing:5px;color:var(--color-zaffiro-wordmark);
  text-transform:uppercase;
}
.zaffiro-landing .brandmark .by-neauvia{
  font-family:var(--font-heading);font-size:.68rem;letter-spacing:1.5px;
  color:var(--color-primary);text-transform:uppercase;
}
.zaffiro-landing header nav a{
  text-decoration:none;color:var(--color-ink-soft);font-size:.85rem;
  margin-left:28px;text-transform:uppercase;letter-spacing:1px;
}
.zaffiro-landing header .btn-primary{padding:11px 22px;font-size:.85rem;margin-left:28px;}
.zaffiro-landing header nav{display:flex;align-items:center;}
.zaffiro-landing .nav-links{display:flex;align-items:center;}

/* ---------- Hero ---------- */
.zaffiro-landing .hero{
  background:linear-gradient(180deg,#fff 0%,var(--color-bg-alt) 100%);
  padding:88px 0 96px;
}
.zaffiro-landing .hero-grid{
  display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;
}
.zaffiro-landing .hero h1{margin-bottom:22px;font-size:3.1rem;}
.zaffiro-landing .hero .lead{margin-bottom:32px;font-size:1.08rem;}
.zaffiro-landing .hero-cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.zaffiro-landing .hero-cta-row .btn-primary{padding:19px 40px;font-size:1.05rem;}
.zaffiro-landing .hero-cta-row .btn-secondary{padding:18px 39px;font-size:1.05rem;}
.zaffiro-landing .hero-note{font-size:.82rem;color:var(--color-ink-soft);}

/* ---------- Placeholder blocks ---------- */
.zaffiro-landing .media-placeholder{
  border:2px dashed #c9c2bf;
  background:repeating-linear-gradient(135deg,#fbfaf9,#fbfaf9 10px,#f2efed 10px,#f2efed 20px);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  color:#8a8481;
  font-size:.8rem;
  padding:24px;
  min-height:220px;
}
.zaffiro-landing .media-placeholder strong{display:block;color:#6b6663;font-size:.78rem;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px;}
.zaffiro-landing .hero-media.media-placeholder{min-height:380px;}

/* ---------- Imágenes reales (material oficial Neauvia) ---------- */
.zaffiro-landing figure.media-photo{margin:0;border-radius:6px;overflow:hidden;background:#f2efed;}
.zaffiro-landing figure.media-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.zaffiro-landing figure.media-photo figcaption{
  font-size:.68rem;color:#9a938f;padding:8px 10px;background:#fbfaf9;
  border-top:1px solid var(--color-border);
}
.zaffiro-landing .hero-media.media-photo{min-height:560px;height:100%;position:relative;}
.zaffiro-landing .hero-media.media-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(28,28,27,0) 55%,rgba(28,28,27,.5) 100%);
}
.zaffiro-landing .hero-media.media-photo img{object-position:center 35%;}
.zaffiro-landing .mechanism-card figure.media-photo{min-height:260px;}
.zaffiro-landing .mechanism-card figure.media-photo img{object-position:center;}
.zaffiro-landing .diff-block figure.media-photo img{height:340px;object-position:top center;}
.zaffiro-landing .manufacturer-box figure.media-photo{min-height:220px;background:#2a2a29;}
.zaffiro-landing .manufacturer-box figure.media-photo figcaption{background:#232322;color:#8a8683;border-top-color:#3a3836;}
.zaffiro-landing .cta-section figure.media-photo img{height:220px;object-position:center 25%;}

/* ---------- Sections generic ---------- */
.zaffiro-landing .section-head{max-width:680px;margin:0 auto 48px;text-align:center;}
.zaffiro-landing .section-head.left{margin:0 0 48px;text-align:left;}

/* ---------- Mechanism ---------- */
.zaffiro-landing .mechanism-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;
}
.zaffiro-landing .mechanism-card{
  background:#fff;border:1px solid var(--color-border);
  border-radius:8px;padding:40px;
}
.zaffiro-landing .mechanism-card h3{font-size:1.45rem;}
.zaffiro-landing .mechanism-card .tag{
  display:inline-block;font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--color-primary);font-weight:700;margin-bottom:10px;
}

/* ---------- Evidence stats ---------- */
.zaffiro-landing .stats-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;
}
.zaffiro-landing .stat-card{
  background:#fff;border:1px solid var(--color-border);border-radius:8px;
  padding:32px 26px;text-align:center;
}
.zaffiro-landing .stat-number{
  font-family:var(--font-heading);font-size:2.6rem;color:var(--color-primary);
  line-height:1;margin-bottom:10px;
}
.zaffiro-landing .stat-label{font-size:.95rem;color:var(--color-ink);font-weight:600;margin-bottom:10px;}
.zaffiro-landing .stat-source{font-size:.78rem;color:var(--color-ink-soft);border-top:1px solid var(--color-border);padding-top:12px;margin-top:14px;}
.zaffiro-landing .transparency-note{
  margin-top:36px;background:var(--color-bg-alt);border-left:3px solid var(--color-gold);
  padding:18px 24px;font-size:.88rem;color:var(--color-ink-soft);border-radius:0 6px 6px 0;
}
.zaffiro-landing .regulatory-badge{
  display:inline-block;margin:14px 0 0;
}
.zaffiro-landing .regulatory-badge img{display:block;height:52px;width:auto;}
.zaffiro-landing .ultrasound-evidence{margin:36px auto 0;max-width:760px;}
.zaffiro-landing .ultrasound-evidence img{aspect-ratio:2150/1560;object-fit:contain;background:#000;}
.zaffiro-landing .studies-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;}
.zaffiro-landing .faq-list{max-width:800px;margin:40px auto 0;display:flex;flex-direction:column;gap:1px;background:var(--color-border);}
.zaffiro-landing .faq-item{background:var(--color-bg-alt);padding:24px 28px;}
.zaffiro-landing .faq-item h3{font-size:1.05rem;margin:0 0 10px;}
.zaffiro-landing .faq-item p{font-size:.92rem;margin:0;}
.zaffiro-landing .flow-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:32px 0 0;}
.zaffiro-landing .flow-step{position:relative;padding:0 0 0 44px;}
.zaffiro-landing .flow-step .flow-number{
  position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;
  background:var(--color-primary);color:#fff;font-family:var(--font-heading);
  font-size:1rem;display:flex;align-items:center;justify-content:center;
}
.zaffiro-landing .flow-step h4{font-size:.92rem;font-weight:600;color:var(--color-ink);margin:0 0 6px;}
.zaffiro-landing .flow-step p{font-size:.82rem;margin:0;}
.zaffiro-landing .study-card{
  background:#fff;border:1px solid var(--color-border);border-radius:8px;
  padding:20px 22px;display:flex;gap:16px;align-items:flex-start;
}
.zaffiro-landing .study-card img.qr-code{width:76px;height:76px;flex-shrink:0;border:1px solid var(--color-border);border-radius:4px;}
.zaffiro-landing .study-card h4{font-family:var(--font-body);font-size:.88rem;font-weight:600;color:var(--color-ink);margin:0 0 6px;}
.zaffiro-landing .study-card p{font-size:.78rem;color:var(--color-ink-soft);margin:0 0 8px;}
.zaffiro-landing .study-card a{font-size:.78rem;color:var(--color-primary);word-break:break-all;}

/* ---------- Testimonials ---------- */
.zaffiro-landing .testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:44px;align-items:start;}
.zaffiro-landing .testimonial-card{
  background:#fff;border:1px solid var(--color-border);border-radius:8px;
  padding:40px;margin:0;
}
.zaffiro-landing .testimonial-video{display:block;width:220px;max-width:100%;aspect-ratio:9/16;border-radius:8px;background:#000;margin:0 auto 20px;}
.zaffiro-landing .testimonial-card p{font-family:var(--font-heading);font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--color-ink);margin:0 0 20px;}
.zaffiro-landing .testimonial-card .testimonial-footer{display:flex;align-items:center;gap:14px;border-top:1px solid var(--color-border);padding-top:16px;}
.zaffiro-landing .testimonial-card .testimonial-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.zaffiro-landing .testimonial-card .testimonial-footer strong{display:block;font-size:.95rem;color:var(--color-ink);}
.zaffiro-landing .testimonial-card .testimonial-footer span{font-size:.82rem;color:var(--color-ink-soft);}

/* ---------- Differentiation ---------- */
.zaffiro-landing .diff-block{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;}
.zaffiro-landing .diff-block.reverse{grid-template-columns:1.1fr .9fr;}
.zaffiro-landing .diff-block.reverse .media-placeholder{order:2;}

/* ---------- Benefit list ---------- */
.zaffiro-landing .benefit-list{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.zaffiro-landing .benefit-list li{
  background:#fff;border:1px solid var(--color-border);border-radius:8px;
  padding:20px 22px;font-size:.95rem;color:var(--color-ink);
  display:flex;gap:12px;align-items:flex-start;
}
.zaffiro-landing .benefit-list li::before{
  content:"—";color:var(--color-primary);font-weight:700;flex-shrink:0;
}

/* ---------- Campaign material ---------- */
.zaffiro-landing .campaign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:40px;}
.zaffiro-landing .campaign-grid.cases-grid{grid-template-columns:repeat(3,1fr);}
.zaffiro-landing .cases-grid .campaign-card figure.media-photo img{aspect-ratio:4/3;}
.zaffiro-landing .campaign-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;}
.zaffiro-landing .campaign-card figure.media-photo img{aspect-ratio:4/5;object-fit:cover;}
.zaffiro-landing .campaign-card .campaign-body{padding:22px 24px;}
.zaffiro-landing .campaign-body h3{font-size:1.1rem;margin-bottom:10px;}
.zaffiro-landing .license-flag{margin-top:12px;font-size:.78rem;color:var(--color-primary);font-weight:600;}

/* ---------- Casos internacionales (antes/después) ----------
   Los rótulos ANTES/DESPUÉS son pseudo-elementos, NO están quemados en el
   archivo. Dependen de que cada JPG traiga el antes en la mitad izquierda:
   las 6 se verificaron una por una el 2026-08-31. Si ODM reemplaza alguna
   imagen, hay que volver a verificar la orientación antes de publicar. */
.zaffiro-landing .ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;}
/* flex + margin-top:auto en .ba-caption: alinea las tarjetas y los creditos de
   cada fila sin recortar las fotos. Las 6 tienen proporciones distintas
   (1,609 a 3,043); un aspect-ratio comun con object-fit:cover recortaria
   HORIZONTALMENTE la mas ancha (swift-02, -24,9%), mordiendo el antes y el
   despues de un par comparativo. No se altera ninguna imagen clinica. */
.zaffiro-landing .ba-card{border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;}
/* Marco de proporcion fija = 1400/870, la de las fotos mas altas del set.
   object-fit:contain, NO cover: la imagen entra completa, nunca se recorta.
   Con cover haria falta un marco >= 3,043 (la mas ancha) o recortaria
   HORIZONTALMENTE ese antes/despues. object-position:bottom deja la banda
   arriba, para que los rotulos ANTES/DESPUES caigan siempre sobre la foto.
   Ver docs/CAMBIOS_v1.2.md. */
.zaffiro-landing .ba-photo{position:relative;background:#f2efed;aspect-ratio:1400/870;}
.zaffiro-landing .ba-photo img{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;}
.zaffiro-landing .ba-photo::before,.zaffiro-landing .ba-photo::after{
  position:absolute;bottom:10px;font-size:.62rem;letter-spacing:1.5px;font-weight:600;
  color:#fff;background:rgba(28,28,27,.72);padding:4px 10px;border-radius:2px;
}
.zaffiro-landing .ba-photo::before{content:"ANTES";left:10px;}
.zaffiro-landing .ba-photo::after{content:"DESPUÉS";right:10px;}
.zaffiro-landing .ba-caption{padding:14px 18px;font-size:.85rem;color:var(--color-ink);border-top:1px solid var(--color-border);margin-top:auto;}
.zaffiro-landing .ba-caption span{display:block;font-size:.72rem;color:var(--color-ink-soft);margin-top:2px;}

/* ---------- Audience ---------- */
.zaffiro-landing .audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.zaffiro-landing .audience-card{
  text-align:center;padding:30px 20px;border:1px solid var(--color-border);border-radius:8px;background:#fff;
}
.zaffiro-landing .audience-icon{
  width:56px;height:56px;border-radius:50%;
  border:1px solid var(--color-border);background:var(--color-bg-alt);
  margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
}
.zaffiro-landing .audience-icon svg{width:26px;height:26px;display:block;}

/* ---------- Manufacturer ---------- */
.zaffiro-landing .manufacturer-box{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;
  background:var(--color-ink);color:#f4f1f0;border-radius:10px;padding:48px;
}
.zaffiro-landing .manufacturer-box h2{color:#fff;}
.zaffiro-landing .manufacturer-box p{color:#cfc9c6;}
.zaffiro-landing .manufacturer-box .media-placeholder{
  background:#2a2a29;border-color:#4a4846;color:#9a938f;min-height:160px;
}

/* ---------- CTA / Form ---------- */
.zaffiro-landing .cta-section{background:var(--color-bg-alt);}
.zaffiro-landing .form-wrap{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:flex-start;
}
.zaffiro-landing form.zaffiro-form{
  background:#fff;border:1px solid var(--color-border);border-radius:10px;
  padding:40px;
}
.zaffiro-landing .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.zaffiro-landing .form-field{display:flex;flex-direction:column;gap:6px;}
.zaffiro-landing .form-field.full{grid-column:1 / -1;}
.zaffiro-landing label{font-size:.8rem;font-weight:600;color:var(--color-ink);}
.zaffiro-landing input[type=text],.zaffiro-landing input[type=tel],.zaffiro-landing input[type=email],.zaffiro-landing select,.zaffiro-landing textarea{
  padding:11px 12px;border:1px solid var(--color-border);border-radius:4px;
  font-family:var(--font-body);font-size:.92rem;color:var(--color-ink);
  background:#fff;width:100%;
}
.zaffiro-landing textarea{resize:vertical;min-height:90px;}
.zaffiro-landing .form-submit{margin-top:8px;width:100%;text-align:center;}
.zaffiro-landing .form-legal{font-size:.72rem;color:var(--color-ink-soft);margin-top:14px;}
.zaffiro-landing #form-success{
  display:none;margin-top:16px;padding:14px 16px;background:#eef7ee;
  border:1px solid #bfe3bf;border-radius:6px;color:#2f6b2f;font-size:.88rem;
}

/* ---------- Footer ---------- */
.zaffiro-landing footer{background:var(--color-ink);color:#c9c5c3;padding:48px 0 32px;font-size:.82rem;}
.zaffiro-landing footer .container{display:flex;flex-direction:column;gap:16px;}
.zaffiro-landing footer a{color:#e6e1df;}
.zaffiro-landing footer .footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.zaffiro-landing .footer-company{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
  padding-bottom:28px;margin-bottom:8px;border-bottom:1px solid #3a3836;
}
.zaffiro-landing .footer-brand{font-family:var(--font-heading);font-size:1.4rem;color:#fff;margin-bottom:12px;}
.zaffiro-landing .footer-logo{width:180px;max-width:60%;height:auto;margin-bottom:18px;}
.zaffiro-landing .footer-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.zaffiro-landing .footer-contact li{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#c9c5c3;}
.zaffiro-landing .footer-contact svg{flex-shrink:0;color:var(--color-primary);}
.zaffiro-landing .footer-contact a{color:#e6e1df;text-decoration:none;}
.zaffiro-landing .footer-contact a:hover{text-decoration:underline;}
.zaffiro-landing .footer-contact-sep{color:#5a5856;}
.zaffiro-landing .footer-map iframe{border:0;border-radius:6px;display:block;width:100%;height:220px;}
@media (max-width:860px){
  .zaffiro-landing .footer-company{grid-template-columns:1fr;}
}

/* ---------- Responsive (breakpoint principal: 860px) ---------- */
@media (max-width:860px){
  .zaffiro-landing section{padding:56px 0;}
  .zaffiro-landing h1{font-size:2rem;}
  .zaffiro-landing h2{font-size:1.6rem;}
  .zaffiro-landing .hero h1{font-size:2rem;}
  .zaffiro-landing .hero-media.media-photo{min-height:320px;}
  .zaffiro-landing .testimonials-grid{grid-template-columns:1fr;}
  .zaffiro-landing .flow-steps{grid-template-columns:1fr;}
  .zaffiro-landing .hero-grid,.zaffiro-landing .mechanism-grid,.zaffiro-landing .diff-block,.zaffiro-landing .diff-block.reverse,.zaffiro-landing .manufacturer-box,.zaffiro-landing .form-wrap{
    grid-template-columns:1fr;
  }
  .zaffiro-landing .diff-block.reverse .media-placeholder{order:0;}
  .zaffiro-landing .stats-grid{grid-template-columns:1fr;}
  .zaffiro-landing .studies-grid{grid-template-columns:1fr;}
  /* incluye .cases-grid, que por especificidad (0,3,0 vs 0,2,0) no colapsaba */
  .zaffiro-landing .campaign-grid,.zaffiro-landing .campaign-grid.cases-grid{grid-template-columns:1fr;}
  .zaffiro-landing .ba-grid{grid-template-columns:1fr;}
  .zaffiro-landing .benefit-list{grid-template-columns:1fr;}
  .zaffiro-landing .audience-grid{grid-template-columns:1fr;}
  .zaffiro-landing .form-row{grid-template-columns:1fr;}
    /* Antes se ocultaba el <nav> entero y con el desaparecia el boton
     «Solicitar informacion», la unica llamada a la accion de la cabecera. */
  .zaffiro-landing header nav .nav-links a:not(.btn-primary){display:none;}
  .zaffiro-landing header nav .nav-links .btn-primary{padding:0.5rem 0.9rem;font-size:0.82rem;}
  .zaffiro-landing .cta-band{flex-direction:column;align-items:flex-start;text-align:left;}
}

/* ---------- Impresión / exportación a PDF: evitar bloques cortados entre páginas ---------- */
@media print{
  .zaffiro-landing .manufacturer-box,.zaffiro-landing .campaign-card,.zaffiro-landing .stat-card,
  .zaffiro-landing .mechanism-card,.zaffiro-landing .audience-card,
  .zaffiro-landing figure.media-photo,.zaffiro-landing .cta-band,
  .zaffiro-landing form.zaffiro-form,.zaffiro-landing .footer-company{
    break-inside:avoid;page-break-inside:avoid;
  }
  .zaffiro-landing .section-head{
    break-after:avoid;page-break-after:avoid;
    break-inside:avoid;page-break-inside:avoid;
  }
  .zaffiro-landing #zaffiro-campaign,.zaffiro-landing #zaffiro-cases{
    break-before:page;page-break-before:always;
  }
  .zaffiro-landing .campaign-grid{
    break-inside:avoid;page-break-inside:avoid;
    grid-template-columns:1fr 1fr !important;
    gap:16px !important;
  }
  .zaffiro-landing .campaign-card figure.media-photo img{
    aspect-ratio:auto;height:220px;object-fit:cover;
  }
}
