/* Plantilla editorial (prototipo). Todo bajo body.v2: no toca el resto del sitio.
   Base: blanco, tinta oscura, naranja solo de acento. Los botones pequeños usan el
   naranja oscuro #c2410c (texto blanco 5,2:1) y no el #f15a23 (3,5:1). */

body.v2 {
  background: #ffffff;
  color: #3f4650;
  font-size: 1.06rem;
  line-height: 1.75;
}
.v2 a { color: var(--accent); }
.v2-wrap { width: min(1180px, 100%); margin: 0 auto; padding: 0 24px; }

/* ---------- cabecera del sitio ---------- */
.v2-header {
  position: sticky; top: 0; z-index: 30;
  background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(8px);
  border-bottom: 1px solid #eceae6;
}
.v2-header-in { display: flex; align-items: center; gap: 28px; height: 64px; }
.v2-brand {
  display: inline-flex; align-items: center; gap: 10px; text-decoration: none;
  font-weight: 900; font-size: 18px; letter-spacing: -0.02em; color: var(--ink);
}
.v2-brand .mark { width: 34px; height: 34px; border-radius: 8px; }
.v2-brand em { font-style: normal; color: var(--brand-text); }
.v2-nav { margin-left: auto; display: flex; gap: 24px; font-size: 0.92rem; font-weight: 600; }
.v2-nav a { color: #3f4650; text-decoration: none; padding: 21px 0; border-bottom: 2px solid transparent; }
.v2-nav a:hover { color: var(--accent); }
.v2-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--brand); }
.v2-mnav { display: none; margin-left: auto; position: relative; }
.v2-mnav summary {
  list-style: none; cursor: pointer; width: 42px; height: 42px; display: grid; place-content: center;
  border: 1px solid #eceae6; border-radius: 10px; color: var(--ink);
}
.v2-mnav summary::-webkit-details-marker { display: none; }
.v2-mnav-panel {
  position: absolute; right: 0; top: 50px; min-width: 220px; background: #fff;
  border: 1px solid #eceae6; border-radius: 14px; padding: 6px;
  box-shadow: 0 20px 44px -22px rgba(22, 30, 42, 0.4); display: flex; flex-direction: column;
}
.v2-mnav-panel a { padding: 11px 12px; border-radius: 8px; color: var(--ink); font-weight: 600; text-decoration: none; }
.v2-mnav-panel a:hover, .v2-mnav-panel a[aria-current="page"] { background: var(--peach); }

