/* ===========================================================
   VCF · CAPA DE IDENTIDAD
   Se carga la ULTIMA, despues de toda la cadena de reparaciones.
   La piel ya viene recoloreada (assets/css/vcf-skin/), asi que aqui solo
   queda lo que define la marca: tipografia, logotipo, botones y navegacion.
   =========================================================== */

body.vcf-2026{background:var(--vcf-sand);color:var(--vcf-ink);font-family:var(--vcf-body)}

/* ---------- Tipografia del sistema ---------- */
body.vcf-2026 :where(h1,h2,h3,h4,.vmon-hero h1,.vmon-section-head h2,.vctf-hub-hero h1,.vmon-faq__item summary){
  font-family:var(--vcf-display);font-weight:700;letter-spacing:-.018em;line-height:1.06;text-wrap:balance;
}
body.vcf-2026 :where(p,li,td,label,input,select,textarea,button,.vmon-kicker){font-family:var(--vcf-body)}
body.vcf-2026 :where(.vmon-kicker,.cth-vctf-geo__kicker,.vctf-footer__kicker,.cth-vctf50-answer__item dt){
  font-weight:700;font-size:.71rem;letter-spacing:.17em;text-transform:uppercase;color:var(--vcf-jade);
}
body.vcf-2026 :where(.vmon-hero,.vctf-footer,.vmon-footer,.vmon-authority-faq,.cth-vctf50-answer) .vmon-kicker,
body.vcf-2026 :where(.vctf-footer__kicker,.cth-vctf50-answer__item dt){color:var(--vcf-mango)}

/* ---------- Logotipo ----------
   Sin simbolo. El primer intento llevaba un cuadrado con un punto y una barra
   y leia como un icono de contacto generico, que es justo lo contrario de lo
   que se pedia. Un logotipo no necesita simbolo: la idea unica es que el
   "con" —en mango y con su propio filete— es lo que une viajar y familia. */
body.vcf-2026 .vcf-logo{display:inline-flex;align-items:baseline;line-height:1}
body.vcf-2026 .vcf-logo__word{
  font-family:var(--vcf-display);font-weight:700;font-size:1.44rem;
  letter-spacing:-.035em;color:var(--vcf-jade);white-space:nowrap;
}
body.vcf-2026 .vcf-logo__word em{
  position:relative;font-style:normal;color:var(--vcf-mango);
}
body.vcf-2026 .vcf-logo__word em::after{
  content:"";position:absolute;left:0;right:0;bottom:-.16em;
  height:.09em;border-radius:1px;background:var(--vcf-mango);
}
body.vcf-2026 .vcf-logo--light .vcf-logo__word{color:var(--vcf-sand)}
body.vcf-2026 .vcf-logo--light .vcf-logo__word em{color:var(--vcf-mango)}
@media(max-width:560px){body.vcf-2026 .vcf-logo__word{font-size:1.16rem}}

/* ---------- Botones: rectangulo, filete, cero degradado ---------- */
body.vcf-2026 :where(.vmon-button,.vmon-cta,.vctf-footer__primary,.vctf-footer__secondary,.vmon-auto-cta__button,.vmon-marga .btn){
  background-image:none;border-radius:3px;
  font-family:var(--vcf-body);font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:.86rem;
}
body.vcf-2026 :where(.vmon-button,.vmon-cta){
  background-color:var(--vcf-mango);color:var(--vcf-ink);
  border:2px solid var(--vcf-ink);box-shadow:4px 4px 0 var(--vcf-ink);
  transition:transform .14s ease,box-shadow .14s ease;
}
body.vcf-2026 :where(.vmon-button,.vmon-cta):hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--vcf-ink)}
body.vcf-2026 .vmon-button--light{background-color:var(--vcf-sand);color:var(--vcf-ink)}
body.vcf-2026 .vctf-footer__primary{background-color:var(--vcf-mango);color:var(--vcf-ink);border:2px solid var(--vcf-ink);box-shadow:4px 4px 0 var(--vcf-jade)}
body.vcf-2026 .vctf-footer__secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);box-shadow:none}

