/* ==========================================================================
   Contadores EC — Color vivo (oct-2026)
   Misma identidad (negro + dorado + naranja) usada con más fuerza: hero oscuro
   con brillo dorado, degradados del logo, fondos crema cálidos y acentos de color.
   Se carga después de marca.css: para volver atrás basta quitar este <link>.
   ========================================================================== */

:root {
  --oro-claro: #FFC94D;
  --oro: #F2A900;
  --naranja: #FF8A00;
  --grad-oro: linear-gradient(135deg, #FFC94D 0%, #F2A900 45%, #FF8A00 100%);
  --carbon: #141414;
  --carbon-2: #1f1b16;
  --grad-oscuro: radial-gradient(1200px 500px at 85% -10%, rgba(242,169,0,0.22), transparent 60%),
                 radial-gradient(800px 400px at -10% 110%, rgba(255,138,0,0.14), transparent 60%),
                 linear-gradient(135deg, #121212 0%, #1f1b16 100%);
  --crema: #FFF8EC;
  --crema-borde: #F3E3C3;
  --surface-alt: var(--crema);
  --line: #EFE6D6;
  --shadow-card: 0 10px 30px rgba(120, 80, 10, 0.08);
  --shadow-card-hover: 0 18px 44px rgba(120, 80, 10, 0.16);
}

/* ---------- Botones ---------- */
.btn-gold { background: var(--grad-oro); color: #1a1405; box-shadow: 0 8px 20px rgba(242,169,0,0.30); }
.btn-gold:hover { background: var(--grad-oro); filter: brightness(1.05); box-shadow: 0 12px 28px rgba(255,138,0,0.38); }
.btn-dark { background: var(--carbon); }

/* ---------- Encabezado: línea dorada inferior ---------- */
.site-header { border-bottom: 0; box-shadow: 0 1px 0 var(--line), 0 6px 18px rgba(20,20,20,0.04); }
.site-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--grad-oro); }
.main-nav .btn-gold, .main-nav a.btn-gold { color: #1a1405; }

/* ---------- Hero oscuro con brillo dorado ---------- */
.hero {
  background: #141414 url('../img/fondo.jpg') center / cover;
  color: #fff;
  position: relative;
}
.hero::before { content: ""; position: absolute; inset: 0; background: var(--grad-oscuro); opacity: .92; pointer-events: none; }
.hero > .container { position: relative; }
.hero h1 { color: #fff; }
.hero h1 .accent { background: var(--grad-oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero p.lead { color: rgba(255,255,255,0.82); }
.hero-kicker { background: rgba(242,169,0,0.14); color: var(--oro-claro); border-color: rgba(242,169,0,0.45); }
.hero-checks { color: rgba(255,255,255,0.82); }
.hero-checks svg { color: var(--oro); }
.hero .btn-outline { color: #fff; border-color: rgba(255,255,255,0.55); }
.hero .btn-outline:hover { border-color: var(--oro); color: var(--oro-claro); }
.quick-calc { border: 0; box-shadow: 0 30px 70px rgba(0,0,0,0.45); position: relative; }
.quick-calc::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: var(--grad-oro); }
.qc-result { background: var(--grad-oscuro); }
.qc-result .val { color: var(--oro-claro); }

/* Encabezado de páginas internas: mismo estilo oscuro */
.page-hero { background: var(--grad-oscuro); color: #fff; border-bottom: 0; }
.page-hero h1 { color: #fff; }
.page-hero p { color: rgba(255,255,255,0.8); }
.breadcrumb { color: rgba(255,255,255,0.6); }

/* ---------- Franja de confianza y logos ---------- */
.trust-strip { background: #fff; border-top: 0; border-bottom: 1px solid var(--line); }
.trust-item .icon-badge { width: 44px; height: 44px; border-radius: 12px; background: var(--grad-oro); color: #1a1405; box-shadow: 0 6px 14px rgba(242,169,0,0.28); }
.trust-item .icon-badge svg { width: 24px; height: 24px; }
.trust-item strong { color: var(--ink); }
.trust-item span { color: var(--ink-muted); }
.entes { background: var(--crema); border-color: var(--crema-borde); }

/* ---------- Secciones ---------- */
.section--alt { background: var(--crema); }
.section--navy, .firmas, .cta-banner, .site-footer { background: var(--grad-oscuro); }
.section--navy .eyebrow, .firmas .eyebrow { color: var(--oro-claro); }
.eyebrow { color: #8A5A00; }
.accent-bar { background: var(--grad-oro); height: 4px; border-radius: 4px; }
h2 .accent, .firmas h2 .accent { background: var(--grad-oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.firmas-kicker { color: var(--oro-claro); border-color: rgba(242,169,0,0.45); }
.firmas-beneficios svg { color: var(--oro); }
.firmas-teaser .precios-mini span b { background: none; color: #8A5A00; }
.firmas-tabla li.top { background: linear-gradient(90deg, rgba(255,201,77,0.25), rgba(255,138,0,0.10)); }
.firmas-tabla .tag { background: var(--grad-oro); color: #1a1405; }

/* ---------- Tarjetas y servicios ---------- */
.svc { border-color: var(--line); transition: transform .2s, box-shadow .2s, border-color .2s; position: relative; overflow: hidden; }
.svc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--grad-oro); opacity: 0; transition: opacity .2s; }
.svc:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); border-color: var(--crema-borde); }
.svc:hover::before { opacity: 1; }
.svc .ico { background: var(--grad-oro); color: #1a1405; box-shadow: 0 6px 14px rgba(242,169,0,0.28); }
.card { border-color: var(--line); }
.card .icon-tile { background: var(--crema); }
.card .icon-tile svg { color: #B87800; }
.audience { border-top: 4px solid transparent; border-image: var(--grad-oro) 1; }
.step .step-num { background: var(--grad-oro); color: #1a1405; box-shadow: 0 8px 18px rgba(242,169,0,0.3); }
.pro-card { border-left: 5px solid var(--oro); }
.pro-card .role { color: #8A5A00; }
.help-box .icon-tile { background: var(--grad-oro); }
.faq-item { border-color: var(--line); }
.faq-item[open] { border-color: var(--crema-borde); box-shadow: 0 8px 22px rgba(120,80,10,0.08); }
.faq-item[open] .faq-question .chev { color: #B87800; }
.res-tag, .tool-card .tag { background: #FFF1CC; color: #8A5A00; }
.res-card { transition: box-shadow .2s, transform .2s; }
.res-card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }

/* Novedades en portada: resumen corto (el detalle está en /resoluciones) */
.res-home .res-card > p:not(.res-norma) { display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.res-home .res-card .res-norma { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Formularios y calculadora ---------- */
.field input:focus, .field select:focus { border-color: var(--oro); box-shadow: 0 0 0 3px rgba(242,169,0,0.25); }
.quick-calc .qc-tabs button[aria-selected="true"] { color: var(--ink); box-shadow: inset 0 -3px 0 var(--oro), 0 2px 8px rgba(20,20,20,0.08); }
.result-box { background: var(--grad-oscuro); }

/* ---------- Pie de página ---------- */
.site-footer { position: relative; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--grad-oro); }
.site-footer h4 { color: var(--oro-claro); }
.social-row a:hover { background: var(--grad-oro); color: #1a1405; }

/* ---------- Accesibilidad y celular (auditoría oct-2026) ---------- */
/* Menú móvil cerrado: fuera del orden de tabulación */
@media (max-width: 1080px) {
  .main-nav { visibility: hidden; transition: transform .25s ease, visibility 0s .25s; }
  .main-nav.is-open { visibility: visible; transition: transform .25s ease; }
}
/* Botones del hero: pueden partirse en 2 líneas a 360 px */
@media (max-width: 720px) {
  .hero-actions { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .hero-actions .btn { white-space: normal; line-height: 1.25; }
  .footer-bottom { padding-bottom: 84px; }
}
/* El botón flotante no tapa campos con foco */
html { scroll-padding-bottom: 90px; }
/* Botón verde con texto legible (blanco sobre #25D366 no alcanza 4.5:1) */
.btn-wa { background: #0F7A3F; color: #fff; }
.btn-wa:hover { background: #0B6633; }
/* Carrusel: también se detiene con teclado; pulso de WhatsApp limitado */
.entes-carrusel:focus-within .entes-track { animation-play-state: paused; }
.wa-float::before { animation-iteration-count: 6; }
.field input:focus-visible, .field select:focus-visible { outline: 2px solid var(--ink); outline-offset: 1px; }

/* ---------- SEO / accesibilidad (31-oct-2026) ---------- */
/* Títulos del pie: <h2 class="footer-h"> con el mismo aspecto que el antiguo h4 */
.site-footer .footer-h { font-family: var(--font-head, Poppins, "Segoe UI", Arial, sans-serif); font-size: 0.95rem; font-weight: 700; line-height: 1.2; letter-spacing: normal; text-transform: none; font-style: normal; color: var(--oro-claro); margin: 0 0 16px; padding: 0; }
/* Caja "¿Tienes otra duda?" (FAQ): h2 con el aspecto del h3 anterior */
.help-box .help-box-h { font-family: var(--font-head, Poppins, "Segoe UI", Arial, sans-serif); font-size: 1.15rem; font-weight: 600; line-height: 1.2; letter-spacing: normal; color: #171717; margin: 0 0 9.2px; }
/* Texto solo para lectores de pantalla (también fuera de resoluciones.css) */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* Bloques ocultos con el atributo hidden */
.section[hidden] { display: none !important; }
/* Tabla de firmas: cada fila es un enlace a WhatsApp, mismo diseño */
.firmas-tabla li:has(> .firmas-fila) { padding: 0; }
.firmas-tabla .firmas-fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 13px 24px; color: inherit; text-decoration: none; transition: background-color .15s; }
.firmas-tabla .firmas-fila:hover { background: rgba(242,169,0,0.10); }
.firmas-tabla .firmas-fila:focus-visible { outline: 2px solid var(--ink, #171717); outline-offset: -2px; }
/* Enlace discreto a firmas bajo los botones del hero */
.hero-firma { margin: 14px 0 0; font-size: .92rem; }
.hero-firma a { color: var(--oro-claro); text-decoration: underline; text-underline-offset: 3px; }
.hero-firma a:hover { color: #fff; }

/* Avisos (.alert-*): la base de extra.css es para cajas oscuras; sobre fondo claro se leían poco */
.alert-info { background: #FFF6E0; color: #5A4300; border: 1px solid #F3E3C3; }
.alert-ok { background: #E9F7EE; color: #14532D; border: 1px solid #B7E4C7; }
.alert-warn { background: #FFF1D6; color: #6B4600; border: 1px solid #F5D18A; }
.result-box .alert-info, .qc-result .alert-info, .section--navy .alert-info { background: rgba(255,255,255,.08); color: rgba(255,255,255,.85); border: 0; }
.result-box .alert-ok, .qc-result .alert-ok { background: rgba(37,211,102,.15); color: #c9f7d9; border: 1px solid rgba(37,211,102,.35); }
.result-box .alert-warn, .qc-result .alert-warn { background: rgba(255,210,0,.12); color: #ffe98a; border: 1px solid rgba(255,210,0,.35); }

/* El atributo hidden siempre oculta (algunas reglas display:flex/grid lo anulaban) */
[hidden] { display: none !important; }

/* Revisión 31-oct: carrusel con pausa (WCAG 2.2.2) y salto del botón de WhatsApp limitado */
.entes-pausa { align-self: flex-end; margin: -6px 0 -4px; background: none; border: 1px solid var(--crema-borde); border-radius: 999px; padding: 4px 12px; font: 600 .75rem var(--font-head, Poppins, sans-serif); color: #5A4300; cursor: pointer; min-height: 28px; }
.entes-pausa:hover { background: #fff; }
.entes-pausa:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.entes-carrusel.is-paused .entes-track { animation-play-state: paused; }
.wa-float { animation-iteration-count: 3; }
@media (prefers-reduced-motion: reduce) { .entes-pausa { display: none; } }

/* Correo institucional en el pie: mismo color que el resto de datos de contacto */
.site-footer .footer-mail { color: inherit; text-decoration: none; }
.site-footer .footer-mail:hover { color: var(--oro-claro); text-decoration: underline; }

/* Calculadora en celular: las 6 pestañas a la vista en 2 columnas (antes había que deslizar y no se notaban) */
@media (max-width: 640px) {
  .calc-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; overflow: visible; }
  .calc-tabs button { padding: 11px 10px; font-size: .85rem; white-space: normal; text-align: left; line-height: 1.2; min-height: 48px; }
  .calc-tabs button svg { flex: 0 0 18px; }
}
