/*
Theme Name: Traspaso Vehículos
Theme URI: https://traspasovehiculos.com
Author: Digy Group
Description: Tema a medida para landing de conversión de traspaso/cambio de nombre de vehículos online, con calculadora de precios, generación automática de presupuesto en PDF y envío de solicitudes a un webhook externo.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: traspasovehiculos
*/

/* ============================================================
   DESIGN TOKENS
   Identidad alineada con digyadmin.com — Digy Admin S.L. es la
   entidad legal responsable del servicio. Mismo tipo (Barlow) y
   misma pareja de azules corporativos que la web principal.
   ============================================================ */
:root{
  --tv-ink:        #333333;   /* texto de titulares — igual que digyadmin.com */
  --tv-navy:       #1D70B7;   /* azul primario de marca */
  --tv-navy-soft:  #666666;   /* texto de cuerpo — igual que digyadmin.com */
  --tv-paper:      #FFFFFF;   /* fondo principal */
  --tv-paper-dim:  #F5F8FB;   /* fondo alterno, azul muy suave */
  --tv-white:      #FFFFFF;
  --tv-gold:       #2EA3F2;   /* acento / CTA — azul brillante de marca */
  --tv-gold-dark:  #1D70B7;
  --tv-gold-soft:  #E7F3FD;
  --tv-green:      #2E9E5B;
  --tv-green-soft: #E7F6EC;
  --tv-red:        #C0392B;
  --tv-red-soft:   #FBEAE7;
  --tv-line:       #E4E9EF;
  --tv-line-strong:#C7D2DE;
  --tv-dark-bg:    #123A5C;   /* fondos oscuros (footer, calculadora, barra de confianza) */
  --tv-dark-bg-2:  #0E2E48;
  --tv-shadow:     0 1px 2px rgba(29,112,183,.08), 0 8px 24px rgba(29,112,183,.08);

  --tv-serif: 'Barlow', -apple-system, 'Segoe UI', sans-serif; /* usado para titulares */
  --tv-mono:  'Barlow', -apple-system, 'Segoe UI', sans-serif; /* sin fuente mono: se mantiene consistencia con digyadmin.com */
  --tv-sans:  'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

  --tv-radius: 999px; /* botones tipo píldora, como en digyadmin.com */
  --tv-radius-box: 8px; /* radio para tarjetas/inputs, no botones */
  --tv-container: 1180px;
}