/* ---------- Superficies ---------- */
body.vcf-2026 :where(.vctf-footer,.vmon-footer,.vmon-authority-faq,.cth-vctf50-answer){background:var(--vcf-jade-2)}
body.vcf-2026 .vmon-hero{background:var(--vcf-jade)}
body.vcf-2026 .vmon-hero__overlay{background:rgba(10,44,41,.72)}
body.vcf-2026 .vmon-hero h1 em,body.vcf-2026 .vmon-hero-title--gradient em{
  background:none;-webkit-text-fill-color:currentColor;color:var(--vcf-mango);
}
body.vcf-2026 .vmon-section--paper{background:var(--vcf-sand-2)}
body.vcf-2026 :where(.vmon-age-grid>a,.vctf-hub-card,.cth-vctf-geo__item,.cth-vctf-experience__surface,.vmon-hero-poster){
  border:2px solid var(--vcf-ink);border-radius:3px;box-shadow:none;
}
body.vcf-2026 :where(.vmon-age-grid>a,.vctf-hub-card):hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--vcf-jade)}
body.vcf-2026 .vmon-hero-poster{box-shadow:5px 5px 0 var(--vcf-mango)}
body.vcf-2026 .cth-vctf-experience__surface{box-shadow:5px 5px 0 var(--vcf-mango)}
body.vcf-2026 .vmon-admin-note{border:2px dashed var(--vcf-jade);border-radius:3px;background:#fff;padding:18px 20px}

/* ---------- Islas Marga: solo color ---------- */
body.vcf-2026 .vmon-marga :where(.md-bag,.badge){background:var(--vcf-sand-2)!important;color:var(--vcf-ink)!important;background-image:none!important}
body.vcf-2026 .vmon-marga :where(.btn,button[type=submit],input[type=submit]){background-color:var(--vcf-mango)!important;background-image:none!important;color:var(--vcf-ink)!important;border-radius:3px!important}

/* ===========================================================
   NAVEGACION 5.1
   =========================================================== */
body.vcf-2026 .vcf-header{background:var(--vcf-sand);border-bottom:2px solid var(--vcf-ink)}
body.vcf-2026 .vcf-nav>ul>li>a:hover,body.vcf-2026 .vcf-nav .cth-nav__row:hover>a{color:var(--vcf-jade)}
body.vcf-2026 .cth-nav__row{display:inline-flex;align-items:center}
body.vcf-2026 .cth-nav__toggle{
  display:inline-grid;place-items:center;width:30px;height:34px;margin-left:-4px;
  padding:0;border:0;border-radius:3px;background:transparent;color:var(--vcf-jade);cursor:pointer;
}
body.vcf-2026 .cth-nav__toggle span[aria-hidden]{
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid currentColor;transition:transform .16s ease;
}
body.vcf-2026 [data-open]>.cth-nav__row>.cth-nav__toggle span[aria-hidden]{transform:rotate(180deg)}
body.vcf-2026 .vcf-nav li[data-open]>.cth-nav__sub{opacity:1;visibility:visible;transform:none}
body.vcf-2026 .vcf-nav__foot{display:none}
body.vcf-2026 .vcf-burger{
  display:none;width:48px;height:44px;margin-left:auto;padding:0;
  border:2px solid var(--vcf-ink);border-radius:3px;background:#fff;cursor:pointer;
}
body.vcf-2026 .vcf-burger span{display:block;width:22px;height:2.5px;margin:4px auto;background:var(--vcf-ink);border-radius:0;transition:.18s}
body.cth-nav-open.vcf-2026 .vcf-burger{background:var(--vcf-mango)}
body.cth-nav-open.vcf-2026 .vcf-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.cth-nav-open.vcf-2026 .vcf-burger span:nth-child(2){opacity:0}
body.cth-nav-open.vcf-2026 .vcf-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media (max-width:980px){
  body.vcf-2026 .vcf-burger{display:block}
  body.vcf-2026 .vmon-header__actions{display:none}
  body.vcf-2026 .vcf-nav{
    display:block;position:fixed;left:0;right:0;
    top:var(--cth-header-h,74px);height:calc(100dvh - var(--cth-header-h,74px));
    margin:0;padding:22px 0 44px;background:var(--vcf-sand);border-top:2px solid var(--vcf-ink);
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    transform:translateX(100%);visibility:hidden;
    transition:transform .22s ease,visibility 0s linear .22s;z-index:1100;
  }
  body.cth-nav-open.vcf-2026 .vcf-nav{transform:none;visibility:visible;transition:transform .22s ease}
  body.cth-nav-open{overflow:hidden}
  body.vcf-2026 .vcf-nav>ul{display:block;width:min(calc(100% - 36px),1240px);margin:auto;padding:0;list-style:none}
  body.vcf-2026 .vcf-nav>ul>li{border-bottom:1px solid var(--vcf-line)}
  body.vcf-2026 .vcf-nav .cth-nav__row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}
  body.vcf-2026 .vcf-nav>ul>li>a,body.vcf-2026 .vcf-nav .cth-nav__row>a{
    display:flex;align-items:center;flex:1;min-height:60px;padding:14px 0;
    font-family:var(--vcf-display);font-weight:700;font-size:1.42rem;letter-spacing:-.02em;
    color:var(--vcf-ink);background:none;border-radius:0;text-transform:none;
  }
  body.vcf-2026 .cth-nav__toggle{width:48px;height:48px;flex:none;margin:0;border:2px solid var(--vcf-ink);background:#fff}
  body.vcf-2026 .cth-nav__toggle span[aria-hidden]{border-top-width:8px;border-left-width:6px;border-right-width:6px}
  body.vcf-2026 .vcf-nav .cth-nav__sub{
    position:static;display:none;opacity:1;visibility:visible;transform:none;
    min-width:0;width:auto;margin:0 0 16px;padding:6px 0 6px 14px;
    background:transparent;border:0;border-left:3px solid var(--vcf-mango);box-shadow:none;
  }
  body.vcf-2026 .vcf-nav li[data-open]>.cth-nav__sub{display:block}
  body.vcf-2026 .vcf-nav .cth-nav__sub a{display:block;min-height:48px;padding:12px 10px;font-size:1rem;font-weight:600}
  body.vcf-2026 .vcf-nav__foot{
    display:grid;gap:12px;width:min(calc(100% - 36px),1240px);
    margin:26px auto 0;padding-top:24px;border-top:2px solid var(--vcf-ink);
  }
  body.vcf-2026 .vcf-nav__foot .vmon-cta{width:100%;padding:17px 20px;font-size:1rem}
  body.vcf-2026 .vcf-nav__contact{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    min-height:56px;padding:12px 16px;text-decoration:none;color:var(--vcf-ink);
    border:2px solid var(--vcf-ink);border-radius:3px;background:#fff;
  }
  body.vcf-2026 .vcf-nav__contact small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vcf-ink-60)}
  body.vcf-2026 .vcf-nav__contact strong{font-size:1rem;font-weight:700}
}
@media (max-width:980px) and (prefers-reduced-motion:reduce){body.vcf-2026 .vcf-nav{transition:none}}