/* ---------- migas y cabecera editorial ---------- */
.v2-crumbs { padding: 18px 0 0; font-size: 0.84rem; color: #6b7280; }
.v2-crumbs a { color: #6b7280; text-decoration: none; }
.v2-crumbs a:hover { color: var(--accent); text-decoration: underline; }
.v2-crumbs .sep { margin: 0 8px; color: #b8b2ab; }
.v2-crumbs [aria-current] { color: var(--ink); font-weight: 600; }

.v2-hero { padding: 22px 0 26px; border-bottom: 1px solid #eceae6; margin-bottom: 30px; max-width: 860px; }
.v2-badge { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.v2-badge img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; }
.v2-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--peach-strong); color: var(--accent); display: grid; place-items: center; font-weight: 800; font-size: 0.95rem; flex: none; }
.v2-avatars { display: inline-flex; }
.v2-avatars > * { border: 3px solid #fff; }
.v2-avatars > * + * { margin-left: -12px; }
.v2-badge b { display: block; color: var(--ink); font-size: 0.95rem; line-height: 1.2; }
.v2-badge small { display: block; color: #6b7280; font-size: 0.8rem; }
.v2 h1 {
  font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15;
  max-width: none; text-align: left;
}
.v2-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 16px; font-size: 0.86rem; color: #6b7280; }
.v2-meta span { display: inline-flex; align-items: center; gap: 6px; }
.v2-meta span + span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #c9c3bc; margin-right: 12px; }

/* ---------- layout de dos columnas ---------- */
.v2-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; padding-bottom: 60px; }
.v2-article { max-width: 720px; min-width: 0; }
.v2-label { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.v2-small { font-size: 0.84rem; color: #6b7280; margin-top: 10px; }
.v2-h-small { font-size: 1.05rem; font-weight: 800; margin: 0; }

.v2-answer { background: var(--peach); border-left: 4px solid var(--brand); border-radius: 0 12px 12px 0; padding: 18px 22px; }
.v2-answer p:last-child { color: var(--ink); font-size: 1.04rem; margin: 0; }

/* ficha de verificacion (semaforo) */
.v2-verify { margin-top: 22px; border: 1px solid #eceae6; border-radius: 14px; padding: 18px 20px 14px; }
.v2-verify-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.v2-verify-head a { font-size: 0.84rem; font-weight: 600; }
.v2-verify ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.v2-verify li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.93rem; line-height: 1.4; }
.v2-verify li b { display: block; color: var(--ink); font-weight: 700; }
.v2-verify li small { display: block; color: #6b7280; font-size: 0.8rem; margin-top: 2px; }
.v-ico { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; margin-top: 1px; }
.v-ok .v-ico { background: #dcfce7; color: #166534; }
.v-no .v-ico { background: #fee2e2; color: #b91c1c; }
.v-warn .v-ico { background: #fef3c7; color: #92400e; }
.v2-verify-note { font-size: 0.82rem; color: #6b7280; margin-top: 12px; padding-top: 10px; border-top: 1px dashed #eceae6; }

/* ficha tecnica (tabla de dos columnas) */
.v2-facts { margin-top: 26px; }
.v2-facts h2 { margin-bottom: 10px; }
.v2-facts table { width: 100%; border-collapse: collapse; font-size: 0.93rem; }
.v2-facts th, .v2-facts td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid #eceae6; }
.v2-facts th { width: 34%; background: #faf9f7; color: var(--ink); font-weight: 700; }
.v2-facts td { color: #3f4650; }

/* indice movil */
.v2-toc-mobile { display: none; margin-top: 22px; border: 1px solid #eceae6; border-radius: 12px; padding: 12px 16px; }
.v2-toc-mobile summary { cursor: pointer; font-weight: 700; color: var(--ink); }
.v2-toc-mobile ol { margin: 10px 0 2px 1.1rem; font-size: 0.93rem; }

/* cuerpo del articulo */
.v2-prose { margin-top: 10px; }
.v2-prose h2 { font-size: clamp(1.35rem, 2.6vw, 1.7rem); font-weight: 800; margin: 2.4rem 0 0.9rem; scroll-margin-top: 84px; }
.v2-prose h3 { margin-top: 1.4rem; color: var(--ink); }
.v2-prose p + p, .v2-prose ul, .v2-prose ol { margin-top: 1rem; }
.v2-prose ul, .v2-prose ol { padding-left: 1.3rem; }
.v2-prose li { margin-bottom: 0.45rem; }
.v2-prose li::marker { color: var(--brand); }
.v2 .host { background: #faf9f7; border-color: #eceae6; }
.v2 .compare-wrap { border-color: #eceae6; }
.v2 .compare-table th, .v2 .compare-table td { border-bottom-color: #eceae6; }
.v2 .compare-table thead th { background: #faf9f7; }
.v2 .faq-list details { border-color: #eceae6; }
.v2 .proscons > div { border-radius: 12px; }

/* botones sobrios */
.v2 .btn-acc {
  background: #c2410c; font-size: 1rem; font-weight: 700; padding: 0.8rem 1.3rem;
  border-radius: 10px; box-shadow: none; gap: 0.5rem;
}
.v2 .btn-acc, .v2 .btn-acc:hover { color: #fff; text-decoration: none; }
.v2 .btn-acc:hover { background: #9a3412; }
.v2 .cta-box {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  text-align: left; padding: 16px 18px; border-radius: 12px; border: 1px solid #eceae6;
  background: #faf9f7; box-shadow: none;
}
.v2 .cta-box .cta-note { margin: 0; flex: 1 1 220px; order: -1; font-size: 0.86rem; }

/* columna lateral fija */
.v2-aside { align-self: stretch; }
.v2-sticky { position: sticky; top: 86px; display: grid; gap: 16px; }
.v2-card { border: 1px solid #eceae6; border-radius: 14px; padding: 16px 18px; background: #fff; }
.v2-toc ol { margin: 0 0 0 1.05rem; font-size: 0.88rem; line-height: 1.45; display: grid; gap: 7px; }
.v2-toc a { color: #3f4650; text-decoration: none; }
.v2-toc a:hover { color: var(--accent); }
.v2-ficha dl { display: grid; gap: 8px; margin-bottom: 14px; font-size: 0.88rem; }
.v2-ficha dl div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed #eceae6; padding-bottom: 7px; }
.v2-ficha dt { color: #6b7280; }
.v2-ficha dd { color: var(--ink); font-weight: 700; text-align: right; }
.v2-ficha .btn-acc, .v2-ficha .btn-ghost { width: 100%; }
.v2-ficha .btn-ghost { margin-top: 8px; font-size: 0.92rem; padding: 0.65rem 1rem; border-radius: 10px; }

/* barra fija inferior (solo movil) */
.v2-bar { display: none; }

/* pie sobrio */
.v2 .site-footer { background: #faf9f7; border-top: 1px solid #eceae6; color: #5b6470; }
.v2 .site-footer .foot-nav a, .v2 .site-footer .foot-link { color: #5b6470; }
.v2 .site-footer .disclosure, .v2 .site-footer .fineprint { color: #6b7280; }

@media (max-width: 980px) {
  .v2-nav { display: none; }
  .v2-mnav { display: block; }
  .v2-layout { grid-template-columns: 1fr; gap: 0; }
  .v2-aside { display: none; }
  .v2-toc-mobile { display: block; }
  .v2-bar {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 25;
    background: #fff; border-top: 1px solid #eceae6; padding: 10px 16px;
    box-shadow: 0 -10px 30px -20px rgba(22, 30, 42, 0.35);
  }
  .v2-bar b { display: block; color: var(--ink); font-size: 0.92rem; line-height: 1.2; }
  .v2-bar small { display: block; color: #6b7280; font-size: 0.78rem; }
  .v2-bar .btn-acc { flex: none; font-size: 0.92rem; padding: 0.7rem 1rem; }
  body.v2 { padding-bottom: 74px; }
}
@media (max-width: 560px) {
  .v2-verify ul { grid-template-columns: 1fr; }
  .v2-facts th { width: 40%; }
}

/* ================= Todo el sitio con la plantilla editorial ================= */

/* sin serif cursiva ni degradados en titulos del nuevo estilo */
.v2 .serif { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; }
.v2 .btn-ghost {
  font-size: 0.95rem; padding: 0.75rem 1.2rem; border-radius: 10px; border-width: 1.5px;
  border-color: #c2410c; color: #c2410c;
}
.v2 .btn-ghost:hover { background: var(--peach); color: #9a3412; text-decoration: none; }

/* ---------- paginas simples: hub, sobre, legales ---------- */
.v2-simple .container,
.v2-simple .container.narrow { width: min(1180px, 100%); padding: 0 24px; margin: 0 auto; }
.v2-simple .page-hero {
  background: none; text-align: left; padding: 22px 0 24px;
}
.v2-simple .page-hero .container { border-bottom: 1px solid #eceae6; padding-bottom: 24px; }
.v2-simple .page-hero h1 { margin: 0; max-width: 820px; font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 800; }
.v2-simple .page-hero .lead { margin: 14px 0 0; max-width: 760px; color: #3f4650; font-size: 1.08rem; }
.v2-simple .eyebrow {
  background: none; border: 0; padding: 0; margin-bottom: 10px; border-radius: 0;
  color: var(--accent); font-size: 0.72rem; letter-spacing: 0.14em;
}
.v2-simple .cta-row { justify-content: flex-start !important; }
.v2-simple .section { padding: 26px 0; }
.v2-simple .section-alt { background: #fff; border: 0; }
.v2-simple .prose { max-width: 760px; }
.v2-simple .prose h2 { font-size: clamp(1.3rem, 2.5vw, 1.6rem); font-weight: 800; }
.v2-simple .hero-meta { color: #6b7280; }
.v2-simple .quick-facts, .v2-simple .compare-wrap { border-color: #eceae6; }
.v2-simple .quick-facts > div { border-bottom-color: #eceae6; }
.v2-simple .quick-facts > div:nth-child(odd) { background: #faf9f7; }
.v2-simple .compare-table thead th { background: #faf9f7; }

/* tarjetas del hub (hub y home) */
.v2 .hub-card { box-shadow: none; border-color: #eceae6; border-radius: 14px; }
.v2 .hub-card:hover { border-color: #c2410c; }
.v2 .hub-card h2, .v2 .hub-card h3 { font-size: 1.15rem; line-height: 1.3; color: var(--ink); font-weight: 800; }
.v2 .hub-tag { background: var(--peach); }

/* ---------- home ---------- */
.h-hero { background: #fff8f3; border-bottom: 1px solid #f1e4da; padding: 48px 0 44px; }
.h-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 56px; align-items: center; }
.v2-home h1 { font-size: clamp(2rem, 4.2vw, 3rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.025em; max-width: 15em; }
.h-lead { margin-top: 16px; font-size: 1.12rem; color: #3f4650; max-width: 36em; }
.h-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.h-trust { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; font-size: 0.9rem; color: #3f4650; }
.h-trust li { display: inline-flex; align-items: center; gap: 8px; }
.h-trust li span { width: 20px; height: 20px; border-radius: 50%; background: #dcfce7; color: #166534; display: grid; place-items: center; }

.h-status { background: #fff; border: 1px solid #eceae6; border-radius: 16px; padding: 18px 18px 14px; box-shadow: 0 20px 44px -32px rgba(22, 30, 42, 0.35); }
.h-status ul { list-style: none; display: grid; gap: 4px; }
.h-status li a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 10px; border-radius: 10px; text-decoration: none; color: inherit;
}
.h-status li + li a { border-top: 1px solid #f1efec; }
.h-status li a:hover { background: #faf9f7; }
.h-st-name b { display: block; color: var(--ink); font-size: 0.95rem; line-height: 1.25; }
.h-st-name small { display: block; color: #6b7280; font-size: 0.8rem; }
.h-chip { flex: none; font-size: 0.76rem; font-weight: 700; border-radius: 999px; padding: 5px 10px; white-space: nowrap; }
.h-chip-ok { background: #dcfce7; color: #166534; }
.h-chip-warn { background: #fef3c7; color: #92400e; }
.h-chip-no { background: #fee2e2; color: #b91c1c; }

.h-section { padding: 64px 0; }
.h-section-tint { background: #faf9f7; border-top: 1px solid #eceae6; border-bottom: 1px solid #eceae6; }
.h-head { max-width: 760px; margin-bottom: 28px; }
.h-head h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; letter-spacing: -0.02em; }
.h-head p { margin-top: 8px; color: #5b6470; }
.h-narrow { max-width: 860px; }

.h-experts { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.h-expert { border: 1px solid #eceae6; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.h-expert-top { display: flex; align-items: center; gap: 14px; }
.h-expert-top h3 { font-size: 1.35rem; font-weight: 800; }
.h-expert-top p { font-size: 0.86rem; color: var(--accent); font-weight: 700; }
.h-expert > p { font-size: 0.98rem; color: #3f4650; }
.h-avatar-lg { width: 64px; height: 64px; font-size: 1.1rem; }
.h-photo { border-radius: 50%; overflow: hidden; flex: none; display: block; }
.h-photo img { width: 64px; height: 64px; object-fit: cover; object-position: 50% 18%; }
.h-expert-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }

.h-answer { max-width: 860px; margin-bottom: 26px; }
.h-criteria { list-style: none; counter-reset: c; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 18px; }
.h-criteria li { counter-increment: c; border: 1px solid #eceae6; border-radius: 14px; padding: 18px; }
.h-criteria li::before {
  content: counter(c); display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: var(--peach); color: #c2410c; font-weight: 800; font-size: 0.9rem; margin-bottom: 10px;
}
.h-criteria b { display: block; color: var(--ink); font-weight: 800; margin-bottom: 4px; }
.h-criteria span { font-size: 0.93rem; color: #3f4650; line-height: 1.55; }

@media (max-width: 980px) {
  .h-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .h-experts { grid-template-columns: 1fr; }
  .h-criteria { grid-template-columns: 1fr 1fr; }
  .h-section { padding: 48px 0; }
}
@media (max-width: 560px) {
  .h-criteria { grid-template-columns: 1fr; }
  .h-hero { padding: 32px 0 30px; }
  .h-expert-links > * { width: 100%; }
  .h-status li a { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* ajustes finos */
.v2 .hub-card, .v2 .hub-card:hover { color: #3f4650; text-decoration: none; }
.v2 .hub-card .hub-more { color: #c2410c; }
.v2-simple .container.narrow.prose { max-width: none; }
.v2-simple .prose > * { max-width: 760px; }
.v2-simple .prose > .compare-wrap, .v2-simple .prose > .hub-grid { max-width: none; }
