/* ── Cabecera + pie del sitio (V3) para las páginas del blog ──────────────
   Toma la cabecera y el pie del diseño actual (V3) del resto de Site Avant,
   sin tocar el cuerpo del artículo (que sigue con blog.css).
   Requiere tokens.css (variables) y las fuentes Inter + Clash Display.        */

/* El nav antiguo era fijo y blog.css reservaba hueco arriba. El V3 es sticky
   (ocupa su espacio en el flujo), así que anulamos ese hueco. */
body { padding-top: 0 !important; }

.site-nav, .site-footer { font-family: var(--f-sans); }
.site-nav *, .site-footer * { box-sizing: border-box; }

/* Botón pastilla */
.btn-pill{display:inline-flex;align-items:center;gap:.3em;padding:.6em 1.4em;background:var(--coral-texto);color:#fff;font-family:var(--f-sans);font-size:.875rem;font-weight:600;border-radius:var(--r-pill);letter-spacing:.01em;transition:opacity .15s ease,transform .15s ease;flex-shrink:0;cursor:pointer;border:none;text-decoration:none}
.btn-pill:hover{opacity:.9;transform:translateY(-1px)}
.btn-pill:active{transform:translateY(0)}

/* Cabecera */
.site-nav{position:sticky;top:0;z-index:100;height:var(--nav-h);background:var(--bg);border-bottom:.5px solid var(--border)}
.site-nav .nav-inner{display:flex;align-items:center;gap:2rem;height:100%;width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}
.site-nav .nav-logo{font-family:var(--f-display);font-size:1.375rem;color:var(--ink);letter-spacing:-.02em;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;text-decoration:none}
.site-nav .nav-logo img{display:block;height:44px;width:auto;max-width:none}
.site-nav .nav-links{display:flex;gap:1.75rem;margin-inline:auto;list-style:none;margin-block:0;padding:0}
.site-nav .nav-links a{font-size:.875rem;font-weight:500;color:var(--ink-2);letter-spacing:.01em;transition:color .15s;position:relative;text-decoration:none}
.site-nav .nav-links a:hover{color:var(--ink)}
.site-nav .nav-links a[aria-current]{color:var(--ink)}
.site-nav .nav-links a[aria-current]::after{content:'';position:absolute;bottom:-3px;left:0;width:100%;height:1.5px;background:var(--coral);border-radius:2px}

/* Hamburguesa + panel móvil */
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;border-radius:6px;flex-shrink:0}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-panel{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--bg);border-bottom:.5px solid var(--border);padding:1.25rem var(--gutter) 1.75rem;flex-direction:column;z-index:99;box-shadow:0 8px 24px rgba(26,20,16,.08)}
.nav-panel.open{display:flex}
.nav-panel a{font-size:1.05rem;font-weight:500;color:var(--ink-2);padding:.75rem 0;border-bottom:.5px solid var(--border);text-decoration:none;transition:color .15s}
.nav-panel a:hover{color:var(--ink)}
.nav-panel .btn-pill{margin-top:1rem;display:flex;justify-content:center;border-bottom:none;width:100%;color:#fff}

/* Pie */
.site-footer{background:var(--bg-soft);border-top:.5px solid var(--border);padding-top:3.5rem;margin-top:3.5rem}
.site-footer .footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem 3rem;padding-bottom:3rem;width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}
.site-footer .footer-logo{font-family:var(--f-display);font-size:1.375rem;color:var(--ink);letter-spacing:-.02em;display:inline-block;margin-bottom:.85rem;line-height:1;text-decoration:none}
.site-footer .footer-logo img{display:block;height:40px;width:auto;max-width:none}
.site-footer .footer-tagline{font-family:var(--f-sans);font-size:1rem;color:var(--ink-2);line-height:1.6;font-weight:400}
.site-footer .footer-tagline em{font-style:italic;color:var(--ink-2)}
.site-footer .footer-col-title{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1rem}
.site-footer .footer-links{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}
.site-footer .footer-links a{font-size:.875rem;color:var(--ink-2);transition:color .15s;text-decoration:none}
.site-footer .footer-links a:hover{color:var(--ink)}
.site-footer .footer-bottom{border-top:.5px solid var(--border);padding:1.25rem 0}
.site-footer .footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}
.site-footer .footer-copy{font-size:.8125rem;color:var(--ink-3)}
.site-footer .footer-cta{font-size:.8125rem;font-weight:600;color:var(--coral-texto);transition:opacity .15s;text-decoration:none}
.site-footer .footer-cta:hover{opacity:.75}