/* ---------- Accesibilidad ---------- */
body.vcf-2026 :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--vcf-jade);outline-offset:2px;border-radius:3px;
}
body.vcf-2026 :where(.vmon-authority-faq,.vctf-footer,.cth-vctf50-answer,.vmon-hero) :focus-visible{outline-color:var(--vcf-mango)}


/* ===========================================================
   ROBUSTEZ · lo que no debe depender de otra hoja
   Si manana falta una hoja de la cadena, estos bloques no se descomponen.
   =========================================================== */

/* Sello de experiencia propia: el relleno vivia en la hoja heredada, asi que
   mi filete dibujaba un marco vacio. */
body.vcf-2026 .cth-vctf-experience__surface{
  display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,1fr);
  gap:clamp(20px,3vw,44px);padding:clamp(24px,3vw,40px);background:#fff;
}
body.vcf-2026 .cth-vctf-experience__stamp{display:grid;align-content:start;gap:6px}
body.vcf-2026 .cth-vctf-experience__stamp small{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vcf-jade)}
body.vcf-2026 .cth-vctf-experience__stamp strong{font-family:var(--vcf-display);font-size:1.1rem;color:var(--vcf-ink)}
body.vcf-2026 .cth-vctf-experience__copy h2{margin:0 0 .4em}
body.vcf-2026 .cth-vctf-experience__meta{display:block;margin-top:14px;font-size:.82rem;color:var(--vcf-ink-60)}
@media(max-width:760px){body.vcf-2026 .cth-vctf-experience__surface{grid-template-columns:1fr;gap:16px}}

