/* =========================================================
   VCC STUDIO — Puente entre el diseño del tema y Elementor
   Solo se aplica a la portada construida con Elementor.
   ========================================================= */

/* Rayita naranja delante de los antetítulos */
.vcc-eyebrow .elementor-heading-title::before{
  content:"";display:inline-block;width:28px;height:3px;background:var(--accent,#f5a623);
  vertical-align:middle;margin-right:10px;border-radius:2px;
}

/* Las listas dentro de bloques HTML no heredan viñetas del navegador */
.elementor-widget-html ul{list-style:none;margin:0;padding:0}

/* Viñetas naranjas de las tarjetas de Soluciones */
.vcc-sollist ul{display:grid;gap:9px}
.vcc-sollist li{position:relative;padding-left:22px;color:var(--text,#1c2741);font-size:.96rem}
.vcc-sollist li::before{
  content:"";position:absolute;left:0;top:9px;width:7px;height:7px;
  border-radius:50%;background:var(--accent,#f5a623);
}

/* Elevación al pasar el cursor sobre tarjetas */
.e-con.vcc-card{transition:transform .3s, box-shadow .3s}
.e-con.vcc-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(22,38,74,.14)}

/* Los párrafos de Elementor no deben arrastrar el margen del tema */
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* El formulario de contacto ocupa todo el ancho de su columna */
.elementor-widget-html .contact__form{width:100%}

/* Iconos SVG de marca (sustituyen a los emojis) */
.vcc-ico{width:1.5rem;height:1.5rem;flex:0 0 auto;color:var(--accent,#f5a623)}
.card__icon .vcc-ico{width:1.9rem;height:1.9rem}
.card__icon{line-height:0}
.pillar .vcc-ico{width:1.1rem;height:1.1rem;color:#fff}
.tags .vcc-ico{width:1.05rem;height:1.05rem;margin-right:8px}
.tags span{display:inline-flex;align-items:center}
.sectors li .vcc-ico{width:1.5rem;height:1.5rem}

/* ===== IMAGENES RECORTADAS (widget Imagen, conserva alt y carga diferida) =====
   Se usa .elementor-widget en el selector para superar en especificidad a las
   reglas base de Elementor, que cargan despues de esta hoja. */
.elementor-widget.vcc-media-200 img,
.elementor-widget.vcc-media-230 img,
.elementor-widget.vcc-media-420 img{
  width:100%;object-fit:cover;display:block;
}
.elementor-widget.vcc-media-200 img{height:200px}
.elementor-widget.vcc-media-230 img{height:230px}
/* Pegadas al cuerpo de la tarjeta, sin el margen por defecto de Elementor. */
.elementor-widget.vcc-media-200,
.elementor-widget.vcc-media-230,
.elementor-widget.vcc-media-420{margin:0}
.elementor-widget.vcc-media-420 img{
  height:420px;border-radius:var(--radius,16px);
  box-shadow:0 14px 40px rgba(22,38,74,.08);
}
@media(max-width:980px){ .elementor-widget.vcc-media-420 img{height:320px} }
@media(max-width:720px){ .elementor-widget.vcc-media-420 img{height:260px} }

/* ===== GALERIA DE PROYECTOS (imagen + rotulo superpuesto) =====
   La altura la fija el contenedor, no la imagen: asi el rotulo
   siempre queda pegado al borde inferior de la foto. */
.e-con.vcc-gal{
  position:relative;height:230px;overflow:hidden;
  border-radius:var(--radius,16px);box-shadow:0 6px 20px rgba(22,38,74,.07);
}
.e-con.vcc-gal .elementor-widget-image{margin:0;height:100%;width:100%}
.e-con.vcc-gal .elementor-widget-image img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .5s}
.e-con.vcc-gal:hover .elementor-widget-image img{transform:scale(1.07)}
.elementor-widget.vcc-gal__cap{
  position:absolute;left:0;right:0;bottom:0;top:auto;margin:0;padding:14px 18px;
  background:linear-gradient(transparent,rgba(14,27,56,.88));
  display:flex;flex-direction:column;gap:2px;color:#fff;pointer-events:none;
}
/* Banda superior de la galería, más alta para dar jerarquía */
.e-con.vcc-gal--alta{height:300px}
@media(max-width:980px){ .e-con.vcc-gal--alta{height:260px} }
@media(max-width:720px){ .e-con.vcc-gal,.e-con.vcc-gal--alta{height:200px} }
.vcc-gal__cap span{font-size:.72rem;text-transform:uppercase;letter-spacing:2px;color:var(--accent,#f5a623);font-weight:700}
.vcc-gal__cap strong{font-size:1.02rem}

/* ===== FORMULARIO (Contact Form 7) ===== */
.vcc-form .wpcf7{width:100%}
.vcc-form form.wpcf7-form{
  background:#fff;border-radius:var(--radius,16px);padding:32px;
  box-shadow:0 14px 40px rgba(22,38,74,.08);
}
.vcc-form .wpcf7-form-control-wrap{display:block}
.vcc-form input[type=text],.vcc-form input[type=email],.vcc-form select,.vcc-form textarea{width:100%}
.vcc-form .field.vcc-consent{flex-direction:row;align-items:flex-start;gap:10px}
.vcc-form .vcc-consent .wpcf7-list-item{margin:0}
.vcc-form .vcc-consent label{
  display:flex;gap:10px;align-items:flex-start;margin:0;
  font-size:.86rem;font-weight:400;color:var(--muted,#5c6a86);line-height:1.5;
}
.vcc-form .vcc-consent input[type=checkbox]{width:auto;margin-top:4px;accent-color:var(--accent,#f5a623)}
.vcc-form .vcc-consent a{color:var(--accent,#f5a623);text-decoration:underline}
.vcc-form .wpcf7-response-output{border-radius:10px;border-width:1px;margin:14px 0 0;padding:12px 14px;font-size:.9rem;color:#fff}
.vcc-form .wpcf7-not-valid-tip{color:#ffb4a8;font-size:.8rem;margin-top:5px}
.vcc-form .wpcf7-spinner{display:block;margin:10px auto 0}
.vcc-form .wpcf7-form > .field:last-of-type{margin-bottom:24px}
/* Trampa antispam: invisible para personas, presente para robots */
.vcc-trampa{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}

/* Datos de contacto clicables */
.contact__list a{color:inherit;border-bottom:1px solid rgba(245,166,35,.45);transition:color .2s,border-color .2s}
.contact__list a:hover{color:var(--accent,#f5a623);border-color:var(--accent,#f5a623)}

/* Etiqueta inferior del hero */
.vcc-hero-tag{display:block;text-align:center;color:#cfd8ea;font-size:.78rem;letter-spacing:3px;text-transform:uppercase}


/* =========================================================
   REFINADO — cabecera, tipografía, sombras y tarjetas
   ========================================================= */

/* --- Cabecera más contenida: el logo ocupaba 78px de alto --- */
.nav__inner{height:78px;transition:height .3s}
.brand__logo{height:56px;transition:height .3s,opacity .3s}
.nav.scrolled .nav__inner{height:64px}
.nav.scrolled .brand__logo{height:46px}
.nav__links{gap:26px}
.nav__links a{font-size:.92rem}
.nav__cta{padding:9px 19px;box-shadow:0 6px 16px rgba(245,166,35,.28)}
@media(max-width:720px){ .nav__links{top:78px} }

/* --- Tipografía: títulos equilibrados y texto algo más compacto --- */
h1,h2,h3,.elementor-heading-title{text-wrap:balance}
.elementor-widget-text-editor p{line-height:1.58}
.vcc-eyebrow .elementor-heading-title{letter-spacing:2.4px}
.vcc-eyebrow .elementor-heading-title::before{width:22px;height:2px;margin-right:9px}

/* --- Sombras en dos capas: contacto nítido + halo suave --- */
.e-con.vcc-card,.card,.step,.sectors li,.tags span,.contact__form,.vcc-form form.wpcf7-form{
  box-shadow:0 1px 2px rgba(22,38,74,.04), 0 12px 28px -10px rgba(22,38,74,.14);
}
.e-con.vcc-card:hover{box-shadow:0 2px 4px rgba(22,38,74,.05), 0 26px 48px -14px rgba(22,38,74,.22)}
.card:hover,.step:hover{box-shadow:0 2px 4px rgba(22,38,74,.05), 0 20px 38px -12px rgba(22,38,74,.18)}
.e-con.vcc-card,.card,.step,.sectors li{border-color:#e8ecf4}

/* --- Tarjetas de igual altura con el enlace anclado abajo --- */
.e-con.vcc-card > .e-con{flex:1 1 auto}
.vcc-mas-wrap{margin-top:auto;padding-top:16px}
@media(min-width:981px){
  /* Que las viñetas arranquen a la misma altura aunque un título ocupe dos líneas */
  .vcc-sollist .vcc-card h3{min-height:2.5em}
}

/* Enlace "Ver el servicio" de las tarjetas de Soluciones */
.vcc-mas{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--accent,#f5a623);font-weight:700;font-size:.92rem;
  transition:gap .2s;
}
.vcc-mas:hover{gap:11px;color:var(--accent,#f5a623)}
.vcc-sollist .vcc-card h3 a{color:inherit}
.vcc-sollist .vcc-card h3 a:hover{color:var(--accent,#f5a623)}

/* =========================================================
   RITMO VERTICAL
   Ajuste fino de las separaciones heredadas del diseño de una
   sola página, que quedaban holgadas con las secciones actuales.
   ========================================================= */
.stats{gap:32px;margin-top:0}
.why{gap:15px}
.checks{gap:10px;margin-top:0}
.sectors{gap:12px}
.sectors li{padding:16px 18px}
.tags{gap:12px}
.tags span{padding:11px 20px}
.steps{gap:16px}
.step{padding:22px 20px}
.card{padding:26px 24px}
.card__icon{margin-bottom:11px}
.grid{gap:22px}

/* ===== ENLACES DEL PIE ===== */
.footer{padding:28px 0 14px}
.footer__inner{padding-bottom:12px}
.footer__copy{margin-top:12px}
.footer__nav{
  display:flex;flex-wrap:wrap;gap:48px;
  max-width:var(--max,1140px);margin:0 auto;padding:22px 24px 0;
}
.footer__nav-grupo{display:flex;flex-direction:column;gap:8px}
.footer__nav-titulo{
  font-size:.72rem;text-transform:uppercase;letter-spacing:2px;
  color:var(--accent,#f5a623);font-weight:700;margin-bottom:4px;
}
.footer__nav a{color:#aab6cf;font-size:.9rem;transition:color .2s}
.footer__nav a:hover{color:#fff}
@media(max-width:720px){ .footer__nav{gap:28px;padding-top:22px} }

/* Sublistas de la metodología */
.step ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}
.step li{
  position:relative;padding-left:13px;color:var(--muted,#5c6a86);font-size:.87rem;line-height:1.4;
}
.step li::before{
  content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;
  background:var(--accent,#f5a623);
}

/* Enlace a la página de paquetes desde Soluciones */
.vcc-verpaq{text-align:center;color:var(--muted,#5c6a86);font-size:.96rem}
.vcc-verpaq a{color:var(--accent,#f5a623);font-weight:700}
.vcc-verpaq a:hover{text-decoration:underline}

/* Con ocho beneficios la rejilla necesita dos filas holgadas */
#beneficios .card p{font-size:.9rem}

/* =========================================================
   PAQUETES DE SERVICIO
   ========================================================= */
.vcc-cobertura{
  margin-top:0;text-align:center;font-size:.82rem;letter-spacing:.4px;
  color:var(--muted,#5c6a86);
}
.vcc-cobertura::before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--accent,#f5a623);vertical-align:middle;margin-right:8px;
}
.vcc-nota-precio{color:#9fb0cd;font-size:.92rem;line-height:1.55;max-width:52ch}

/* Bloque de diagnóstico previo */
.vcc-previo__caja{
  max-width:720px;margin:0 auto;padding:18px 22px;
  background:#fff;border:1px dashed #d6ddea;border-radius:14px;
}
.vcc-previo__caja strong{
  display:block;color:var(--heading,#16264a);font-size:.95rem;margin-bottom:4px;
}
.vcc-previo__caja p{color:var(--muted,#5c6a86);font-size:.92rem;line-height:1.55;margin:0}

/* Rejilla de tarjetas */
.vcc-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.vcc-packs.vcc-packs--2{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}
@media(max-width:980px){
  .vcc-packs,.vcc-packs.vcc-packs--2{grid-template-columns:1fr;max-width:520px;margin:0 auto}
}

.vcc-pack{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e8ecf4;border-radius:var(--radius,16px);
  padding:28px 26px 26px;
  box-shadow:0 1px 2px rgba(22,38,74,.04), 0 12px 28px -10px rgba(22,38,74,.14);
  transition:transform .3s, box-shadow .3s;
}
.vcc-pack:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(22,38,74,.05), 0 24px 44px -14px rgba(22,38,74,.2)}
.vcc-pack--destacado{border:2px solid var(--accent,#f5a623);padding-top:32px}
.vcc-pack__insignia{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--accent,#f5a623);color:#fff;font-size:.68rem;font-weight:700;
  letter-spacing:1.4px;text-transform:uppercase;padding:5px 14px;border-radius:999px;
  white-space:nowrap;box-shadow:0 6px 14px rgba(245,166,35,.32);
}
.vcc-pack__et{
  font-size:.68rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--muted,#5c6a86);font-weight:700;
}
.vcc-pack__nombre{
  font-family:"Space Grotesk",sans-serif;font-size:1.6rem;font-weight:700;
  color:var(--heading,#16264a);letter-spacing:-.4px;margin:6px 0 2px;line-height:1.1;
}
.vcc-pack__lema{
  color:var(--accent,#f5a623);font-size:.86rem;font-weight:600;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #eef1f7;
}
.vcc-pack__lista{list-style:none;display:grid;gap:11px;margin:0;padding:0}
.vcc-pack__lista li{
  position:relative;padding-left:26px;color:var(--text,#1c2741);
  font-size:.94rem;line-height:1.5;
}
.vcc-pack__lista li::before{
  content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;
  background:rgba(245,166,35,.14);
}
.vcc-pack__lista li::after{
  content:"";position:absolute;left:5px;top:7px;width:6px;height:3px;
  border-left:2px solid var(--accent,#f5a623);border-bottom:2px solid var(--accent,#f5a623);
  transform:rotate(-45deg);
}
.vcc-pack__cta{
  margin-top:24px;align-self:stretch;text-align:center;
  padding:12px 20px;font-size:.94rem;
}
.vcc-pack:not(.vcc-pack--destacado) .vcc-pack__cta{
  background:transparent;color:var(--heading,#16264a);
  border:1px solid #dbe2ee;box-shadow:none;
}
.vcc-pack:not(.vcc-pack--destacado) .vcc-pack__cta:hover{
  border-color:var(--accent,#f5a623);color:var(--accent,#f5a623);transform:none;
}

/* ===== BANDA DE CLIENTES =====
   En gris y algo apagados para que convivan pese a venir de fuentes
   distintas; recuperan su color al pasar el cursor. */
.vcc-clientes{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:20px 54px;list-style:none;margin:0;padding:0;
}
.vcc-clientes li{display:flex;align-items:center}
.vcc-clientes img{
  width:auto;height:44px;max-width:190px;object-fit:contain;display:block;
  filter:grayscale(1) opacity(.55);transition:filter .3s;
}
.vcc-clientes img:hover{filter:grayscale(0) opacity(1)}
@media(max-width:720px){
  .vcc-clientes{gap:18px 32px}
  .vcc-clientes img{height:34px;max-width:130px}
}

/* ===== VIA ALTERNATIVA AL FORMULARIO ===== */
.vcc-alt{
  border-left:2px solid var(--accent,#f5a623);
  padding:2px 0 2px 16px;
}
.vcc-alt strong{display:block;color:#fff;font-size:1rem;margin-bottom:6px}
.vcc-alt p{color:#c9d3e8;font-size:.93rem;line-height:1.55;margin:0}
.vcc-alt__como{margin-top:8px !important;color:#8fa0c0 !important;font-size:.85rem !important}
.vcc-alt em{color:var(--accent,#f5a623);font-style:normal;font-weight:600}

/* ===== PREGUNTAS FRECUENTES (acordeón nativo, sin JavaScript) ===== */
.vcc-faq details{
  border-bottom:1px solid var(--line,#e4e9f2);
  padding:0;transition:background .2s;
}
.vcc-faq details:first-of-type{border-top:1px solid var(--line,#e4e9f2)}
.vcc-faq summary{
  list-style:none;cursor:pointer;position:relative;
  padding:19px 44px 19px 0;
  font-weight:600;font-size:1.02rem;color:var(--heading,#16264a);
  transition:color .2s;
}
.vcc-faq summary::-webkit-details-marker{display:none}
.vcc-faq summary:hover{color:var(--accent,#f5a623)}
.vcc-faq summary:focus-visible{outline:2px solid var(--accent,#f5a623);outline-offset:3px;border-radius:4px}
/* Signo + que gira a × al abrir */
.vcc-faq summary::after{
  content:"";position:absolute;right:6px;top:50%;
  width:13px;height:13px;margin-top:-7px;
  background:
    linear-gradient(var(--accent,#f5a623),var(--accent,#f5a623)) center/13px 2px no-repeat,
    linear-gradient(var(--accent,#f5a623),var(--accent,#f5a623)) center/2px 13px no-repeat;
  transition:transform .25s ease;
}
.vcc-faq details[open] summary::after{transform:rotate(135deg)}
.vcc-faq details[open] summary{color:var(--heading,#16264a)}
.vcc-faq__r{padding:0 44px 20px 0}
.vcc-faq__r p{color:var(--muted,#5c6a86);font-size:.97rem;line-height:1.62;margin:0}

/* ===== PAGINA 404 ===== */
.vcc-404 .container{max-width:660px;text-align:center}
.vcc-404 .section__eyebrow{margin-bottom:12px}
.vcc-404 .muted{margin-top:14px}
.vcc-404__acciones{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.vcc-404__btn{border-color:var(--line,#e4e9f2);color:var(--heading,#16264a)}
.vcc-404__btn:hover{border-color:var(--accent,#f5a623);color:var(--accent,#f5a623)}
.vcc-404__titulo{
  margin-top:44px;font-size:.72rem;text-transform:uppercase;letter-spacing:2px;
  color:var(--muted,#5c6a86);font-weight:700;
}
.vcc-404__lista{list-style:none;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.vcc-404__lista a{
  display:inline-block;padding:10px 18px;border:1px solid var(--line,#e4e9f2);
  border-radius:999px;font-size:.9rem;font-weight:600;color:var(--heading,#16264a);transition:.2s;
}
.vcc-404__lista a:hover{border-color:var(--accent,#f5a623);color:var(--accent,#f5a623)}

/* ===== CONTENIDO DE PAGINAS INTERNAS (legales) ===== */
.entry-content h2{
  font-family:"Space Grotesk",sans-serif;font-size:1.35rem;color:var(--heading,#16264a);
  margin:28px 0 10px;letter-spacing:-.3px;
}
.entry-content p{color:var(--muted,#5c6a86);margin-bottom:14px;max-width:78ch}
.entry-content a{color:var(--accent,#f5a623);text-decoration:underline}
.entry-content ul{margin:0 0 14px 20px;color:var(--muted,#5c6a86)}

/* ===== BOTON FLOTANTE DE WHATSAPP ===== */
.vcc-wa{
  position:fixed;right:20px;bottom:20px;z-index:60;
  display:inline-flex;align-items:center;gap:10px;
  background:#25d366;color:#fff;font-weight:700;font-size:.95rem;
  padding:13px 20px;border-radius:999px;
  box-shadow:0 10px 28px rgba(37,211,102,.38);
  transition:transform .25s, box-shadow .25s;
}
.vcc-wa:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,211,102,.45);color:#fff}
.vcc-wa:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:720px){
  .vcc-wa{right:16px;bottom:16px;padding:14px;border-radius:50%}
  .vcc-wa__txt{display:none}
}

/* ===== AVISO DE COOKIES ===== */
.vcc-cookies{
  position:fixed;left:20px;bottom:20px;z-index:61;max-width:420px;
  background:#fff;border:1px solid var(--line,#e4e9f2);border-radius:16px;
  padding:20px 22px;box-shadow:0 20px 50px rgba(22,38,74,.18);
}
.vcc-cookies[hidden]{display:none}
.vcc-cookies p{color:var(--muted,#5c6a86);font-size:.9rem;margin-bottom:14px}
.vcc-cookies a{color:var(--accent,#f5a623);text-decoration:underline}
.vcc-cookies__acciones{display:flex;gap:10px;flex-wrap:wrap}
.vcc-cookies .btn{padding:10px 18px;font-size:.9rem}
.vcc-cookies .btn--ghost{border-color:var(--line,#e4e9f2);color:var(--heading,#16264a)}
.vcc-cookies .btn--ghost:hover{border-color:var(--accent,#f5a623);background:transparent}
@media(max-width:720px){
  .vcc-cookies{left:12px;right:12px;bottom:88px;max-width:none}
}
/* =========================================================
   MODO OSCURO — el lenguaje visual del brochure de servicios
   Se redefinen las variables del tema, así los componentes que
   ya las usaban (.card, .step, .tags, .sectors, .checks…) cambian
   solos. Los colores de marca no se tocan.
   ========================================================= */
:root{
  --bg:#0e1b38;
  --bg-soft:#16264a;
  --bg-dark:#0a1530;
  --card:#182a4f;
  --text:#c3d0e8;
  --heading:#ffffff;
  --muted:#a2b3d1;
  --line:rgba(255,255,255,.12);
  --shadow:0 18px 44px rgba(0,0,0,.34);
  --shadow-sm:0 10px 26px rgba(0,0,0,.26);
}
body{background:var(--bg);color:var(--text)}

/* Superficies que el tema traía en blanco fijo */
.contact__form,
.vcc-form form.wpcf7-form,
.vcc-pack,
.vcc-previo__caja{
  background:var(--card);
  border-color:var(--line);
}
.vcc-previo__caja{border-style:dashed}
.field input,.field select,.field textarea,
.vcc-form input[type=text],.vcc-form input[type=email],
.vcc-form select,.vcc-form textarea{
  background:rgba(255,255,255,.05);
  border-color:var(--line);
  color:var(--heading);
}
.field input::placeholder,.field textarea::placeholder,
.vcc-form input::placeholder,.vcc-form textarea::placeholder{color:#7f90b0}
.field select option{background:#16264a;color:#fff}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--accent);background:rgba(255,255,255,.08);
}

/* Tarjetas: relieve por luz, no por sombra */
.e-con.vcc-card,.card,.step,.sectors li,.tags span,.vcc-pack{
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset, 0 16px 34px -14px rgba(0,0,0,.6);
  border-color:var(--line);
}
.e-con.vcc-card:hover{box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 26px 52px -16px rgba(0,0,0,.7)}
.card:hover,.step:hover,.vcc-pack:hover{
  border-color:rgba(245,166,35,.4);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 22px 44px -16px rgba(0,0,0,.65);
}
.card--plain{border-top:3px solid var(--accent)}
.tags span:hover{border-color:var(--accent);color:var(--accent)}

/* Cabecera: el logo blanco se queda siempre; al bajar, fondo traslúcido */
.nav.scrolled{
  background:rgba(10,21,48,.86);backdrop-filter:blur(14px);
  border-color:var(--line);box-shadow:0 6px 26px rgba(0,0,0,.4);
}
.nav.scrolled .brand__logo--light{opacity:1}
.nav.scrolled .brand__logo--dark{opacity:0}
.nav.scrolled .nav__links a{color:rgba(255,255,255,.92)}
.nav.scrolled .nav__links a:hover{color:var(--accent)}
.nav.scrolled .nav__toggle span{background:#fff}
@media(max-width:720px){
  .nav__links{background:rgba(10,21,48,.97);border-bottom-color:var(--line)}
  .nav__links a{color:rgba(255,255,255,.92);border-bottom-color:var(--line)}
}

/* La banda de clientes se queda clara a propósito: los logos vienen
   sobre fondo blanco y en negativo desaparecerían. Sirve de respiro. */
/* Los logos vienen sobre blanco: en banda oscura irían como rectángulos.
   Se montan en fichas blancas, igual que en el brochure. */
.vcc-clientes{gap:18px 22px}
.vcc-clientes li{
  background:#fff;border-radius:12px;padding:14px 22px;
  box-shadow:0 10px 26px -12px rgba(0,0,0,.6);
  transition:transform .3s;
}
.vcc-clientes li:hover{transform:translateY(-3px)}
.vcc-clientes img{filter:grayscale(1) opacity(.72);transition:filter .3s}
.vcc-clientes li:hover img{filter:grayscale(0) opacity(1)}

/* Preguntas frecuentes */
.vcc-faq details,.vcc-faq details:first-of-type{border-color:var(--line)}
.vcc-faq summary{color:var(--heading)}
.vcc-faq details[open] summary{color:var(--accent)}

/* Páginas internas y 404 */
.entry-content h2{color:var(--heading)}
.entry-content p,.entry-content ul{color:var(--muted)}
.vcc-404__btn{border-color:var(--line);color:var(--heading)}
.vcc-404__lista a{border-color:var(--line);color:var(--heading)}

/* Paquetes */
.vcc-pack__nombre{color:var(--heading)}
.vcc-pack__lema{border-bottom-color:var(--line)}
.vcc-pack__lista li{color:var(--text)}
.vcc-pack:not(.vcc-pack--destacado) .vcc-pack__cta{color:var(--heading);border-color:var(--line)}

/* Etiqueta numerada de sección, como en el brochure */
.vcc-eyebrow .elementor-heading-title::before{background:var(--accent)}

/* Aviso de cookies y fichas de cliente: las dos superficies que
   siguen siendo claras por diseño, ajustadas al fondo oscuro. */
.vcc-cookies{
  background:var(--card);
  border-color:var(--line);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.vcc-cookies p{color:var(--muted)}
.vcc-cookies .btn--ghost{border-color:var(--line);color:var(--heading)}
.vcc-cookies .btn--ghost:hover{border-color:var(--accent);color:var(--accent)}

/* Las fichas de los logos sí van en blanco: los logos son oscuros. */
.vcc-clientes li{background:#fff}

/* ===== CARRUSEL (widget nativo de Elementor) =====
   Misma altura y recorte que las imágenes fijas de 420px, para que
   el bloque no salte al cambiar de foto. */
.vcc-carrusel .elementor-image-carousel-wrapper{
  border-radius:var(--radius,16px);overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.42);
}
.vcc-carrusel .swiper-slide img,
.vcc-carrusel .swiper-slide-image{
  height:420px;width:100%;object-fit:cover;display:block;
}
.vcc-carrusel figure{margin:0}
.vcc-carrusel .swiper-pagination{bottom:14px}
.vcc-carrusel .swiper-pagination-bullet{
  background:#fff;opacity:.45;width:8px;height:8px;transition:opacity .25s,width .25s;
}
.vcc-carrusel .swiper-pagination-bullet-active{background:var(--accent,#f5a623);opacity:1;width:22px;border-radius:4px}
@media(max-width:980px){ .vcc-carrusel .swiper-slide img,.vcc-carrusel .swiper-slide-image{height:320px} }
@media(max-width:720px){ .vcc-carrusel .swiper-slide img,.vcc-carrusel .swiper-slide-image{height:260px} }
/* ===== APARICION ESCALONADA ===== */
.reveal{transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1)}
/* ===== PAQUETES: familia como encabezado, opciones desplegables ===== */
.vcc-familias{display:grid;gap:52px}
.vcc-fam__cab{max-width:70ch;margin-bottom:22px}
.vcc-fam__et{
  display:block;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--accent);font-weight:700;margin-bottom:8px;
}
.vcc-fam__t{
  font-family:"Space Grotesk",sans-serif;font-size:1.85rem;font-weight:700;
  color:var(--heading);letter-spacing:-.5px;line-height:1.15;margin:0;
}
.vcc-fam__intro{color:var(--muted);font-size:1rem;line-height:1.6;margin:12px 0 0}
.vcc-cobertura--izq{text-align:left;margin:10px 0 0}

/* --- Cada opción: fila que se abre al pulsar --- */
.vcc-opciones{display:grid;gap:10px}
.vcc-po{
  border:1px solid var(--line);border-radius:14px;
  background:rgba(255,255,255,.03);overflow:hidden;
  transition:border-color .25s,background .25s;
}
.vcc-po:hover{border-color:rgba(245,166,35,.4)}
.vcc-po[open]{border-color:rgba(245,166,35,.55);background:rgba(255,255,255,.05)}
.vcc-po summary{
  list-style:none;cursor:pointer;position:relative;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:18px 58px 18px 22px;
}
.vcc-po summary::-webkit-details-marker{display:none}
.vcc-po summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.vcc-po__id{display:flex;flex-direction:column;gap:3px;min-width:150px}
.vcc-po__et{font-size:.64rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:700}
.vcc-po__nombre{
  font-family:"Space Grotesk",sans-serif;font-size:1.28rem;font-weight:700;
  color:var(--heading);letter-spacing:-.3px;line-height:1.1;
}
.vcc-po__lema{color:var(--accent);font-size:.9rem;font-weight:600;flex:1 1 auto}
.vcc-po__insignia{
  flex:0 0 auto;background:var(--accent);color:#fff;
  font-size:.62rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;white-space:nowrap;
}
/* Signo + que gira a × al abrir */
.vcc-po summary::after{
  content:"";position:absolute;right:22px;top:50%;
  width:14px;height:14px;margin-top:-7px;
  background:
    linear-gradient(var(--accent),var(--accent)) center/14px 2px no-repeat,
    linear-gradient(var(--accent),var(--accent)) center/2px 14px no-repeat;
  transition:transform .3s ease;
}
.vcc-po[open] summary::after{transform:rotate(135deg)}
.vcc-po__cuerpo{padding:4px 22px 22px;border-top:1px solid var(--line)}
.vcc-po__lista{list-style:none;display:grid;gap:10px;margin:18px 0 0;padding:0}
.vcc-po__lista li{position:relative;padding-left:26px;color:var(--text);font-size:.95rem;line-height:1.5}
.vcc-po__lista li::before{
  content:"";position:absolute;left:0;top:3px;width:16px;height:16px;
  border-radius:50%;background:rgba(245,166,35,.16);
}
.vcc-po__lista li::after{
  content:"";position:absolute;left:5px;top:7px;width:6px;height:3px;
  border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(-45deg);
}
.vcc-po__cta{display:inline-block;margin-top:22px;padding:12px 24px;font-size:.94rem}
@media(max-width:720px){
  .vcc-po summary{padding:16px 46px 16px 16px;gap:8px}
  .vcc-po__lema{flex-basis:100%;font-size:.85rem}
  .vcc-po summary::after{right:16px}
  .vcc-po__cuerpo{padding:4px 16px 18px}
}

/* Caja de diagnóstico previo */
.vcc-previo__caja{max-width:none;margin:0 0 18px}

/* ===== MENU DESPLEGABLE DE PAQUETES ===== */
.nav__conmenu{position:relative;display:flex;align-items:center}
.nav__padre::after{
  content:"";display:inline-block;width:6px;height:6px;margin-left:7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.75;transition:transform .25s;
}
.nav__conmenu:hover .nav__padre::after,
.nav__conmenu:focus-within .nav__padre::after{transform:rotate(225deg) translateY(-2px)}
.nav__sub{
  position:absolute;top:100%;left:50%;transform:translate(-50%,8px);
  min-width:300px;padding:8px;margin-top:10px;
  background:#16264a;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s;
  z-index:60;
}
/* Puente invisible para que el ratón pueda bajar sin cerrar el menú */
.nav__sub::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.nav__conmenu:hover .nav__sub,
.nav__conmenu:focus-within .nav__sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav__sub a{
  display:block;padding:11px 14px;border-radius:10px;
  font-size:.92rem;font-weight:600;line-height:1.3;color:var(--heading);
  transition:background .2s,color .2s;
}
.nav__sub a:hover{background:rgba(245,166,35,.12);color:var(--accent)}

/* En móvil el submenú va desplegado dentro del menú hamburguesa */
@media(max-width:720px){
  .nav__conmenu{display:block;width:100%}
  .nav__sub{
    position:static;transform:none;opacity:1;visibility:visible;
    min-width:0;margin:0 0 6px;padding:0 0 0 12px;
    background:transparent;border:0;border-left:2px solid var(--line);
    box-shadow:none;border-radius:0;
  }
  .nav__sub a{padding:9px 0;border-bottom:0}
  .nav__sub a{font-size:.86rem}
  .nav__padre::after{display:none}
}

/* ===== TABLA COMPARATIVA DE PAQUETES ===== */
.vcc-tabla-env{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius,16px)}
.vcc-tabla{width:100%;border-collapse:collapse;min-width:640px;font-size:.93rem}
.vcc-tabla th,.vcc-tabla td{
  padding:14px 18px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line);
}
.vcc-tabla thead th{
  background:rgba(255,255,255,.05);
  font-family:"Space Grotesk",sans-serif;font-size:1.02rem;font-weight:700;
  color:var(--heading);letter-spacing:-.2px;white-space:nowrap;
}
.vcc-tabla thead th.es-destacada{color:var(--accent)}
.vcc-tabla__cab{font-family:"Outfit",sans-serif;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700}
.vcc-tabla tbody th{
  font-weight:500;color:var(--muted);width:32%;min-width:190px;
}
.vcc-tabla tbody td{color:var(--text)}
.vcc-tabla tbody tr:last-child th,.vcc-tabla tbody tr:last-child td{border-bottom:0}
.vcc-tabla tbody tr:hover th,.vcc-tabla tbody tr:hover td{background:rgba(255,255,255,.03)}
/* La columna recomendada se resalta de arriba abajo */
.vcc-tabla .es-destacada{background:rgba(245,166,35,.07)}
.vcc-tabla tbody tr:hover td.es-destacada{background:rgba(245,166,35,.11)}
.vcc-si{color:var(--accent);font-weight:700;font-size:1.05rem}
.vcc-no{color:rgba(255,255,255,.28)}
.vcc-tabla__nota{display:none;margin-top:10px;font-size:.82rem;color:var(--muted)}
@media(max-width:820px){ .vcc-tabla__nota{display:block} }

/* ===== FICHAS DE FAMILIA EN EL INDICE DE SERVICIOS ===== */
.vcc-fichas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:980px){ .vcc-fichas{grid-template-columns:1fr;max-width:560px;margin:0 auto} }
.vcc-ficha{
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius,16px);
  background:rgba(255,255,255,.03);padding:28px 26px;
  transition:transform .3s,border-color .3s,background .3s;
}
.vcc-ficha:hover{transform:translateY(-5px);border-color:rgba(245,166,35,.5);background:rgba(255,255,255,.05)}
.vcc-ficha__et{font-size:.66rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700}
.vcc-ficha__t{
  font-family:"Space Grotesk",sans-serif;font-size:1.35rem;font-weight:700;
  color:var(--heading);letter-spacing:-.4px;line-height:1.2;margin:8px 0 0;
}
.vcc-ficha__d{color:var(--muted);font-size:.95rem;line-height:1.55;margin:12px 0 0}
.vcc-ficha__paq{
  display:block;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);
  font-size:.78rem;letter-spacing:1.2px;color:var(--text);font-weight:600;
}
.vcc-ficha__cta{margin-top:auto;padding-top:20px;color:var(--accent);font-weight:700;font-size:.92rem}
.vcc-ficha:hover .vcc-ficha__cta{text-decoration:underline}

/* ===== ZONA CLIENTE ===== */
.vcc-zc .container{max-width:660px}
.vcc-zc__acceso{max-width:440px}
.vcc-zc .muted{margin-top:14px}
.vcc-zc form{margin-top:26px}
.vcc-zc .login-username,.vcc-zc .login-password{display:flex;flex-direction:column;margin-bottom:16px}
.vcc-zc label{font-size:.82rem;color:var(--muted);margin-bottom:7px;font-weight:600}
.vcc-zc input[type=text],.vcc-zc input[type=password]{
  width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:10px;padding:12px 14px;color:var(--heading);
  font-family:inherit;font-size:.98rem;transition:border-color .2s;
}
.vcc-zc input[type=text]:focus,.vcc-zc input[type=password]:focus{
  outline:none;border-color:var(--accent);background:rgba(255,255,255,.08);
}
.vcc-zc .login-remember{margin-bottom:18px}
.vcc-zc .login-remember label{
  display:flex;align-items:center;gap:9px;font-weight:400;font-size:.88rem;margin:0;
}
.vcc-zc .login-remember input{accent-color:var(--accent)}
.vcc-zc .login-submit input[type=submit]{
  width:100%;background:var(--accent);color:#fff;border:0;border-radius:999px;
  padding:13px 26px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;
  box-shadow:0 10px 24px rgba(245,166,35,.28);transition:.25s;
}
.vcc-zc .login-submit input[type=submit]:hover{filter:brightness(1.06);transform:translateY(-2px)}
.vcc-zc__error{
  margin-top:20px;padding:12px 16px;border-radius:10px;
  background:rgba(214,60,45,.14);border:1px solid rgba(214,60,45,.4);
  color:#ffb4a8;font-size:.9rem;
}
.vcc-zc__pie{margin-top:26px;color:var(--muted);font-size:.9rem}
.vcc-zc__pie a{color:var(--accent)}
.vcc-zc__salir{margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}

/* Listado de entregas */
.vcc-zc__lista{list-style:none;display:grid;gap:10px;margin:24px 0 0;padding:0}
.vcc-zc__lista a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 20px;border:1px solid var(--line);border-radius:12px;
  background:rgba(255,255,255,.03);transition:border-color .25s,background .25s;
}
.vcc-zc__lista a:hover{border-color:rgba(245,166,35,.5);background:rgba(255,255,255,.05)}
.vcc-zc__t{color:var(--heading);font-weight:600;font-size:.98rem}
.vcc-zc__f{color:var(--muted);font-size:.8rem;white-space:nowrap}
.vcc-zc__lista a::after{content:"▸";color:var(--accent);font-weight:700}

/* Zona Cliente en el menú: botón secundario junto a Contacto */
.nav__zc{
  border:1px solid rgba(255,255,255,.28);border-radius:999px;
  padding:9px 17px;font-weight:600;transition:border-color .2s,color .2s;
}
.nav__zc:hover{border-color:var(--accent);color:var(--accent)}
.nav.scrolled .nav__zc{border-color:var(--line)}
@media(max-width:720px){ .nav__zc{display:inline-block;margin:10px 0;text-align:center} }

/* Restos del tema claro que usaban --navy, una variable que el modo
   oscuro no redefine: sobre fondo oscuro quedaban invisibles. */
.stats strong{color:var(--heading)}
.nav.scrolled .nav__toggle span{background:var(--heading)}

/* =========================================================
   PIE DE PAGINA — cuatro columnas equilibradas
   Antes: logo a la izquierda, texto suelto en medio y los
   enlaces amontonados a la izquierda con medio pie vacío.
   ========================================================= */
.footer{padding:52px 0 22px}
.footer__rejilla{
  display:grid;
  grid-template-columns:1.5fr 1.1fr .8fr 1fr;
  gap:40px;
  padding-bottom:34px;
  border-bottom:1px solid var(--line);
}
.footer__marca .brand__logo--footer{height:52px}
.footer__lema{
  margin-top:16px;color:var(--heading);font-size:.94rem;font-weight:600;
  line-height:1.45;max-width:26ch;
}
.footer__sede{margin-top:10px;color:var(--muted);font-size:.84rem;line-height:1.55}

.footer__col{display:flex;flex-direction:column;gap:9px}
.footer__nav-titulo{
  font-size:.68rem;text-transform:uppercase;letter-spacing:2px;
  color:var(--accent);font-weight:700;margin-bottom:4px;
}
.footer__nav-titulo--seg{margin-top:22px}
.footer__col a{color:#aab6cf;font-size:.89rem;line-height:1.4;transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__mas{margin-top:4px;color:var(--accent) !important;font-weight:700}
.footer__mas:hover{text-decoration:underline}

.footer__copy{text-align:center;color:#7f8fad;font-size:.82rem;margin-top:22px}
.footer__copy strong{color:#a9b6cd}

@media(max-width:980px){
  .footer__rejilla{grid-template-columns:1fr 1fr;gap:32px}
  .footer__marca{grid-column:1 / -1}
}
@media(max-width:560px){
  .footer__rejilla{grid-template-columns:1fr;gap:26px}
  .footer__nav-titulo--seg{margin-top:18px}
}

/* El bloque de cierre no necesita tanto aire por debajo:
   el pie viene justo detrás. */
.e-con#contacto{--padding-bottom:44px}

/* ===== CIERRE DE LA PORTADA — compacto, el peso en el botón ===== */
.e-con#contacto{--padding-top:56px;--padding-bottom:56px}
.vcc-cta .elementor-button{
  box-shadow:0 12px 30px -8px rgba(245,166,35,.55);
  transition:transform .25s, box-shadow .25s, filter .25s;
}
.vcc-cta .elementor-button:hover{
  transform:translateY(-2px);filter:brightness(1.05);
  box-shadow:0 18px 38px -10px rgba(245,166,35,.65);
}

/* ===== "POR QUE VCC" — puntos numerados en vez de prosa ===== */
.vcc-porque{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vcc-porque li{
  display:flex;align-items:flex-start;gap:18px;
  padding:18px 0;border-bottom:1px solid var(--line);
}
.vcc-porque li:first-child{padding-top:0}
.vcc-porque li:last-child{border-bottom:0;padding-bottom:0}
.vcc-porque__n{
  flex:0 0 auto;width:38px;
  font-family:"Space Grotesk",sans-serif;font-size:1.32rem;font-weight:700;
  color:var(--accent);line-height:1.25;letter-spacing:-.5px;
}
.vcc-porque strong{
  display:block;color:var(--heading);font-size:1rem;font-weight:600;line-height:1.35;
}
.vcc-porque p{
  margin:5px 0 0;color:var(--muted);font-size:.93rem;line-height:1.55;
}
@media(max-width:720px){
  .vcc-porque li{gap:14px;padding:15px 0}
  .vcc-porque__n{width:30px;font-size:1.15rem}
}

/* ===== HERO EN PRESENTACIÓN =====
   El fondo lo pinta Elementor por JS (background_slideshow). Dos seguros:
   1) si el JS no llega a correr, queda la foto original de fondo;
   2) el contenido siempre por encima de las diapositivas y del degradado.
   Se apunta por #inicio (el _element_id del contenedor) y no por la clase
   elementor-element-XXXX, que cambia si se regenera la página. */
#inicio.e-con {
  background-image: url(../../uploads/2026/08/hero.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
#inicio.e-con > .elementor-background-slideshow { z-index: 0; }
#inicio.e-con > .e-con-inner { position: relative; z-index: 2; }


/* =========================================================
   FICHA DE UN VISTAZO — las cifras que deciden, antes que la lista.
   Valor arriba con cifras proporcionales (tabular-nums afea a este
   tamaño); etiqueta debajo en minúscula. El color lo ponen los
   tokens de texto, no el componente.
   ========================================================= */
.vcc-vistazo{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin:0 0 20px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;
}
.vcc-vistazo > div{background:var(--card);padding:14px 16px}
.vcc-vistazo b{
  display:block;font-family:"Space Grotesk",sans-serif;font-weight:600;
  font-size:1.5rem;line-height:1.1;color:var(--heading);
}
.vcc-vistazo span{
  display:block;margin-top:5px;font-size:.75rem;line-height:1.35;color:var(--muted);
}
@media(max-width:520px){
  .vcc-vistazo > div{padding:12px 10px}
  .vcc-vistazo b{font-size:1.2rem}
  .vcc-vistazo span{font-size:.68rem}
}

/* =========================================================
   TABLA COMPARATIVA EN MÓVIL — de deslizar a fichas.
   Bajo 820px cada concepto es una ficha y cada celda enseña su
   columna con data-columna. Antes hacía scroll lateral a 640px.
   ========================================================= */
@media(max-width:820px){
  .vcc-tabla-env{overflow:visible;border:0;border-radius:0}
  .vcc-tabla{min-width:0;display:block;font-size:.9rem}
  .vcc-tabla thead{display:none}
  .vcc-tabla tbody,.vcc-tabla tr,.vcc-tabla th,.vcc-tabla td{display:block;width:auto}
  .vcc-tabla tbody tr{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    margin-bottom:10px;padding:2px 16px 8px;
  }
  .vcc-tabla tbody tr:hover th,.vcc-tabla tbody tr:hover td{background:transparent}
  .vcc-tabla tbody th{
    padding:13px 0 9px;border:0;border-bottom:1px solid var(--line);
    color:var(--heading);font-size:.95rem;
  }
  .vcc-tabla tbody td{
    display:flex;align-items:baseline;justify-content:space-between;gap:18px;
    padding:9px 0;border:0;border-bottom:1px solid rgba(255,255,255,.06);
    text-align:right;
  }
  .vcc-tabla tbody tr td:last-child{border-bottom:0}
  .vcc-tabla tbody td::before{
    content:attr(data-columna);flex:0 0 auto;text-align:left;
    font-family:"Outfit",sans-serif;font-size:.68rem;letter-spacing:1.6px;
    text-transform:uppercase;font-weight:700;color:var(--muted);
  }
  .vcc-tabla td.es-destacada{background:transparent}
  .vcc-tabla td.es-destacada::before{color:var(--accent)}
  .vcc-tabla__nota{display:none}
}

/* =========================================================
   ANCHO DE LECTURA — pasados ~75 caracteres el ojo pierde el
   salto de línea. Los textos de Elementor ocupaban los 1140px.
   La clase .vcc-txt-centro la pone el tema solo en los centrados,
   para no desplazar los alineados a la izquierda.
   ========================================================= */
.elementor-widget-text-editor p{max-width:68ch}
.elementor-widget-text-editor.vcc-txt-centro p{margin-inline:auto}
.vcc-faq p{max-width:70ch}

/* =========================================================
   DATOS DEL SERVICIO — ocupa el hueco de la derecha de la
   cabecera con lo que se pregunta antes de contratar.
   OJO: .vcc-ficha ya son las tarjetas del índice de Servicios;
   este componente es otro y por eso se llama .vcc-datos.
   ========================================================= */
.vcc-datos{
  margin:0;border:1px solid var(--line);border-radius:16px;
  background:var(--card);overflow:hidden;
}
.vcc-datos > div{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:14px 20px;border-bottom:1px solid var(--line);
}
.vcc-datos > div:last-child{border-bottom:0}
.vcc-datos dt{
  flex:0 0 auto;font-family:"Outfit",sans-serif;font-size:.68rem;
  letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:var(--muted);
}
.vcc-datos dd{margin:0;text-align:right;color:var(--heading);font-size:.93rem;line-height:1.4}
@media(max-width:600px){
  .vcc-datos > div{flex-direction:column;gap:4px;padding:12px 16px}
  .vcc-datos dd{text-align:left}
}

/* =========================================================
   FOTO DE CABECERA MÁS BAJA — en servicios y paquetes la de
   420px doblaba la altura de su texto y estiraba la página.
   ========================================================= */
.elementor-widget.vcc-media-300{margin:0}
.elementor-widget.vcc-media-300 img{
  width:100%;height:300px;object-fit:cover;display:block;
  border-radius:var(--radius,16px);
  box-shadow:0 14px 40px rgba(22,38,74,.08);
}
@media(max-width:980px){ .elementor-widget.vcc-media-300 img{height:250px} }
@media(max-width:720px){ .elementor-widget.vcc-media-300 img{height:210px} }

/* =========================================================
   CIFRAS EN LA FILA CERRADA — entre el lema y el "+" había
   ~600px vacíos. Ahora se comparan los paquetes sin abrirlos.
   El lema deja de estirarse para que las cifras tengan sitio.
   ========================================================= */
.vcc-po__lema{flex:0 1 auto}
.vcc-po__cifras{
  display:flex;flex:1 1 auto;justify-content:flex-end;gap:26px;
  padding-right:14px;color:var(--muted);font-size:.82rem;white-space:nowrap;
}
.vcc-po__cifras b{
  color:var(--heading);font-family:"Space Grotesk",sans-serif;
  font-weight:600;font-size:1rem;
}
/* Con la insignia "Más solicitado" al lado, menos aire. */
.vcc-po--destacado .vcc-po__cifras{gap:20px}
@media(max-width:900px){ .vcc-po__cifras{display:none} }

/* =========================================================
   CIERRE EN HORIZONTAL — era una columna de 600px con el
   titular, la frase y el boton apilados: ~230px para tres
   lineas. En rejilla ocupa la mitad.
   Los !important son necesarios: Elementor declara el ancho y
   la alineacion con `.elementor-N .elementor-element-XXXX`
   (tres niveles), y ese identificador cambia al regenerar, asi
   que no se puede fijar en el CSS del tema.
   ========================================================= */
@media(min-width:900px){
  .e-con.vcc-cierre{
    --width:100% !important;
    max-width:1020px !important;
    margin-left:auto !important;margin-right:auto !important;
    display:grid;grid-template-columns:1fr auto;
    grid-template-areas:"titulo boton" "frase boton";
    align-items:center;column-gap:48px;row-gap:2px;
  }
  .vcc-cierre > .elementor-widget-heading{grid-area:titulo;margin:0 !important}
  .vcc-cierre > .elementor-widget-text-editor{grid-area:frase;margin:6px 0 0 !important}
  .vcc-cierre > .elementor-widget-button{grid-area:boton;align-self:center;margin:0 !important}
  .vcc-cierre .elementor-widget-heading,
  .vcc-cierre .elementor-widget-text-editor{text-align:left !important}
  .vcc-cierre .elementor-heading-title{text-align:left !important}
  /* .vcc-txt-centro centra la caja del parrafo; aqui no debe. */
  .vcc-cierre .elementor-widget-text-editor p{margin-inline:0;max-width:64ch}
}

/* =========================================================
   "ANTES DE EMPEZAR" a dos columnas — el texto llegaba al
   70% del ancho y el resto quedaba muerto.
   ========================================================= */
@media(min-width:820px){
  .vcc-previo__caja{display:grid;grid-template-columns:190px 1fr;column-gap:30px;align-items:baseline}
}

/* =========================================================
   AVISO DE COOKIES — en movil tapaba el boton de enviar.
   ========================================================= */
@media(max-width:600px){
  .vcc-cookies{left:12px;right:12px;bottom:12px;padding:14px 16px}
  .vcc-cookies p{font-size:.82rem;line-height:1.45;margin-bottom:10px}
  .vcc-cookies .btn{padding:8px 14px;font-size:.84rem}
}