/* Pesos de la tipografía de marca */
.site-nav .nav-logo,.site-footer .footer-logo{font-weight:600}

@media (max-width:900px){.site-nav .nav-links{gap:1.25rem}}
@media (max-width:768px){
  .site-nav .nav-inner{justify-content:space-between}
  .site-nav .nav-links{display:none}
  .site-nav .btn-pill{display:none}
  .nav-hamburger{display:flex}
  .site-footer .footer-inner{grid-template-columns:1fr 1fr}
  .site-footer .footer-inner>:first-child{grid-column:1 / -1}
}
@media (max-width:480px){
  .site-footer .footer-inner{grid-template-columns:1fr}
  .site-footer .footer-bottom-inner{flex-direction:column;align-items:flex-start}
}

/* ═══════════════════════════════════════════════════════════════════════════
   BLOQUE DE ALINEACIÓN DE MARCA — First Day Online (añadido automáticamente)
   ───────────────────────────────────────────────────────────────────────────
   POR QUÉ EXISTE
   blog.css viene heredado de Site Avant / Prima Sito y trae su paleta antigua:
       #111111 negro · #FFFFFF blanco · #059669 verde · #2D3A8C índigo
   La cabecera y el pie de estas páginas ya son los del diseño V3 (crema
   #FFF4E8 + coral #C4361B), así que sin este bloque la página se lee como dos
   marcas distintas apiladas: nav crema, cuerpo blanco con verdes y azules.

   Este bloque NO toca blog.css (que comparten FR e IT). Solo pisa por encima
   los colores y las tipografías de marca, dejando intactos los grises de
   lectura y los colores semánticos (✓ verde, ✗ rojo, avisos ámbar/rojo).

   CÓMO DESHACERLO
   Borra este bloque entero (desde la línea del título hasta el final del
   fichero) y el blog vuelve exactamente a la paleta heredada. Son dos partes
   independientes, puedes borrar solo una:
       A) COLOR        B) TIPOGRAFÍA
   ═══════════════════════════════════════════════════════════════════════════ */

/* ───────────────────────────── A) COLOR ─────────────────────────────────── */

/* Fondo general: blanco → crema de marca */
body { background: var(--bg); color: var(--ink); }
a { color: var(--brand-ink); }

/* Portada del blog: hero negro → hero crema, igual que .page-hero del resto
   del sitio (v3-pages.css usa background:var(--bg) y el acento en <em>). */
.blog-hero { background: var(--bg); padding-top: 3.5rem; }
.blog-hero-title { color: var(--ink); }
.blog-hero-title span { color: var(--brand-ink); }
.blog-hero-sub { color: var(--ink-2); }

/* Tarjetas del índice */
.blog-card { border-color: var(--border); background: var(--bg-white); border-radius: var(--r-card); }
/* align-self: la tarjeta es un flex column, así que el inline-block heredado
   se estiraba a todo el ancho y la etiqueta parecía una barra. */
.blog-card-cat { color: var(--brand-ink); background: rgba(196, 54, 27, .08); align-self: flex-start; }
.blog-card-title { color: var(--ink); }
.blog-card-excerpt { color: var(--ink-2); }
.blog-card-footer { border-top-color: var(--border); }
.blog-card-date { color: var(--ink-3); }
.blog-card-link { color: var(--brand-ink); }
.blog-card-link:hover { color: var(--brand-ink); opacity: .75; }

/* Cabecera del artículo: la foto se queda, solo se templa el degradado
   (negro puro → el negro cálido de marca #1A1410). */