@font-face{
  font-family:'Barlow';
  src:url('assets/fonts/Barlow-Regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Barlow';
  src:url('assets/fonts/Barlow-Italic.woff2') format('woff2');
  font-weight:400; font-style:italic; font-display:swap;
}
@font-face{
  font-family:'Barlow';
  src:url('assets/fonts/Barlow-Medium.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Barlow';
  src:url('assets/fonts/Barlow-SemiBold.woff2') format('woff2');
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Barlow';
  src:url('assets/fonts/Barlow-Bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}

/* ============================================================
   BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{
  margin:0;
  font-family:var(--tv-sans);
  color:var(--tv-ink);
  background:var(--tv-paper);
  line-height:1.55;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--tv-navy);outline-offset:2px}

h1,h2,h3,h4{
  font-family:var(--tv-serif);
  font-weight:600;
  line-height:1.1;
  margin:0 0 .5em;
  color:var(--tv-ink);
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.tv-eyebrow{
  font-family:var(--tv-mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  color:var(--tv-gold-dark);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:.5em;
}
.tv-eyebrow::before{content:'';width:18px;height:1px;background:var(--tv-gold-dark)}

.tv-container{max-width:var(--tv-container);margin:0 auto;padding:0 24px}
.tv-section{padding:88px 0}
.tv-section--tight{padding:56px 0}
@media (max-width:780px){
  .tv-section{padding:56px 0}
  .tv-container{padding:0 18px}
}

.tv-lede{font-size:1.15rem;color:var(--tv-navy-soft);max-width:640px}

/* Botones */
.tv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--tv-sans);font-weight:600;font-size:1rem;
  padding:15px 28px;border-radius:var(--tv-radius);border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  line-height:1;
}
.tv-btn:active{transform:translateY(1px)}
.tv-btn--primary{background:var(--tv-gold);color:var(--tv-ink);box-shadow:var(--tv-shadow)}
.tv-btn--primary:hover{background:var(--tv-gold-dark);color:var(--tv-white)}
.tv-btn--ghost{background:transparent;border-color:var(--tv-line-strong);color:var(--tv-ink)}
.tv-btn--ghost:hover{border-color:var(--tv-ink)}
.tv-btn--dark{background:var(--tv-dark-bg);color:var(--tv-paper)}
.tv-btn--dark:hover{background:var(--tv-navy)}
.tv-btn--block{width:100%}
.tv-btn[disabled]{opacity:.55;cursor:not-allowed}
.tv-btn .tv-spin{display:none}
.tv-btn.is-loading .tv-spin{display:inline-block}
.tv-btn.is-loading .tv-btn-label{opacity:.6}

@keyframes tv-spin{to{transform:rotate(360deg)}}
.tv-spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tv-spin .7s linear infinite}

/* ============================================================
   HEADER
   ============================================================ */
.tv-header{
  position:sticky;top:0;z-index:40;
  background:rgba(246,243,236,.92);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--tv-line);
}
.tv-header__inner{
  max-width:var(--tv-container);margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.tv-logo{
  font-family:var(--tv-serif);font-weight:600;font-size:1.28rem;color:var(--tv-ink);
  text-decoration:none;letter-spacing:-.01em;display:flex;align-items:baseline;gap:6px;
}
.tv-logo em{font-style:normal;font-weight:700;color:var(--tv-navy)}
.tv-header__cta{display:flex;align-items:center;gap:18px}
.tv-header__phone{font-family:var(--tv-mono);font-size:.85rem;color:var(--tv-navy-soft);text-decoration:none}
@media (max-width:640px){.tv-header__phone{display:none}}

/* ============================================================
   HERO
   ============================================================ */
.tv-hero{
  padding:76px 0 60px;
  background:
    radial-gradient(1100px 480px at 82% -10%, rgba(198,138,46,.14), transparent 60%),
    var(--tv-paper);
  border-bottom:1px solid var(--tv-line);
  position:relative;
}
.tv-hero__grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;
}
@media (max-width:960px){.tv-hero__grid{grid-template-columns:1fr}}
.tv-hero h1{margin-bottom:.4em}
.tv-hero__sub{font-size:1.15rem;color:var(--tv-navy-soft);max-width:560px;margin-bottom:1.6em}
.tv-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:1.8em}
.tv-hero__trust{display:flex;flex-wrap:wrap;gap:22px;font-size:.86rem;color:var(--tv-navy-soft)}
.tv-hero__trust span{display:flex;align-items:center;gap:8px}
.tv-hero__trust svg{flex:none;color:var(--tv-green)}

/* Insignia de confianza — círculo sólido en el azul de marca, sin florituras */
.tv-sello{
  width:172px;height:172px;border-radius:50%;
  border:3px solid var(--tv-gold);
  background:var(--tv-gold-soft);
  display:flex;align-items:center;justify-content:center;
  position:relative;color:var(--tv-navy);
  flex:none;
}
.tv-sello__text{
  font-family:var(--tv-sans);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;
  text-align:center;line-height:1.6;font-weight:600;color:var(--tv-navy-soft);
}
.tv-sello__text b{display:block;font-family:var(--tv-sans);font-size:1.15rem;font-style:normal;letter-spacing:-.01em;font-weight:700;margin:2px 0;color:var(--tv-navy);text-transform:none}

.tv-hero__visual{display:flex;justify-content:center;align-items:center;gap:18px}

/* ============================================================
   BARRA DE CONFIANZA
   ============================================================ */