/* Pie: listas sin vinetas y rutas que no se peguen. */
body.vcf-2026 .vctf-footer :where(nav,ul){list-style:none;margin:0;padding:0}
body.vcf-2026 .vctf-footer nav ul li{list-style:none}
body.vcf-2026 .vctf-footer__routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
body.vcf-2026 .vctf-footer__routes a{
  display:grid;gap:4px;padding:16px 18px;text-decoration:none;
  border:1px solid rgba(255,255,255,.24);border-radius:3px;color:#fff;
}
body.vcf-2026 .vctf-footer__routes a:hover{border-color:var(--vcf-mango)}
body.vcf-2026 .vctf-footer__routes small{font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--vcf-mango)}
body.vcf-2026 .vctf-footer__routes strong{font-family:var(--vcf-display);font-size:1.05rem}
body.vcf-2026 .vctf-footer__routes span{font-size:.82rem;color:rgba(255,255,255,.66)}
body.vcf-2026 .vctf-footer__legal{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between}
body.vcf-2026 .vctf-footer__legal nav{display:flex;flex-wrap:wrap;gap:8px 18px}
body.vcf-2026 :where(.cth-vctf-footer-menu,.vmon-footer__help){display:grid;gap:10px}
body.vcf-2026 .vmon-footer__help a{display:grid;gap:2px}
@media(max-width:760px){body.vcf-2026 .vctf-footer__routes{grid-template-columns:1fr}}

/* Equipo: recorte fijo aunque falte la hoja de #Somos. */
body.vcf-2026 .cth-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
body.vcf-2026 :where(.cth-team-card,.vmon-somos-person){display:grid;gap:10px;padding:0 0 18px;background:#fff;border:2px solid var(--vcf-ink);border-radius:3px;overflow:hidden}
body.vcf-2026 :where(.cth-team-card,.vmon-somos-person) figure{margin:0}
body.vcf-2026 :where(.cth-team-card,.vmon-somos-person) img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
body.vcf-2026 :where(.cth-team-card,.vmon-somos-person) :where(strong,h3){display:block;padding:0 18px;font-family:var(--vcf-display);font-size:1.05rem}
body.vcf-2026 :where(.cth-team-card,.vmon-somos-person) :where(small,p){display:block;padding:0 18px;font-size:.88rem;color:var(--vcf-ink-60)}

/* Buscador: el titular de resultados iba oscuro sobre el lienzo oscuro. */
body.vcf-2026 :where(.vmon-marga--search,.cth-marga-island) :where(h2,h3,.md-results-title,strong){color:#fff}
body.vcf-2026 .vmon-marga--search label{color:rgba(255,255,255,.82)}


/* ===========================================================
   BLOQUE DE RESPUESTAS · 8 tarjetas, dos filas de cuatro
   =========================================================== */
body.vcf-2026 .cth-vctf50-answer{padding:clamp(52px,6vw,88px) 0}
body.vcf-2026 .cth-vctf50-answer__grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
}
body.vcf-2026 .cth-vctf50-answer__item{
  padding:20px 22px;border-radius:4px;
  border:1px solid rgba(242,160,61,.28);background:rgba(255,255,255,.04);
}
body.vcf-2026 .cth-vctf50-answer__item dt{margin:0 0 10px;line-height:1.3}
body.vcf-2026 .cth-vctf50-answer__item dd{margin:0;font-size:.94rem;line-height:1.55;color:rgba(255,255,255,.9)}
@media(max-width:1180px){body.vcf-2026 .cth-vctf50-answer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Movil: oculto por defecto. El contenido sigue en el HTML para los
   rastreadores; solo deja de ocupar pantalla. */
@media(max-width:760px){
  body.vcf-answer-hide .cth-vctf50-answer{display:none}
  body.vcf-answer-fold .cth-vctf50-answer__grid{grid-template-columns:1fr;gap:10px}
  body.vcf-answer-fold .cth-vctf50-answer__item{padding:14px 16px}
  body.vcf-answer-fold .cth-vctf50-answer__item dd{font-size:.9rem}
  body.vcf-answer-show .cth-vctf50-answer__grid{grid-template-columns:1fr}
}

/* ===========================================================
   BLOQUE GEO de portada · maqueta propia
   =========================================================== */
body.vcf-2026 .cth-vctf-geo{padding:clamp(48px,6vw,84px) 0}
body.vcf-2026 .cth-vctf-geo__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:clamp(24px,3vw,38px)}
body.vcf-2026 .cth-vctf-geo__item{padding:22px 24px;background:#fff}
body.vcf-2026 .cth-vctf-geo__item strong{display:block;margin:0 0 8px;font-family:var(--vcf-display);font-size:1.06rem;line-height:1.25;color:var(--vcf-jade)}
body.vcf-2026 .cth-vctf-geo__item p{margin:0;font-size:.95rem;line-height:1.6;color:var(--vcf-ink)}
