/* =========================================================
   CREA TU RUTA (crea-tu-ruta.html) — prefijo ct-
   Usa los colores, tipografías y botones de rutas-unicas.css.
   Dispositivos: Móvil ≤ 640 · Tablet 641–900 · Portátil 901–1279 · Ordenador ≥ 1280
   ========================================================= */

/* Páginas interiores: el logo de la cabecera es más pequeño que en la portada (allí hace de titular) */
.ru-inner .ru-header:not(.is-stuck) img{
  width:clamp(170px, 24vw, 460px);
  max-width:min(calc(22svh * 1080 / 470), calc(100vw - 2 * var(--ru-page) - 2 * var(--ru-menu-size) - 28px));
}
.ru-inner #ruMenuList [aria-current="page"] .ru-menu__icon{background:var(--ru-primary);color:var(--ru-white)}

/* ---------- Banner ---------- */
.ct-hero{
  position:relative;isolation:isolate;overflow:hidden;color:var(--ru-white);
  height:100svh;min-height:620px;display:flex;align-items:flex-end; /* misma altura que el banner de la portada */
}
.ct-form [hidden],.ct-sumwrap [hidden]:not(.ct-backdrop){display:none!important}
.ct-hero__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:58% 40%;
  animation:ct-zoom 2.4s var(--ru-ease) both}
@keyframes ct-zoom{from{transform:scale(1.05)}to{transform:none}}
/* velo neutro (mismo que el banner de la portada) para que se lean el logo y el texto */
.ct-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 28%), /* taste-skill-ignore: lectura del menú */
    linear-gradient(90deg,rgba(34,18,27,.5) 0%,rgba(34,18,27,.22) 42%,rgba(34,18,27,0) 70%), /* taste-skill-ignore: velo bajo el texto, a la izquierda */
    linear-gradient(0deg,rgba(34,18,27,.32) 0%,rgba(34,18,27,0) 55%); /* taste-skill-ignore */
}
/* legibilidad de los textos del banner sin abusar del oscurecido (27/10, Alberto, 2.º comentario): el mismo criterio que Tipos de Rutas (v365),
   común a todas las cabeceras: velo suave solo bajo el texto y una sombra en los textos que hace el resto */
.ct-hero__kicker,.ct-hero__title,.ct-hero__lead,.ct-hero__content blockquote,.ct-hero__content figcaption{text-shadow:0 1px 3px rgba(20,10,16,.5),0 4px 30px rgba(20,10,16,.45)} /* taste-skill-ignore */
.ct-hero .ct-hero__kicker{margin-bottom:14px;color:var(--ru-white)}
.ct-hero__content{width:100%;padding:0 var(--ru-page) clamp(48px,10vh,104px)}
.ct-hero__content > *{animation:ru-rise .9s var(--ru-ease) backwards}
.ct-hero__kicker{color:rgba(255,255,255,.85);animation-delay:.25s}
.ct-hero__title{
  margin:0;font-family:var(--ru-font-display);font-weight:400;line-height:.95;letter-spacing:-.01em;
  font-size:clamp(3.2rem,7vw,6.5rem);color:var(--ru-white);animation-delay:.33s;
}
.ct-hero__title em{display:block;font-style:italic}
.ct-hero__lead{margin:22px 0 0;max-width:44ch;font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.55;color:var(--ru-white);animation-delay:.41s}
.ct-hero__actions{display:flex;flex-wrap:wrap;gap:var(--ru-gap);margin-top:32px;animation-delay:.49s}
.ct-btn{min-height:56px;padding:0 28px;justify-content:center;font-size:1rem;text-decoration:none}
.ct-hero__actions a[href="#cuestionario"]:hover svg{animation:ct-down .6s var(--ru-ease)}
@keyframes ct-down{0%{transform:none}45%{transform:translateY(14px);opacity:0}46%{transform:translateY(-12px);opacity:0}100%{transform:none;opacity:1}}

/* ---------- Títulos de sección y entradillas ---------- */
.ct-title{--fs:clamp(2.3rem,3.9vw,3.6rem);font-size:var(--fs)}
.ct-title em{display:inline;font-style:italic}
.ct-lead{margin:20px 0 0;max-width:46ch;font-size:1.0625rem;line-height:1.6;color:var(--ru-muted)}
/* icono en cuadrado tintado (como los campos del buscador) */
.ct-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--ru-tint);color:var(--ru-primary);flex:none}

/* ---------- Cómo funciona ---------- */
/* «Así creamos»: tarjeta blanca que sube sobre el borde de la foto del banner */
.ct-why__inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.ct-how__h{margin:20px 0 8px;font-family:var(--ru-font-country);font-weight:600;font-size:1.375rem;line-height:1.2;color:var(--ru-text-accent)}
.ct-how__p{margin:0;font-size:1rem;line-height:1.6;color:var(--ru-muted)}

/* ---------- Cuestionario ---------- */
.ct-quiz{background:var(--ru-white);padding:clamp(56px,10vh,120px) var(--ru-page)}
.ct-quiz__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.ct-card{background:var(--ru-white);border-radius:var(--ru-radius)}   /* sección y tarjetas en blanco (Alberto, v51) */
.ct-form{grid-column:1 / 9;padding:clamp(24px,3vw,44px);min-width:0}
.ct-sumwrap{grid-column:9 / 13;position:sticky;top:112px}