.article-hero-overlay {
  background: linear-gradient(to bottom, rgba(26, 20, 16, .2) 0%, rgba(26, 20, 16, .85) 100%);
}
.article-category-badge { background: var(--brand); border-radius: var(--r-pill); padding: .3rem .85rem; }

/* Índice del artículo (TOC) */
.toc { background: var(--bg-soft); border-left-color: var(--brand); }
.toc-title { color: var(--brand-ink); }
.toc a { color: var(--ink); }
.toc a:hover { color: var(--brand-ink); }

/* Cita destacada e info-box: verde/azul → coral sobre crema suave */
.pull-quote { border-left-color: var(--brand); background: var(--bg-soft); }
.info-box { background: var(--bg-soft); border-color: var(--border); }
.info-box-title { color: var(--brand-ink); }
/* .tip-box y .warning-box se dejan como están: son semánticos, no de marca. */

/* Tarjetas de precio */
.price-card { background: var(--bg-soft); border-color: var(--border); }
.price-card-price { color: var(--brand-ink); line-height: 1.15; }
/* Nota fiscal bajo el precio. La coletilla "tax not included" iba dentro de
   .price-card-price y partía la cifra en tres líneas. */
.price-card-note { font-family: var(--f-sans); font-size: .75rem; color: var(--ink-3); margin-bottom: .5rem; }
.price-card.featured .price-card-note { color: rgba(255, 255, 255, .75); }
.price-card.featured { background: var(--brand); border-color: var(--brand); }
.price-card.featured .price-card-price,
.price-card.featured .price-card-name { color: #fff; }

/* Tabla comparativa y tarjetas numeradas */
.compare-table th { background: var(--ink); }
.compare-table td { border-bottom-color: var(--border); }
.compare-table tr:nth-child(even) td { background: var(--bg-soft); }
.numbered-card { background: var(--bg-soft); }
.numbered-card-num { color: var(--brand-ink); }
.numbered-card-content h4 { color: var(--ink); }

/* Caja CTA final: negro + botón verde → negro cálido + botón coral */
.cta-box { background: var(--ink); border-radius: var(--r-card); }
.cta-box-sub { color: rgba(255, 255, 255, .7); }
.cta-box-btn { background: var(--brand); border-radius: var(--r-pill); }
.cta-box-btn:hover { background: var(--brand); opacity: .9; }

/* Artículos relacionados */
.related-section { border-top-color: var(--border); }
.related-title { color: var(--ink); }
.related-card { border-color: var(--border); background: var(--bg-white); border-radius: var(--r-card); }
.related-card-cat { color: var(--brand-ink); }
.related-card-title { color: var(--ink); }

/* Botón heredado (por si queda alguno en el cuerpo) */
.btn-primary { background: var(--brand); border-radius: var(--r-pill); }

/* ─────────────────────────── B) TIPOGRAFÍA ──────────────────────────────── */
/* blog.css usa DM Serif Display + DM Sans; el resto del sitio usa
   Clash Display + Inter. Borra este sub-bloque si prefieres mantener el
   contraste editorial serif en el blog. */

.article-hero-title,
.blog-hero-title,
.blog-card-title,
.related-title,
.cta-box-title,
.price-card-price,
.numbered-card-num,
.article-body h2,
.article-body h3,
.article-body h4 {
  font-family: var(--f-display);
  font-weight: 600;
  letter-spacing: -.02em;
}

.article-body,
.article-body p,
.article-body li,
.article-lead,
.blog-card-excerpt,
.toc,
.compare-table,
.info-box,
.tip-box,
.warning-box,
.pull-quote p,
.article-category-badge,
.blog-card-cat,
.related-card-cat,
.related-card-title,
.blog-card-link,
.cta-box-btn,
.price-card-name,
.numbered-card-content h4,
.check-list {
  font-family: var(--f-sans);
}

.pull-quote p { font-style: normal; font-weight: 500; }

/* ══════════════ FIN DEL BLOQUE DE ALINEACIÓN DE MARCA ══════════════════════ */