.tv-trustbar{background:var(--tv-dark-bg);color:var(--tv-paper)}
.tv-trustbar__inner{
  max-width:var(--tv-container);margin:0 auto;padding:18px 24px;
  display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:center;
  font-family:var(--tv-mono);font-size:.78rem;letter-spacing:.02em;color:#D9D2BE;
}
.tv-trustbar__inner strong{color:var(--tv-white);font-weight:600}

/* ============================================================
   BENEFICIOS
   ============================================================ */
.tv-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--tv-line);border:1px solid var(--tv-line);margin-top:44px}
@media (max-width:900px){.tv-benefits{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tv-benefits{grid-template-columns:1fr}}
.tv-benefit{background:var(--tv-white);padding:30px 26px}
.tv-benefit__num{font-family:var(--tv-mono);font-size:.78rem;color:var(--tv-gold-dark);font-weight:600;margin-bottom:14px;display:block}
.tv-benefit h3{margin-bottom:.4em;font-size:1.08rem}
.tv-benefit p{color:var(--tv-navy-soft);font-size:.92rem;margin:0}

/* ============================================================
   COMO FUNCIONA
   ============================================================ */
.tv-steps{margin-top:44px;position:relative}
.tv-steps__row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media (max-width:900px){.tv-steps__row{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tv-steps__row{grid-template-columns:1fr}}
.tv-step{position:relative;padding-top:8px}
.tv-step__index{
  font-family:var(--tv-sans);font-style:normal;font-weight:700;font-size:1.9rem;color:var(--tv-gold);
  display:block;margin-bottom:8px;
}
.tv-step h3{font-size:1.02rem;margin-bottom:.35em}
.tv-step p{font-size:.9rem;color:var(--tv-navy-soft);margin:0}

/* ============================================================
   CALCULADORA
   ============================================================ */
.tv-calc{
  background:var(--tv-dark-bg);
  color:var(--tv-paper);
  border-radius:6px;
  overflow:hidden;
}
.tv-calc__grid{display:grid;grid-template-columns:1fr 1fr}
@media (max-width:860px){.tv-calc__grid{grid-template-columns:1fr}}
.tv-calc__form{padding:44px 40px}
.tv-calc__result{padding:44px 40px;background:var(--tv-dark-bg-2);border-left:1px solid rgba(255,255,255,.12)}
@media (max-width:860px){.tv-calc__result{border-left:none;border-top:1px solid rgba(246,243,236,.12)}}

.tv-calc h2{color:var(--tv-white)}
.tv-calc .tv-lede{color:#B9C2D4}

.tv-field{margin-bottom:20px}
.tv-field label{
  display:block;font-family:var(--tv-mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.09em;color:#9FAAC2;margin-bottom:8px;
}
.tv-field select,
.tv-field input[type=text],
.tv-field input[type=number],
.tv-field input[type=email],
.tv-field input[type=tel]{
  width:100%;padding:13px 14px;border-radius:var(--tv-radius);
  border:1px solid rgba(246,243,236,.22);background:rgba(246,243,236,.06);
  color:var(--tv-white);font-size:.98rem;font-family:var(--tv-sans);
  appearance:none;
}
.tv-field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9'><path d='M1 1l6 6 6-6' stroke='%23B9C2D4' stroke-width='1.6' fill='none' fill-rule='evenodd'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;
}
.tv-field select:focus,.tv-field input:focus{border-color:var(--tv-gold);background:rgba(246,243,236,.1)}
.tv-field--money{position:relative}
.tv-field--money::before{content:'€';position:absolute;left:14px;top:41px;color:#9FAAC2;font-family:var(--tv-mono)}
.tv-field--money input{padding-left:30px}
.tv-hint{font-size:.78rem;color:#8C97AF;margin-top:6px}
.tv-radio-group{display:flex;gap:10px;flex-wrap:wrap}
.tv-radio{
  flex:1;min-width:120px;border:1px solid rgba(246,243,236,.22);border-radius:var(--tv-radius);
  padding:12px 14px;cursor:pointer;text-align:center;font-size:.88rem;transition:.15s;
}
.tv-radio input{position:absolute;opacity:0;pointer-events:none}
.tv-radio.is-active{border-color:var(--tv-gold);background:rgba(46,163,242,.16);color:var(--tv-white)}

.tv-checkbox{
  display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:8px;
  border:1px solid rgba(246,243,236,.22);border-radius:6px;cursor:pointer;font-size:.9rem;
  background:rgba(246,243,236,.04);transition:.15s;
}
.tv-checkbox:hover{border-color:rgba(246,243,236,.4)}
.tv-checkbox input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--tv-gold)}
.tv-checkbox:has(input:checked){border-color:var(--tv-gold);background:rgba(46,163,242,.14)}
.tv-checkbox span{color:#D7DEE8}

.tv-badge{
  display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle;
  background:rgba(192,57,43,.18);color:#F4A79C;
}
.tv-badge.is-incluido{background:rgba(46,158,91,.18);color:#8FD9AA}

/* Recibo — el elemento firma del precio transparente */
.tv-recibo{
  background:var(--tv-paper);color:var(--tv-ink);border-radius:4px;padding:26px 24px 22px;
  position:relative;
  background-image:
    radial-gradient(circle at 0 0, transparent 8px, var(--tv-paper) 8.5px),
    radial-gradient(circle at 100% 0, transparent 8px, var(--tv-paper) 8.5px);
}
.tv-recibo__top{
  display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:1px dashed var(--tv-line-strong);padding-bottom:14px;margin-bottom:14px;
}
.tv-recibo__top .tv-eyebrow{color:var(--tv-gold-dark)}
.tv-recibo__total-label{font-family:var(--tv-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tv-navy-soft)}
.tv-recibo__total{font-family:var(--tv-mono);font-size:2.1rem;font-weight:600;line-height:1;margin-top:2px}
.tv-recibo__line{display:flex;justify-content:space-between;padding:7px 0;font-size:.92rem;border-bottom:1px dotted var(--tv-line)}
.tv-recibo__line:last-child{border-bottom:none}
.tv-recibo__line span:first-child{color:var(--tv-navy-soft)}
.tv-recibo__line span:last-child{font-family:var(--tv-mono)}
.tv-recibo__note{
  margin-top:16px;padding:12px 14px;background:var(--tv-gold-soft);border-radius:3px;
  font-size:.82rem;color:#5A430F;line-height:1.5;
}
.tv-recibo__itp{margin-top:14px;padding-top:14px;border-top:1px solid var(--tv-line)}
.tv-recibo__actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.tv-recibo__actions .tv-btn{flex:1;min-width:170px}
.tv-recibo-empty{color:#8C97AF;font-size:.92rem;padding:30px 0}

/* ============================================================
   PRECIO TRANSPARENTE (sección informativa aparte)
   ============================================================ */
.tv-pricing-compare{
  display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--tv-line);border-radius:4px;overflow:hidden;margin-top:20px;
}
@media (max-width:700px){.tv-pricing-compare{grid-template-columns:1fr}}
.tv-pricing-compare > div{padding:26px 28px;background:var(--tv-white)}
.tv-pricing-compare > div:first-child{background:var(--tv-paper-dim);border-right:1px solid var(--tv-line)}
@media (max-width:700px){.tv-pricing-compare > div:first-child{border-right:none;border-bottom:1px solid var(--tv-line)}}
.tv-pricing-compare .tv-eyebrow{margin-bottom:10px}
.tv-pricing-compare .amount{font-family:var(--tv-mono);font-size:1.7rem;font-weight:600}
.tv-pricing-compare .amount.is-good{color:var(--tv-green)}
.tv-pricing-compare p{font-size:.86rem;color:var(--tv-navy-soft);margin-top:6px}

/* ============================================================
   FORMULARIO / WIZARD DE DOCUMENTOS
   ============================================================ */
.tv-wizard{background:var(--tv-white);border:1px solid var(--tv-line);border-radius:6px;overflow:hidden}
.tv-wizard__progress{display:flex;border-bottom:1px solid var(--tv-line);background:var(--tv-paper-dim)}
.tv-wizard__progress-step{
  flex:1;padding:14px 10px;text-align:center;font-family:var(--tv-mono);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;color:#9A937E;border-right:1px solid var(--tv-line);position:relative;
}
.tv-wizard__progress-step:last-child{border-right:none}
.tv-wizard__progress-step.is-active{color:var(--tv-ink);font-weight:700}
.tv-wizard__progress-step.is-done{color:var(--tv-green)}
.tv-wizard__body{padding:40px}
@media (max-width:640px){.tv-wizard__body{padding:26px 20px}}
.tv-wizard__panel{display:none}
.tv-wizard__panel.is-active{display:block}
.tv-wizard__nav{display:flex;justify-content:space-between;margin-top:30px;gap:12px}

.tv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.tv-form-grid{grid-template-columns:1fr}}
.tv-form-grid .tv-field{margin-bottom:0}
.tv-field--light select,.tv-field--light input{
  background:var(--tv-white);border:1px solid var(--tv-line-strong);color:var(--tv-ink);
}
.tv-field--light label{color:var(--tv-navy-soft)}
.tv-field--light select:focus,.tv-field--light input:focus{border-color:var(--tv-navy)}

.tv-persona-block{border:1px solid var(--tv-line);border-radius:4px;padding:24px;margin-bottom:20px}
.tv-persona-block > .tv-eyebrow{margin-bottom:16px}

/* Guía de calidad de foto */
.tv-photo-guide{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 26px}
@media (max-width:640px){.tv-photo-guide{grid-template-columns:1fr}}
.tv-photo-guide__card{border-radius:4px;padding:16px;border:1px solid var(--tv-line)}
.tv-photo-guide__card.is-good{background:var(--tv-green-soft);border-color:#BFD9CB}
.tv-photo-guide__card.is-bad{background:var(--tv-red-soft);border-color:#E4C4B8}
.tv-photo-guide__card h4{margin:0 0 8px;font-family:var(--tv-sans);font-size:.86rem;display:flex;align-items:center;gap:8px}
.tv-photo-guide__card ul{margin:0;padding-left:18px;font-size:.84rem;color:var(--tv-navy-soft)}
.tv-photo-guide__card li{margin-bottom:3px}
.tv-photo-guide__icon{width:18px;height:18px;flex:none}

.tv-upload{
  border:1.5px dashed var(--tv-line-strong);border-radius:4px;padding:22px;text-align:center;
  cursor:pointer;position:relative;transition:.15s;background:var(--tv-paper-dim);
}
.tv-upload:hover{border-color:var(--tv-navy)}
.tv-upload.has-file{border-style:solid;border-color:var(--tv-green);background:var(--tv-green-soft)}
.tv-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tv-upload__label{font-size:.86rem;font-weight:600;margin-bottom:4px}
.tv-upload__hint{font-size:.76rem;color:#9A937E}
.tv-upload__preview{margin-top:10px;max-height:110px;border-radius:3px;overflow:hidden;display:none}
.tv-upload__preview img{width:100%;height:110px;object-fit:cover}
.tv-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:640px){.tv-upload-grid{grid-template-columns:1fr}}

.tv-alert{padding:13px 16px;border-radius:3px;font-size:.87rem;margin-top:16px;display:none}
.tv-alert.is-visible{display:block}
.tv-alert--error{background:var(--tv-red-soft);color:#7A2C18}
.tv-alert--success{background:var(--tv-green-soft);color:#245038}

/* ============================================================
   DOCUMENTACIÓN NECESARIA
   ============================================================ */
.tv-doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
@media (max-width:900px){.tv-doc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tv-doc-grid{grid-template-columns:1fr}}
.tv-doc-card{background:var(--tv-white);border:1px solid var(--tv-line);border-radius:10px;padding:24px 20px}
.tv-doc-card__icon{font-size:1.8rem;margin-bottom:12px}
.tv-doc-card h3{font-size:1rem;margin-bottom:.4em}
.tv-doc-card p{font-size:.86rem;color:var(--tv-navy-soft);margin:0}

/* ============================================================
   COMPARATIVA ONLINE VS PRESENCIAL
   ============================================================ */
.tv-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:36px;border:1px solid var(--tv-line);border-radius:10px;overflow:hidden}
@media (max-width:700px){.tv-compare-grid{grid-template-columns:1fr}}
.tv-compare-col{padding:30px 28px}
.tv-compare-col.is-online{background:var(--tv-gold-soft)}
.tv-compare-col.is-presencial{background:var(--tv-white)}
@media (max-width:700px){.tv-compare-col.is-online{border-bottom:1px solid var(--tv-line)}}
@media (min-width:701px){.tv-compare-col.is-online{border-right:1px solid var(--tv-line)}}
.tv-compare-col h3{font-size:1.1rem;margin-bottom:16px}
.tv-compare-col.is-online h3{color:var(--tv-navy)}
.tv-compare-col.is-presencial h3{color:var(--tv-navy-soft)}
.tv-compare-col ul{list-style:none;margin:0;padding:0}
.tv-compare-col li{font-size:.9rem;padding:9px 0 9px 28px;position:relative;border-bottom:1px dotted var(--tv-line)}
.tv-compare-col li:last-child{border-bottom:none}
.tv-compare-col.is-online li:before{content:'✓';position:absolute;left:0;color:var(--tv-green);font-weight:700}
.tv-compare-col.is-presencial li{color:var(--tv-navy-soft)}
.tv-compare-col.is-presencial li:before{content:'–';position:absolute;left:0;color:#B0B7C0;font-weight:700}
.tv-faq{max-width:760px;margin:44px auto 0}
.tv-faq__item{border-bottom:1px solid var(--tv-line)}
.tv-faq__q{
  width:100%;text-align:left;background:none;border:none;padding:20px 4px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:var(--tv-serif);font-size:1.05rem;color:var(--tv-ink);cursor:pointer;
}
.tv-faq__q .plus{font-family:var(--tv-mono);font-size:1.2rem;color:var(--tv-gold-dark);flex:none;transition:transform .2s}
.tv-faq__item.is-open .plus{transform:rotate(45deg)}
.tv-faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.tv-faq__a p{padding:0 4px 20px;color:var(--tv-navy-soft);font-size:.94rem;max-width:640px}

/* ============================================================
   FOOTER
   ============================================================ */
.tv-footer{background:var(--tv-dark-bg);color:#B9C2D4;padding:56px 0 26px}
.tv-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
@media (max-width:700px){.tv-footer__grid{grid-template-columns:1fr;gap:28px}}
.tv-footer h4{color:var(--tv-white);font-family:var(--tv-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px}
.tv-footer a{color:#B9C2D4;text-decoration:none;font-size:.88rem;display:block;margin-bottom:8px}
.tv-footer a:hover{color:var(--tv-white)}
.tv-footer p{font-size:.88rem}
.tv-footer__bottom{
  margin-top:46px;padding-top:22px;border-top:1px solid rgba(246,243,236,.14);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#8C97AF;
}

/* Sección CTA final */
.tv-cta-final{background:var(--tv-gold-soft);border-top:1px solid var(--tv-line);border-bottom:1px solid var(--tv-line)}
.tv-cta-final__inner{max-width:var(--tv-container);margin:0 auto;padding:56px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.tv-cta-final h2{margin-bottom:.2em}
.tv-cta-final p{color:var(--tv-navy-soft);margin:0}

.tv-skip-link{position:absolute;left:-999px;top:0;background:var(--tv-dark-bg);color:var(--tv-white);padding:10px 16px;z-index:100}
.tv-skip-link:focus{left:10px;top:10px}