/* progreso */
.ct-prog{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 16px;margin-bottom:clamp(28px,4vh,40px)}
/* pasos numerados: ya no se muestran aquí, su estado está en la línea de «Tu ruta» (ver .ct-sum__row) */
.ct-prog__steps{display:none;margin:0;padding:0;list-style:none;grid-column:1 / -1}
.ct-prog__steps li{flex:1 1 0;min-width:0;position:relative}
.ct-prog__steps button{
  position:relative;width:100%;border:0;background:none;padding:0;font:inherit;font-size:.8125rem;font-weight:500;color:var(--ru-faint);cursor:default;
  display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
}
.ct-prog__n{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;box-sizing:border-box;
  border:2px solid var(--ru-tint-2);background:var(--ru-white);color:var(--ru-muted);font-size:.875rem;font-weight:700;
  transition:background .3s var(--ru-ease),border-color .3s var(--ru-ease),color .3s var(--ru-ease);
}
.ct-prog__steps li.is-done .ct-prog__n{background:var(--ru-primary);border-color:var(--ru-primary);color:var(--ru-white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  background-position:center;background-size:14px;background-repeat:no-repeat}
.ct-prog__steps li.is-done .ct-prog__n{font-size:0}
.ct-prog__steps li.is-done button{color:var(--ru-text-accent);cursor:pointer}
.ct-prog__steps li.is-done button:hover .ct-prog__n{background:var(--ru-primary-dark);border-color:var(--ru-primary-dark)}
.ct-prog__steps li.is-now .ct-prog__n{background:var(--ru-tint);border-color:var(--ru-primary);color:var(--ru-primary)}
.ct-prog__steps li.is-now button{color:var(--ru-ink);font-weight:700}
.ct-prog__steps button:focus-visible{outline:2px solid var(--ru-primary);outline-offset:4px;border-radius:8px}
.ct-prog__now{display:none;margin:0;font-size:.875rem;font-weight:500;color:var(--ru-muted)}
.ct-prog__now b{color:var(--ru-ink)}
.ct-prog__bar{display:none}
.ct-prog__bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--ru-primary);transition:width .6s var(--ru-ease)}
.ct-prog__sum{display:none}
.ct-icons,.ct-ipop,.ct-icons__t{display:none}

/* paso */
.ct-step{border:0;margin:0;padding:0;min-width:0}
.ct-step.is-in{animation:ct-step .5s var(--ru-ease) both}
.ct-step.is-in.is-back{animation-name:ct-step-back}
@keyframes ct-step{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes ct-step-back{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.ct-step__title{
  padding:0;margin:0;font-family:var(--ru-font-country);font-weight:600;
  font-size:clamp(1.625rem,2.4vw,2.25rem);line-height:1.15;color:var(--ru-text-accent);outline:none;
}
.ct-step__help{margin:10px 0 28px;font-size:1rem;line-height:1.5;color:var(--ru-muted)}
.ct-sub{margin:32px 0 12px;font-size:.9375rem;font-weight:700;color:var(--ru-ink)}

/* opciones: fondo tint, sin borde; seleccionada, malva con texto blanco */
.ct-opts{display:flex;flex-wrap:wrap;gap:var(--ru-gap)}
.ct-opt{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:12px;cursor:pointer;
  background:var(--ru-tint);color:var(--ru-ink);font:inherit;font-size:.9375rem;font-weight:500;
  transition:background .25s var(--ru-ease), color .25s var(--ru-ease), transform .2s var(--ru-ease);
}
.ct-opt:hover{background:var(--ru-tint-2)}
.ct-opt:active{transform:scale(.97)}
.ct-opt[aria-pressed="true"]{background:var(--ru-primary);color:var(--ru-white)}
.ct-opt:focus-visible,.ct-tab:focus-visible,.ct-style:focus-visible,.ct-counter__btn:focus-visible{outline:3px solid var(--ru-primary);outline-offset:2px}
.ct-opts--big .ct-opt{min-height:56px;padding:0 22px;font-size:1rem}
.ct-opts--months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.ct-opts--months .ct-opt{flex-direction:column;justify-content:center;gap:0;min-height:60px;padding:6px 4px;line-height:1.2}
.ct-opts--months .ct-opt small{font-size:.8125rem;font-weight:500;opacity:.75}

/* destino: selector como el buscador «¿A dónde vas?» de la portada (filas e iconos con sus clases),
   aquí siempre a la vista: campo arriba y, debajo, la lista sobre fondo marfil */
.ct-pick__field.ru-field__btn{background:var(--ru-tint);min-height:64px}
.ct-pick__field.ru-field__btn:hover{background:var(--ru-tint-2)}
.ct-pick__field .ru-field__input{text-overflow:ellipsis}
/* Móvil: países elegidos, cada uno en su caja (mismo estilo que el campo) con X para quitarlo */
.ct-picked{display:grid;gap:8px;margin:0 0 8px;padding:0;list-style:none}
.ct-picked[hidden],.ct-pick__field[hidden],.ct-pick__panel[hidden]{display:none}
.ct-picked__item.ru-field__btn{background:var(--ru-tint);min-height:64px;cursor:default}
.ct-picked__item .ru-field__icon{background:var(--ru-primary);color:var(--ru-white)}
.ct-picked__item strong{display:block;font-size:1rem;font-weight:600;color:var(--ru-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-picked__item .ru-field__txtbox{flex:1;min-width:0}
.ct-pick__more{display:flex;width:fit-content;align-items:center;gap:6px;margin:2px auto 0;padding:6px 2px;border:0;background:none;cursor:pointer;font:inherit;font-size:.9375rem;font-weight:600;color:var(--ru-text-accent);text-decoration:underline;text-underline-offset:3px}
.ct-pick__more[hidden]{display:none}
.ct-pick__more:focus-visible{outline:2px solid var(--ru-primary);outline-offset:3px;border-radius:6px}
.ct-pick__max{margin:4px 0 0;padding:12px 16px;border-radius:14px;background:var(--ru-tint);font-size:.875rem;color:var(--ru-text-accent)}
.ct-pick__field.has-sel .ru-field__input::placeholder{color:var(--ru-ink);font-weight:600;opacity:1}   /* países elegidos, en el campo */
.ct-pick__panel{display:block;margin-top:10px;padding:14px 16px;border-radius:18px;background:var(--ru-white)}
.ct-pick__col--results{display:flex;flex-direction:column;min-width:0}
.ct-pick__head:empty{display:none}
.ct-pick__back{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 -4px;padding:2px 4px;border:0;border-radius:8px;background:none;cursor:pointer;
  font:inherit;color:inherit;transition:color .2s var(--ru-ease)}
.ct-pick__back:hover{color:var(--ru-primary)}
.ct-pick__back svg{transition:transform .3s var(--ru-ease)}
.ct-pick__back:hover svg{transform:translateX(-3px)}
.ct-pick__back:focus-visible{outline:3px solid var(--ru-primary);outline-offset:2px}
.ct-pick__list{margin-bottom:12px}
.ct-pick__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}
.ct-pick__list.is-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ct-pick .ru-dest__row{padding:7px 10px}
.ct-pick .ru-dest__txt strong{white-space:normal;line-height:1.25}
.ct-pick .ru-dest__ico{width:36px;height:36px;transition:background .25s var(--ru-ease), color .25s var(--ru-ease)}
.ct-pick .ru-dest__row[data-zone] .ru-dest__txt strong{font-weight:600}
.ct-pick .ru-dest__row[aria-pressed="true"] .ru-dest__ico{background:var(--ru-primary);color:var(--ru-white)}
.ct-pick .ru-dest__row[aria-pressed="true"] .ru-dest__txt strong{font-weight:700;color:var(--ru-text-accent)}
.ct-pick .ru-dest__any{margin-top:auto;padding:12px 10px 8px}
.ct-pick .ru-dest__any.is-on .ru-dest__anyico{background:var(--ru-text-accent)}

.ct-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-top:28px}
.ct-pane.ct-row{margin-top:0}
/* fechas concretas: «Ida» y «Vuelta» encima del calendario de la portada */
.ct-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.ct-date{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:60px;padding:10px 18px;border:0;border-radius:var(--ru-radius);cursor:pointer;
  background:var(--ru-sand);font:inherit;text-align:left;transition:background .25s var(--ru-ease), box-shadow .25s var(--ru-ease)}
.ct-date span{font-size:.8125rem;font-weight:500;color:var(--ru-muted)}
.ct-date strong{font-size:1rem;font-weight:400;color:var(--ru-faint)}
.ct-date.is-set strong{font-weight:600;color:var(--ru-ink)}
.ct-date:hover{background:var(--ru-tint)}
.ct-date[aria-pressed="true"]{background:var(--ru-white);box-shadow:inset 0 0 0 2px var(--ru-primary)} /* taste-skill-ignore: fecha que se está eligiendo */
.ct-date:focus-visible{outline:3px solid var(--ru-primary);outline-offset:2px}
.ct-cal{max-width:640px;margin:0 auto;padding:0 6px}
.ct-cal .ru-dp__day{width:38px;height:38px}
.ct-cal .ru-dp__pad{width:38px;height:38px}

/* campos: bloque tintado de 60 px, etiqueta encima en muted */
.ct-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ct-field--grow{flex:1 1 260px}
.ct-field__label{font-size:.8125rem;font-weight:500;color:var(--ru-muted)}
.ct-field__label small{font-size:inherit;font-weight:400;color:var(--ru-faint)}
.ct-field__input{
  width:100%;min-height:60px;padding:0 18px;border:0;border-radius:var(--ru-radius);
  background:var(--ru-sand);color:var(--ru-ink);font:inherit;font-size:1rem;font-weight:500;
  transition:background .25s var(--ru-ease), box-shadow .25s var(--ru-ease);
}
.ct-field__input::placeholder{color:var(--ru-faint);font-weight:400}
.ct-field__input:hover{background:var(--ru-tint)}
.ct-field__input:focus{outline:none;background:var(--ru-white);box-shadow:inset 0 0 0 2px var(--ru-primary)} /* taste-skill-ignore: foco visible del campo */
.ct-field__input[aria-invalid="true"]{box-shadow:inset 0 0 0 2px #b3261e} /* taste-skill-ignore: campo con error */
textarea.ct-field__input{padding:16px 18px;min-height:120px;resize:vertical;line-height:1.5}
input[type="date"].ct-field__input{color-scheme:light;accent-color:var(--ru-primary)}
.ct-field--area{margin-top:32px}
/* teléfono: prefijo del país + número */
.ct-tel{display:flex;gap:8px}
.ct-tel .ct-field__input{flex:1;min-width:0}
.ct-pre__native{display:none}
.ct-pre{position:relative;flex:none}
.ct-pre__btn.ct-field__input{display:flex;align-items:center;gap:8px;width:auto;height:100%;padding:0 36px 0 14px;cursor:pointer;
  background:var(--ru-sand) right 12px center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23965871' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.ct-pre__btn.ct-field__input:hover{background-color:var(--ru-tint)}
.ct-pre__btn[aria-expanded="true"]{background-color:var(--ru-white);box-shadow:inset 0 0 0 2px var(--ru-primary)} /* taste-skill-ignore: desplegable abierto */
.ct-pre img,.ct-pre__globe{flex:none;width:22px;height:22px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(60,25,42,.08)}
.ct-pre__globe{display:grid;place-items:center;color:var(--ru-primary);box-shadow:none}
.ct-pre__list{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(300px,calc(100vw - 2 * var(--ru-page)));max-height:320px;overflow-y:auto;overscroll-behavior:contain;
  margin:0;padding:6px;list-style:none;border-radius:18px;background:var(--ru-white);box-shadow:0 22px 48px -18px rgba(60,25,42,.38), 0 0 0 1px rgba(60,25,42,.06)} /* taste-skill-ignore: sombra del desplegable */
.ct-pre__list:focus{outline:none}
.ct-pre__list [role="option"]{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;cursor:pointer;font-size:.9375rem}
.ct-pre__list .is-act{background:var(--ru-tint)}
.ct-pre__list [aria-selected="true"]{background:var(--ru-tint-2)}
.ct-pre__name{flex:1;min-width:0;font-weight:500;color:var(--ru-ink)}
.ct-pre__code{font-weight:600;color:var(--ru-text-accent)}
.ct-field--area .ct-sub{margin:0 0 4px}   /* mismo estilo que «Prefiero que me contactéis por» */
.ct-sub small{font-size:inherit;font-weight:400;color:var(--ru-faint)}
.ct-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-field--full{grid-column:1 / -1}

/* pestañas de fechas (como en «¿Cuándo quieres salir?») */
/* «Fechas flexibles / Fechas concretas»: mismo conmutador en pastilla que «¿Cuándo quieres salir?» de la portada
   (.ru-dp__switch / .ru-dp__tab en rutas-unicas.css), alineado a la izquierda (03/11, comentario de Alberto) */
.ct-tabs{display:inline-flex;padding:4px;border-radius:999px;background:var(--ru-tint);margin-bottom:20px}
.ct-tab{padding:8px 20px;border:0;border-radius:999px;background:none;color:var(--ru-text-accent);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .3s var(--ru-ease), color .3s var(--ru-ease)}
.ct-tab[aria-selected="true"]{background:var(--ru-primary);color:var(--ru-white)}

/* contadores de viajeros */
.ct-counters{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-counter{display:flex;align-items:center;gap:12px;padding:14px 16px 14px 20px;border-radius:var(--ru-radius);background:var(--ru-sand)}
.ct-counter__txt{flex:1;display:flex;flex-direction:column;gap:2px}
.ct-counter__txt b{font-size:1.0625rem}
.ct-counter__txt small{font-size:.8125rem;color:var(--ru-muted)}
.ct-counter__btn{width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--ru-white);color:var(--ru-primary);transition:background .25s var(--ru-ease), color .25s var(--ru-ease), transform .2s var(--ru-ease)}
.ct-counter__btn:hover:not(:disabled){background:var(--ru-primary);color:var(--ru-white)}
.ct-counter__btn:active:not(:disabled){transform:scale(.92)}
.ct-counter__btn:disabled{color:var(--ru-disabled);cursor:default}
.ct-counter__val{min-width:2ch;text-align:center;font-size:1.25rem;font-weight:700}
/* Tablet, Portátil y Ordenador: Adultos, Niños y Bebés en 3 columnas; en cada contador, el texto arriba y − n + debajo,
   centrados (03/11, comentario de Alberto «En 3 columnas»). En Móvil siguen uno debajo de otro */
@media (min-width:641px){
  .ct-counters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-counter{flex-wrap:wrap;justify-content:center;row-gap:12px;padding:18px 12px;text-align:center}
  .ct-counter__txt{flex:1 1 100%;align-items:center}
}

/* experiencias: fichas compactas con miniatura (v53; antes fotos 4:3) */
.ct-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ct-style{
  position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 40px 8px 8px;border:0;border-radius:16px;cursor:pointer;
  background:var(--ru-tint);color:var(--ru-ink);font:inherit;text-align:left;transition:background .3s var(--ru-ease), color .3s var(--ru-ease);
}
.ct-style img{flex:none;width:48px;height:48px;border-radius:12px;object-fit:cover}
.ct-style span{font-family:var(--ru-font-country);font-weight:600;font-size:1rem;line-height:1.2}
.ct-style::after{
  content:"";position:absolute;top:50%;right:12px;width:22px;height:22px;margin-top:-11px;border-radius:50%;
  background:var(--ru-white) center/13px no-repeat;opacity:0;transform:scale(.6);transition:opacity .3s var(--ru-ease), transform .4s var(--ru-ease);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23965871' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.ct-style:hover{background:var(--ru-tint-2)}
.ct-style[aria-pressed="true"]{background:var(--ru-primary);color:var(--ru-white)}
.ct-style[aria-pressed="true"]::after{opacity:1;transform:none}
.ct-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}

/* privacidad */
.ct-check{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:.9375rem;line-height:1.5;cursor:pointer}
.ct-check input{position:absolute;opacity:0;width:1px;height:1px}
.ct-check__box{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--ru-tint-2);color:transparent;transition:background .2s var(--ru-ease), color .2s var(--ru-ease)}
.ct-check input:checked + .ct-check__box{background:var(--ru-primary);color:var(--ru-white)}
.ct-check input:focus-visible + .ct-check__box{outline:3px solid var(--ru-primary);outline-offset:2px}
.ct-check a{color:var(--ru-text-accent);font-weight:600}
/* error de un campo: debajo de la propia caja, en rojo (nunca un resumen al final) */
.ct-ferr{display:flex;align-items:center;gap:6px;margin:8px 2px 0;font-size:.8125rem;font-weight:600;line-height:1.35;color:#b3261e}
.ct-ferr::before{content:"!";flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#b3261e;color:#fff;font-size:.6875rem;font-weight:800}
.ct-ferr[hidden]{display:none}
.ct-ferr--check{margin-left:36px}
.ct-pick__field.is-invalid{box-shadow:inset 0 0 0 2px #b3261e} /* taste-skill-ignore: campo con error */
.ct-opts.is-invalid .ct-opt{box-shadow:inset 0 0 0 2px #b3261e} /* taste-skill-ignore: grupo con error */
.ct-check.is-invalid .ct-check__box{box-shadow:inset 0 0 0 2px #b3261e} /* taste-skill-ignore */
.ct-error{margin:16px 0 0;padding:12px 16px;border-radius:12px;background:#fbeaea;color:#8c1d18;font-size:.9375rem;font-weight:500}

/* Atrás / Saltar / Siguiente */
/* «Siguiente» siempre dentro de la pantalla: si el paso es más alto que la ventana, la barra se queda pegada abajo
   (en Móvil tiene su propio estilo más abajo) */
.ct-nav{display:flex;align-items:center;gap:var(--ru-gap);margin-top:24px;position:sticky;bottom:0;z-index:5;padding:12px 0;background:var(--ru-white);
  transition:box-shadow .25s var(--ru-ease),opacity .25s var(--ru-ease),visibility .25s}
.ct-nav.is-stuck{box-shadow:0 -14px 22px -18px rgba(60,25,42,.35)} /* taste-skill-ignore: barra pegada abajo */
/* oculta hasta que se ve entera la primera caja de selección del paso (27/10, Alberto; crea-tu-ruta.js) */
.ct-nav.is-wait{opacity:0;visibility:hidden;pointer-events:none}
.ct-back,.ct-skip{
  display:inline-flex;align-items:center;gap:6px;min-height:56px;padding:0 20px 0 14px;border:0;border-radius:var(--ru-radius);
  background:var(--ru-tint);color:var(--ru-text-accent);font:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:background .25s var(--ru-ease)
}
.ct-skip{padding:0 20px;background:transparent;margin-left:auto}
.ct-back:hover{background:var(--ru-tint-2)}
.ct-skip:hover{background:var(--ru-tint)}
.ct-back[hidden],.ct-skip[hidden]{display:none}
.ct-back[hidden] ~ .ct-skip{margin-left:auto}
.ct-next,.ct-send{min-width:180px}
.ct-skip[hidden] ~ .ct-next,.ct-skip[hidden] ~ .ct-send{margin-left:auto}
.ct-send:hover svg{animation:ct-fly .7s var(--ru-ease)}
@keyframes ct-fly{0%{transform:none}45%{transform:translate(16px,-16px);opacity:0}46%{transform:translate(-12px,12px);opacity:0}100%{transform:none;opacity:1}}
.ct-form.is-sending .ct-send{pointer-events:none;opacity:.7}

/* confirmación */
.ct-done{text-align:center;padding:clamp(16px,4vh,40px) 0;outline:none;animation:ct-step .6s var(--ru-ease) both}
.ct-done__ico{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--ru-primary);color:var(--ru-white);animation:ct-pop .7s var(--ru-ease) .15s backwards}
@keyframes ct-pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.ct-done__title{margin:24px 0 10px;font-family:var(--ru-font-country);font-weight:600;font-size:clamp(1.75rem,2.6vw,2.4rem);color:var(--ru-text-accent)}
.ct-done__text{margin:0 auto;max-width:46ch;font-size:1.0625rem;line-height:1.6;color:var(--ru-muted)}
.ct-done__text b{color:var(--ru-ink)}
.ct-done__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin-top:32px}
.ct-link{color:var(--ru-text-accent);font-weight:600;text-decoration:none}
/* subrayado al pasar el ratón: animación común .ru-ulink (rutas-unicas.css), regla de Alberto 03/11 */

/* ---------- Tu ruta (resumen) ---------- */
.ct-sum{padding:28px}
.ct-sum__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ct-sum__title{margin:0;font-family:var(--ru-font-country);font-weight:600;font-size:1.625rem;color:var(--ru-text-accent)}
.ct-sum__close{display:none}
.ct-sum__list{margin:0}
.ct-sum__row{position:relative;display:grid;grid-template-columns:36px 1fr auto;gap:2px 12px;align-items:center;padding:10px 0}
/* línea de tiempo: une los iconos de los pasos de arriba abajo */
.ct-sum__row::before{content:"";position:absolute;z-index:0;left:17px;top:0;bottom:0;width:2px;background:var(--ru-tint-2)}
.ct-sum__row:first-child::before{top:50%}
.ct-sum__row:last-child::before{bottom:50%}
.ct-sum__row.is-set::before{background:var(--ru-primary)}
/* paso actual: anillo alrededor del icono; los rellenados se pintan en malva */
.ct-sum__row.is-now .ct-sum__i{outline:2px solid var(--ru-primary);outline-offset:3px}
.ct-sum__row .ct-sum__i{position:relative;z-index:2;align-self:center;grid-row:1 / 3;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(var(--ru-tint),var(--ru-tint)) var(--ru-white);color:var(--ru-primary);transition:background .3s var(--ru-ease), color .3s var(--ru-ease)}
.ct-sum__row.is-set .ct-sum__i{background:var(--ru-primary);color:var(--ru-white)}
.ct-sum__row dt{font-size:.8125rem;font-weight:500;color:var(--ru-muted)}
.ct-sum__row dd{grid-column:2;margin:0;font-size:.9375rem;font-weight:700;color:var(--ru-ink);line-height:1.35;overflow-wrap:anywhere}
.ct-sum__row:not(.is-set) dd{font-weight:400;color:var(--ru-faint)}
.ct-sum__row.is-new dd{animation:ru-rise .45s var(--ru-ease)}
.ct-sum__edit{grid-row:1 / 3;grid-column:3;border:0;background:none;padding:8px 0 8px 8px;font:inherit;font-size:.8125rem;font-weight:600;color:var(--ru-text-accent);cursor:pointer}
.ct-backdrop{display:none}

/* ---------- Por qué con Rutas Únicas ---------- */
.ct-why{background:var(--ru-ivory);padding:clamp(56px,10vh,120px) var(--ru-page)}
.ct-why__head{grid-column:1 / 5}
.ct-why__list{grid-column:5 / 13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 56px;margin:0;padding:0;list-style:none}
.ct-why__item{display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-content:start}
.ct-why__item .ct-ico{grid-row:1 / 3}
.ct-why__item .ct-how__h{margin-top:4px}

/* entrada al aparecer en pantalla */
.ru-js .ct-reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ru-ease), transform 1s var(--ru-ease)}
.ru-js .ct-reveal.is-in{opacity:1;transform:none}
.ru-js .ct-why__item.ct-reveal:nth-child(2){transition-delay:.08s}
.ru-js .ct-why__item.ct-reveal:nth-child(3){transition-delay:.16s}
.ru-js .ct-why__item.ct-reveal:nth-child(4){transition-delay:.24s}

/* =========================================================
   PORTÁTIL (901–1279): resumen más estrecho
   ========================================================= */
@media (max-width:1279px){
  .ct-pick__list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-form{grid-column:1 / 9}
  .ct-sumwrap{grid-column:9 / 13}
  .ct-sum{padding:22px}
  .ct-why__head{grid-column:1 / -1;margin-bottom:40px}
  .ct-why__list{grid-column:1 / -1}
  .ct-opts--months{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* =========================================================
   TABLET Y MÓVIL (≤ 900): una columna; «Tu ruta» se abre en una hoja inferior
   ========================================================= */
@media (max-width:900px){
  .ct-why__head{text-align:center;margin-left:auto;margin-right:auto}
  .ct-form{grid-column:1 / -1}
  .ct-prog{grid-template-columns:1fr auto}
  .ct-prog__now{display:block}
  .ct-prog__sum{
    display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 6px 0 14px;border:0;border-radius:999px;cursor:pointer;
    background:var(--ru-tint);color:var(--ru-text-accent);font:inherit;font-size:.875rem;font-weight:600;
  }
  .ct-prog__sum small{min-width:28px;height:28px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:var(--ru-primary);color:var(--ru-white);font-size:.8125rem;font-weight:700}
  .ct-prog__sum.is-bump small{animation:ct-pop .45s var(--ru-ease)}

  .ct-sumwrap{position:static;grid-column:1 / -1}
  .ct-backdrop{display:block;position:fixed;inset:0;z-index:99;background:rgba(20,10,16,.5);opacity:0;transition:opacity .3s var(--ru-ease)}
  .ct-backdrop[hidden]{display:block;pointer-events:none}
  .ct-sumwrap.is-open .ct-backdrop{opacity:1}
  .ct-sum{
    position:fixed;left:0;right:0;bottom:0;z-index:100;max-height:86svh;overflow:auto;overscroll-behavior:contain;
    border-radius:24px 24px 0 0;padding:20px 20px max(20px, env(safe-area-inset-bottom));
    box-shadow:0 -20px 50px rgba(0,0,0,.25); /* taste-skill-ignore: la hoja flota */
    transform:translateY(105%);visibility:hidden;transition:transform .45s var(--ru-ease), visibility 0s .45s;
  }
  .ct-sumwrap.is-open .ct-sum{transform:none;visibility:visible;transition:transform .45s var(--ru-ease)}
  .ct-sum__title{font-size:1.25rem}
  .ct-sum__close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--ru-tint);color:var(--ru-primary);cursor:pointer;transition:background .25s var(--ru-ease), color .25s var(--ru-ease)}
  .ct-sum__close:hover{background:var(--ru-primary);color:var(--ru-white)}

  .ct-why__list{grid-template-columns:1fr;gap:28px;max-width:560px;margin:0 auto}
}

/* =========================================================
   MÓVIL (≤ 640)
   ========================================================= */
@media (max-width:640px){
  .ct-hero__content{padding-bottom:36px}
  .ct-hero__lead{margin-top:16px}
  .ct-hero__actions{flex-direction:column;margin-top:24px}
  .ct-hero__actions .ct-btn{width:100%}
  .ct-why{padding-top:40px;padding-bottom:48px}
  .ct-quiz{padding:40px 0 48px}
  .ct-form{border-radius:0;padding:24px var(--ru-page) 28px}
  .ct-step__help{margin-bottom:22px}
  .ct-sub{margin-top:26px}
  .ct-opt{min-height:44px;padding:0 14px}
  .ct-opts--months{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-pick__panel{margin:10px calc(var(--ru-page) * -1) 0;padding:12px var(--ru-page);border-radius:0}
  .ct-pick__list{grid-template-columns:1fr}
  .ct-pick__list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* zonas de América en 2 columnas para que el paso entero, con «Siguiente», quepa en pantalla */
  .ct-pick__list:has(> li > [data-zone]){grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;margin-bottom:6px}
  .ct-pick__list:has(> li > [data-zone]) .ru-dest__row{padding:6px 4px;gap:10px}
  .ct-pick__list:has(> li > [data-zone]) .ru-dest__ico{width:32px;height:32px;border-radius:10px}
  .ct-pick__list:has(> li > [data-zone]) .ru-dest__txt strong{white-space:nowrap;font-size:.875rem}
  .ct-pick__panel:has([data-zone]) .ct-pick__head{margin-bottom:4px;font-size:1.0625rem}
  .ct-pick__panel:has([data-zone]) .ru-dest__any{padding-top:8px;padding-bottom:4px}
  .ct-pick__panel:has([data-zone]) .ru-dest__any small{display:none}
  .ct-row{flex-direction:column;align-items:stretch}
  .ct-field--grow{flex-basis:auto}
  .ct-counters,.ct-grid2,.ct-pair{grid-template-columns:1fr}
  .ct-styles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ct-style span{font-size:.9375rem}
  .ct-tabs{display:flex}
  .ct-tab{flex:1;padding:8px}
  .ct-nav{position:sticky;bottom:0;z-index:5;margin:28px calc(var(--ru-page) * -1) -28px;padding:12px var(--ru-page) max(12px, env(safe-area-inset-bottom));background:var(--ru-white);box-shadow:0 -10px 24px -14px rgba(60,25,42,.25)} /* taste-skill-ignore: barra fija de navegación */
  .ct-back{padding:0 14px 0 10px}
  .ct-next,.ct-send{min-width:0;flex:1}
  .ct-skip{margin-left:0;padding:0 12px}
  .ct-done__actions{flex-direction:column}
  .ct-done__actions .ct-btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .ct-hero__img,.ct-hero__content > *,.ct-step.is-in,.ct-done,.ct-done__ico,.ct-sum__row.is-new dd{animation:none}
  .ru-js .ct-reveal{transform:none;transition:opacity .4s linear}
}

/* Móvil: mientras se ve el cuestionario, «volver arriba» se oculta para no tapar Siguiente / Enviar */
@media (max-width:640px){ body.ct-quiz-on .ru-totop{opacity:0;visibility:hidden;pointer-events:none} }
/* Móvil: mientras se escribe en «¿A dónde vas?», sin barra de navegación fija (deja los resultados a la vista sobre el teclado) */
@media (max-width:640px){ body.ct-typing .ct-nav{display:none} }
/* Móvil: «Destino · 1 de 6» y «Tu ruta» en una línea fija arriba, justo bajo la cabecera, mientras se hace el cuestionario */
@media (max-width:640px){
  .ct-prog{position:sticky;top:var(--ct-headb,80px);z-index:6;margin:0 calc(var(--ru-page) * -1) 24px;padding:8px var(--ru-page);background:var(--ru-white);
    box-shadow:0 10px 18px -16px rgba(60,25,42,.35)} /* taste-skill-ignore: línea fija de progreso */
  .ct-prog__now{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* iconos de «Tu ruta» en una línea (sustituyen a «Destino · 1 de 6» y al botón «Tu ruta») */
  .ct-prog{display:block}
  .ct-prog__now,.ct-prog__sum{display:none}
  /* «Tu ruta»: título pequeño y iconos discretos unidos por una línea */
  .ct-icons__t{display:block;margin:0 0 6px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ru-muted)}
  .ct-icons{display:flex;justify-content:space-between;align-items:center;position:relative}
  .ct-icons::before{content:"";position:absolute;left:15px;right:15px;top:50%;height:1px;background:var(--ru-tint-2, var(--ru-tint));z-index:0}
  .ct-icons__b{position:relative;z-index:1;width:30px;height:30px;padding:0;border:1px solid var(--ru-tint-2, var(--ru-tint));border-radius:999px;display:grid;place-items:center;cursor:pointer;
    background:var(--ru-white);color:var(--ru-faint, var(--ru-muted));transition:background .3s var(--ru-ease), color .3s var(--ru-ease), border-color .3s var(--ru-ease)}
  .ct-icons__b svg{width:14px;height:14px}
  .ct-icons__b.is-now{border-color:var(--ru-primary);color:var(--ru-primary)}
  /* paso completo: la esfera se rellena */
  .ct-icons__b.is-set{background:var(--ru-primary);border-color:var(--ru-primary);color:var(--ru-white)}
  .ct-icons__b.is-set.is-now{box-shadow:0 0 0 2px var(--ru-white), 0 0 0 3px var(--ru-primary)} /* taste-skill-ignore: paso actual ya completo */
  .ct-icons__b[aria-expanded="true"]{background:var(--ru-primary-dark, var(--ru-primary));border-color:var(--ru-primary-dark, var(--ru-primary));color:var(--ru-white)}
  .ct-icons__b:focus-visible{outline:3px solid var(--ru-primary);outline-offset:3px}
  .ct-ipop{position:absolute;left:var(--ru-page);right:var(--ru-page);top:calc(100% + 6px);z-index:7;padding:14px 16px;border-radius:16px;background:var(--ru-white);
    box-shadow:0 18px 40px -16px rgba(60,25,42,.38), 0 0 0 1px rgba(60,25,42,.06)} /* taste-skill-ignore: tarjeta del icono */
  .ct-ipop:not([hidden]){display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px}
  .ct-ipop::before{content:"";position:absolute;top:-6px;left:calc(var(--ct-ipop-x, 20px) - var(--ru-page) - 6px);width:12px;height:12px;background:var(--ru-white);transform:rotate(45deg);
    box-shadow:-1px -1px 0 rgba(60,25,42,.06)}
  .ct-ipop__t{grid-column:1;margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ru-muted)}
  .ct-ipop__v{grid-column:1;margin:0;font-size:.9375rem;font-weight:700;color:var(--ru-ink);line-height:1.35;overflow-wrap:anywhere}
  .ct-ipop__edit{grid-column:2;grid-row:1 / 3;border:0;border-radius:999px;padding:8px 14px;cursor:pointer;background:var(--ru-tint);color:var(--ru-text-accent);font:inherit;font-size:.8125rem;font-weight:600}
  .ct-ipop__edit[hidden]{display:none}
}

/* Ordenador y portátil: el progreso ya está en «Tu ruta», así que el bloque de arriba del cuestionario no se muestra */
@media (min-width:901px){ .ct-prog{display:none} }

/* Móvil en horizontal: el banner no se aplasta (como en la portada) */
@media (max-height:500px) and (max-width:1100px){ .ct-hero{height:auto;min-height:560px} }

/* Pie de Crea tu ruta (25/10, pedido por Alberto): la newsletter va dentro del pie, sobre el malva, separada del resto por una línea.
   Arriba, un degradado corto del marfil de «Viaja con tranquilidad» al malva, con los pasos del de la portada.
   Solo en las páginas con la clase .ru-foot-in en el <body> (Crea tu ruta y, desde el 25/10, Contacto).
   --ft-from: color de la sección anterior, donde empieza el degradado (marfil por defecto). */
.ru-foot-in .ru-foot{
  --gl:calc(var(--fpb) * .85 + 40px);
  --fw:calc(var(--fpb) * .85 + 16px)!important;   /* el botón de subir se vuelve blanco al acabar el degradado */
  background:linear-gradient(180deg, var(--ft-from,var(--ru-ivory)) 0,
    color-mix(in srgb, var(--ru-primary) 8%, var(--ft-from,var(--ru-ivory))) calc(var(--gl) * .2),
    color-mix(in srgb, var(--ru-primary) 28%, var(--ft-from,var(--ru-ivory))) calc(var(--gl) * .42),
    color-mix(in srgb, var(--ru-primary) 58%, var(--ft-from,var(--ru-ivory))) calc(var(--gl) * .64),
    color-mix(in srgb, var(--ru-primary) 85%, var(--ft-from,var(--ru-ivory))) calc(var(--gl) * .84),
    var(--ru-primary) var(--gl));
  padding-top:calc(var(--gl) + clamp(16px,3vh,32px));
}
.ru-foot-in .ru-foot__news{padding-bottom:clamp(64px,9vh,88px);border-bottom:1px solid var(--fline)}
.ru-foot-in .ru-foot__kicker{color:rgba(255,255,255,.72)}
.ru-foot-in .ru-foot__title{color:var(--ru-white)}
.ru-foot-in .ru-foot__field input{box-shadow:none}
.ru-foot-in .ru-foot__field input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.45)}
.ru-foot-in .ru-foot__field .ru-submit{background:var(--ru-white);color:var(--ru-primary)}
.ru-foot-in .ru-foot__field .ru-submit::before{background:var(--ru-sand)}
.ru-foot-in .ru-foot__field .ru-submit:focus-visible{outline-color:var(--ru-white)}
.ru-foot-in .ru-foot__note{color:var(--fl)}
.ru-foot-in .ru-foot__note a,.ru-foot-in .ru-foot__msg{color:var(--ru-white)}
@media (max-width:900px){ .ru-foot-in .ru-foot__news{padding-bottom:40px} }

/* «Viaja con / tranquilidad» en dos líneas en todos los dispositivos (25/10, pedido por Alberto) */
.ct-why .ct-title em{display:block}
/* Ordenador: «¿Añadir otro país?» alineado a la izquierda, bajo las cajas de los países (25/10) */
@media (min-width:1280px){ .ct-pick__more{margin-left:0} }

/* Pie de Crea tu ruta: newsletter más reducida y discreta (25/10, comentario de Alberto). Una sola fila: antetítulo
   y título pequeños a la izquierda, campo y botón compactos a la derecha; menos aire hasta la línea que la separa */
.ru-foot-in .ru-foot__news{padding-bottom:clamp(28px,4vh,40px);align-items:center}
.ru-foot-in .ru-foot__kicker{font-size:.75rem;letter-spacing:.32em;margin-bottom:4px}
.ru-foot-in .ru-foot__title{font-size:clamp(1.375rem,1.8vw,1.75rem);line-height:1.15}
/* caja del email igual que el resto de cajas de los formularios (.ct-field__input: 60 px, radio 18, 1rem, 500, relleno 18);
   el botón, a la misma altura (26/10, comentario de Alberto) */
.ru-foot-in .ru-foot__field input{height:60px;padding:0 18px;border-radius:var(--ru-radius);font-size:1rem;font-weight:500}
.ru-foot-in .ru-foot__field .ru-submit{height:60px;padding:0 26px;font-size:1rem}
.ru-foot-in .ru-foot__below{position:static;padding-top:8px}   /* el aviso de privacidad ocupa su sitio: aunque pase a dos líneas no pisa la línea de debajo (25/10) */
@media (max-width:900px){ .ru-foot-in .ru-foot__news{padding-bottom:28px} }
/* Portátil y Ordenador: la caja del email alineada por abajo con el título; el aviso de privacidad, en su propia fila
   debajo (el formulario se reparte en la rejilla con display:contents) (26/10, comentario de Alberto) */
@media (min-width:901px){
  .ru-foot-in .ru-foot__news{align-items:start}
  .ru-foot-in .ru-foot__form{display:contents}
  /* el bloque del título mide lo mismo que la caja (60 px) y se apoya abajo: si sale el error del email, el título no se mueve */
  .ru-foot-in .ru-foot__intro{grid-column:1 / 7;grid-row:1;height:60px;display:flex;flex-direction:column;justify-content:flex-end}
  .ru-foot-in .ru-foot__field{grid-column:7 / 13;grid-row:1}
  .ru-foot-in .ru-foot__below{grid-column:7 / 13;grid-row:2}
}

/* Banner: botón secundario («Hablar con un asesor») en blanco con el texto en color (25/10, comentario de Alberto).
   También en Contacto (botón del email), que carga este archivo */
.ct-hero__actions .ru-submit--alt{background:var(--ru-white);color:var(--ru-primary);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.ct-hero__actions .ru-submit--alt::before{background:var(--ru-sand)}
.ct-hero__actions .ru-submit--alt:focus-visible{outline-color:var(--ru-white)}


/* Móvil: título del banner más grande en todos los apartados (27/10, Alberto). La ficha de ruta (.vj-hero__title) lleva el suyo */
@media (max-width:640px){ .ct-hero__title:not(.vj-hero__title){font-size:clamp(3.5rem,17vw,4.25rem)} }
