﻿/* ============================================================
   SAFEWAY TRAVEL — DESIGN SYSTEM v2
   Monocromático · Mobile First · Sin dependencias
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Permite transicionar height/min-height hacia y desde `auto` (usado por
     .searchbar al cambiar de pestaña). Solo lo soportan los navegadores
     basados en Chromium por ahora; en el resto se ignora sin efecto. */
  interpolate-size:allow-keywords;
  --bg:#F9F9F9;
  --surface:#FFFFFF;
  --surface-2:#F4F4F4;
  --ink:#000000;
  --graphite:#1A1A1A;
  --graphite-deep:#101010;   /* cierre: separa visualmente del pie */
  /* Único acento de color del sistema. Reservado a calificaciones. */
  --gold:#F5A623;
  /* Acento azul: exclusivo del estado "seleccionado" en el checkout de reserva. */
  /* Teal corporativo. Ya se usaba a mano en el degradado del hero y como
     theme-color del panel de operaciones; se promueve a token para que el
     foco de los campos de pago tire del mismo valor y no de una copia. */
  --teal:#007A85;
  /* El teal profundo del hero. Se promueve a token porque ahora también
     lo usan el foco de los formularios y la tarjeta de vehículo elegida:
     tres sitios lejanos entre sí que tienen que moverse juntos si la
     marca cambia de tono. */
  --teal-deep:#043940;
  --teal-deep-bg:rgba(4,57,64,.05);
  --accent-blue:#2F6FED;
  --accent-blue-bg:#EEF4FF;
  --text:#333333;
  --muted:#6E6E6E;
  --faint:#707070;
  --line:#E4E4E4;
  --line-strong:#CFCFCF;
  --on-dark:#FFFFFF;
  --on-dark-soft:rgba(255,255,255,.62);

  --ok:#1B7F4B;
  --ok-bg:#E8F3ED;
  --warn:#8A6100;
  --warn-bg:#F7F0DF;
  --bad:#9B2226;
  --bad-bg:#F8EAEA;

  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  --gutter:20px;
  --max:1240px;
  --section-y:64px;

  --r-sm:3px;
  --r-md:6px;
  --r-lg:10px;
  --r-card:18px;

  --shadow-card:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.10);
  --shadow-float:0 2px 6px rgba(0,0,0,.05),0 28px 64px -24px rgba(0,0,0,.38);
  --shadow-pop:0 2px 8px rgba(0,0,0,.06),0 18px 40px -18px rgba(0,0,0,.28);

  --header-h:68px;

  /* Sustituir por fotografía cinemática del hero */
  --hero-photo:url('data:image/jpeg;base64,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GCHfHzOX827Ddvh8XTh0tUc2pDLfFq4HLe+HkXDETzNr1HI4HDx24Gv4F6ut9jIsMx8N2O71li08mfJ83h4foY8j6qTYscPGEfv4kcnJEREREREeJyRwREcCxEQWIiIgjg5Y5LOLXhmzDEHMGYzjgGMExiTHURw84OG0Q3vwB8WcnzwXuzHyiwJZeTw/QxPDzix4dOQ93+xdU1eGAOaWbnBfciv/ADMyyS4Lq2bGC2YI7vmAJoCt5lmz8e3N6z3wDLldI49Ty8jxiOG0im3Ajg8DF0iaQNkTWLIPyZ4LVvxG3hgw2bMRH0Wf0JYsc48QzwZ4ZmeP/9oADAMBAAIAAwAAABAlnDWEocUN1P8ARtj1hlP6eu8kYkcwANd5nP8A+4z/AP7rIZ77K4777rLK44444777777744445LLLb7777644445rLLb76457LL7744/vPf8APbz197Ehxf8AabefbdWbXXt2/wAhZv8ADLEkDTJJZ7tN3ZptF5yae8c0cwAc5zPf7jP+++6me+ymO+u6yOe+y36mO/OOOOOOyyyyy2+++uOOayyy2+++++++OOO6y2++Oey2+++Pbz/vPf74N991t4a2N5Jx98eKlN0PTPnnzdn9rd9/ppl5deuek4Mwgd9zP/7nP++6yGe+yGe++yGe+6mPf6k8+3zzzzz/AP8A/wD/AP7zznsss8vvvvjjjjissstvvvvjnusvvjmsvvvy0885+xkuDklnssvWaUffWivWfGx5+xdyc9ff+WTZd6msmJMIHeZ3/wDOc/77qI77rY7/AP8A8hnvuh3/APqWRAZy1IcMMMMMMMMPPPP/AP8A/wD888857LLLLb76445rLL77647Lb47Lb7489/7kY7+9Lb9o73X1n334q0Et7sXfkE0XfXkWWfppxhiBzO9/ud//APzzPf8A8z3/AP8AznP/AP8AMd//ADnDY37rNMwEy/8A/wD/AP8A7zywwwwww88888//AP8A/wD/AO8897LLb647Lb7647LY57b7775ZifvO9vP/AD6391Z99aS9EVHn5PftnF9Ftv8AltrPIHa/+z//APOc/wDzznP/AP8AvMd//O8//vOPPLx7dfKZq7TR+dv/AP8A/wD/AP8A/wD888888MMMMMMMNPPPf/8A/OKS2+uOy+++O2+uSy+6WxfBPTTvzvXa1J9J1tUyxCcVx35tt1Nl/wDppmGGBOXe3/8Ak3/M8/8A/wD+8zz/AP8AzH//AO4ww903I1t35tuu/L6PH54yy888888888//AP8APPPvPLDDDDDzz/8A/wA9rL745L775r74oIJapt3f8vMZuvtvf81n23KcQhPO/wDdpp57+m6+koA8k8U95V9hV9//AO5z/wDPMc//AP7zDDHf/vjj48BsoX+z2+6YtHrb3/vPPPPPPPPLTzzz/wD/AP8APPDDDDzz/wDzy8trjsvvjsvvvvvtjNP9/wC/P/8Afa99bT9wJMxzjPbj3P1VpZf7/Uso8g89E8oE88/7H/8AoAPf/wD+MMM//wD/AP8AsEFfZzQ8Kj//AO+v9pP3v39//wDdffff/f8A/wDvPPLzz/8A/wC888MNPP8A/Py+/L3/AP2tvvvlj3Uy8/726923vfff/Rmtm5599213fVZfV4+91OFPIHOBPPOIDPPojPPP+wwx/wD/ADhBBBF999hAoAjd1xjYqweEHRBBBBNBBBBBRxx1999/vLDzz/8A/wA88MNPf89P+9P/APvDDDX7Uh//ALy/y75ykvrkvWg2Mebea++6fXW6fV40/pvKHPBPPPAFPP4XPPPIAAH/AP8AhBBB9999tNJFt4ohlZW6/Mr/ALffffffffffbTTTQRUdfffffbTS088/7yw0/wC9P+9v/wDvPDH/ALwI+9vw3y58+m/LsZPfdNHFWR9966/1afRf63+1/oFPPKBPPIFPPPIAAHPvsQQRffffWaHIG6UNMAMxV6F8ffffffffffffffffffTQUcfffffffSQQf/yw0/8A8vf9v/8A/wD/AP8A/ntOC+vXrTvXrR+OmyTbv6um559Xn7flpVVl9r/rP++4Ec84A888wAAc88oBFd9xhBV0N5rvD/8ArPBKLAB1PPPPPPPPPffffffffbffQQQUcdffffSQU/8A+8NPf8vf8vP/AP8A/wD+vSILb65Ytf8A3un+7yz3f3fmWftp9l7fr95d9V/D/wD6x/8AvMFzzzAABzzyAQ332EEU30zxwQxiMcOjCCDBCAAAAAAADDDDTzzzzzX32Q4a0QYwFHH33203P+8sPP8AP3/PT/8A/wD+uey4JLS74vc+b8//AK+jPnvvq+ef79n7Hrv9pd9R/wDw/wD+Mf8A+7CCGc84gE884BB999888988w87s8sM88888888888sMMMMAAw0V6Bq46nB/+W99NBR99tBz/PDT/vT/ALwMPPf03OgRvHdcakrtj0349hu3235pvtsXZX59+3eRffYX/wCMf/6oMN//APjG884wAM88898884wAM8nQ88888888888888888888c4vAfF2ppHPr1/R88tBU89tBD/vDQ88S+8IQ88I8jwV2+qUc+/KzIh15Om27rv7u2erdt1xv7X/xN9xFN/7zDHf/AP4zvvsgnPPPPPPOIABDPPGlpPPPPPPPMMEMMMMMPPPPPNauXPSIdshHM/XOlvfSQcffaQV/DAEPPEPPLAEAEPFMgg0voeJrj/jPdePOGn92/wDs7p6f9md/+N/0V33EEU333GU//vMMzz777rPOAAzzzzzy89TDDDTgAQwxzywwwAAABADwPCTK/cWrT7pqwo7X32kFH30kDTywBDzwjDX0wgTx+yscNa5HyzP+r/8A7n8+nn7nfnfi+6o99jf/AK1/wxXfcZXfccQTXf8A/wD/AOoz/wD7zzzzzzzxPnEwwQwwzzzzzzzzzzywwx0rE/UrkrlJ84HXEmvn3320kHX3whDywBDD78tPf/8A/wC9c6gwtrnPTmcp9+6/JNOFvx+z/wD8azyB3Md/uMd/uX33GE333333uMM//wD8888wgAAEId1N88888888888888888885V+hyeJnBgRtff6WPe89999NBU88MYz/vDS2/LT//AP8A88mQMNf5bz3eXjh9+7jwTgf9/wD7P/e6coc/jDP/AOx3/wCEV33333EEEH/7zzzzARzzzzzznn3zzzzzzzzzzzzzzzzzzzy5lSdjAR7+trVCKtjj/wA8888sAQw88q3/ALww9/7w9/8A/wDpZ6w2l5ly1PUkk7fWick4E/8A1/x0xvFPIBff4z//AOMN/wB995xBBN9/88gAEc888888oExt88888888888888888884tQ1JnZp9q0KyAlWuUk8888++8ICW8/D3/wDSQdfbQUffbdD4XE7WT7We2nLK+x6nJPP4/wCv+/uZzgBz2kf/ALDD3/8A/wCkE3333/jATzzzzzzzzzyzj1AAAAAAAAAAAAAABDDTzzw5eqbJ5ZkrEJcKd5fgPP8A++++88jD3/vB999JBx99J199vd5dmGmO3ntv+cVhXWq84Ef7X/Xn/wAohPPIMfKR3/8A/wD/AI3ffffcwHPPPPPPPMMMMNPKaAAAAAAAAAAAAAAAAAAEMEnrNLA1CZjkilWsUyKwU8/vv/8A+8sHX20HX20kFH30HX30F/8A/jfzffdfnqoF5fK8o84E/wC6/wCMM/72BZLnczH/APzjf/8AecQ3/PPPPPOIBDDDDPvPwBCgABDjjghjjAAAAAAAAPzsVGMYVHVq4M52vnwYKw8//wD/AN9tBB99tB19tDB19tB//Lx99R+DOvv5ZWicV7O+q8E88jq/Df8A85nMR/0SpBgx3/8AEEV3/wA8888wue++++++6512+++++++++++++++OOKOCNWHSUIh8uebI6gFMe1lTBBR999999NB199J39pDD3/vD38I08o8Ci3fnlpG6dV9zX6c8oe+/D/rX/wCkqDkHSbVf/wCsV33/AM884gO+++++++++qDMW+++++++++++++++++++uEMW9rS2mqaB1t+mPanXtBBBx999999JB99vD3/rDDT19I08a+uy++r//AHwfVKvfXf4/vlOHuw/4/wD/ALj/AIGtY/v/AP8Aj99/98wAe+++++++++++qd8e+++++++++++++++++++6ym9S9nroFE6i66Z8ICU/pBBBB99999tDT/8A7w9//wA0ADzyjS5b644r6uvsfn2b6v2X33tSjgJf9/8ArsoGw0hc9/8A+1/ff/IBPvvvvvvvvvvvvrvKPvvvvvvvvvvvvvvtif8A+sy+U98g3pnjOm2Y606od/8A/JBNJB19/wD/AMsNP/8AtB088sAS++S+PX//APQl9y39+1fFqVfe4/1ADPPx/wCO90+h8bzlOMX33/vy888vDDDDP7777775BT77777777777777oQJnuJXllMZjvbwqHVhfmawafX//AN999pX/AP8A/wD/ACw0PPLANPfbAkvvy96//wDP598v9+f/AIUq+9F/zXo84Ee/D/8A66rHqAQAP/fYyRXWMPN+/NPv/PvvvvqH/vvvvvvvvvvvvvuugYYOoZhOt63/AN29yVCPU/l7W7PX333+MP8A/wD+/edCHOPujnuvvzw9+3y8/wCtHjtev9f+Xzb6p2P/AP38o88yH/8AwwIPrDAHP/eV+PpuG+yrqFh/ffPPvvmVONdussssvvOSyw4NCflGflcheK6kMlmM+y5zKcl7Tw1Y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');
}

/* ---------- 2. BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
/* La cabecera es fija (position:fixed, alto = --header-h): todo destino de
   scroll debe detenerse por debajo de ella. Se resuelve con
   scroll-padding-top en el contenedor de scroll (html) y no con
   scroll-margin-top por elemento: así queda cubierto CUALQUIER destino
   —secciones, el <footer id="contacto">, anclas futuras sobre <div>, la
   búsqueda del navegador y el scroll por foco de teclado— en una sola
   regla, en vez de tener que enumerar selectores y olvidar alguno (que es
   justo lo que pasaba: section[id] no alcanzaba al footer y #contacto
   quedaba tapado). OJO: scroll-padding (contenedor) y scroll-margin
   (elemento) SE SUMAN, así que los scroll-margin que existían solo para
   compensar la cabecera se retiran; los que quedan añaden únicamente su
   respiro extra. */
html{
  -webkit-text-size-adjust:100%;
  /* El salto al ancla en la carga inicial lo corrige SW.anclaAlCargar() en
     safeway.js: con smooth, el navegador anima hacia el destino y las
     imágenes/fuentes que siguen cargando cancelan esa animación, dejando
     al visitante arriba del todo. */
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
}
section[hidden]{display:none}
/* #buscador es el motor de reservas, y encima de él va el titular del
   hero que explica QUÉ servicio se está reservando. Al saltar aquí desde
   el menú móvil ("Servicio por horas", "Ciudad a ciudad", "Traslados al
   aeropuerto"), el offset general dejaba el buscador limpio bajo la
   cabecera pero partía ese titular por la mitad: se veía asomar el final
   de la última línea —"…tu tiempo."— debajo del header, que es peor que
   no verlo.

   Medido a 375x812: el bloque de copy ocupa 118-227 y el buscador
   241-742; entre los dos son 624px y hay 744 útiles, así que CABEN
   ENTEROS. Con este margen el navegador topa contra el inicio del
   documento y muestra la portada desde arriba: titular completo y
   buscador visible, sin ninguna línea cortada.

   Va como scroll-margin (elemento) y no tocando el scroll-padding
   (contenedor), porque los demás destinos del menú sí quieren el offset
   corto. OJO: los dos SE SUMAN. */
#buscador{scroll-margin-top:4px}

@media (max-width:767.98px){
  #buscador{scroll-margin-top:160px}
}
/* En móvil el menú hamburguesa manda a #flota/#destinos/etc.: se les da
   más respiro que el +16px de escritorio para que la sección no quede
   pegada contra la cabecera. */
@media (max-width:767.98px){
  html{scroll-padding-top:calc(var(--header-h) + 32px)}
}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
/* Justificado global del texto de contenido — igual en PC, tablet y móvil */
p,li,dd,dt,blockquote,td,th,figcaption{text-align:justify;text-justify:inter-word}
/* …salvo en el pie. Sus columnas miden 140–210 px, así que caben unas
   20–25 letras por línea: repartir el sobrante entre dos palabras separa
   "Términos" de "y condiciones" con un hueco del ancho de media columna,
   y lo mismo le pasaba a "Políticas de cancelación" y "Libro de
   reclamaciones". El justificado necesita una medida larga para verse
   bien; aquí no la hay. Se excluye el pie en lugar de retirar la regla
   de arriba para que la prosa del cuerpo siga justificada tal como se
   decidió para todo el sitio. */
.site-footer p,.site-footer li,.site-footer dd,.site-footer dt,
.site-footer td,.site-footer th,.site-footer figcaption{text-align:left}
/* …y salvo en las páginas legales (2026-09-13). Su texto está lleno de
   palabras que no se pueden partir, como correos o el RUC: cuando una no
   cabe y salta de línea, el justificado estira los espacios de la línea
   anterior, y «San Borja, Lima, Perú, en adelante» salía con huecos del
   ancho de una palabra. Afecta solo al encabezado, el índice y el cuerpo
   de términos, privacidad, cancelaciones y reclamaciones. */
.legal-hero p,.legal-layout p,.legal-layout li,.legal-layout dd,.legal-layout dt,
.legal-layout blockquote,.legal-layout td,.legal-layout th,.legal-layout figcaption{text-align:left}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
/* Foco de teclado en el teal de marca, no en negro. Es el mismo criterio
   que en los campos de formulario: un contorno negro de 2px se lee como
   error o como un borde roto, no como "estás aquí". Sobre fondo blanco
   este teal da ~11:1 de contraste, muy por encima del mínimo de
   accesibilidad, y sobre fondo oscuro sigue mandando la regla de abajo
   que lo pinta blanco. */
:focus-visible{outline:2px solid var(--teal-deep);outline-offset:3px;border-radius:2px}

/* Selección de texto en el teal de marca. Sin esta regla el navegador
   pinta su azul de sistema —el mismo #3297FD de cualquier página sin
   diseñar—, y basta con que alguien arrastre el cursor sobre un titular
   para que aparezca el único color ajeno a la paleta en toda la web.
   Se define en RGBA y no con el token sólido para que el texto siga
   leyéndose sin tener que forzar también el color de la letra: el teal
   al 16% oscurece lo justo sobre blanco y no ensucia sobre las
   secciones oscuras. */
::selection{background:rgba(4,57,64,.16)}
.on-dark :focus-visible,.site-header :focus-visible,.hero :focus-visible{outline-color:#fff}
[hidden]{display:none !important}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:960px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 3. TIPOGRAFÍA ---------- */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
/* Mayusculas SI, pero espaciadas y en peso medio (2026-09-11, por decision
   del usuario para las siete secciones): en caja alta un tracking negativo
   aprieta las letras y el titulo se lee como un cartel, no como una marca. */
.h-section{font-size:clamp(26px,4.7vw,36px);line-height:1.12;font-weight:600;letter-spacing:.045em;color:var(--ink);margin:0 0 14px;text-transform:uppercase;text-wrap:balance}
.h-page{font-size:clamp(24px,5vw,32px);line-height:1.14;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin:0 0 6px}
.h-panel{font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:0 0 4px}
.sub-section{font-size:16px;color:var(--muted);margin:0;max-width:56ch}
.lead{font-size:15px;color:var(--muted);margin:0}
.tiny{font-size:12px;color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
/* Agrupa palabras que deben saltar de línea juntas, para evitar viudas
   tipográficas (ej. "Meet & Greet." colgando sola en el título del hero).
   El contenido vive en el diccionario de i18n.js, así que cada idioma
   decide qué palabras agrupa. */
.nowrap{white-space:nowrap}
.section{padding-block:var(--section-y)}
.section--tight{padding-block:44px}
.section-head{margin-bottom:38px}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* ---------- 4. BOTONES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:56px;padding-inline:34px;border-radius:var(--r-sm);
  background:var(--ink);color:#fff;
  font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  transition:opacity .18s ease,transform .18s ease,background .18s ease,color .18s ease;
  text-align:center;
}
.btn:hover{opacity:.86}

/* Botón flotante "Cotiza ahora": dirige todo el tráfico de precios de
   destino.html al motor de reservas dinámico del home (index.html#buscador)
   en vez de mostrar tarifas estáticas en esta página. */
.btn-flotante{
  position:fixed;right:40px;bottom:40px;z-index:100;
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;border-radius:100px;
  background:var(--ink);color:#fff;
  font-size:14px;font-weight:600;letter-spacing:0;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  transition:all .3s ease;
}
.btn-flotante svg{width:19px;height:19px;stroke:currentColor;fill:none;flex:none}
.btn-flotante:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.28)}
.btn-flotante:active{transform:scale(.98)}
@media (max-width:767.98px){
  .btn-flotante{right:auto;left:50%;bottom:24px;transform:translateX(-50%);padding:13px 24px;font-size:13.5px}
  .btn-flotante:hover{transform:translateX(-50%) translateY(-4px)}
  .btn-flotante:active{transform:translateX(-50%) scale(.98)}
}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.32;cursor:not-allowed;transform:none}
.btn--block{width:100%}
.btn--sm{height:44px;padding-inline:20px;font-size:11px;letter-spacing:.12em}
/* Variante en el teal corporativo. El .btn base es negro y sigue siendo
   el de acción general del sitio; este se reserva para los momentos en
   que interesa que la marca esté presente, como la confirmación. */
.btn--teal{background:var(--teal);color:#fff}
.btn--teal:hover{background:#006A73;opacity:1}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff;opacity:1}
.btn--quiet{background:transparent;color:var(--muted);border:1px solid var(--line-strong);font-weight:600}
.btn--quiet:hover{color:var(--ink);border-color:var(--ink);opacity:1}
.btn--danger{background:transparent;color:var(--bad);border:1px solid var(--line-strong)}
.btn--danger:hover{background:var(--bad);border-color:var(--bad);color:#fff;opacity:1}
.link{font-size:13px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
button.link{background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.link--quiet{color:var(--muted);font-weight:500}
.link--quiet:hover{color:var(--ink)}

/* ---------- 5. HEADER PÚBLICO ---------- */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:60;height:var(--header-h);
  display:flex;align-items:center;background:transparent;
  border-bottom:1px solid rgba(255,255,255,.14);
  transition:background .3s ease,border-color .3s ease;
}
/* Variante clara: para páginas sin hero oscuro debajo (ej. ficha de
   destino), donde el header transparente-sobre-foto quedaría en blanco
   sobre blanco. Reutiliza .logo--ink/.utility--ink (ya existentes) para
   el texto; aquí solo se cubre lo que esas clases no tocan (el fondo del
   propio header, los enlaces del nav, el botón de cuenta y el burger).
   Las reglas de scroll (.is-scrolled/.is-solid) igualan especificidad
   para que el fondo se mantenga blanco también al hacer scroll. */
.site-header.site-header--light,
.site-header.site-header--light.is-scrolled,
.site-header.site-header--light.is-solid{
  background:#fff;border-bottom:1px solid var(--line);
}
.site-header--light .nav a{color:var(--ink)}
.site-header--light .header__account{
  border-color:rgba(26,26,26,.55);color:var(--ink);
}
.site-header--light .header__account:hover{background:var(--graphite);border-color:var(--graphite);color:#fff}
.site-header--light .burger span{background:var(--ink)}
.site-header.is-solid,.site-header.is-scrolled{background:var(--ink);border-bottom-color:rgba(255,255,255,.10)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}
/* Ghost button: sin fondo sólido y sin esquinas redondeadas —
   «Lujo minimalista» en vez de la píldora genérica que tenía antes.
   El borde es translúcido porque el header vive sobre una foto con
   overlay: un blanco sólido se ve dispar entre fotos claras y
   oscuras; al 50% queda fino en cualquiera. En el header claro
   (.site-header--light, debajo) cambia a un tono oscuro (2026-09-13). */
.header__account{
  display:none;align-items:center;padding:11px 26px;border-radius:0;
  background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;
  font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  white-space:nowrap;transition:background .2s,color .2s,border-color .2s;
}
.header__account:hover{background:#fff;color:var(--ink);border-color:#fff}

/* Acceso de usuario en la cabecera móvil.
   Vive fuera del menú desplegable a propósito: entrar a la cuenta es una
   acción frecuente y no debería exigir abrir un menú antes. En escritorio
   se oculta, porque allí ya está .header__account con su etiqueta. */
.header__user{
  display:grid;place-items:center;width:38px;height:38px;flex:none;
  border-radius:50%;border:1px solid rgba(255,255,255,.28);color:#fff;
  transition:background .2s,border-color .2s;
}
.header__user:active{background:rgba(255,255,255,.14)}
.header__user svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}
/* Con sesión: el círculo se rellena y muestra las iniciales. */
.header__user.is-signed{background:#fff;border-color:#fff;color:var(--ink)}
.header__user-initials{display:none;font-size:13px;font-weight:700;letter-spacing:.02em}
.header__user.is-signed .header__user-initials{display:block}
.header__user.is-signed svg{display:none}
.site-header--light .header__user{border-color:var(--line-strong);color:var(--ink)}
.site-header--light .header__user.is-signed{background:var(--ink);border-color:var(--ink);color:#fff}

/* Logo — versión blanca sobre fondo oscuro */
.logo{display:flex;align-items:baseline;gap:8px;color:#fff}
.logo__mark{font-size:17px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;line-height:1}
.logo__mark em{font-style:normal;font-weight:300}
.logo__tag{display:none;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--on-dark-soft)}
.logo--ink{color:var(--ink)}
.logo--ink .logo__tag{color:var(--muted)}

.nav{display:none}
.nav a{position:relative;color:#fff;font-size:13px;font-weight:500;letter-spacing:.04em;padding-block:6px;opacity:.82;transition:opacity .2s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:#fff;transition:width .25s}
.nav a:hover{opacity:1}
.nav a:hover::after{width:100%}

.utility{display:none;align-items:center;gap:14px;color:#fff}
.toggle-group{display:flex;align-items:center;gap:2px;font-size:12px;letter-spacing:.06em}
.toggle-group button{color:var(--on-dark-soft);padding:4px 5px;font-weight:500;transition:color .2s}
.toggle-group button[aria-pressed="true"]{color:#fff;font-weight:700}
.toggle-group span{color:rgba(255,255,255,.28)}
.utility__divider{width:1px;height:14px;background:rgba(255,255,255,.26)}
.utility__globe{color:var(--on-dark-soft)}
.utility--ink{color:var(--ink)}
.utility--ink .toggle-group button{color:var(--faint)}
.utility--ink .toggle-group button[aria-pressed="true"]{color:var(--ink)}
.utility--ink .utility__divider{background:var(--line-strong)}
.utility--ink .utility__globe{color:var(--faint)}

.lang-switch{
  appearance:none;background:transparent;border:0;color:var(--on-dark-soft);
  font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 16px 4px 2px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;background-size:12px;
}
.lang-switch:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lang-switch option{color:#000}
.utility--ink .lang-switch{color:var(--faint)}

/* HISTORIA DE ESTA DECISIÓN, que ha ido y venido:
   durante un tiempo el selector de idioma NO aparecía en la cabecera
   móvil —solo logo, usuario y menú— y vivía únicamente en el pie del
   panel desplegable. El 2026-09-26 vuelve a la cabecera, esta vez con un
   motivo nuevo: la campaña de Google Ads trae tráfico de Estados Unidos
   y cambiar de idioma no puede exigir abrir un menú antes. A cambio, el
   icono de usuario se va al menú (ver el bloque del final del archivo).
   Sigue siendo el MISMO <select> espejo del de escritorio. */

.burger{width:44px;height:44px;margin-right:-10px;display:grid;place-content:center;gap:5px}
.burger span{display:block;width:22px;height:1.5px;background:#fff;transition:transform .28s ease,opacity .2s}
body.menu-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:55;background:var(--ink);color:#fff;
  /* El relleno vertical se recortó (era +32px arriba y 40px abajo): con
     diez enlaces, el CTA y la fila de idioma/moneda, en un teléfono de
     667px de alto el tercer bloque quedaba fuera de pantalla. */
  padding:calc(var(--header-h) + 10px) var(--gutter) 16px;
  /* 100dvh y no 100vh: en móvil la barra del navegador aparece y
     desaparece, y con vh el panel se queda calculado sobre la altura
     grande y el pie acaba debajo del borde. inset:0 se conserva como
     respaldo para quien no soporte dvh. */
  height:100dvh;
  display:flex;flex-direction:column;
  /* Sin space-between: el listado toma el espacio sobrante (flex:1) y el
     pie se pega abajo por sí mismo. Con space-between, un listado corto
     dejaba los bloques flotando separados en mitad de la pantalla. */
  justify-content:flex-start;
  transform:translateY(-100%);opacity:0;visibility:hidden;
  transition:transform .38s cubic-bezier(.2,.7,.2,1),opacity .3s,visibility .38s;
}
body.menu-open .mobile-menu{transform:translateY(0);opacity:1;visibility:visible}
body.menu-open{overflow:hidden}
/* Menú móvil en tres niveles de jerarquía.
   Antes eran diez enlaces idénticos a 24px, todos con el mismo peso: una
   pared de texto sin orden de lectura. Ahora el tamaño y la opacidad
   marcan la prioridad — principal, soporte, portales — y "Mis reservas"
   sale de la lista para ser un botón real.

   Todos los enlaces conservan min-height:44px aunque la letra sea más
   pequeña: es el área táctil mínima recomendada por Apple y Google, y no
   debe encogerse solo porque el texto lo haga. */
/* flex:1 + min-height:0 es lo que permite que el nav se encoja dentro
   del flex en vez de empujar el pie fuera de la pantalla: sin
   min-height:0 un hijo flexible no baja de su alto de contenido.
   El overflow es la red de seguridad para pantallas muy pequeñas; con
   las medidas de abajo no llega a activarse en los tamaños habituales. */
.mobile-menu nav{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
/* Sin barra visible: si en un teléfono diminuto hay que desplazarse, que
   se note al arrastrar, no con una barra cruzando el panel. */
.mobile-menu nav{scrollbar-width:none}
.mobile-menu nav::-webkit-scrollbar{display:none}
.mobile-menu nav a{display:flex;align-items:center;min-height:44px}

/* Bloque 1 — navegación principal */
.mobile-nav__group--primary a{
  padding:9px 0;font-size:18px;font-weight:600;letter-spacing:-.01em;color:#fff;
}

/* Bloque 2 — soporte y marca: mismo peso visual que un subtítulo, para
   que no compita con la navegación principal. */
.mobile-nav__group--secondary{
  margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);
}
.mobile-nav__group--secondary a{
  padding:7px 0;font-size:15px;font-weight:400;color:rgba(255,255,255,.62);
}

/* Bloque 3 — portales externos: el escalón más bajo, y al final. */
.mobile-nav__group--portals{
  margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);
}
.mobile-nav__group--portals a{
  padding:6px 0;font-size:13.5px;font-weight:500;letter-spacing:.02em;
  color:rgba(255,255,255,.5);
}

/* Bloque 4 — gestión de sesión. Lo muestra js/header-user.js solo cuando
   hay sesión activa; sin ella no tiene sentido ofrecer "Mis reservas" ni
   "Cerrar sesión", y el menú queda más corto para quien aún no entró. */
.mobile-nav__group--sesion{
  margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);
}
.mobile-nav__group--sesion[hidden]{display:none}
.mobile-nav__group--sesion a,
.mobile-nav__group--sesion button{
  padding:7px 0;font-size:15px;font-weight:500;color:#fff;
  display:flex;align-items:center;min-height:44px;width:100%;text-align:left;
}
/* Cerrar sesión: presente pero sin peso visual. Un rojo apagado lo
   identifica como acción de salida sin gritar ni parecer un error. */
.mobile-nav__logout{
  color:rgba(255,138,128,.85) !important;font-weight:400 !important;font-size:14px !important;
}
.mobile-nav__logout:active{color:rgb(255,138,128) !important}

.mobile-menu nav a:active{color:#fff}

.mobile-menu .utility{display:flex;margin-top:20px}

/* ---------- 6. HEADER DE APLICACIÓN (checkout / portal) ---------- */
.app-header{
  position:sticky;top:0;z-index:50;background:var(--ink);color:#fff;
  height:var(--header-h);display:flex;align-items:center;
}
.app-header .header-inner{align-items:center}
.app-header__aside{display:flex;align-items:center;gap:16px}
.secure-note{display:none;align-items:center;gap:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft)}
.secure-note svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}

/* ---------- 7. HERO ---------- */
.hero{position:relative;isolation:isolate;padding-top:calc(var(--header-h) + 40px);padding-bottom:44px;color:#fff;overflow:hidden}
.hero__bg{
  position:absolute;inset:0;z-index:-2;overflow:hidden;
  background-image:
    var(--hero-photo),
    radial-gradient(54% 76% at 76% 44%,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 68%),
    linear-gradient(96deg,#070707 0%,#0C0C0C 40%,#1D1D1D 68%,#111 88%,#0A0A0A 100%);
  background-repeat:no-repeat;
  background-size:cover;
  /* Móvil: la protagonista está a la derecha del encuadre, así que se
     desplaza el recorte para que no quede fuera en pantallas verticales. */
  background-position:78% center;
}
/* La textura diagonal solo tiene sentido cuando no hay fotografía */
.hero:has(.hero__bg) .hero__bg::after{content:none}

.hero__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.62) 38%,rgba(0,0,0,.74) 100%),
    linear-gradient(96deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.72) 34%,rgba(0,0,0,.38) 62%,rgba(0,0,0,.22) 100%);
}
.hero__copy{max-width:600px;margin-bottom:28px}
.hero__eyebrow,
.hero__subtitle{
  display:block;font-size:10px;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--on-dark-soft);margin:0 0 16px;
}
/* El H1 arranca en peso fino: el contraste lo marca <strong> */
.hero h1{font-size:clamp(28px,6.2vw,44px);line-height:1.14;font-weight:300;letter-spacing:-.032em;margin:0 0 14px;color:rgba(255,255,255,.82)}
.hero h1 strong{font-weight:600;color:#fff}
.hero h1 em{font-style:normal;font-weight:300;color:rgba(255,255,255,.78)}
.hero h1 br{display:none}
.hero__lead{font-size:15.5px;line-height:1.55;color:rgba(255,255,255,.72);margin:0;max-width:56ch}

/* ---------- 8. MOTOR DE RESERVAS ----------
   Móvil: tarjeta blanca con campos apilados.
   Escritorio (>=900px): barra horizontal de una sola fila. */
.booking{position:relative}

/* Pestañas sobre el fondo oscuro del hero.

   Pivote a lujo puramente tipográfico: sin iconografía, el texto es el
   único elemento visual. La línea inferior de 2px va SIEMPRE reservada
   —transparente en las inactivas, blanca en la activa—, nunca solo en
   la seleccionada: si solo la activa la llevara, esa pestaña mediría
   2px más que sus vecinas y las tres perderían la línea base común, un
   desnivel que sin ícono al lado queda mucho más a la vista. */
.booking__tabs{
  display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none;
}
.booking__tabs::-webkit-scrollbar{display:none}
.tab{
  flex:none;display:flex;align-items:center;padding:11px 2px 12px;margin-right:30px;
  white-space:nowrap;font-size:14px;font-weight:500;letter-spacing:.025em;
  color:#9CA3AF;border-bottom:2px solid transparent;transition:color .25s,border-color .25s,font-weight .25s;
}
.tab:hover{color:rgba(255,255,255,.85)}
.tab[aria-selected="true"]{color:#fff;font-weight:600;border-bottom-color:#fff}

/* Barra de búsqueda */
.searchbar{
  background:var(--surface);border-radius:22px;box-shadow:var(--shadow-float);
  border:1px solid var(--line);
  padding:4px 18px 18px;
  display:flex;flex-direction:column;
}
.searchbar .pax{order:-1}
.field{position:relative;border-bottom:1px solid var(--line)}
.field:last-of-type{border-bottom:0}
.field__icon{position:absolute;left:2px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--ink);fill:none;pointer-events:none}
/* Íconos "premium" de Recogida/Destino: llevan su propio gradiente y
   sombra por elemento (no heredan stroke/fill de .field__icon de
   arriba), así que necesitan overflow visible para que la sombra no se
   recorte contra el viewBox de 18x18px. */
.field__icon--premium{overflow:visible}
.field label{display:block;padding-left:32px;padding-top:14px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.field input,.field .field__button{width:100%;padding:2px 0 14px 32px;border:0;background:transparent;font-size:15.5px;font-weight:500;color:var(--ink);letter-spacing:-.01em;text-align:left}
.field input::placeholder{color:#767676;font-weight:400}
.field input:focus,.field .field__button:focus{outline:none}
.field:focus-within .field__icon{stroke:var(--ink)}
.field:focus-within{border-bottom-color:var(--ink)}
.field__button{display:flex;align-items:center;justify-content:space-between}
.field__button .chev{width:14px;height:14px;stroke:var(--muted);fill:none;flex:none}

/* Espacio reservado para el botón de borrar (y, en destino, además la flecha de intercambio) */
#pickup{padding-right:34px}
#dropoff{padding-right:64px}

/* Campo de fecha: selector propio (calendario + hora), sin depender del input nativo */
.field--date input[type="hidden"]{display:none}
.field--date .field__display{display:block;padding:0}
.field__display b{display:block;font-size:15.5px;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.field__display small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:1px}

/* Panel flotante de fecha: compacto, sin botones de confirmar/cancelar */
.when__panel{
  position:absolute;z-index:80;left:0;top:calc(100% + 6px);
  background-color:#ffffff !important;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:0 12px 32px -8px rgba(16,24,40,.28),0 4px 16px rgba(16,24,40,.10);
  padding:14px;display:none;width:280px;max-width:88vw;
}
.when__panel.is-open{display:block}
.when__panel.is-pending{visibility:hidden}
.cal-mini__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-mini__head h4{font-size:13px;font-weight:600;color:var(--ink);margin:0}
.cal-mini__head .cal-nav{
  display:grid;place-items:center;width:24px;height:24px;border-radius:50%;flex:none;
  border:1px solid var(--line);background:var(--surface);cursor:pointer;
}
.cal-mini__head .cal-nav svg{width:12px;height:12px;stroke:var(--ink);fill:none;stroke-width:2}
.cal-mini__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}
.cal-mini__weekdays span{text-align:center;font-size:10px;font-weight:600;color:var(--muted)}
.cal-mini__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.when__panel .cal-day{
  aspect-ratio:1;display:grid;place-items:center;border:0;background:none;
  font-size:12.5px;color:var(--ink);border-radius:50%;cursor:pointer;font-variant-numeric:tabular-nums;
}
.when__panel .cal-day:hover:not(:disabled){background:var(--surface-2)}
.when__panel .cal-day:disabled{color:var(--faint);cursor:not-allowed}
.when__panel .cal-day.is-empty{visibility:hidden;cursor:default}
.when__panel .cal-day.is-selected{background:var(--ink);color:#fff;font-weight:700}
.when__footer{display:contents}
.when__footer-date{display:none}
.when__footer-date.when__footer-date--back{display:none}
.when__time.when__time--back{display:none}
.when__done-bar{display:none}
.when__time{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.when__time label{padding:0;font-size:12px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.when__time select{width:auto;padding:6px 10px;border:1px solid var(--line);border-radius:100px;font-size:13px;font-weight:600;color:var(--ink);background:var(--surface)}

/* Calendario de dos meses (escritorio) */
.cal-two{display:flex;align-items:flex-start;gap:22px}
.cal-two__month{flex:1;min-width:0}
.cal-two__month h4{font-size:13px;font-weight:600;color:var(--ink);margin:0 0 10px;text-align:center}
.cal-two .cal-nav--outer{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none;margin-top:2px;
  border:1px solid var(--line);background:var(--surface);cursor:pointer;
}
.cal-two .cal-nav--outer svg{width:13px;height:13px;stroke:var(--ink);fill:none;stroke-width:2}
.cal-two .cal-mini__days .cal-day{font-size:13px}

/* Fila de fecha + retorno dividida a la mitad por una línea vertical (móvil) */
.date-row{display:flex;align-items:stretch}
.date-row .field{flex:1 1 0;min-width:0;border-bottom:0}
.date-row #field-when{border-right:1px solid var(--line);padding-right:14px}
.date-row #field-return{padding-left:14px}

/* Segmento "añadir ida y vuelta" */
.field--add{border-bottom:1px solid var(--line)}
.field--add label,.field--add .field__error{display:none}
.add-return{
  display:flex;align-items:center;gap:10px;width:100%;padding:16px 0;
  font-size:13.5px;font-weight:500;color:var(--faint);transition:color .18s;
}
.add-return svg{width:17px;height:17px;stroke:currentColor;fill:none;flex:none}
.add-return:hover{color:var(--ink)}
.field__clear{
  position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;
  border-radius:50%;display:grid;place-content:center;transition:.16s;
}
.field__clear svg{width:13px;height:13px;stroke:var(--muted);fill:none}
.field__clear:hover{background:var(--surface-2)}
.field__clear:hover svg{stroke:var(--ink)}
.field__clear--dropoff{right:36px}
.field.is-modal-active .field__clear{display:none}

/* Pasajeros y equipaje */
.pax{position:relative}
.pax__compact{display:none;align-items:center;gap:14px}
.pax__compact span{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
/* flex:none es obligatorio, no decorativo: sin él estos iconos son items
   flex encogibles y, en cuanto el campo se queda corto de ancho, el
   navegador los reduce a 0px de ancho — el número y el chevron siguen
   visibles y parece que los iconos "se borraron" del HTML. */
.pax__compact svg{width:17px;height:17px;flex:none;stroke:var(--ink);fill:none}

/* En el buscador: fila superior compacta con iconos de pax/maletas + chevron */
.searchbar .field.pax{border-bottom:1px solid var(--line);padding-bottom:2px}
.searchbar .pax > label{display:none}
.searchbar .pax .field__button{padding:13px 0}
.searchbar .pax__summary{display:none}
.searchbar .pax__compact{display:flex}
/* position:fixed a propósito (no absolute): el buscador vive dentro de
   .hero, que tiene overflow:hidden para recortar la imagen de fondo. Un
   menú position:absolute quedaría cortado por ese overflow sin importar
   el z-index. Con fixed escapa de ese recorte; la posición exacta la
   calcula positionPaxPanel() en index.html porque fixed ya no se ubica
   solo con top/left relativos al botón. */
.pax__panel{
  position:fixed;z-index:9999;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:0 18px 40px -12px rgba(16,24,40,.22),0 4px 14px rgba(16,24,40,.08);
  padding:6px 16px;display:none;max-height:80vh;overflow-y:auto;
}
.pax__panel.is-open{display:block}
.stepper{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}
.stepper:last-child{border-bottom:0}
.stepper__label{font-size:14px;font-weight:500;color:var(--text)}
.stepper__label small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.stepper__ctrl{display:flex;align-items:center;gap:14px}
.stepper__ctrl button{width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-content:center;font-size:16px;line-height:1;color:var(--ink);transition:.18s}
.stepper__ctrl button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#fff}
.stepper__ctrl button:disabled{opacity:.3;cursor:not-allowed}
.stepper__ctrl output{min-width:18px;text-align:center;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}

/* Botón de búsqueda. Acabado del 2026-09-30: mayúsculas con tracking (como
   «MIS RESERVAS» y los títulos de sección), flecha → que se desliza al pasar
   el ratón, elevación de 1px con sombra, filo superior sutil y anillo de foco
   para teclado. El texto lo escribe el diccionario (data-i18n) en cada
   idioma, por eso la flecha vive en ::after y no en el HTML. */
.searchbar__go{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  width:100%;margin-top:18px;height:52px;border-radius:100px;background:var(--ink);color:#fff;
  font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  transition:background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.searchbar__go::after{
  content:"";width:15px;height:15px;flex:none;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s ease;
}

/* Estado dinámico del CTA: el botón se mantiene siempre negro (nuestra
   estética de marca) para no leerse como "roto"; lo único que cambia al
   completar origen+destino (ver JS, updateSearchBtnState) es que gana una
   sombra elegante, como recompensa visual de que ya se puede avanzar.
   Especificidad de 2 clases a propósito: así gana sin !important sobre
   los .searchbar__go{background:var(--ink)} de los breakpoints de abajo.
   Van ANTES de :hover/:active/:focus-visible a propósito: a igual
   especificidad gana el último, y el hover debe responder aunque el
   formulario esté incompleto. */
.searchbar__go.btn-search-disabled{box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.searchbar__go.btn-search-active{box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 22px rgba(0,0,0,.24)}
.searchbar__go:hover{background:#1c1c1c;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 26px rgba(0,0,0,.28)}
.searchbar__go:hover::after{transform:translateX(3px)}
.searchbar__go:active{transform:translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 4px 10px rgba(0,0,0,.2)}
.searchbar__go:focus-visible{outline:0;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}

/* Fila de chips bajo la barra */
.booking__chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip-toggle{
  padding:8px 16px;border-radius:100px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.82);
  font-size:12.5px;font-weight:600;transition:.18s;backdrop-filter:blur(6px);
}
.chip-toggle:hover{background:rgba(255,255,255,.24);color:#fff}
.chip-toggle[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--ink)}

/* Paradas intermedias (multiciudad) */
.stops-bar{
  margin-top:12px;background:var(--surface);border-radius:var(--r-md);
  box-shadow:var(--shadow-float);padding:6px 18px 14px;
}
.stops-bar[hidden]{display:none}
.stops-bar__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 6px;
}
.stops-bar__head p{margin:0;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stops-bar__head button{font-size:12.5px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.stops-bar__head button:disabled{opacity:.35;cursor:not-allowed;text-decoration:none}

/* Nota de confianza bajo la barra de reservas (escritorio/tablet; en móvil
   se oculta y manda .booking__trust-img dentro de la tarjeta).
   Fila de 3 beneficios con icono, sobre la fotografía del hero: el
   text-shadow es el que garantiza la legibilidad pase lo que pase con la
   zona de la foto que quede detrás (ropa clara u oscura). */
.booking__note{
  display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:16px 40px;
  margin-top:16px;width:100%;
}
.booking__note-item{
  display:inline-flex;align-items:center;gap:9px;
  color:#ffffff;font-size:14px;font-weight:500;letter-spacing:.3px;
  line-height:1.3;white-space:nowrap;
  text-shadow:0 2px 4px rgba(0,0,0,.9);
}
.booking__note-item svg{
  width:19px;height:19px;flex:none;
  /* La sombra del texto no aplica a un SVG: se replica con drop-shadow
     para que el icono tenga el mismo blindaje sobre la foto. */
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.9));
}

/* Imagen de beneficios dentro de la tarjeta (solo móvil, ver media query
   767.98px más abajo) y su leyenda de garantía. Ocultas por defecto en
   escritorio/tablet, donde la confianza se comunica con .booking__note
   (fuera de la tarjeta) en su lugar. */
.booking__trust{display:none}
.booking__guarantee{display:none}


/* --- Buscador: autocompletado ---
   position:fixed (no absolute) a propósito: el buscador vive dentro de
   .hero, que tiene overflow:hidden para recortar la imagen de fondo. Un
   panel position:absolute quedaría cortado por ese overflow sin importar
   el z-index. Con fixed escapa de ese recorte; la posición exacta (arriba
   o abajo del campo, con su propio límite de alto) la calcula JS en
   positionAcPanel() dentro de index.html, porque fixed ya no seposiciona
   se posiciona solo con top/left en porcentaje relativo al campo. */
.ac{
  position:fixed;z-index:9999;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);
  padding:6px;display:none;max-height:290px;overflow-y:auto;
}
.ac.is-open{display:block}
.ac__head{
  padding:9px 12px 5px;font-size:10px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.ac__item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--r-sm);text-align:left;transition:background .14s}
.ac__item:hover,.ac__item.is-active{background:var(--bg)}
.ac__item svg{width:16px;height:16px;flex:none;stroke:var(--muted);fill:none}
.ac__item.is-active svg,.ac__item:hover svg{stroke:var(--ink)}
.ac__text{flex:1;min-width:0}
.ac__text b{display:block;font-size:14.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac__text span{display:block;font-size:11.5px;color:var(--muted)}
.ac__km{font-size:11.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ac__empty{padding:13px 12px;font-size:13px;line-height:1.5;color:var(--muted)}

/* --- Buscador: botón de volver (solo visible en el modal de pantalla completa) --- */
.field__back{
  display:none;flex:none;align-items:center;justify-content:center;
  width:34px;height:34px;border:0;background:none;cursor:pointer;color:var(--ink);
  padding:0;margin-right:2px;
}
.field__back svg{width:20px;height:20px;stroke:currentColor;fill:none}

/* --- Modo app: campos de Origen/Destino y fecha a pantalla completa en móvil --- */
@media (max-width:767.98px){
  body.sw-modal-open{overflow:hidden}

  /* Hero móvil a pantalla completa: min-height casi 100dvh (se resta el
     "peek" de más abajo) + flex centrado para que el bloque de texto y
     el buscador queden a media altura sin importar cuánto contenido
     tengan. La foto mantiene su encuadre (cover + posición ya afinada
     más abajo) y el velo se oscurece un poco más para que el texto siga
     legible sobre ella. */
  .hero{
    min-height:100vh;min-height:calc(100dvh - 28px);
    display:flex;flex-direction:column;justify-content:center;
    padding-top:calc(var(--header-h) + 20px);padding-bottom:16px;
  }
  /* Fondo degradado corporativo exclusivo de móvil: reemplaza la foto + el
     velo oscuro de arriba SOLO dentro de esta media query, así que tablet
     y escritorio (que leen las reglas base, fuera de este bloque) siguen
     viendo la fotografía original sin cambio alguno. Negro puro arriba →
     teal corporativo (#007A85, el mismo hex que ya usa el resto del sitio)
     abajo. El degradado ya nace oscuro arriba, así que no necesita un velo
     aparte para que el texto blanco se lea encima — por eso .hero__veil
     se apaga aquí en vez de dársele otro ajuste. */
  .hero__bg{
    background-image:linear-gradient(160deg,#000000 0%,#002830 40%,#007A85 100%);
  }
  .hero__veil{display:none}

  /* Legibilidad del texto principal: ya es blanco/blanco-translúcido por
     diseño (.hero h1 strong{color:#fff}, .hero h1 span{color:rgba(255,
     255,255,.78/.92)} en las reglas base), así que se lee perfectamente
     sobre la zona negra del degradado sin forzar nada aquí — forzar
     #ffffff puro en el span rompería la jerarquía negrita/atenuado ya
     aprobada. Tampoco se toca .site-header: ya es blanca por defecto
     sobre el hero (.logo{color:#fff}) y .site-header--light la vuelve
     oscura en OTRAS páginas sin hero; tocarla aquí rompería esa variante
     en el resto del sitio. */

  /* El módulo blanco de reservas no debe teñirse con el degradado del
     fondo: blanco puro explícito, sin depender solo de var(--surface). */
  .searchbar{background-color:#ffffff}
  .hero h1{font-size:clamp(22px,6.8vw,30px);line-height:1.08}
  .hero__lead{display:none}

  /* Sin ícono, las 3 siguen repartiéndose el ancho a partes iguales; solo
     cambia el tamaño de letra, algo mayor que antes porque ya no comparte
     la fila con nada más. */
  .booking__tabs{
    overflow-x:visible;
    display:flex;justify-content:space-between;align-items:stretch;
    width:100%;gap:4px;padding:0 10px;box-sizing:border-box;
  }
  .tab{
    flex:1;margin-right:0;
    display:flex;justify-content:center;align-items:center;
    text-align:center;padding:12px 4px;
    font-size:12px;white-space:normal;line-height:1.2;
  }

  /* El "peek": .hero mide 28px menos que la pantalla completa, así que
     la franja de confianza (Cancelación flexible / Badge of Excellence /
     Precio fijo) asoma justo esos 28px en el borde inferior, invitando
     a hacer scroll — antes esta sección buscaba que todo (buscador +
     badge) cupiera entero sin scroll; ahora es al revés a propósito. */
  .hero__copy{margin-bottom:12px}

  /* Secciones "diapositiva": cada sección de contenido ocupa al menos
     80dvh y centra su contenido verticalmente, para que al llegar desde
     un enlace del menú quede encuadrada en pantalla en vez de cortada.
     .hero y .trust quedan fuera por no llevar la clase .section (el hero
     ya resuelve su propio alto más arriba). No se usa align-items:center
     a propósito: el hijo único de cada sección es .wrap, que ya se
     centra solo con su max-width + margin auto; forzar el centrado aquí
     no aporta nada y solo arriesga encoger contenidos a futuro.
     section[hidden] (#preguntas, paneles de sesión) tiene más
     especificidad que .section, así que su display:none sigue mandando. */
  .section{
    min-height:80dvh;
    display:flex;flex-direction:column;justify-content:center;
  }

  /* Ninguna imagen se desborda, pase lo que pase con el contenedor. */
  .section img{max-width:100%}

  /* (El carrusel de reseñas vive más abajo, justo después de los estilos
     base de .review-grid/.review-dots: con la misma especificidad gana la
     regla que aparece última en el archivo, así que aquí no surtiría
     efecto.) */

  /* Autoservicio compacto: las etiquetas ("PUNTO DE RECOGIDA", "DESTINO",
     "SALIDA" y "REGRESO", esta última visible solo cuando se activa ida y
     vuelta) solo repiten lo que ya dice el valor/placeholder del campo de
     abajo — se ocultan y cada input/botón pasa a llevar su propio padding
     vertical simétrico (antes 2px arriba / 14px abajo, apoyado en el
     padding-top:14px de la label que ya no está). No se toca Pasajeros y
     equipaje (su label ya se oculta por una regla aparte, sin relación
     con esta). Fuera de esta media query, labels y paddings amplios
     originales siguen intactos en escritorio/tablet. */
  #field-pickup label,#field-dropoff label,#field-when label,#field-return label{display:none !important}
  #field-pickup input,#field-dropoff input,
  #field-when .field__button,#field-return .field__button{padding:8px 0 8px 32px}

  /* "Agregar ida y vuelta" y el botón de pasajeros/equipaje: mismo criterio
     que arriba, menos relleno vertical para bajar la altura del módulo. */
  .searchbar .add-return{padding:10px 0}
  .searchbar .pax .field__button{padding:9px 0}

  /* Contenedor general: menos padding interno y menos margen horizontal
     de los campos, para que la tarjeta completa baje de altura. */
  .searchbar{padding:0 14px 10px}

  /* Áreas de toque más generosas en pantallas táctiles */
  .swap{width:40px;height:40px}
  .field__clear{width:40px;height:40px}
  .field__clear--dropoff{right:34px}
  .ac__item{padding:13px 12px;min-height:48px}

  /* ---- Blindaje móvil de los campos del buscador ----------------------
     (1) Anti-zoom de iOS Safari: al enfocar un campo de texto con
     font-size < 16px, iOS hace zoom automático al viewport y descuadra
     el layout (y ya no vuelve solo). El umbral son 16px exactos, así que
     inputs y selects DEL MÓDULO DE RESERVAS suben de 15.5px a 16px. Se
     limita al buscador a propósito: el <select> de idioma de la cabecera
     (.lang-switch, 11px) queda fuera porque su tamaño compacto es parte
     del diseño del header y iOS no hace zoom en selects modernos (abren
     una hoja nativa, no un cursor de texto).
     Los <button> (fecha, pasajeros, "Buscar") no necesitan los 16px:
     el zoom solo lo disparan los campos que reciben cursor de texto. */
  .searchbar .field input,
  .searchbar .field select,
  .searchbar textarea,
  .when__panel select{font-size:16px}

  /* (2) Área táctil mínima de 48x48 (WCAG 2.5.8 / Apple HIG). Sube los
     campos de 41px a 48px: la tarjeta crece ~21px respecto a la versión
     ultracompacta anterior, que es el precio de que el dedo no toque el
     campo equivocado. Los que ya superan 48px (fecha 61px, "Agregar ida
     y vuelta" 63px, "Buscar" 52px) no se ven afectados por ser min-*. */
  .searchbar .field input,
  .searchbar .field select,
  .searchbar .field .field__button,
  .searchbar .add-return{min-height:48px}

  /* (5) Sin saltos bruscos al cambiar de pestaña: "Conductor por hora"
     añade el campo de duración y la tarjeta pasa de 374px a 402px. Se
     anima esa diferencia en vez de reservar 28px muertos en las dos
     pestañas más usadas con una min-height unificada. interpolate-size
     habilita transicionar hacia/desde height:auto; donde no está
     soportado (Safari/Firefox hoy) simplemente redimensiona al instante,
     igual que ahora — mejora progresiva, sin riesgo. */
  .searchbar{transition:height .28s ease}

  /* La cabecera fija (.site-header, z-index:60) se ocultaba "por debajo"
     de estos modales solo en apariencia: .hero lleva isolation:isolate,
     que abre un contexto de apilamiento propio, así que el z-index de un
     modal que vive DENTRO del hero (este y el panel de fecha) nunca
     compite contra el header — queda atrapado en el contexto del hero y
     el header se pinta encima, tapando la fila del input y el botón de
     volver, e interceptando sus toques (un tap sobre la "X" aterrizaba
     en el logo). Subir el z-index no lo arregla por ese mismo motivo: la
     solución es retirar la cabecera mientras el modal está abierto, que
     además es lo correcto — un modal a pantalla completa no comparte
     pantalla con la cabecera del sitio. */
  body.sw-modal-open .site-header{display:none}

  .field.is-modal-active{
    position:fixed;inset:0;z-index:9999;background:#fff;border:0;
    display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto 1fr;
    grid-template-areas:"back input" "ac ac";
    align-items:start;padding:14px 16px 0;column-gap:2px;
  }
  /* Área táctil de 44x44 (antes 34x34, por debajo del mínimo cómodo para
     el dedo) y por encima del input, para que nada le robe el toque. */
  .field.is-modal-active .field__back{
    display:flex;grid-area:back;width:44px;height:44px;margin:0 0 0 -10px;
    position:relative;z-index:2;color:var(--ink);
  }
  .field.is-modal-active .field__icon{display:none}
  .field.is-modal-active label{display:none}
  .field.is-modal-active .swap{display:none}
  .field.is-modal-active .field__error{display:none}
  .field.is-modal-active input{
    grid-area:input;width:auto;padding:10px 0;font-size:17px;font-weight:500;
    border-bottom:1px solid var(--line);
  }
  /* .ac ya NO vive dentro de .field (se reparenta a document.body para
     escapar de .hero{isolation:isolate} en desktop — ver buildAutocomplete()
     en index.html), así que ya no puede depender de un selector descendiente
     como ".field.is-modal-active .ac" ni de grid-area: eso solo dejaba una
     pantalla en blanco bajo el input. En su lugar se posiciona sola como
     panel fijo a pantalla completa, arrancando justo debajo de la fila de
     input/volver (positionAcPanel() en index.html calcula ese borde). */
  .ac.is-open{
    position:fixed;left:0;right:0;bottom:0;width:auto !important;
    display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:none;
    background:#fff;border:0;box-shadow:none;border-radius:0;padding:10px 0 24px;
  }
  .ac.is-open .ac__item{padding:13px 10px}

  /* Panel de fecha/hora como "bottom sheet" en móvil: antes era
     position:fixed;inset:0 (pantalla completa), que tapaba todo el teléfono
     y le quitaba el contexto al cliente. Ahora se ancla abajo, ocupa como
     mucho 60vh y deja ver el formulario detrás a través del fondo oscuro.
     La clase sigue llamándose .is-fullscreen para no tocar el JS que la
     alterna (setWhen), aunque ya no describa el comportamiento. */
  .when__panel{position:static;width:auto;max-width:none}
  .when__panel.is-open{display:none}
  .when__panel.is-fullscreen.is-open{
    display:flex;flex-direction:column;
    position:fixed;left:0;right:0;bottom:0;top:auto;z-index:9999;
    /* 60vh es la referencia; el max() con 440px evita que en teléfonos
       cortos (667px de alto y menos) el mes quede con scroll interno, que
       es justo lo que se quiere evitar. En un iPhone estándar manda el 60vh
       y en uno pequeño la hoja crece a ~66vh: sigue siendo panel, no
       pantalla completa. */
    width:100%;max-height:max(60vh, 440px);
    background:#fff;border:0;
    border-radius:24px 24px 0 0;
    box-shadow:0 -4px 20px rgba(0,0,0,.15);
    padding:12px 0 0;
    animation:swSheetUp .22s ease-out;
  }
  /* Fondo oscurecido. Es un ::before del propio panel (no un div nuevo) para
     no tener que crear y sincronizar otro nodo. Va en position:absolute con
     bottom:100%, es decir, ocupa solo la franja que queda POR ENCIMA de la
     hoja: así no puede oscurecer el calendario (con position:fixed;inset:0
     el panel crea stacking context y el fondo se pintaba sobre su blanco).
     Un toque aquí llega al listener de #whenPanel y cierra (ver index.html).
     Se anima 'bottom' y no 'transform' a propósito: un transform en el panel
     lo convertiría en bloque contenedor y arrastraría también este fondo. */
  .when__panel.is-fullscreen.is-open::before{
    content:"";position:absolute;left:0;right:0;bottom:100%;height:100vh;
    background:rgba(0,0,0,.4);
  }
  @keyframes swSheetUp{from{bottom:-60vh}to{bottom:0}}

  .when__mhead{display:none}
  .when__panel.is-fullscreen .when__mhead{
    display:flex;align-items:center;gap:4px;margin:0 14px 2px;flex:none;
    font-size:15px;font-weight:600;color:var(--ink);
  }
  /* Mismo área táctil de 44x44 que el botón de volver del modal de
     Origen/Destino, y alineado ópticamente igual (el -10px compensa el
     margen de 16px de .when__mhead). */
  .when__panel.is-fullscreen .when__mhead .field__back{
    display:flex;width:44px;height:44px;margin:0 0 0 -10px;flex:none;
    position:relative;z-index:2;color:var(--ink);
  }

  /* Área de scroll del mes. Compactada para que el mes completo entre de un
     vistazo dentro de los 60vh de la hoja, sin scroll interno: el padding
     inferior de 96px sobraba porque el botón "Hecho" ya no flota sobre el
     contenido, ahora forma parte de la hoja. */
  .when__done-bar{display:none}
  .when__panel.is-fullscreen .when__scroll{
    flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 14px 4px;
  }
  .when__panel.is-fullscreen .cal-mini__weekdays span{font-size:11px}
  /* Sin aspect-ratio:1 dentro de la hoja: con columnas de ~49px cada celda
     salía de 48px de alto y seis semanas se comían ~290px, forzando scroll
     interno. A 36px cuadrados (centrados, para que el círculo del día
     elegido siga redondo) el mes completo entra de un vistazo. */
  .when__panel.is-fullscreen .cal-day{
    font-size:15px;padding:0;aspect-ratio:auto;
    width:36px;height:36px;margin:0 auto;
  }
  .when__panel.is-fullscreen .when__footer{margin-top:8px;padding-top:10px}
  /* 16px es el mínimo para que iOS no haga zoom automático al enfocar. */
  .when__panel.is-fullscreen .when__time select{font-size:16px;padding:8px 12px}

  /* Botón "Hecho": dentro del flujo de la hoja (antes iba fixed al viewport,
     que en un bottom sheet se solaparía con el contenido de la página). */
  .when__panel.is-fullscreen .when__done-bar{
    display:block;flex:none;position:static;
    padding:8px 14px calc(10px + env(safe-area-inset-bottom));
    background:#fff;border-top:1px solid var(--line);
  }
  .when__panel.is-fullscreen .when__done-btn{
    display:block;width:100%;border:0;border-radius:100px;background:var(--ink);
    color:#fff;font-size:16px;font-weight:600;padding:12px 0;cursor:pointer;
  }
  .when__panel.is-fullscreen .when__done-btn:active{background:#222222}

  /* Botón Buscar: negro sólido, ancho completo, como en la referencia móvil.
     margin-top reducido (18px de la regla base) para acercarlo al bloque
     de arriba, ya que .searchbar ya no aporta padding-bottom extra. */
  .searchbar__go{background:var(--ink);width:100%;margin-top:10px}
  .searchbar__go:hover{background:#1c1c1c}

  /* Píldora de beneficios dentro de la tarjeta, como en la referencia móvil:
     reemplaza a .booking__note (que vivía fuera de la tarjeta, en el fondo
     turquesa) por HTML real con data-i18n (antes fue una imagen PNG con el
     texto quemado en los píxeles — no traducía a EN/PT, por eso volvió a
     ser marcado real). margin-top ajustado para acercarla al campo de
     fecha/regreso justo arriba, con la misma disciplina de espacio que ya
     se validó cuando esto era una imagen: la píldora no debe hacer crecer
     la tarjeta. */
  .booking__note{display:none}
  .booking__trust{
    display:flex;justify-content:space-between;align-items:flex-start;
    background-color:#f7f7f7;border:1px solid #eaeaea;border-radius:12px;
    padding:10px 8px;margin-top:4px;
  }
  .booking__trust-item{
    flex:1;min-width:0;display:flex;flex-direction:column;
    align-items:center;text-align:center;gap:5px;padding:0 4px;
  }
  .booking__trust-item img.booking__trust-icon{flex:none;width:26px;height:26px;object-fit:contain}
  .booking__trust-label{
    display:block;font-size:11px;line-height:1.2;
    color:#333 !important;text-decoration:none !important;
  }
  .booking__guarantee{
    display:block;margin:6px 0 0;text-align:center;
    font-size:12.5px;color:var(--muted);
  }
}

/* --- Buscador: intercambiar origen y destino --- */
.swap{
  position:absolute;right:0;top:-17px;z-index:6;width:34px;height:34px;
  border:1px solid var(--line-strong);border-radius:50%;background:#fff;
  display:grid;place-content:center;transition:.18s;
}
.swap svg{width:15px;height:15px;stroke:var(--ink);fill:none}
.swap:hover{background:var(--ink);border-color:var(--ink)}
.swap:hover svg{stroke:#fff}
.swap[hidden]{display:none}

/* --- Buscador: destinos frecuentes --- */
.quick{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding-top:15px}
.quick[hidden]{display:none}
.quick__label{
  width:100%;margin-bottom:-2px;font-size:10px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.quick button{
  border:1px solid var(--line-strong);border-radius:100px;padding:6px 13px;
  font-size:12.5px;font-weight:500;color:var(--text);transition:.16s;white-space:nowrap;
}
.quick button:hover{border-color:var(--ink);color:var(--ink)}

/* --- Buscador: ida y vuelta --- */
.trip{display:flex;gap:8px;padding:16px 0 15px;border-bottom:1px solid var(--line)}
.trip[hidden]{display:none}
.trip button{
  flex:1;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:9px 10px;
  font-size:12.5px;font-weight:600;color:var(--muted);transition:.16s;
}
.trip button:hover{color:var(--ink);border-color:var(--ink)}
.trip button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

/* --- Buscador: estimación en vivo --- */
.estimate{
  display:none;align-items:center;justify-content:space-between;gap:14px;
  margin-top:14px;padding:14px 20px;background:var(--surface);
  border-radius:var(--r-md);box-shadow:var(--shadow-float);
}
.estimate.is-on{display:flex}
.estimate__label{font-size:11.5px;line-height:1.45;color:var(--muted)}
.estimate__label b{display:block;font-size:13px;font-weight:600;color:var(--ink)}
.estimate__price{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.estimate__price small{display:block;font-size:10.5px;font-weight:500;letter-spacing:0;color:var(--muted)}

/* --- Buscador: validación --- */
.field.is-invalid{border-bottom-color:var(--bad)}
.field.is-invalid .field__icon{stroke:var(--bad)}
.field__error{display:none;padding:0 0 12px 32px;font-size:11.5px;color:var(--bad)}
.field.is-invalid .field__error{display:block}
.field select{
  width:100%;padding:2px 0 14px 32px;border:0;background:transparent;font-size:15.5px;
  font-weight:500;color:var(--ink);letter-spacing:-.01em;appearance:none;cursor:pointer;
}
.field select:focus{outline:none}

/* ---------- 9. TRUST BAR ----------
   Franja de garantías justo bajo el hero: fondo blanco puro para que
   corte con nitidez contra la foto oscura de arriba, columnas iguales
   y un badge circular detrás de cada ícono para que pese lo mismo que
   el logotipo de reseñas (que trae su propio peso visual). */
.trust{background:var(--surface);border-bottom:1px solid var(--line)}
/* Franja de confianza: en móvil se apila con un gap generoso para que cada
   garantía se procese por separado (nada de bordes/gutters amontonados);
   a partir de 600px pasa a fila con separadores verticales sutiles. */
.trust__grid{display:flex;flex-direction:column;gap:32px;padding:36px 20px}
.trust__item{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;text-align:center;
}
.trust__icon-badge{
  display:grid;place-items:center;flex:none;
  width:40px;height:40px;border-radius:50%;
  background:var(--surface-2);border:1px solid var(--line);
}
.trust__icon{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.4}
.trust__item strong{font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.trust__item span{font-size:12.5px;color:var(--muted)}
/* Medallón de la insignia Tripadvisor: mismo alto que el círculo de icono
   de las columnas laterales, para que las tres tengan el mismo peso visual. */
.trust__medal{width:40px;height:40px;flex:none}
/* Slot para el logo oficial de Tripadvisor (ver README) */
.brand-slot{
  display:inline-flex;align-items:center;justify-content:center;
  height:22px;min-width:96px;padding-inline:8px;
  border:1px dashed var(--line-strong);border-radius:2px;
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);
}
.brand-slot img{height:20px;width:auto;display:block}
/* Con el logotipo real cargado, el contenedor deja de ser un marcador */
.brand-slot--filled{
  border:0;background:#fff;height:auto;min-width:0;
  padding:6px 10px;border-radius:4px;transition:opacity .2s;
}
.brand-slot--filled:hover{opacity:.82}
.brand-slot--filled img{height:22px}

/* ---------- 10. TARJETAS ---------- */
.cards{display:grid;grid-template-columns:1fr;gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:28px 24px 30px;transition:border-color .25s,transform .25s,box-shadow .25s}
.card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow-card)}
.card__icon{width:34px;height:34px;stroke:var(--ink);fill:none;stroke-width:1;margin-bottom:22px}
.card h3{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 10px}
.card p{font-size:14.5px;color:var(--muted);margin:0}
.card__index{display:block;font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--line-strong);margin-bottom:18px}

/* ---------- 11. FLOTA ---------- */
.fleet{background:var(--surface);border-block:1px solid var(--line)}
.fleet__carousel{position:relative}
.fleet__track{
  display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:20px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);
  scrollbar-width:none;
}
.fleet__track:focus-visible{outline:2px solid var(--teal-deep);outline-offset:4px;border-radius:var(--r-md)}

/* Flechas de navegación */
.fleet__nav{
  position:absolute;top:calc(50% - 10px);transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;
  background:var(--surface);border:1px solid var(--line-strong);
  display:none;place-content:center;box-shadow:var(--shadow-pop);
  transition:background .18s, border-color .18s, opacity .18s;
}
.fleet__nav svg{width:18px;height:18px;stroke:var(--ink);fill:none}
.fleet__nav:hover{background:var(--ink);border-color:var(--ink)}
.fleet__nav:hover svg{stroke:#fff}
.fleet__nav:disabled{opacity:.3;cursor:not-allowed}
.fleet__nav:disabled:hover{background:var(--surface);border-color:var(--line-strong)}
.fleet__nav:disabled:hover svg{stroke:var(--ink)}
.fleet__nav--prev{left:-6px}
.fleet__nav--next{right:-6px}

/* Indicadores */
.fleet__dots{display:flex;justify-content:center;gap:7px;margin-top:4px}
.fleet__dots button{
  width:7px;height:7px;border-radius:50%;background:var(--line-strong);
  transition:background .2s, width .2s;
}
.fleet__dots button[aria-selected="true"]{background:var(--ink);width:20px;border-radius:100px}
.fleet__track::-webkit-scrollbar{display:none}
.vehicle{scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);display:flex;flex-direction:column;overflow:hidden;transition:border-color .25s}
.vehicle:hover{border-color:var(--ink)}
/* Fondo BLANCO, no el degradado gris que había antes: las 7 fotos de la
   flota tienen fondo blanco puro (255,255,255 medido en las cuatro
   esquinas de cada archivo). Con el degradado gris, el rectángulo blanco
   de la foto chocaba contra él y dibujaba una línea de corte visible.
   Igualando el fondo del marco al de las fotos, el vehículo queda
   integrado sin costuras y sin recurrir a mix-blend-mode:multiply, que
   sobre blanco puro es una operación nula (blanco x color = color) y en
   cambio sí oscurecería la carrocería de los vehículos negros. */
.vehicle__figure{aspect-ratio:16/10;display:grid;place-items:center;background:#fff;position:relative;overflow:hidden}
/* La ilustración de respaldo sí necesita algo de gris para no perderse
   sobre el blanco cuando todavía no hay foto. */
.vehicle__figure:not(:has(img)){background:linear-gradient(170deg,#FAFAFA 0%,#F0F0F0 60%,#E8E8E8 100%)}
.vehicle__figure svg{width:66%;max-width:210px;stroke:rgba(0,0,0,.42);stroke-width:1.1;fill:none}
.vehicle__photo{
  position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;
  /* contain (no cover): muestra el vehículo completo sin recortarle los
     parachoques. El padding evita que la carrocería toque el borde. */
  object-fit:contain;object-position:center;
  padding:6px 12px;
  transition:transform .45s ease;
}
.vehicle:hover .vehicle__photo{transform:scale(1.04)}
/* Los parches que tenían el BMW X4 y el SUV Premium (fondo blanco propio,
   mix-blend-mode:multiply y object-fit:contain forzado) existían solo para
   compensar el degradado gris del marco. Ahora que .vehicle__figure ya es
   blanco y contain es el comportamiento base, quedaron obsoletos.

   Del SUV Premium se conserva únicamente el scale: es la única foto en 4:3
   (640x480) frente al marco 16:10, y además trae ~7% de margen blanco
   propio por lado, así que sin ampliar se vería notablemente más pequeña
   que el resto. 1.15 es el tope medido antes de empezar a recortar
   carrocería. */
.vehicle__photo--suvpremium{transform:scale(1.15)}
.vehicle:hover .vehicle__photo--suvpremium{transform:scale(1.15)}
.vehicle__price{position:absolute;top:12px;right:12px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:2px}
.vehicle__body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.vehicle h3{font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:0 0 6px}
.vehicle p{font-size:13.5px;color:var(--muted);margin:0 0 10px}
.vehicle__specs{display:flex;gap:22px;padding-top:16px;margin-top:auto;border-top:1px solid var(--line)}
.spec{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text)}
.spec svg{width:17px;height:17px;stroke:var(--ink);fill:none;stroke-width:1.2;flex:none}
.vehicle__maxpax{
  display:flex;align-items:center;gap:8px;
  margin-bottom:12px;
  font-size:12px;color:var(--muted);
}
.vehicle__maxpax svg{width:15px;height:15px;stroke:var(--muted);fill:none;stroke-width:1.2;flex:none}
.fleet__cta{display:flex;justify-content:center;margin-top:34px}
.fleet__hint{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin:2px 0 0}


/* ---------- 12. CORPORATIVO ---------- */
.corp{background:var(--ink);color:#fff}
.corp .eyebrow{color:rgba(255,255,255,.5)}
.corp .h-section{color:#fff}
.corp__lead{font-size:16px;color:rgba(255,255,255,.7);margin:0 0 30px;max-width:52ch}
.corp__list{display:grid;gap:2px;margin-bottom:34px}
.corp__list li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:14.5px;color:rgba(255,255,255,.82)}
.corp__list li::before{content:"—";color:rgba(255,255,255,.4);flex:none}
.corp .btn{background:#fff;color:var(--ink)}

/* ---------- 13. FOOTER ---------- */
/* ============================================================
   DESTINOS
   ============================================================ */
.dest-grid{display:grid;gap:18px}
.dest-card{
  position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .22s, box-shadow .22s, transform .22s;
}
.dest-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-pop);transform:translateY(-3px)}
.dest-card__figure{
  position:relative;aspect-ratio:16/10;
  background:linear-gradient(150deg,#1E1E1E,#3A3A3A 55%,#2A2A2A);
  display:grid;place-items:center;overflow:hidden;
}
/* Sustituir por fotografía real:
   <img src="assets/destinos/paracas.jpg" alt="" class="dest-card__photo"> */
.dest-card__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dest-card__figure svg{width:56%;max-width:180px;stroke:rgba(255,255,255,.28);fill:none}
.dest-card__region{
  position:absolute;top:12px;left:12px;z-index:2;padding:5px 11px;border-radius:100px;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);
  font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;
}
.dest-card__body{padding:20px;display:flex;flex-direction:column;flex:1;gap:10px}
.dest-card__body h3{font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.dest-card__body p{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0;flex:1}
.dest-card__meta{
  display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:12px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted);
}
.dest-card__meta span{display:inline-flex;align-items:center;gap:6px}
.dest-card__meta svg{width:14px;height:14px;stroke:var(--faint);fill:none}
.dest-card__meta b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.dest-card__link::after{content:"";position:absolute;inset:0}

/* Ficha de destino: cabecera clara estilo "listing" (migas de pan,
   título + compartir, galería en bento), en vez del hero oscuro anterior. */
.dest-top{padding-top:calc(var(--header-h) + 28px);padding-bottom:8px}

.dest-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:16px}
.dest-crumbs a{color:var(--muted);transition:color .15s}
.dest-crumbs a:hover{color:var(--ink)}
.dest-crumbs [aria-current]{color:var(--ink);font-weight:600}
.dest-crumbs__sep{color:var(--line-strong)}

.dest-top__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dest-top__titles h1{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.14;color:var(--ink);margin:0 0 8px;max-width:26ch}
.dest-top__titles p{font-size:15px;line-height:1.55;color:var(--muted);margin:0;max-width:52ch}
/* Icono discreto: no compite con el título por atención — nadie entra a
   esta página con la intención de compartir antes de informarse/cotizar. */
.dest-share{
  flex:none;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;margin-top:2px;
  background:transparent;border:1px solid var(--line);color:var(--muted);
  transition:background .15s,color .15s,border-color .15s;
}
.dest-share:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}
.dest-share svg{width:16px;height:16px;stroke:currentColor;fill:none}

/* Una sola fila con scroll horizontal (dedo/trackpad) en vez de apilarse
   en varias líneas: le devuelve a la foto los ~60px que antes se comía
   este bloque, así queda "above the fold" en móvil. */
.dest-facts{
  display:flex;flex-wrap:nowrap;gap:10px;margin-top:14px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.dest-facts::-webkit-scrollbar{display:none}
.dest-facts span{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;
  border:1px solid var(--line-strong);font-size:12.5px;color:var(--text);
  flex:none;white-space:nowrap;
}
.dest-facts svg{width:15px;height:15px;stroke:currentColor;fill:none;flex:none}

/* Bento de 4 fotos (estilo Airbnb/TripAdvisor) */
.dest-gallery{
  display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);
  gap:16px;height:500px;margin-top:26px;
}
.dest-gallery__cell{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(170deg,#FAFAFA 0%,#F0F0F0 60%,#E8E8E8 100%)}
.dest-gallery__cell--1{grid-column:1 / 2;grid-row:1 / 3}
.dest-gallery__cell--2{grid-column:2 / 4;grid-row:1 / 3}
.dest-gallery__cell--3{grid-column:4 / 5;grid-row:1 / 2}
.dest-gallery__cell--4{grid-column:4 / 5;grid-row:2 / 3;position:relative}
.dest-gallery__cell .gallery__item{display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer}
.dest-gallery__cell img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block;transition:transform .35s ease}
.dest-gallery__cell:hover img{transform:scale(1.04)}

.dest-gallery__all{
  position:absolute;bottom:16px;right:16px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;border-radius:100px;
  background:rgba(255,255,255,.92);color:var(--ink);
  font-size:12.5px;font-weight:600;box-shadow:var(--shadow-pop);
  backdrop-filter:blur(4px);
}
.dest-gallery__all svg{width:15px;height:15px;stroke:currentColor;fill:none}
.dest-gallery__all:hover{background:#fff}

/* Sin el panel de precios lateral, el bloque de texto queda como columna
   única: se limita a un ancho de lectura cómodo en vez de estirarse a
   todo .wrap (el grid ya no necesita una 2da columna, ver breakpoint
   desktop más abajo, que antes reservaba 330px para .dest-quote). */
/* Columna única en móvil (grid sin grid-template-columns = 1fr implícito);
   el breakpoint desktop más abajo abre la 2da columna del panel lateral. */
.dest-body{display:grid;gap:34px}
.dest-body h2{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 14px}
.dest-body p{font-size:15px;line-height:1.72;color:var(--text);margin:0 0 16px;max-width:70ch}
.dest-list{display:grid;gap:12px}
.dest-list li{display:flex;gap:12px;font-size:14.5px;line-height:1.6;color:var(--text)}
.dest-list svg{width:17px;height:17px;stroke:var(--ink);fill:none;flex:none;margin-top:3px}

/* Panel de beneficios (columna derecha en desktop): reemplaza al antiguo
   cuadro de precios estático. .panel ya trae fondo/borde/radio del design
   system (ver más abajo); aquí solo el remate propio de esta tarjeta. */
.dest-benefits h3{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 16px}
.dest-benefits .dest-list{margin-bottom:18px}
.dest-benefits .hint{margin:0;line-height:1.5}

/* ============================================================
   SERVICIOS EN TARJETAS FOTOGRÁFICAS
   4 columnas en escritorio · 2 en tablet · 1 en móvil
   ============================================================ */
.svc-grid{display:grid;grid-template-columns:1fr;gap:18px}

.svc-card{
  position:relative;
  aspect-ratio:3 / 4;              /* misma proporción y altura en las cuatro */
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(158deg,#1C1C1C,#3A3A3A 55%,#141414);
  transition:transform .3s ease, box-shadow .3s ease;
}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.18)}

/* La foto cubre la tarjeta completa, sin deformarse ni dejar huecos */
.svc-card__photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
}
/* Ilustración de respaldo mientras no haya fotografía */
.svc-card__art{position:absolute;inset:0;display:grid;place-items:center}
.svc-card__art svg{width:56%;max-width:190px;stroke:rgba(255,255,255,.22);fill:none;stroke-width:1}

/* Degradado solo detrás del texto: el resto de la foto queda limpio */
.svc-card__scrim{position:absolute;left:0;right:0;height:58%;pointer-events:none}
.svc-card--top .svc-card__scrim{
  top:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.80) 0%,rgba(0,0,0,.46) 46%,rgba(0,0,0,0) 100%);
}
.svc-card--bottom .svc-card__scrim{
  bottom:0;
  background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.50) 46%,rgba(0,0,0,0) 100%);
}

/* Texto superpuesto y centrado; arriba o abajo según la tarjeta */
.svc-card__body{
  position:absolute;left:0;right:0;
  padding:26px 22px;text-align:center;color:#fff;
}
.svc-card--top .svc-card__body{top:0}
.svc-card--bottom .svc-card__body{bottom:0}
.svc-card h3{
  font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.26;
  /* 5px y no 8px: al margen se le suma el medio interlineado de
     ambos lados (~2,3px aqui + ~2,6px en el parrafo), asi que el
     hueco que se VE es siempre mayor que el declarado. */
  margin:0 0 5px;color:#fff;text-wrap:balance;
}
.svc-card p{
  /* 1.38 (leading-snug) en vez de 1.5: junta las lineas sin llegar a
     apretarlas, que sobre fotografia se lee peor que sobre plano. */
  font-size:13.5px;line-height:1.38;color:rgba(255,255,255,.86);margin:0;
  /* Igual que .svc-card h3 (mismo motivo): sin esto, el parrafo
     envuelve las 3-4 lineas de forma dispareja sobre la foto — una
     linea larga, una corta — y esa escalera es lo que se ve
     desordenado. text-wrap:pretty solo evita huerfanos, no empareja
     el largo de las lineas; balance si. */
  text-wrap:balance;
  /* .svc-card__body ya pide text-align:center, pero p{text-align:
     justify} (regla global) le gana por apuntar directo al <p>: en
     una tarjeta angosta, con 2-3 palabras por linea, justificar deja
     huecos enormes entre palabras. (2026-09-15) */
  text-align:center;
}


/* La silueta de respaldo debe verse solo cuando NO hay fotografía.
   Con object-fit:contain el marco queda visible alrededor del vehículo
   y la silueta asomaba por detrás. Si la foto falla al cargar, su
   etiqueta se elimina sola y la silueta vuelve a mostrarse. */
.vehicle__figure:has(img) > svg,
.pick__thumb:has(img) > svg,
.svc-card:has(.svc-card__photo) .svc-card__art,
.dest-tile:has(img) .dest-tile__art,
.dest-card__figure:has(.dest-card__photo) > svg{display:none}

/* ---- Servicios en móvil: carrusel editorial (foto arriba, texto en
   bloque blanco debajo) ----
   Mismo criterio que Destinos: va después de los estilos base porque
   comparten especificidad y manda la última regla del archivo. El HTML no
   cambia — foto, velo y .svc-card__body ya son hermanos; aquí se desmonta
   el montaje superpuesto (foto absoluta + degradado + texto encima) para
   devolver la foto al flujo. Escritorio y tablet siguen con la tarjeta
   oscura de texto superpuesto. */
@media (max-width:767.98px){
  .svc-grid{
    display:flex;flex-direction:row;flex-wrap:nowrap;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:16px;padding-bottom:20px;scrollbar-width:none;
  }
  .svc-grid::-webkit-scrollbar{display:none}

  .svc-card{
    flex:0 0 85%;scroll-snap-align:center;
    aspect-ratio:auto;display:flex;flex-direction:column;
    background:none;border-radius:12px;overflow:visible;
  }
  .svc-card:hover{transform:none;box-shadow:none}
  .svc-card__scrim{display:none}            /* fuera el degradado oscuro */

  /* 4/5 en vez de 1/1: las fotos vienen en 3/4, así que la proporción
     cuadrada les recortaría bastante más arriba y abajo. */
  .svc-card__photo{
    position:static;width:100%;height:auto;aspect-ratio:4/5;
    object-fit:cover;border-radius:12px 12px 0 0;
  }
  .svc-card__art{
    position:static;aspect-ratio:4/5;border-radius:12px 12px 0 0;
    background:linear-gradient(158deg,#1C1C1C,#3A3A3A 55%,#141414);
  }

  /* Al salir de position:absolute, los modificadores --top/--bottom (que
     solo movían el texto sobre la foto) dejan de tener efecto solos. */
  .svc-card__body{
    position:static;background:#fff;padding:16px;
    border-radius:0 0 12px 12px;box-shadow:0 4px 10px rgba(0,0,0,.05);
    text-align:left;color:var(--ink);flex:1;
  }
  .svc-card h3{font-size:17px;font-weight:700;color:#000;margin:0 0 5px}
  /* 1.45 y no 1.38 como en escritorio: aqui el texto es oscuro sobre
     blanco y en bloque propio, donde un interlineado algo mas holgado
     se lee mejor que sobre fotografia. Se junta, pero menos. */
  .svc-card p{font-size:13.5px;line-height:1.45;color:#555;text-align:left}
}

/* ============================================================
   RESEÑAS
   ============================================================ */
.reviews{background:var(--surface);border-block:1px solid var(--line)}
.review-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
.review{
  background:var(--bg);border-radius:var(--r-md);padding:26px 22px 24px;
  display:flex;flex-direction:column;gap:15px;
}
.review__stars{display:flex;gap:3px}
.review__stars svg{width:22px;height:22px;fill:var(--gold);stroke:none}
.review__stars svg.is-empty{fill:var(--line-strong)}
.review p{font-size:14.5px;line-height:1.65;color:var(--text);margin:0;flex:1}
.review__by{display:flex;align-items:center;gap:11px}
.review__avatar{
  position:relative;width:36px;height:36px;border-radius:50%;flex:none;
  display:grid;place-content:center;overflow:hidden;
  background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.02em;
}
.review__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.review__by b{font-size:14px;font-weight:600;color:var(--ink)}
/* Los indicadores solo tienen sentido con el carrusel móvil; en
   escritorio .review-grid es cuadrícula y no hay nada que paginar. */
.review-dots{display:none}
.reviews__foot{
  margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:14px;font-size:12.5px;color:var(--muted);text-align:center;
}
.reviews__foot .brand-slot--filled{background:transparent;padding:0}
.reviews__foot .brand-slot--filled img{height:30px}

/* ---- Reseñas en móvil: carrusel horizontal tipo app ----
   Va aquí, después de los estilos base de .review-grid/.review-dots, y
   no en el bloque móvil de más arriba: con la misma especificidad manda
   la última regla del archivo, así que allá el display:grid base ganaba.
   El 78% de ancho por tarjeta es lo que deja asomar la siguiente por el
   borde derecho e invita a deslizar. En escritorio nada de esto aplica:
   .review-grid sigue siendo cuadrícula de 1/2/3 columnas. */
@media (max-width:767.98px){
  .review-grid{
    display:flex;flex-direction:row;flex-wrap:nowrap;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:16px;padding:10px 0 20px;scrollbar-width:none;
  }
  .review-grid::-webkit-scrollbar{display:none}

  /* Reordenamiento de la tarjeta SIN tocar el HTML: el orden en el DOM es
     estrellas → texto → (avatar + nombre), y aquí se recoloca a cabecera
     (avatar | nombre sobre estrellas) + cuerpo. display:contents disuelve
     el envoltorio .review__by para que avatar y nombre entren como celdas
     propias y el avatar pueda abarcar las dos filas de la cabecera. */
  .review{
    flex:0 0 78%;scroll-snap-align:center;
    background:#f9f9f9;border-radius:16px;padding:20px;
    display:grid;grid-template-columns:auto 1fr;
    grid-template-areas:
      "avatar nombre"
      "avatar estrellas"
      "texto  texto";
    column-gap:12px;row-gap:2px;align-content:start;
  }
  .review__by{display:contents}
  .review__avatar{grid-area:avatar;align-self:center;width:44px;height:44px;font-size:14px}
  .review__by b{grid-area:nombre;align-self:end;font-size:15px}
  .review__stars{grid-area:estrellas;align-self:start}
  .review__stars svg{width:15px;height:15px}
  .review p{grid-area:texto;margin-top:14px;font-size:14px;line-height:1.6;color:#333}

  .review-dots{display:flex;justify-content:center;gap:7px;margin-top:2px}
  .review-dots button{
    width:6px;height:6px;border-radius:50%;background:#ccc;
    transition:background .2s,width .2s;
  }
  .review-dots button[aria-selected="true"]{background:var(--ink);width:20px;border-radius:100px}
}

/* Miniatura de flota en el panel */
.fleet-thumb{
  position:relative;overflow:hidden;width:96px;height:60px;border-radius:4px;
  background:#F4F4F4;display:grid;place-items:center;flex:none;
}
.fleet-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}

/* Gestor de fotos del panel */
.media-row{
  display:grid;grid-template-columns:1fr;gap:14px;align-items:start;
  padding:16px 0;border-bottom:1px solid var(--line);
}
.media-row:last-child{border-bottom:0}
.media-row__thumb{
  position:relative;width:104px;height:70px;flex:none;border-radius:var(--r-sm);overflow:hidden;
  background:var(--surface-2);border:1px solid var(--line-strong);border-style:dashed;
  display:grid;place-items:center;cursor:pointer;transition:.18s;
}
.media-row__thumb:hover{border-color:var(--ink)}
.media-row__thumb.is-loaded{border-style:solid}
.media-row__overlay{
  position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .18s;
  background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;
}
.media-row__thumb:hover .media-row__overlay{opacity:1}
.media-row__thumb img{width:100%;height:100%;object-fit:cover}
.media-row__thumb svg{width:24px;height:24px;stroke:var(--faint);fill:none}
.media-row__info{display:grid;gap:8px;min-width:0}
.media-row__info b{font-size:14.5px;font-weight:600;color:var(--ink)}
.media-row__actions{display:flex;gap:8px;align-items:center}


/* ============================================================
   MAPA DE RUTA DEL CHECKOUT
   Franja discreta: contextualiza el trayecto sin robarle
   protagonismo a la elección de vehículo.
   ============================================================ */
/* Chips de confianza que sustituyen al mapa: refuerzan la decisión de
   compra (precio cerrado, cancelación, seguimiento de vuelo) justo antes
   de la lista de vehículos, sin la carga visual de un mapa real. */
.step-trust{display:none}
.step-trust .chip{padding:7px 13px;font-size:12.5px}
.step-trust .chip--accent{border-color:var(--ok);color:var(--ok)}
.step-trust .chip--accent svg{stroke:var(--ok)}

/* Línea de tiempo del resumen */
.trip-line{position:relative;padding-left:18px}
.trip-line::before{
  content:"";position:absolute;left:3px;top:7px;bottom:7px;width:1.5px;background:var(--line-strong);
}
.trip-stop{position:relative;padding-bottom:10px}
.trip-stop:last-child{padding-bottom:0}
.trip-stop::before{
  content:"";position:absolute;left:-18px;top:4px;width:7px;height:7px;background:var(--ink);
}
.trip-stop--end::before{background:var(--surface);border:2px solid var(--ink);border-radius:50%}
.trip-stop__head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.trip-stop__head b{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
.trip-stop__time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.trip-stop__sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}

/* Origen/destino editables en el checkout (ver reservar.html: commitEdicionRuta) */
.trip-stop__input{
  border:0;background:transparent;padding:0;margin:0;min-width:0;flex:1;
  font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;font-family:inherit;
  border-bottom:1px dashed transparent;transition:border-color .15s;
}
.trip-stop__input:hover,.trip-stop__input:focus{border-bottom-color:var(--line-strong);outline:0}
.trip-stop.is-invalid .trip-stop__input{color:var(--bad);border-bottom-color:var(--bad)}
.trip-route-error{font-size:11.5px;color:var(--bad);margin:6px 0 0}

/* Distintivos de confianza del resumen */
.assurances{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.assurances span{
  display:inline-flex;align-items:center;gap:6px;padding:6px 11px;
  border:1px solid var(--line);border-radius:100px;font-size:11.5px;color:var(--text);
}
.assurances svg{width:13px;height:13px;stroke:var(--muted);fill:none;flex:none}
.assurances span:first-child{border-color:var(--ok)}
.assurances span:first-child svg{stroke:var(--ok)}
.assurances span:first-child{color:var(--ok)}
/* Extras compactos dentro del paso de datos */
.extras-inline{display:grid;gap:0}


/* ============================================================
   CÓMO FUNCIONA
   ============================================================ */
.how{background:var(--surface)}
.how-grid{display:grid;grid-template-columns:1fr;gap:18px;counter-reset:how}
.how-step{position:relative;padding-top:26px;border-top:2px solid var(--ink)}
.how-step__num{
  position:absolute;top:-13px;left:0;width:26px;height:26px;border-radius:50%;
  background:var(--ink);color:#fff;display:grid;place-content:center;
  font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;
}
.how-step svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:1.3;margin-bottom:14px}
.how-step h3{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.how-step p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}

/* ---- "Cómo funciona" en móvil: línea de tiempo vertical ----
   Va después de las reglas base porque comparten especificidad y manda la
   última del archivo. El HTML no cambia: número, título y párrafo ya son
   hermanos, y grid-template-areas basta para ponerlos en dos columnas
   (número a la izquierda, textos a la derecha) sin envolverlos en divs
   nuevos — que habrían alterado el marcado también en escritorio.
   Escritorio y tablet conservan su barra superior negra y sus columnas. */
@media (max-width:767.98px){
  .how-grid{gap:0}
  .how-step{
    border-top:0;padding-top:0;position:relative;
    display:grid;grid-template-columns:32px 1fr;
    grid-template-areas:
      "num  titulo"
      ".    texto";
    column-gap:16px;row-gap:6px;align-items:start;
    margin-bottom:24px;
  }
  .how-step:last-child{margin-bottom:0}

  /* El número deja de flotar sobre la línea horizontal y pasa al flujo. */
  .how-step__num{
    grid-area:num;position:relative;top:auto;left:auto;
    width:32px;height:32px;font-size:14px;flex-shrink:0;z-index:1;
  }
  .how-step h3{grid-area:titulo;margin:0;align-self:center}
  .how-step p{grid-area:texto;color:#666}

  /* Línea conectora: un tramo por paso, desde debajo de su número hasta
     el número siguiente (bottom:-24px = el margin-bottom del paso). Se
     dibuja por paso y no como un ::before del contenedor para que no
     sobresalga por debajo del último número. */
  .how-step::after{
    content:"";position:absolute;left:15px;top:32px;bottom:-24px;
    width:2px;background:#e0e0e0;z-index:0;
  }
  .how-step:last-child::after{content:none}
}

/* ============================================================
   TIRA DE DESTINOS EN PORTADA
   ============================================================ */
.dest-strip{display:grid;grid-template-columns:1fr;gap:14px}
.dest-tile{
  position:relative;border-radius:var(--r-md);overflow:hidden;isolation:isolate;
  aspect-ratio:4/3;display:flex;align-items:flex-end;
  background:linear-gradient(150deg,#1E1E1E,#3A3A3A 58%,#151515);
  transition:transform .3s ease;
}
.dest-tile:hover{transform:translateY(-3px)}
.dest-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.dest-tile__art{position:absolute;inset:0;display:grid;place-items:center;z-index:-2}
.dest-tile__art svg{width:60%;max-width:150px;stroke:rgba(255,255,255,.24);fill:none;stroke-width:1.1}
.dest-tile::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.10) 72%);
}
.dest-tile__body{padding:18px 18px 20px;color:#fff;width:100%}
.dest-tile__body b{display:block;font-size:16px;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}
.dest-tile__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:rgba(255,255,255,.72)}
.dest-tile__meta em{font-style:normal;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.dest-tile__link::after{content:"";position:absolute;inset:0;z-index:2}
.section-foot{display:flex;justify-content:center;margin-top:26px}

/* ---- Destinos en móvil: carrusel editorial (imagen arriba, texto en
   bloque blanco debajo) ----
   Va después de los estilos base de arriba a propósito: comparten
   especificidad, así que manda la regla que aparece última en el archivo.
   El HTML no cambia — la foto y .dest-tile__body ya son hermanos; lo que
   se desmonta aquí es el montaje superpuesto (imagen absoluta + velo
   oscuro ::after + texto blanco encima) para devolver a la imagen su
   sitio en el flujo. Escritorio y tablet siguen con la tarjeta oscura. */
@media (max-width:767.98px){
  .dest-strip{
    display:flex;flex-direction:row;flex-wrap:nowrap;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:16px;padding-bottom:20px;scrollbar-width:none;
  }
  .dest-strip::-webkit-scrollbar{display:none}

  .dest-tile{
    flex:0 0 82%;scroll-snap-align:center;
    /* position:relative se conserva: .dest-tile__link::after lo usa para
       que toda la tarjeta siga siendo un solo enlace. */
    aspect-ratio:auto;display:flex;flex-direction:column;align-items:stretch;
    background:none;border-radius:12px;overflow:visible;
  }
  .dest-tile:hover{transform:none}
  .dest-tile::after{content:none}          /* fuera el velo oscuro */

  .dest-tile img{
    position:static;z-index:auto;
    width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
    border-radius:12px 12px 0 0;
  }
  /* Silueta de respaldo (solo si la foto no carga): ocupa el mismo hueco
     que la imagen para que el bloque de texto no suba. */
  .dest-tile__art{
    position:static;z-index:auto;aspect-ratio:4/3;
    border-radius:12px 12px 0 0;
    background:linear-gradient(150deg,#1E1E1E,#3A3A3A 58%,#151515);
  }

  .dest-tile__body{
    background:#fff;padding:16px;border-radius:0 0 12px 12px;
    box-shadow:0 4px 10px rgba(0,0,0,.05);
    color:var(--ink);width:auto;flex:1;
  }
  .dest-tile__body b{font-size:16px;font-weight:700;color:#000;margin-bottom:8px}
  /* Tiempo a la izquierda, precio a la derecha, en una sola línea. */
  .dest-tile__meta{
    flex-wrap:nowrap;justify-content:space-between;align-items:baseline;
    gap:12px;font-size:12.5px;color:#666;
  }
  .dest-tile__meta em{color:var(--ink);font-weight:700}
}

/* ============================================================
   PREGUNTAS FRECUENTES
   ============================================================ */
.faq{max-width:820px;margin-inline:auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  width:100%;padding:20px 0;text-align:left;
  font-size:15.5px;font-weight:500;color:var(--ink);letter-spacing:-.01em;line-height:1.45;
}
.faq__q svg{width:19px;height:19px;stroke:var(--muted);fill:none;flex:none;margin-top:2px;transition:transform .26s}
.faq__q[aria-expanded="true"] svg{transform:rotate(45deg);stroke:var(--ink)}
.faq__a{display:none;padding:0 40px 22px 0}
.faq__a p{font-size:14.5px;line-height:1.68;color:var(--text);margin:0}
.faq__item.is-open .faq__a{display:block}

/* ============================================================
   CIERRE CON LLAMADA A LA ACCIÓN
   ============================================================ */
.closer{background:var(--graphite-deep);color:#fff;text-align:center}
.closer h2{font-size:clamp(26px,5vw,38px);font-weight:600;letter-spacing:-.03em;line-height:1.16;margin:0 0 14px;color:#fff}
.closer p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.7);margin:0 auto 30px;max-width:52ch}
.closer__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Botón principal invertido: sobre fondo oscuro, el negro desaparece */
.closer .btn{
  background:#FFFFFF;color:#111111;font-weight:700;letter-spacing:.02em;
  padding-inline:30px;transition:background .2s, transform .2s;
}
.closer .btn:hover{background:rgba(255,255,255,.88);transform:translateY(-1px)}
.closer .btn:active{transform:none}

.closer .btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff;font-weight:600}
.closer .btn--ghost:hover{background:rgba(255,255,255,.10);border-color:#fff;transform:none}

.closer__note{margin-top:20px;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.45)}


/* ============================================================
   PÁGINAS LEGALES
   ============================================================ */
.legal-hero{background:var(--graphite);color:#fff;padding-block:calc(var(--header-h) + 46px) 42px}
.legal-hero .eyebrow{color:rgba(255,255,255,.5)}
.legal-hero h1{font-size:clamp(27px,5.6vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.14;margin:8px 0 12px;color:#fff}
.legal-hero p{font-size:14.5px;color:rgba(255,255,255,.66);margin:0;max-width:60ch}

.legal-layout{display:grid;gap:34px;align-items:start}
.legal-toc{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px;
}
.legal-toc p{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.legal-toc li{margin-bottom:10px}
.legal-toc a{font-size:13.5px;line-height:1.45;color:var(--text);transition:color .2s}
.legal-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

.legal-doc{max-width:74ch}
.legal-doc h2{
  font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);
  /* La cabecera ya la compensa html{scroll-padding-top}; aquí solo se
     añade el respiro extra propio de los títulos del índice legal. */
  margin:38px 0 14px;scroll-margin-top:4px;
}
.legal-doc h2:first-child{margin-top:0}
.legal-doc h3{font-size:15.5px;font-weight:600;color:var(--ink);margin:24px 0 10px}
.legal-doc p{font-size:15px;line-height:1.72;color:var(--text);margin:0 0 14px}
.legal-doc ul,.legal-doc ol{margin:0 0 16px;padding-left:20px}
.legal-doc li{font-size:15px;line-height:1.68;color:var(--text);margin-bottom:9px;list-style:disc}
.legal-doc ol li{list-style:decimal}
.legal-doc strong{font-weight:600;color:var(--ink)}
.legal-doc a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}
.legal-doc th,.legal-doc td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.legal-doc th{background:var(--bg);font-weight:600;color:var(--ink);font-size:13px}
.legal-meta{
  padding:16px 18px;background:var(--bg);border-radius:var(--r-sm);
  font-size:12.5px;line-height:1.6;color:var(--muted);margin-bottom:30px;
}
.legal-meta b{color:var(--ink);font-weight:600}
.legal-fill{
  background:#FFF6E0;border:1px dashed #C9A227;border-radius:3px;
  padding:1px 7px;font-size:13px;font-weight:600;color:#7A5E00;
}

/* Libro de reclamaciones */
.claim-note{
  display:flex;gap:12px;padding:16px 18px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--surface);margin-bottom:26px;
}
.claim-note svg{width:19px;height:19px;stroke:var(--ink);fill:none;flex:none;margin-top:2px}
.claim-note p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text)}
.claim-note b{display:block;color:var(--ink);margin-bottom:3px}
.claim-type{display:grid;gap:12px;margin-bottom:8px}
.claim-type label{
  display:flex;gap:12px;align-items:flex-start;padding:16px;cursor:pointer;
  border:1px solid var(--line-strong);border-radius:var(--r-sm);transition:.18s;
}
.claim-type label:hover{border-color:var(--ink)}
.claim-type input{margin-top:3px;accent-color:var(--teal-deep);flex:none}
.claim-type b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:3px}
.claim-type span{font-size:13px;line-height:1.55;color:var(--muted)}




/* ============================================================
   GALERÍA DE DESTINO
   El grid "{destino} en imágenes" (.gallery/.gallery__item) se eliminó
   por duplicar el bento de portada. .gallery__item sigue existiendo como
   nombre de clase solo dentro del bento (ver .dest-gallery__cell
   .gallery__item más arriba), que ya trae sus propias reglas completas
   y no depende de nada de este bloque.
   ============================================================ */

/* Visor a pantalla completa */
.lightbox{
  position:fixed;inset:0;z-index:200;display:none;
  background:rgba(8,8,8,.94);padding:24px;
}
.lightbox.is-open{display:grid;place-items:center}
.lightbox img{max-width:100%;max-height:82vh;border-radius:var(--r-sm);display:block}
.lightbox__caption{
  position:absolute;left:24px;right:24px;bottom:22px;text-align:center;
  font-size:13px;color:rgba(255,255,255,.72);
}
.lightbox__close,.lightbox__nav{
  position:absolute;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);
  display:grid;place-content:center;transition:.18s;
}
.lightbox__close svg,.lightbox__nav svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.7}
.lightbox__close:hover,.lightbox__nav:hover{background:rgba(255,255,255,.22)}
.lightbox__close{top:20px;right:20px}
.lightbox__nav--prev{left:16px;top:50%;transform:translateY(-50%)}
.lightbox__nav--next{right:16px;top:50%;transform:translateY(-50%)}


/* ============================================================
   MODAL CORPORATIVO
   ============================================================ */
.cmodal{
  position:fixed;inset:0;z-index:300;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(0,0,0,.80);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  opacity:0;transition:opacity .22s ease;
}
.cmodal.is-open{display:flex;opacity:1}

.cmodal__box{
  position:relative;width:100%;max-width:460px;
  max-height:calc(100dvh - 40px);overflow-y:auto;
  background:#1A1A1A;color:#fff;border:1px solid rgba(255,255,255,.10);
  border-radius:var(--r-lg);padding:36px 32px 32px;
  transform:translateY(14px) scale(.98);transition:transform .26s cubic-bezier(.22,.61,.36,1);
}
.cmodal.is-open .cmodal__box{transform:none}

.cmodal__close{
  position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;
  display:grid;place-content:center;transition:background .18s;
}
.cmodal__close svg{width:16px;height:16px;stroke:rgba(255,255,255,.6);fill:none;stroke-width:1.7}
.cmodal__close:hover{background:rgba(255,255,255,.10)}
.cmodal__close:hover svg{stroke:#fff}

.cmodal h2{font-size:23px;font-weight:600;letter-spacing:-.025em;color:#fff;margin:0 0 8px;padding-right:30px}
.cmodal__lead{font-size:14px;line-height:1.55;color:rgba(255,255,255,.62);margin:0 0 26px}

/* --- Campos minimalistas: solo línea inferior --- */
.cfield{position:relative;margin-bottom:22px}
.cfield label{
  display:block;font-size:10px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:7px;
}
.cfield input,.cfield select{
  width:100%;padding:6px 0 10px;background:transparent;color:#fff;
  font-family:inherit;font-size:15px;font-weight:500;
  border:0;border-bottom:1px solid rgba(255,255,255,.22);
  border-radius:0;transition:border-color .2s;appearance:none;
}
.cfield input::placeholder{color:rgba(255,255,255,.28);font-weight:400}
.cfield input:focus,.cfield select:focus{outline:none;border-bottom-color:#fff}
.cfield select{cursor:pointer}
.cfield select option{background:#1A1A1A;color:#fff}
.cfield__chev{
  position:absolute;right:0;bottom:13px;width:13px;height:13px;
  stroke:rgba(255,255,255,.45);fill:none;pointer-events:none;
}
.cfield__error{display:none;margin-top:6px;font-size:11.5px;color:#FF8A8A}
.cfield.has-error input,.cfield.has-error select{border-bottom-color:#FF8A8A}
.cfield.has-error .cfield__error{display:block}

.cmodal__submit{
  width:100%;height:50px;border-radius:100px;margin-top:6px;
  background:#fff;color:#111;font-size:14.5px;font-weight:700;letter-spacing:.02em;
  transition:background .2s;
}
.cmodal__submit:hover{background:rgba(255,255,255,.88)}

/* --- Separador y WhatsApp --- */
.cmodal__or{
  display:flex;align-items:center;gap:14px;margin:22px 0 18px;
  font-size:11.5px;color:rgba(255,255,255,.35);
}
.cmodal__or::before,.cmodal__or::after{
  content:"";flex:1;height:1px;background:rgba(255,255,255,.12);
}
.cmodal__wa{
  display:flex;align-items:center;gap:11px;padding:13px 16px;
  border:1px solid rgba(255,255,255,.18);border-radius:var(--r-sm);
  font-size:13px;line-height:1.45;color:rgba(255,255,255,.78);transition:.2s;
}
.cmodal__wa svg{width:20px;height:20px;stroke:currentColor;fill:none;flex:none}
.cmodal__wa b{display:block;color:#fff;font-weight:600;margin-bottom:1px}
.cmodal__wa:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);color:#fff}

/* --- Confirmación --- */
.cmodal__done{text-align:center;padding:8px 0 4px}
.cmodal__done svg{width:46px;height:46px;stroke:#fff;fill:none;stroke-width:1.4;margin-bottom:16px}
.cmodal__done h3{font-size:19px;font-weight:600;color:#fff;margin:0 0 8px}
.cmodal__done p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.62);margin:0}

@media (prefers-reduced-motion:reduce){
  .cmodal,.cmodal__box{transition:none}
}

/* ============================================================
   PROGRAMA DE AFILIADOS
   ============================================================ */
.aff-hero{
  position:relative;isolation:isolate;background:var(--graphite);color:#fff;
  padding-block:calc(var(--header-h) + 52px) 52px;overflow:hidden;
}
.aff-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(48% 62% at 78% 30%,rgba(255,255,255,.10),transparent 70%);
}
.aff-hero .eyebrow{color:rgba(255,255,255,.5)}
.aff-hero h1{font-size:clamp(29px,6vw,46px);font-weight:600;letter-spacing:-.034em;line-height:1.12;margin:8px 0 14px;color:#fff;max-width:20ch}
.aff-hero p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.72);margin:0 0 28px;max-width:52ch}
.aff-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.aff-hero .btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff}
.aff-hero .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

.aff-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.14);margin-top:40px;border-radius:var(--r-md);overflow:hidden}
.aff-stat{background:var(--graphite);padding:20px 18px}
.aff-stat b{display:block;font-size:24px;font-weight:700;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.aff-stat span{display:block;font-size:12px;line-height:1.45;color:rgba(255,255,255,.55);margin-top:4px}

/* Perfiles */
.aff-profiles{display:grid;grid-template-columns:1fr;gap:16px}
.aff-profile{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:24px 22px;transition:border-color .22s, box-shadow .22s;
}
.aff-profile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-pop)}
.aff-profile svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:1.3;margin-bottom:14px}
.aff-profile h3{font-size:16.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.aff-profile p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}

/* Niveles de comisión */
.tiers{display:grid;grid-template-columns:1fr;gap:16px}
.tier{
  position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);padding:26px 24px;display:flex;flex-direction:column;gap:14px;
}
.tier--featured{border-color:var(--ink);box-shadow:var(--shadow-pop)}
.tier__flag{
  position:absolute;top:-11px;left:24px;background:var(--ink);color:#fff;
  padding:4px 12px;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.tier h3{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0}
.tier__rate{font-size:42px;font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.tier__rate small{font-size:17px;font-weight:600;margin-left:2px}
.tier p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}
.tier__range{
  padding-top:14px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;
}

/* Herramientas */
.tools{display:grid;grid-template-columns:1fr;gap:14px}
.tool{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:box-shadow .18s ease,border-color .18s ease}
.tool:hover{box-shadow:0 2px 10px rgba(0,0,0,.06);border-color:var(--line-strong)}
/* En tactil no hay raton de verdad: sin esto la sombra se queda pegada
   despues de tocar la tarjeta. */
@media (hover:none){.tool:hover{box-shadow:none;border-color:var(--line)}}
.tool svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.4;flex:none;margin-top:2px}
.tool b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:4px}
/* La tarjeta del panel es la unica con accion. Se marca con :has() para no
   tocar el HTML de las otras tres; un navegador que no lo soporte solo se
   queda sin el borde reforzado, que es decoracion. */
.tool:has(.tool__acceso){border-color:var(--line-strong)}
.tool .tool__acceso{display:flex;width:fit-content;margin-top:14px}
.tool__acceso::after{content:"97";font-size:11px;line-height:1}
.tool .tool__nota{display:block;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.tool span{font-size:13.5px;line-height:1.55;color:var(--muted)}

/* Enlace de ejemplo */
.link-demo{
  display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:12px;
  padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);margin-top:18px;
}
@media (min-width:768px){
  .link-demo{flex-direction:row;align-items:center}
}
.link-demo .btn{flex:none;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);font-size:13px;font-weight:500}
.link-demo .btn:hover{border-color:var(--ink);box-shadow:0 1px 6px rgba(0,0,0,.08);opacity:1}
.link-demo code{
  flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13.5px;color:var(--muted);word-break:break-all;
}
.aff-banner{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:16px;padding:18px 22px;border-radius:var(--r-sm);
  background:var(--graphite);color:#fff;
}
.aff-banner b{font-size:15px;font-weight:600;display:block;margin-bottom:3px}
.aff-banner span{font-size:12.5px;color:rgba(255,255,255,.62)}

/* Aviso de referido activo */
.ref-badge{
  display:none;align-items:center;gap:10px;padding:11px 16px;
  background:var(--ok-bg);border-radius:var(--r-sm);font-size:13px;color:var(--ok);
}
.ref-badge.is-on{display:flex}
.ref-badge svg{width:16px;height:16px;stroke:currentColor;fill:none;flex:none}
.ref-badge b{font-weight:600}


/* ============================================================
   MANIFIESTO — EL ESTÁNDAR SAFEWAY
   Collage asimétrico a la izquierda, texto compacto a la derecha.
   ============================================================ */
.manifesto{
  background:var(--graphite);color:#fff;   /* el fondo sigue a todo el ancho */
  padding-block:var(--section-y);overflow:hidden;
}
.manifesto__grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}

/* --- Foto estática ---
   Apaisado (4/3) y con max-height propio: el contenedor ya no se estira
   a la altura de la columna de texto (eso alargaba la foto en vertical y
   recortaba al conductor). object-position:left center mantiene siempre
   visible al conductor, que está a la izquierda del encuadre. El
   brightness/contrast + la sombra interior apagan el brillo diurno de la
   foto para que se funda con el fondo oscuro en vez de resaltar como un
   recorte pegado encima. */
.manifesto__figure{position:relative;display:flex;justify-content:center}
.manifesto__photo{
  position:relative;width:100%;max-width:420px;max-height:480px;
  aspect-ratio:4/3;border-radius:12px;overflow:hidden;
  background:#242424;
  box-shadow:inset 0 0 40px rgba(0,0,0,.5);
}
.manifesto__photo img{
  width:100%;height:100%;object-fit:cover;object-position:left center;display:block;
  filter:brightness(.85) contrast(1.05);
}

/* --- Texto --- */
.manifesto__body{padding:0}
.manifesto .eyebrow{color:rgba(255,255,255,.5)}
.manifesto h2{
  font-size:clamp(25px,5vw,34px);font-weight:600;letter-spacing:-.03em;
  line-height:1.14;margin:9px 0 16px;color:#fff;max-width:18ch;
}
.manifesto p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.78);margin:0 0 13px;max-width:46ch}
.manifesto p:last-of-type{margin-bottom:0}
.manifesto strong{color:#fff;font-weight:600}

/* --- Pilares --- */
.manifesto__pillars{display:grid;gap:28px;margin-top:26px}
.manifesto__pillar{padding:0}
.manifesto__pillar svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.4;margin-bottom:8px}
.manifesto__pillar b{display:block;font-size:13px;font-weight:600;color:#fff;margin-bottom:3px}
.manifesto__pillar span{display:block;font-size:12px;line-height:1.45;color:rgba(255,255,255,.58)}

/* ---- Pilares en móvil: lista lateral (ícono a la izquierda) ----
   Va después de las reglas base porque comparten especificidad y manda la
   última del archivo. El HTML no cambia: svg, <b> y <span> ya son
   hermanos, y grid-template-areas los acomoda en dos columnas sin
   envolverlos en divs nuevos (que habrían alterado también escritorio).
   El fondo oscuro de .manifesto y el texto claro se conservan; el ícono
   pasa a dorado para destacar sobre ese fondo. */
@media (max-width:767.98px){
  .manifesto__pillars{gap:0;margin-top:24px}
  .manifesto__pillar{
    display:grid;grid-template-columns:24px 1fr;
    grid-template-areas:
      "icono titulo"
      ".     texto";
    column-gap:16px;row-gap:4px;align-items:start;
    margin-bottom:24px;
  }
  .manifesto__pillar:last-child{margin-bottom:0}
  .manifesto__pillar svg{
    grid-area:icono;width:24px;height:24px;margin-bottom:0;
    stroke:var(--gold);
  }
  /* margin:0 para que el título quede a la misma altura que el ícono. */
  .manifesto__pillar b{grid-area:titulo;margin:0;font-size:15px;align-self:center}
  /* Al perder 40px de ancho por la columna del ícono, el cuerpo sube un
     punto para no quedar demasiado pequeño en una columna más angosta. */
  .manifesto__pillar span{grid-area:texto;font-size:13.5px;line-height:1.55}
}

/* Móvil: foto un poco más compacta para no ocupar tanto alto */
@media (max-width:599px){
  .manifesto__photo{max-width:320px}
}

.site-footer{
  background:var(--graphite);color:rgba(255,255,255,.62);
  padding-block:44px 0;border-top:1px solid rgba(255,255,255,.10);
}
.footer__top{
  display:grid;grid-template-columns:1fr;gap:0;
  padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12);
}
/* En una sola columna, cada grupo se separa con línea propia en vez de
   con un hueco: evita que los bloques parezcan flotar sueltos. */
.footer__col{padding-block:22px;border-top:1px solid rgba(255,255,255,.08)}
.footer__brand{padding-bottom:6px}
.footer__brand .logo{color:#fff;margin-bottom:16px}
.footer__brand p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.55);margin:0 0 16px;max-width:32ch}
.footer__badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 13px;
  border:1px solid rgba(255,255,255,.2);border-radius:100px;
  font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);
}
.footer__badge svg{width:14px;height:14px;stroke:currentColor;fill:none;flex:none}

.footer__col h4{
  font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.58);margin:0 0 14px;
}
.footer__col li{margin-bottom:9px}
.footer__col a,.footer__col span{font-size:13.5px;color:rgba(255,255,255,.72);transition:color .2s}
.footer__col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Atención al cliente */
.footer__contact li{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.footer__contact svg{width:15px;height:15px;stroke:rgba(255,255,255,.42);fill:none;flex:none;margin-top:2px}
.footer__contact a:hover svg{stroke:#fff}
.footer__contact b{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.58);margin-bottom:2px}

/* Redes sociales */
.footer__social{display:flex;gap:9px}
.footer__social a{
  width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;
  display:grid;place-content:center;transition:.2s;
}
.footer__social svg{width:17px;height:17px;stroke:rgba(255,255,255,.72);fill:none}
.footer__social a:hover{background:#fff;border-color:#fff}
.footer__social a:hover svg{stroke:var(--graphite)}

/* Sub-footer */
.footer__bottom{
  display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;
  padding-block:20px;font-size:12px;color:rgba(255,255,255,.6);
}
/* Linea legal del sub-pie (2026-09-11).
   Equivale a text-xs text-gray-500: 11,5px y opacidad 34, por debajo
   del copyright (12px / 45) para que respalde la confianza sin
   competir con nada. Agrupada con el copyright porque .footer__bottom
   reparte con space-between y un tercer hijo suelto lo descuadra. */
/* display:block y no flex: el script de consentimiento inserta
   " · Preferencias de cookies" JUSTO DETRAS del copyright, y en un
   contenedor flex cada nodo suelto se vuelve un item y cae a su
   propia linea. En bloque fluyen en linea como se penso. */
.footer__legalwrap{display:block}
.footer__legal{display:block;margin-top:6px}
.footer__legal{font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.58)}
/* Dato legal ya confirmado: sobrio. Lo que sigue en .legal-fill
   (correo del DPO, codigo RNPDP) sigue resaltado porque falta. */
.legal-dato{font-weight:600;color:var(--ink)}
.trust-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.trust-badges .brand-slot{
  display:flex;align-items:center;gap:9px;height:auto;min-width:0;padding:8px 14px;
  border:1px dashed rgba(255,255,255,.24);border-radius:var(--r-sm);
  font-size:11.5px;color:rgba(255,255,255,.55);line-height:1.35;
}
.trust-badges .brand-slot b{display:block;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.82)}

/* ============================================================
   14. CHECKOUT — EMBUDO DE 4 PASOS
   ============================================================ */
.checkout{padding-block:24px 40px}

/* Progreso */
.steps{
  display:flex;align-items:flex-start;justify-content:space-between;gap:0;
  margin:8px 0 32px;width:100%;
}
.step{display:flex;flex-direction:column;align-items:center;gap:9px;flex:none;min-width:0}
.step:first-child{align-items:flex-start}
.step:last-child{align-items:flex-end}
.step:first-child .step__label{text-align:left}
.step:last-child .step__label{text-align:right}
.step__dot{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-strong);
  display:grid;place-content:center;font-size:11px;font-weight:700;color:var(--faint);
  background:var(--surface);flex:none;transition:.2s;
}
.step__label{
  font-size:11px;font-weight:600;color:var(--faint);text-align:center;
  line-height:1.3;max-width:88px;transition:color .2s;
}
.step__bar{flex:1 1 auto;height:1px;background:var(--line-strong);margin-top:13px;min-width:24px;align-self:flex-start}
.step.is-active .step__dot{background:var(--ink);border-color:var(--ink);color:#fff}
.step.is-active .step__label{color:var(--ink);font-weight:700}
.step.is-done .step__dot{background:var(--ink);border-color:var(--ink);color:#fff}
.step.is-done .step__label{color:var(--ink);font-weight:600}
.step.is-done .step__dot svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.4}

/* Cabecera compacta + acordeón de itinerario (solo móvil, solo paso 1).
   #summaryTopRow/#summaryTrip/#addReturnBtn se MUEVEN (no se clonan) aquí
   dentro vía JS (mobile-itinerary.js) para no perder sus event listeners;
   en escritorio nunca se tocan y este bloque permanece vacío y colapsado. */
.mobile-itinerary-panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.mobile-itinerary-panel.is-open{max-height:440px}

@media (max-width:899.98px){
  /* "Elige tu vehículo" / "Datos del pasajero" ya viven en #mobileStageHead:
     se ocultan aquí para no repetirlos. En escritorio (fuera de este media
     query) siguen visibles tal cual. */
  .step1-title,.step2-title,.step3-title{display:none}

  /* Resumen de precio estático al final de la pantalla y total en la barra
     inferior fija: se ocultan en los pasos 1 y 2 (clase que pone
     actualizarCabeceraMovil() en <body>), porque en ambos aún no hay nada
     que cobrar visualmente aparte del precio de cada tarjeta de vehículo;
     en el paso 3 (pago) el total sigue siendo información necesaria. */
  body.rsv-mobile-slim .step1-price-block{display:none}

  /* Franja de precio (Pasos 2 y 3 móvil): reemplaza el total simple de la
     barra inferior por un activador que despliega el desglose completo.
     #mobileBar solo es visible en los pasos 2 y 3 (goTo() lo oculta en el
     1 y en la confirmación), así que el componente no se condiciona por
     paso: es un único elemento compartido que aparece idéntico en ambos. */
  .mobile-bar__total{display:none}
  #mobileBar{flex-direction:column;align-items:stretch;gap:10px}
  /* flex:0 0 auto es imprescindible: .mobile-bar .btn trae flex:1.3 y, con la barra en
     columna, ese flex gobierna el eje VERTICAL (flex-basis:0 + grow), así que el botón
     se aplastaba a ~23px y height:50px no se respetaba. */
  #mobileCta{width:100%;flex:0 0 auto;height:52px}
  #mobileBar .price-strip{display:flex}

  /* Con la franja de precio la barra mide ~114px; 88px dejaba el final del contenido
     tapado detrás de ella. Sin franja (Paso 1) basta con menos. */
  body.has-mobile-bar.has-mobile-bar{padding-bottom:calc(152px + env(safe-area-inset-bottom))}
  body.has-mobile-bar.sin-total{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  /* Mientras no hay total (Paso 1 sin vehículo elegido) no se enseña una raya suelta
     con "IVA incluido" debajo: parece un error, no un precio pendiente. */
  body.sin-total #mobileBar .price-strip{display:none}

  /* Limpieza exclusiva de los Pasos 1, 2 y 3 móvil (clase puesta por
     actualizarCabeceraMovil() solo mientras state.step está en ese rango
     y en móvil): el step-nav de cada paso ("Continuar al pago"/"Volver" en
     el 1 y el 2, "Pagar y confirmar"/"Volver" en el 3) y el resumen del
     viaje completo (ruta, añadir retorno, cancelación, medios de pago)
     quedan cubiertos por la franja de precio y el CTA fijo, así que se
     eliminan de la vista sin dejar huecos ni márgenes residuales. El
     escritorio (fuera de esta media query) no se toca: ahí .step-nav
     sigue siendo la única forma de avanzar de paso. */
  body.rsv-clean-nav #step1 .step-nav,
  body.rsv-clean-nav #step2 .step-nav,
  body.rsv-clean-nav #step3 .step-nav{display:none}
  body.rsv-clean-nav #summaryAside{display:none}

  .mobile-stage-head:not([hidden]){
    display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px;
  }
  .mobile-stage-head__left{display:flex;align-items:center;gap:8px;min-width:0}
  .mobile-stage-head__back{
    display:grid;place-items:center;width:34px;height:34px;border-radius:50%;flex:none;
    border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:background .16s;
  }
  .mobile-stage-head__back:hover{background:var(--surface-2)}
  .mobile-stage-head__back svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
  .mobile-stage-head__title{
    min-width:0;text-align:left;font-size:15px;font-weight:700;color:var(--ink);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .mobile-stage-head__step{flex:none;font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}

  .mobile-itinerary-toggle:not([hidden]){
    display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
    padding:13px 16px;margin-bottom:10px;border:1px solid var(--line);border-radius:var(--r-md);
    background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;
  }
  .mobile-itinerary-toggle__chev{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.8;transition:transform .25s ease;flex:none}
  .mobile-itinerary-toggle.is-open .mobile-itinerary-toggle__chev{transform:rotate(180deg)}
  .mobile-itinerary-panel__inner{padding-top:2px;padding-bottom:14px}
}

/* Resumen de ruta */
/* Oculto: duplicaba la ruta/pax/fecha que ya muestra el resumen lateral en cada paso. */
.route-strip{display:none}
.route-legs{display:flex;flex-direction:column;gap:8px;min-width:0}
.route-leg{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--ink);min-width:0}
.route-leg svg{width:15px;height:15px;stroke:var(--muted);fill:none;stroke-width:1.5;flex:none}
.route-leg span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted)}

/* Layout con panel lateral: cada columna a su extremo, aire amplio al centro */
.split{display:flex;flex-direction:column;justify-content:space-between;gap:22px;align-items:stretch}
.checkout .wrap{max-width:1200px}

/* Panel genérico */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:22px 20px}
.panel--flush{padding:0;overflow:hidden}
.panel__head{padding:18px 20px;border-bottom:1px solid var(--line)}
.panel__body{padding:20px}
.panel__foot{padding:16px 20px;border-top:1px solid var(--line);background:var(--surface-2)}

/* Tarjeta de vehículo seleccionable: tarjetas independientes, no lista con divisores */
.pick-list{display:flex;flex-direction:column;gap:10px}
.pick{
  position:relative;padding:12px 14px;border:1px solid var(--line);border-radius:14px;
  background:var(--surface);box-shadow:var(--shadow-card);
  cursor:pointer;transition:border-color .18s,box-shadow .18s,background-color .18s;
}
.pick:hover{border-color:var(--line-strong);box-shadow:var(--shadow-pop)}
/* Seleccionado en el teal de la marca, no en el azul genérico del
   sistema. Se cambian estas reglas y NO el token --accent-blue: ese azul
   también viste avisos, insignias y etiquetas B2B por toda la web, y
   tocarlo teñiría cosas que nadie pidió cambiar. */
.pick.is-selected{
  border:2px solid var(--teal-deep);
  background:var(--teal-deep-bg);
  box-shadow:0 6px 18px rgba(4,57,64,.14);
}
.pick.is-disabled{cursor:not-allowed;opacity:.55}
.pick__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pick__row h3{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}
.pick__row p{font-size:12.5px;color:var(--muted);font-weight:500;margin:2px 0 0}
.pick__price{text-align:right;flex:none}
.pick__price b{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.pick__price small{font-size:10.5px;color:var(--muted);letter-spacing:.03em}

/* Cuenta corporativa: factura a crédito, no ve precios en ningún paso
   (tarjetas de vehículo, resumen lateral, franja de precio móvil).
   La clase la pone aplicarCorporativo() en reservar.html al confirmar
   el rol contra /api/auth/session.php. */
body.es-corporativo .pick__price,
body.es-corporativo .step1-price-block,
body.es-corporativo #priceStrip{display:none}
.pick__mid{display:flex;align-items:center;gap:10px;margin:8px 0}
.pick__thumb{
  width:110px;height:72px;flex:none;border-radius:8px;position:relative;overflow:hidden;
  background:linear-gradient(170deg,#FAFAFA 0%,#F0F0F0 60%,#E8E8E8 100%);display:grid;place-items:center;
}
.pick__thumb svg{width:78%;stroke:rgba(0,0,0,.4);stroke-width:1.2;fill:none}
.pick__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pick__mini-perks{display:flex;flex-wrap:wrap;gap:5px}
.pick__mini-perks span{font-size:11px;color:var(--text);background:var(--surface-2);border-radius:100px;padding:4px 9px}
.pick__foot{display:flex;align-items:center;gap:16px;padding-top:9px;border-top:1px solid var(--line)}
/* Iconos de pasajeros/maletas desnudos: sin píldora ni fondo, estilo Daytrip */
.pick__foot .chip{border:0;background:none;padding:0;gap:5px;font-size:12.5px;font-weight:500;color:var(--muted)}
.pick__foot .chip svg{stroke:var(--muted);stroke-width:1.4}
.pick__check{
  margin-left:auto;width:20px;height:20px;border-radius:50%;flex:none;
  background:var(--teal-deep);display:grid;place-items:center;box-shadow:0 2px 6px rgba(4,57,64,.35);
  opacity:0;transform:scale(.6);transition:opacity .18s,transform .18s;
}
.pick__check svg{width:11px;height:11px;stroke:#fff;stroke-width:2.6;fill:none}
.pick.is-selected .pick__check{opacity:1;transform:scale(1)}
.pick__hint{margin:8px 0 0;font-size:11.5px;font-weight:600;color:var(--teal-deep);text-align:center}
.pick__tag{background:var(--ink);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:100px}
.pick__specs{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex;align-items:center;gap:7px;padding:6px 11px;
  border:1px solid var(--line);border-radius:100px;background:var(--bg);
  font-size:12px;font-weight:500;color:var(--text);
}
.chip svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:1.3;flex:none}
.pick__perks{display:grid;gap:5px}
.pick__perks li{font-size:12.5px;color:var(--muted);display:flex;gap:8px}
.pick__perks li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--line-strong);margin-top:8px;flex:none}

/* Opciones (extras) */
.option{
  display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);
}
.option:last-child{border-bottom:0}
.option__main{flex:1;min-width:0}
.option__main strong{display:block;font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.option__main p{font-size:13px;color:var(--muted);margin:4px 0 0}
.option__price{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.option__ctrl{display:flex;align-items:center;gap:12px;flex:none}

/* Checkbox / radio custom */
.check{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:var(--text)}
.check input{position:absolute;opacity:0;width:0;height:0}
.check__box{
  width:20px;height:20px;border:1.4px solid var(--line-strong);border-radius:3px;
  display:grid;place-content:center;flex:none;transition:.18s;background:#fff;
}
.check__box svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.4;opacity:0;transition:opacity .15s}
.check input:checked + .check__box{background:var(--teal-deep);border-color:var(--teal-deep)}
.check input:checked + .check__box svg{opacity:1}
.check input:focus-visible + .check__box{outline:2px solid var(--teal-deep);outline-offset:2px}

/* Paradas adicionales */
.stop-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:10px}
.stop-row .input-group{flex:1;margin:0}

/* ---------- 15. FORMULARIOS ---------- */
.form-grid{display:grid;grid-template-columns:1fr;gap:18px}
.input-group{display:flex;flex-direction:column;gap:6px}
/* Etiquetas más discretas: la referencia visual la da el campo, no su
   rótulo. Peso 500 en vez de 600 y un punto menos de cuerpo. */
.input-group label,.label{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
/* Campos más compactos: 50px era la altura del sistema para formularios
   sueltos; en una columna de seis seguidos el paso se veía dilatado. */
.input,.select,textarea.input{
  width:100%;height:44px;padding:0 13px;background:#fff;
  border:1px solid var(--line-strong);border-radius:var(--r-sm);
  font-size:14.5px;color:var(--ink);transition:border-color .18s,box-shadow .18s;
}
textarea.input{height:auto;min-height:84px;padding:11px 13px;line-height:1.55;resize:vertical}
.input::placeholder{color:#767676}
/* Foco en el teal de marca, no en negro. El anterior sumaba borde negro
   MÁS un halo negro de 1px, y al escribir parecía que el campo estuviera
   en error en vez de activo. */
.input:focus,.select:focus,textarea.input:focus{
  outline:none;
  border-color:var(--teal-deep);
  box-shadow:0 0 0 1px var(--teal-deep);
}
.input:disabled{background:var(--surface-2);color:var(--faint);cursor:not-allowed}

/* Detalles de vuelo (checkout): agrupa el/los número(s) de vuelo bajo un
   encabezado propio, separados del resto del formulario por una línea fina,
   para que se lean como un bloque operativo y no como dos campos sueltos.
   Los inputs reutilizan .input, así que heredan el foco negro sin outline
   azul del navegador. */
.flight-details{display:flex;flex-direction:column;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.flight-details[hidden]{display:none}
.flight-details__title{
  margin:0;font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);
}
.flight-details .input-group[hidden]{display:none}
.select{
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px;
  padding-right:38px;
}
.hint{font-size:12px;color:var(--muted)}
.error-text{font-size:12px;color:var(--bad);display:none}
.input-group.has-error .input,.input-group.has-error .select{border-color:var(--bad)}
.input-group.has-error .error-text{display:block}
.phone-group{display:grid;grid-template-columns:118px 1fr;gap:8px}
/* Ya no hay rejilla de dos columnas: el bloque contiene un único hijo, el
   contenedor donde se monta el Checkout de Culqi. Las dos columnas eran
   para los campos propios de tarjeta (vencimiento | CVV) que el widget
   ahora dibuja por su cuenta, dentro de su iframe. */
.card-fields{display:block}

/* ---------- Contenedor del Checkout de Culqi ----------
   La altura va aquí y no en el HTML porque cambia con el viewport: el
   componente apila los campos en móvil y necesita más alto.

   Hay que fijarla sí o sí: el iframe que inyecta el SDK viene con
   height:100%, así que sin una altura resoluble en el padre el navegador
   cae a los 150px por defecto de un iframe y el formulario sale recortado
   con scroll propio. No se puede calcular sola —el iframe es de otro
   origen y Culqi no publica su alto por postMessage (comprobado)—, así
   que el valor es empírico, medido con el formulario completo desplegado
   y con holgura para que quepa un mensaje de error del banco sin que
   aparezca barra de desplazamiento interna. */
/* Altura con holgura DELIBERADA. El iframe es de otro origen y Culqi no
   publica su alto por postMessage (comprobado), así que no hay forma de
   ajustarlo al contenido: hay que fijarlo a ojo.

   Ante la duda se peca de alto. Un sobrante se ve como espacio en blanco
   dentro de una tarjeta que ya es blanca —apenas se nota—, mientras que
   quedarse corto recorta el botón de pagar y deja al cliente sin poder
   comprar. Pasó: con 460px en móvil la pasarela salía incompleta en
   teléfonos reales, donde el componente crece más que en el emulador
   (tipografías del sistema, campos que se apilan, mensajes del banco). */
#culqi-container{height:560px}

/* La versión móvil va en su propio media query. Antes esta regla estaba
   suelta en el nivel raíz —creyendo que caía dentro del bloque de arriba—
   y como venía después, le ganaba a la de escritorio por orden de
   cascada: el contenedor medía el alto de móvil también en pantallas
   grandes, dejando un pozo de espacio en blanco bajo el formulario. */
@media (max-width:899.98px){
  #culqi-container{height:720px}
}

/* ---------- Marca de la tarjeta (detección en vivo) ----------
   Ocupa el hueco del icono dentro del campo del número. Empieza como una
   tarjeta genérica dibujada y pasa a la sigla de la red en cuanto los
   primeros dígitos la identifican. Texto y no logotipos de terceros: esta
   página captura datos de tarjeta y no debe cargar recursos externos. */
.marca-tarjeta{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:flex-end;
  min-width:42px;height:18px;pointer-events:none;
  transition:color .15s ease;
}
.marca-tarjeta--activa{
  font-size:10px;font-weight:800;letter-spacing:.06em;
  color:var(--faint);font-variant-numeric:tabular-nums;
}
/* Cada red en su color, apagado para no romper el monocromo del sitio. */
.marca-tarjeta--visa{color:#1A1F71}
.marca-tarjeta--mc{color:#B34A00}
.marca-tarjeta--amex{color:#0F5FA6}
.marca-tarjeta--diners{color:#5A6470}

/* ============================================================
   CHECKOUT — PASO DE PAGO (refinado)

   Los ajustes van ACOTADOS a .card-fields y no a .input global: ese
   componente se usa un centenar de veces entre el checkout y el panel de
   operaciones, y afinarlo para el pago habría reestilizado formularios
   que nadie pidió tocar.
   ============================================================ */

/* Más aire entre campos: el formulario de tarjeta es el momento de mayor
   fricción del checkout y agradece respirar. */

/* Inputs más finos. 50px era la altura del sistema para formularios
   largos; en el pago, con cuatro campos, se veía pesado. 44px mantiene
   el objetivo táctil cómodo en móvil sin el aspecto "chunky". */
.card-fields .input{
  height:44px;padding:0 13px;
  font-size:14.5px;
  /* Borde más claro (--line en vez de --line-strong): el contorno deja
     de competir con el contenido. */
  border-color:var(--line);
}

/* Foco en el teal corporativo (#007A85, el mismo del panel y del hero).
   Un anillo de 1px en vez de la sombra negra del sistema: marca dónde
   estás sin gritar. */
.card-fields .input:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 1px var(--teal);
}
/* El error manda sobre el foco: si el número está mal, se ve. */
.card-fields .input-group.has-error .input,
.card-fields .input-group.has-error .input:focus{
  border-color:var(--bad);box-shadow:0 0 0 1px var(--bad);
}

/* Etiquetas más pequeñas y discretas. */
.card-fields .input-group label{
  font-size:10px;font-weight:500;letter-spacing:.16em;
  color:var(--faint);margin-bottom:7px;
}

/* ---------- Garantía al pie del formulario ----------
   Sustituye a la fila de logos y al recuadro verde: una línea, sin fondo
   ni borde, en el gris más apagado del sistema. */
.nota-cifrado{
  display:flex;align-items:center;gap:6px;
  margin:14px 0 0;font-size:11px;line-height:1.4;color:var(--faint);
  /* Sin justificar. La regla global justifica todo <p>, y en un texto de
     dos líneas cortas eso abre huecos enormes entre palabras ("Pagos
     procesados   de   forma   segura   con"). Aquí es una nota al pie,
     no un párrafo de lectura. */
  text-align:left;
}
.nota-cifrado svg{
  flex:none;width:13px;height:13px;
  stroke:var(--faint);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}

/* Aviso de pago seguro: quedó del modal alojado de Culqi, que ya no se
   usa. La regla se conserva porque .pago-seguro sigue dando estilo a
   otros avisos del sistema. */
.pago-seguro{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;border-radius:var(--r-md);
  background:var(--ok-bg);border:1px solid rgba(27,127,75,.22);
}
.pago-seguro svg{
  flex:none;width:20px;height:20px;margin-top:1px;
  stroke:var(--ok);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}
.pago-seguro strong{display:block;font-size:14px;font-weight:600;color:var(--ok);margin-bottom:3px}
.pago-seguro p{margin:0;font-size:13px;line-height:1.5;color:var(--text)}

/* Aviso de mantenimiento de pagos (reservar.html). Usa los tokens de
   aviso del sistema, no un amarillo suelto: es una advertencia, no un
   error — la reserva sigue adelante. */
.pago-mantenimiento{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;border-radius:var(--r-md);
  background:var(--warn-bg);border:1px solid rgba(138,97,0,.22);
}
.pago-mantenimiento svg{
  flex:none;width:20px;height:20px;margin-top:1px;
  stroke:var(--warn);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}
.pago-mantenimiento strong{display:block;font-size:14px;font-weight:600;color:var(--warn);margin-bottom:3px}
.pago-mantenimiento p{margin:0;font-size:13px;line-height:1.5;color:var(--text)}
.input-with-icon{position:relative}
.input-with-icon .input{padding-right:44px}
.input-with-icon__icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:20px;height:14px;stroke:var(--faint);fill:none;stroke-width:1.3}

/* ---------- 16. RESUMEN / ASIDE ---------- */
.summary{position:relative}
.summary__card{border-radius:16px;box-shadow:var(--shadow-card);padding:16px}
.pill--ink,.pill--blue{
  display:inline-flex;align-items:center;padding:5px 12px;border-radius:100px;
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;
}
.pill--ink{background:var(--ink)}
.pill--blue{background:var(--accent-blue)}
.login-banner__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.login-banner__row p{font-size:14.5px;font-weight:600;color:var(--ink);margin:0}
.login-banner__close{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex:none;
  border:0;background:transparent;cursor:pointer;color:var(--muted);
}
.login-banner__close svg{width:15px;height:15px;stroke:var(--muted);fill:none;stroke-width:1.8}
.login-banner__close:hover{background:var(--surface-2)}

/* Inicio de sesión social: hoy se muestran Google y Facebook, en fila y
   simétricos (flex:1 1 0, así que se reparten el ancho sean dos o tres).
   El orden lo fija el HTML — el CSS solo define tamaño y color, nunca
   reordena con flex/order. Los estilos de Apple se conservan por si se
   vuelve a ofrecer ese proveedor. */
.login-banner__social{display:flex;flex-direction:row;gap:12px;margin-top:2px}
.login-social-btn{
  flex:1 1 0;display:flex;align-items:center;justify-content:center;height:52px;
  border-radius:14px;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.login-social-btn svg{width:22px;height:22px;flex:none}
.login-social-btn:active{transform:scale(.96)}
.login-social-btn--google{background:#fff;border-color:var(--line-strong);box-shadow:0 1px 3px rgba(16,24,40,.08)}
.login-social-btn--google:hover{box-shadow:var(--shadow-pop)}
.login-social-btn--apple{background:#000}
.login-social-btn--apple:hover{background:#1a1a1a}
.login-social-btn--facebook{background:#1877F2}
.login-social-btn--facebook:hover{background:#166FE0}
.login-banner__divider{
  display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--muted);
  margin:14px 0 10px;
}
.login-banner__divider::before,.login-banner__divider::after{content:"";flex:1;height:1px;background:var(--line)}
.summary__collapse-btn{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex:none;
  border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform .2s;
}
.summary__collapse-btn svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:1.8}
/* Pasado el paso 1 ("Elige tu vehículo"), pax/maletas queda fijo: el botón
   sigue visible para que el cliente vea lo que eligió, pero sin interacción
   posible (ni clic, ni foco, ni teclado). */
.summary__collapse-btn:disabled{opacity:.6;pointer-events:none;cursor:not-allowed}
.assurance-box{
  display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding:10px 12px;
  border:1px solid var(--ok);border-radius:12px;background:var(--ok-bg);
  font-size:12px;color:var(--ok);line-height:1.4;
}
.assurance-box svg{width:16px;height:16px;stroke:var(--ok);fill:none;stroke-width:1.6;flex:none;margin-top:1px}
.assurance-box--sky{border-color:#BFD9FF;background:var(--accent-blue-bg);color:var(--text)}
.assurance-box--sky svg{stroke:var(--accent-blue)}
.assurance-box--sky b{color:var(--ink)}
.summary-price-label{font-size:12.5px;font-weight:600;color:var(--ink);margin:0 0 10px}
.summary__lines{display:grid;gap:8px;font-size:13px;margin-bottom:10px}
.summary__line{display:flex;justify-content:space-between;gap:16px;color:var(--text)}
.summary__line span:last-child{font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink);white-space:nowrap}
.summary__line--muted span{color:var(--muted);font-weight:400}
.summary__total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:12px;margin-top:2px;border-top:1px solid var(--line)}
.summary__total dt{font-size:15px;font-weight:600;color:var(--ink)}
.summary__total-tax{font-weight:400;font-size:12.5px;color:var(--muted)}
.summary__total dd{margin:0;font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.summary__alt{font-size:11.5px;color:var(--muted);text-align:right;margin:2px 0 0}

/* Barra inferior móvil */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  background:var(--surface);border-top:1px solid var(--line);
  padding:12px var(--gutter);padding-bottom:calc(12px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:14px;box-shadow:0 -8px 24px -16px rgba(0,0,0,.3);
}
.mobile-bar__total{flex:1;min-width:0}
.mobile-bar__total small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mobile-bar__total b{font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.mobile-bar .btn{flex:1.3;height:50px;padding-inline:16px}
body.has-mobile-bar{padding-bottom:88px}

/* Franja de precio (activador del desglose) — componente único y
   compartido entre el Paso 2 y el Paso 3 móvil (ver #mobileBar más abajo).
   Oculta por defecto; solo se muestra en flex bajo la media query móvil. */
.price-strip{
  display:none;align-items:center;justify-content:space-between;gap:10px;width:100%;
  height:56px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--surface);text-align:left;transition:box-shadow .15s ease,border-color .15s ease;
}
.price-strip:active{box-shadow:var(--shadow-pop)}
/* Izquierda: precio destacado, con el detalle de impuestos justo debajo. */
.price-strip__price{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
.price-strip__price b{font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.price-strip__price small{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}
/* Derecha: "Cancelación gratuita" pegado al chevron, ambos al extremo. */
.price-strip__detail{display:flex;align-items:center;gap:8px;flex:none}
.price-strip__detail small{font-size:12px;font-weight:600;color:var(--ok);white-space:nowrap}
.price-strip__chevron{width:18px;height:18px;flex:none;stroke:var(--ink);fill:none;stroke-width:2;transition:transform .2s ease}
.price-strip[aria-expanded="true"] .price-strip__chevron{transform:rotate(180deg)}

/* Panel de desglose: bottom sheet independiente de la barra inferior, para
   que su posición fixed no quede sujeta al layout (columna) de #mobileBar. */
.price-sheet{
  position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;
  visibility:hidden;pointer-events:none;transition:visibility 0s linear .28s;
}
.price-sheet.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}
.price-sheet__scrim{
  position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .28s ease;
}
.price-sheet.is-open .price-sheet__scrim{opacity:1}
.price-sheet__box{
  position:relative;width:100%;max-width:560px;max-height:80vh;overflow-y:auto;
  background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-float);
  padding-bottom:env(safe-area-inset-bottom);
  transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);
}
.price-sheet.is-open .price-sheet__box{transform:translateY(0)}
.price-sheet__head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;
  border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);
}
.price-sheet__head h3{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.price-sheet__body{padding:20px}
.price-sheet__body .summary__line{padding:8px 0;border-bottom:1px solid var(--line)}
.price-sheet__body .summary__line:last-of-type{border-bottom:0}

/* Navegación entre pasos */
.step-nav{display:flex;gap:12px;margin-top:22px;flex-direction:column-reverse}
.step-nav .btn{width:100%}
/* .btn ya es flex+gap (ver "BOTONES" más arriba); solo falta el tamaño
   del ícono para los que sí llevan flecha, como los del Paso 1. */
.step-nav .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;flex:none}

/* Confirmación */
.confirm{text-align:center;padding:44px 20px}

/* Marca de éxito. Antes era un disco negro de 64px con un check grueso:
   pesaba más que el propio mensaje. Ahora es un aro fino en el teal de
   la marca — el círculo lo dibuja el borde, no un fondo sólido. */
.confirm__mark{
  width:48px;height:48px;border-radius:50%;
  background:transparent;border:1.5px solid var(--teal);
  display:grid;place-content:center;margin:0 auto 22px;
}
.confirm__mark svg{width:22px;height:22px;stroke:var(--teal);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Título menos pesado: de 700 a 500. En una pantalla de éxito el peso
   tipográfico grita; la jerarquía ya la da el tamaño. */
.confirm h2{font-size:26px;font-weight:500;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}
/* text-align:center anula el justificado global de los <p>. En un bloque
   centrado y estrecho, justificar abre huecos enormes entre palabras
   ("Hemos    enviado    el    voucher") y arruina justo la pantalla que
   debe transmitir cuidado. */
.confirm p{color:var(--faint);font-size:14.5px;line-height:1.6;margin:0 auto 8px;max-width:44ch;text-align:center}

/* Bloque del código. Fuera el borde punteado de "cupón recortable":
   fondo tenue, esquinas redondeadas y aire generoso. */
.confirm__code{
  display:inline-block;margin:26px 0 28px;padding:16px 28px;
  background:var(--surface-2);border-radius:var(--r-lg);border:1px solid var(--line);
}
.confirm__code-label{
  display:block;font-size:10px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);margin-bottom:6px;
}
.confirm__code-value{
  display:block;font-size:22px;font-weight:600;letter-spacing:.22em;
  color:var(--teal);font-variant-numeric:tabular-nums;
}

/* Botones del mismo ancho: sin esto, "Ver mis reservas" y "Volver al
   inicio" tenían anchos distintos según el texto y el bloque quedaba
   descompensado, que se nota más aún al traducir. */
.confirm__acciones{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  max-width:420px;margin:0 auto;
}
.confirm__acciones .btn{flex:1 1 190px}
@media (max-width:480px){
  .confirm__acciones .btn{flex:1 1 100%}
}

/* ============================================================
   17. DASHBOARDS
   ============================================================ */
.shell{display:grid;grid-template-columns:1fr;min-height:100vh}
.sidebar{
  background:var(--ink);color:#fff;
  padding:0 var(--gutter) 20px;
  position:sticky;top:0;z-index:40;
}
.sidebar__top{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.sidebar__nav{display:none;padding-top:8px}
.sidebar.is-open .sidebar__nav{display:block;padding-bottom:16px}
.sidebar__nav a,
.sidebar__nav button{
  width:100%;text-align:left;font-family:inherit;background:transparent;border:0;cursor:pointer;
}
.sidebar__nav a,
.sidebar__nav button{
  display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:var(--r-sm);
  font-size:14px;font-weight:500;color:rgba(255,255,255,.66);transition:.18s;
}
.sidebar__nav a svg,
.sidebar__nav button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.4;flex:none}
.sidebar__nav a:hover,
.sidebar__nav button:hover{color:#fff;background:rgba(255,255,255,.07)}
.sidebar__nav a.is-active,
.sidebar__nav button.is-active{color:var(--ink);background:#fff;font-weight:600}
.sidebar__group{font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.36);padding:18px 10px 8px}
.sidebar__foot{border-top:1px solid rgba(255,255,255,.14);margin-top:16px;padding-top:16px}
.sidebar__user{display:flex;align-items:center;gap:11px;padding:6px 10px}
.avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-content:center;font-size:12px;font-weight:700;color:#fff;flex:none;letter-spacing:.04em}
.avatar--ink{background:var(--ink);color:#fff}
.sidebar__user b{display:block;font-size:13px;font-weight:600;color:#fff}
.sidebar__user span{font-size:11.5px;color:rgba(255,255,255,.55)}

.main{padding:26px var(--gutter) 60px;min-width:0}
.main__head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px}
.kpi dt{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.kpi dd{margin:0;font-size:25px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.kpi small{display:block;margin-top:6px;font-size:11.5px;color:var(--muted)}

/* Pills / tabs de sección */
.pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-bottom:20px}
.pills::-webkit-scrollbar{display:none}
.pill{
  flex:none;padding:9px 16px;border:1px solid var(--line-strong);border-radius:100px;background:var(--surface);
  font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;transition:.18s;
}
.pill:hover{border-color:var(--ink);color:var(--ink)}
.pill[aria-selected="true"],.pill.is-active{background:var(--ink);border-color:var(--ink);color:#fff}

/* Badges de estado */
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:100px;
  font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap;
  background:var(--surface-2);color:var(--text);border:1px solid var(--line);
}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge--ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.badge--warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
/* Cobro a crédito (B2B): ni éxito ni aviso, es un estado neutro que se
   liquida al facturar. Reutiliza el azul reservado al checkout porque
   aquí también marca "seleccionado por regla de negocio", no un error. */
.badge--info{background:var(--accent-blue-bg);color:var(--accent-blue);border-color:transparent}
.badge--bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.badge--ink{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Tablas */
.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}
.table{min-width:760px;font-size:14px}
.table thead th{
  text-align:left;padding:13px 16px;background:var(--surface-2);
  font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  border-bottom:1px solid var(--line);white-space:nowrap;
}
.table td{padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:var(--bg)}
.table .cell-strong{font-weight:600;color:var(--ink)}
.table .cell-sub{display:block;font-size:12px;color:var(--muted);font-weight:400}
.table .cell-num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);white-space:nowrap}
.table .cell-actions{display:flex;gap:8px;justify-content:flex-end}
.icon-btn{
  width:34px;height:34px;border:1px solid var(--line-strong);border-radius:var(--r-sm);
  display:grid;place-content:center;transition:.18s;flex:none;
}
.icon-btn svg{width:15px;height:15px;stroke:var(--text);fill:none;stroke-width:1.5}
.icon-btn:hover{border-color:var(--ink);background:var(--ink)}
.icon-btn:hover svg{stroke:#fff}

/* Toolbar de filtros */
.toolbar{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px}
.search{position:relative}
.search .input{padding-left:42px}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--faint);fill:none;stroke-width:1.6}

/* Lista de reservas (portal cliente) */
.booking-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:14px}
.booking-card__head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.booking-card__code{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink)}
.booking-card__body{padding:18px}
.booking-card__route{display:grid;gap:9px;margin-bottom:16px}
.booking-card__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding-top:16px;border-top:1px solid var(--line)}
.meta-item dt{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.meta-item dd{margin:0;font-size:14px;font-weight:500;color:var(--ink)}
.booking-card__actions{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px;border-top:1px solid var(--line)}

/* Estado vacío */
.empty{text-align:center;padding:52px 20px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface)}
.empty svg{width:34px;height:34px;stroke:var(--line-strong);fill:none;stroke-width:1.2;margin:0 auto 16px}
.empty h3{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 8px;letter-spacing:-.02em}
.empty p{font-size:14px;color:var(--muted);margin:0 auto 20px;max-width:38ch}

/* Login */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr;align-items:center}
.auth__panel{padding:40px var(--gutter) 60px}
.auth__box{width:100%;max-width:400px;margin-inline:auto}
.auth__box h1{font-size:27px;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin:0 0 8px}
.auth__box .lead{margin-bottom:28px}
.auth__side{display:none}

/* Modal */
.modal{position:fixed;inset:0;z-index:80;display:none;align-items:flex-end;justify-content:center}
.modal.is-open{display:flex}
.modal__scrim{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.modal__box{
  position:relative;background:var(--surface);width:100%;max-width:560px;max-height:88vh;overflow-y:auto;
  border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-float);
}
.modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
.modal__head h2{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.modal__body{padding:20px}
.modal__foot{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--line);background:var(--surface-2);position:sticky;bottom:0}
.modal__foot .btn{flex:1}

/* Calendario de edición de fecha/hora */
/* El calendario del modal pasa a dos columnas en el MISMO corte que usa
   esMobile() en reservar.html (768px), no en 600px como antes: si el CSS
   se adelantaba al JS, entre 600 y 768px el único mes que renderiza el JS
   quedaba metido en una rejilla de dos columnas, a media anchura.
   .cal-grid--single lleva doble clase a propósito, para ganarle siempre a
   la regla de dos columnas independientemente del orden en el archivo:
   cuando el JS decide "un mes", el CSS no puede contradecirlo. */
.cal-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media (min-width:768px){
  .cal-grid{grid-template-columns:1fr 1fr}
}
.cal-grid.cal-grid--single{grid-template-columns:1fr}
.cal-month__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-month__head h3{font-size:15px;font-weight:600;color:var(--ink);margin:0}
.cal-nav{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none;
  border:1px solid var(--line);background:var(--surface);cursor:pointer;
}
.cal-nav svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:2}
.cal-nav[hidden]{visibility:hidden}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.cal-weekdays span{text-align:center;font-size:11px;font-weight:600;color:var(--muted);text-transform:lowercase;padding-bottom:4px}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-day{
  aspect-ratio:1;display:grid;place-items:center;border:0;background:none;
  font-size:13.5px;color:var(--ink);border-radius:50%;cursor:pointer;font-variant-numeric:tabular-nums;
}
.cal-day:hover:not(:disabled){background:var(--surface-2)}
.cal-day:disabled{color:var(--faint);cursor:not-allowed}
.cal-day.is-empty{visibility:hidden;cursor:default}
.cal-day.is-selected{background:var(--ink);color:#fff;font-weight:700}
.cal-day.is-in-range{background:var(--surface-2)}
.cal-fields{display:flex;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);flex-wrap:wrap}
.cal-field{flex:1;min-width:140px;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px;display:flex;align-items:center;cursor:default;transition:box-shadow .15s}
.cal-field[hidden]{display:none}
.cal-field > div{width:100%}
.cal-field label{display:block;font-size:10.5px;font-weight:600;color:var(--muted);margin-bottom:2px}
.cal-field p{margin:0;font-size:13.5px;font-weight:600;color:var(--ink)}
.cal-field select{border:0;padding:0;font-size:13.5px;font-weight:600;color:var(--ink);background:none;width:100%}
.cal-field--back{cursor:pointer;margin-left:2px;position:relative}
.cal-field--back::before{content:"";position:absolute;left:-7px;top:8px;bottom:8px;width:1px;background:var(--line)}
.cal-field.is-active-target{box-shadow:0 0 0 2px var(--ink) inset;border-color:transparent}

/* Botón "Hecho": fijo al fondo del modal de edición (ida y vuelta) */
.cal-done-bar{margin-top:14px;padding-top:2px}
.cal-done-btn{
  display:block;width:100%;border:0;border-radius:100px;background:var(--ink);
  color:#fff;font-size:15px;font-weight:600;padding:14px 0;cursor:pointer;
  box-shadow:0 12px 28px -10px rgba(0,0,0,.4);transition:background .15s;
}
.cal-done-btn:hover{background:#222222}

/* Modal de calendario: sin cabecera, compacto */
.cal-box{padding-top:8px}
.cal-close{position:absolute;top:10px;right:10px;z-index:1}
/* En móvil la "X" se oculta para ganar espacio en la cabecera del modal.
   La regla vive aquí, junto a la que modifica, y no en el bloque móvil
   general (a ~1700 líneas de distancia) para que se vea de un vistazo que
   este botón tiene un comportamiento distinto por breakpoint.
   Se usa 767.98px, el mismo corte que el resto de reglas móviles del
   archivo, para que no quede una franja incoherente justo en 768px.
   En escritorio la "X" se mantiene intacta. */
@media (max-width:767.98px){
  /* Sin botones de cierre en la cabecera de NINGÚN modal de fecha/hora: ni
     la "X" del modal de edición ni la flecha "‹" del panel del buscador.
     En móvil se sale con el botón inferior de confirmación ("Hecho"), o
     tocando fuera. En escritorio ambos siguen visibles. */
  .cal-close{display:none !important}
  .when__panel.is-fullscreen .when__mhead .field__back{display:none !important}

  /* Refuerzo de "Solo ida": el JS ya marca los campos de regreso con
     [hidden] y pone .is-oneway en el modal (ver aplicarModoViaje en
     reservar.html). Esta regla los elimina además por clase, para que el
     bloque inferior no pueda reaparecer aunque otra regla gane al
     atributo [hidden]. Así en Solo ida queda un único bloque. */
  #dateModal.is-oneway .cal-field--back{display:none !important}

  /* Escala reducida del modal de fecha/hora en móvil. Solo se achican
     tamaños y espaciados: la estructura (un mes, campos de dos en dos,
     botón "Hecho") no cambia, para no tocar el diseño aprobado.
     El grueso del ahorro está en las celdas: con aspect-ratio:1 y columnas
     de ~47px cada día medía 47px de alto y seis semanas se comían ~300px. */
  .cal-box.modal__box{max-height:55vh;overflow-y:auto}
  .cal-box .modal__body{padding:14px 14px 10px}
  .cal-box .cal-month__head{margin-bottom:6px}
  .cal-box .cal-month__head h3{font-size:14px}
  .cal-box .cal-weekdays span{font-size:10.5px;padding-bottom:2px}
  .cal-box .cal-days .cal-day{
    aspect-ratio:auto;width:32px;height:32px;margin:0 auto;font-size:12.5px;
  }
  /* min-width:140px se mantiene a propósito: es lo que obliga a que los
     campos sigan de dos en dos y no se apelotonen en una sola fila. */
  .cal-box .cal-fields{margin-top:10px;padding-top:10px;gap:8px}
  .cal-box .cal-field{padding:5px 10px}
  .cal-box .cal-field label{font-size:10px}
  .cal-box .cal-field p{font-size:12.5px}
  /* "Hecho" pegado al fondo del modal (que es el contenedor con scroll):
     al capar la altura a 55vh el contenido de ida y vuelta no entra entero,
     y como en móvil ya no hay "X", este botón es la única salida explícita.
     Sticky garantiza que esté siempre a la vista sin tener que descubrir
     que hay que desplazarse dentro del modal. */
  .cal-box .cal-done-bar{
    position:sticky;bottom:0;z-index:2;margin-top:8px;
    padding:8px 0 calc(2px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(255,255,255,0) 0%,var(--surface) 30%);
  }
  .cal-box .cal-done-btn{padding:11px 0;font-size:14.5px}
}
.cal-box .modal__body{padding:22px 18px 14px}
.cal-box .modal__foot{padding:12px 18px}

/* Bloqueo por rol (js/route-guard.js). Mientras se resuelve la sesión el
   body lleva .sw-guard-pending para que no parpadee el contenido de un
   portal al que quizá no se tiene acceso. */
body.sw-guard-pending #authView,
body.sw-guard-pending #portalView{visibility:hidden}

/* Inicio de sesión con Google (mi-cuenta.html). El botón lo dibuja el
   iframe de GIS y no acepta CSS nuestro, así que aquí solo se centra y se
   le da aire; el aspecto se controla con los data-* del HTML. */
.gsi-wrap{margin-top:20px}
.gsi-wrap[hidden]{display:none}
.gsi-divider{
  display:flex;align-items:center;gap:10px;margin:0 0 14px;
  font-size:11.5px;color:var(--muted);
}
.gsi-divider::before,.gsi-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.gsi-wrap .g_id_signin{display:flex;justify-content:center}

/* Aviso legal bajo el botón de Google. Con SSO la cuenta nace en el mismo
   clic que autentica, así que no hay formulario que bloquear con una
   casilla: se informa antes de la acción, junto al botón que la dispara.
   Tamaño de letra pequeño y color apagado a propósito —es un aviso, no una
   llamada a la acción— pero los enlaces se subrayan para que se vean. */
.gsi-legal{
  margin:10px 0 0;
  font-size:11.5px;line-height:1.5;
  color:var(--muted);text-align:center;text-wrap:pretty;
}
.gsi-legal a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.gsi-legal a:hover{color:var(--ink)}

.gsi-welcome{
  display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);
}
.gsi-welcome[hidden]{display:none}
.gsi-welcome__avatar{width:44px;height:44px;border-radius:50%;flex:none;object-fit:cover}
.gsi-welcome__texto{min-width:0;flex:1}
.gsi-welcome__saludo{
  margin:0;font-size:15px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gsi-welcome__mail{
  margin:2px 0 0;font-size:12.5px;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gsi-welcome__salir{flex:none;font-size:12.5px;background:none;border:0;cursor:pointer}

/* Editor CMS */
.cms-row{padding:20px 0;border-bottom:1px solid var(--line)}
.cms-row:last-child{border-bottom:0}
.cms-row__key{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.cms-preview{
  margin-top:12px;padding:16px;border-radius:var(--r-sm);
  background:var(--ink);color:#fff;
}
.cms-preview b{display:block;font-size:19px;font-weight:700;letter-spacing:-.03em;margin-bottom:6px}
.cms-preview span{font-size:13px;color:rgba(255,255,255,.7)}

/* Notificación */
.toast{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,120%);z-index:90;
  background:var(--ink);color:#fff;padding:14px 22px;border-radius:var(--r-sm);
  font-size:13.5px;font-weight:500;box-shadow:var(--shadow-float);
  transition:transform .32s cubic-bezier(.2,.7,.2,1);max-width:calc(100vw - 40px);
}
.toast.is-visible{transform:translate(-50%,0)}

/* ============================================================
   18. BREAKPOINTS
   ============================================================ */
@media (min-width:600px){
  .modal__box{max-width:700px}
  .booking__body{padding:24px 26px 26px}
  .field-row{grid-template-columns:1fr 1fr;column-gap:26px}
  .field-row .field{border-bottom:1px solid var(--line)}
  /* Cinta compacta: el alto lo marca el padding vertical del propio
     contenedor (no el de cada columna), y el separador es una línea
     corta y centrada -no un borde que ocupe todo el alto de la fila-,
     para que se lea como listón elegante y no como bloque tosco. */
  .trust__grid{flex-direction:row;align-items:center;justify-content:center;gap:0;padding:18px 0}
  .trust__item{
    flex:1;padding:0 24px;position:relative;
  }
  .trust__item::after{
    content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);
    width:1px;height:26px;background:var(--line);
  }
  .trust__item:last-child::after{content:none}
  .cards{grid-template-columns:repeat(2,1fr)}
  .dest-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .how-grid{grid-template-columns:repeat(2,1fr);gap:26px}
  .aff-profiles{grid-template-columns:repeat(2,1fr)}
  .manifesto__pillars{grid-template-columns:repeat(3,1fr)}
  .manifesto__grid{gap:34px}
  .tiers{grid-template-columns:repeat(3,1fr)}
  .tools{grid-template-columns:repeat(2,1fr)}
  .aff-stats{grid-template-columns:repeat(4,1fr)}
  .dest-strip{grid-template-columns:repeat(2,1fr)}
  .media-row{grid-template-columns:104px 1fr auto;gap:18px;align-items:center}
  .review-grid{grid-template-columns:repeat(2,1fr)}
  .fleet__track{grid-auto-columns:46%}
  .fleet__nav{display:grid}
  .hero h1 br{display:inline}
  .hero__bg{background-position:72% center}
  .hero__veil{
    background:
      linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.40) 40%,rgba(0,0,0,.66) 100%),
      linear-gradient(96deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.74) 32%,rgba(0,0,0,.34) 60%,rgba(0,0,0,.16) 100%);
  }
  .footer__top{grid-template-columns:repeat(2,1fr);gap:30px 34px}
  .footer__col{padding-block:0;border-top:0}
  .footer__brand{padding-bottom:0}
  .footer__brand{grid-column:1/-1}
  .form-grid--2{grid-template-columns:1fr 1fr}
  .step-nav{flex-direction:row;justify-content:space-between}
  .step-nav .btn{width:auto}
  .kpis{grid-template-columns:repeat(4,1fr)}
  .toolbar{grid-template-columns:1fr 170px 170px}
  .booking-card__meta{grid-template-columns:repeat(4,1fr)}
  .modal{align-items:center}
  .modal__box{border-radius:var(--r-lg);max-height:82vh}

  /* Calendario de fecha: tarjeta blanca compacta y elegante, tamaño mediano */
  .cal-box.modal__box{
    max-width:640px;border-radius:22px;border:0;
    box-shadow:0 30px 70px -20px rgba(16,24,40,.22),0 6px 20px rgba(16,24,40,.08);
  }
  .cal-box .modal__body{padding:24px}
  .cal-box .cal-grid{gap:20px}
  .cal-box .cal-month__head{margin-bottom:8px}
  .cal-box .cal-month__head h3{font-size:13px;font-weight:600}
  .cal-box .cal-nav{width:22px;height:22px}
  .cal-box .cal-nav svg{width:11px;height:11px}
  .cal-box .cal-weekdays span{font-size:9.5px}
  .cal-box .cal-day{font-size:12px}
  .cal-box .cal-fields{gap:8px;margin-top:14px;padding-top:14px;flex-wrap:nowrap}
  .cal-box .cal-field{padding:6px 10px;min-width:0}
  .cal-box .cal-field label{font-size:9.5px}
  .cal-box .cal-field p{font-size:12.5px}
  .cal-box .cal-field select{font-size:12.5px}
  .cal-box .cal-done-bar{display:none}
}

@media (min-width:900px){
  :root{--section-y:96px;--gutter:32px;--header-h:78px}
  .hero__bg{background-position:center right}
  .hero__veil{
    background:
      linear-gradient(96deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.86) 28%,rgba(0,0,0,.52) 52%,rgba(0,0,0,.18) 74%,rgba(0,0,0,.34) 100%),
      linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.52) 100%);
  }

  /* Cabecera: navegación centrada y acceso como botón */
  .nav{display:flex;gap:22px;justify-content:center;flex:1;white-space:nowrap}
  .header__account{display:inline-flex}
  /* En escritorio manda el botón con etiqueta; el icono compacto sobra. */
  .header__user{display:none}
  .header-inner{gap:18px}

  /* Franja de confianza: columnas iguales, ya no se agrupan a la izquierda */
  .trust__grid{padding:20px 0}
  .trust__item{padding:0 32px}
  .trust__item::after{height:30px}
  .trust__icon-badge{width:48px;height:48px}
  .trust__icon{width:22px;height:22px}
  .trust__item strong{font-size:15.5px}
  .trust__medal{width:48px;height:48px}

  /* Motor de reservas en una sola fila */
  .date-row{display:contents}
  .date-row #field-when{border-right:0;padding-right:0}
  .date-row #field-return{padding-left:0}
  .searchbar{
    display:flex;flex-direction:row;align-items:stretch;border-radius:100px;padding:0;height:76px;
    border-color:var(--line);
  }
  .searchbar .field{
    flex:1 1 0;min-width:0;border-bottom:0;border-left:1px solid var(--line);
    display:flex;flex-direction:column;justify-content:center;padding:0 20px;
  }
  .searchbar .field:first-child{border-left:0;padding-left:28px}
  .searchbar .field__icon{left:20px;top:50%}
  .searchbar .field:first-child .field__icon{left:28px}
  .searchbar .field label{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0;
  }
  .searchbar .field input,
  .searchbar .field .field__button,
  .searchbar .field select{padding:0 0 0 26px}
  .searchbar .field:focus-within{border-bottom-color:var(--line)}
  .searchbar .field:focus-within::after{
    content:"";position:absolute;left:12px;right:12px;bottom:16px;height:2px;background:var(--ink);
  }
  .searchbar .field:first-child:focus-within::after{left:20px}

  /* Reparto del ancho de la barra. Origen y destino llevan el mayor peso
     porque son los que reciben direcciones largas ("Aeropuerto Internacional
     Jorge Chávez (LIM)") y se cortaban con puntos suspensivos.
     Los min-width de fecha y regreso NO son decorativos: sin ellos, el
     min-width de origen/destino les roba todo el espacio sobrante y a 900px
     colapsan a 59px y 42px, dejando la fecha ilegible. El min-width grande
     de origen/destino (220px) se reserva para >=1100px, que es donde el
     ancho de la barra da para los seis campos a la vez. */
  .searchbar #field-pickup,
  .searchbar #field-dropoff{flex:2 1 0;min-width:132px}
  .searchbar #field-when{flex:1.5 1 0;min-width:132px}
  .searchbar #field-return{flex:1 1 0;min-width:104px}

  .searchbar .swap{
    left:-17px;right:auto;top:50%;transform:translateY(-50%);z-index:8;
  }
  .searchbar .field__error{
    position:absolute;left:20px;bottom:-24px;padding:0;white-space:nowrap;
  }
  .searchbar .field.is-invalid::after{
    content:"";position:absolute;left:12px;right:12px;bottom:16px;height:2px;background:var(--bad);
  }
  .searchbar .field.is-invalid:first-child::after{left:20px}
  .searchbar .field--add{flex:1 1 0}
  .searchbar .add-return{padding:0 0 0 4px;line-height:1.25;white-space:normal}
  .searchbar .field__clear{right:12px}

  /* flex:0 0 auto (y no flex:1) a propósito: este campo se dimensiona por
     su contenido. Con un flex-basis 0 el navegador lo comprime por debajo
     de lo que miden los dos chips y vuelve a aplastar los iconos. Padding
     lateral algo menor que el resto de campos para recuperar ancho. */
  .searchbar .pax{flex:0 0 auto;min-width:auto;padding:0 14px;order:0}
  .searchbar .pax__compact{gap:10px}
  .searchbar .pax .field__button{padding-left:0;gap:12px;justify-content:flex-start}
  .searchbar .pax__summary{display:none}
  .searchbar .pax__compact{display:flex}
  #paxPanel{width:308px}

  .searchbar__go{
    flex:1 1 0;width:auto;min-width:132px;max-width:180px;
    height:60px;margin:8px 8px 8px 6px;padding:0 22px 0 24px;
  }

  .ac{min-width:300px}

  /* Panel de fecha/hora: compacto y mediano, ancho fijo independiente de la barra de búsqueda */
  .when__panel{width:600px;max-width:none;padding:16px}
  .cal-two{gap:14px}
  .cal-mini__head{margin-bottom:6px}
  .cal-mini__head h4,.cal-two__month h4{font-size:12px;margin-bottom:6px}
  .cal-mini__head .cal-nav,.cal-two .cal-nav--outer{width:22px;height:22px}
  .cal-mini__head .cal-nav svg,.cal-two .cal-nav--outer svg{width:11px;height:11px}
  .cal-mini__weekdays span{font-size:9px}
  .when__panel .cal-day{font-size:11.5px}
  .cal-two .cal-mini__days .cal-day{font-size:11.5px}
  .when__footer{
    display:flex;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);
  }
  .when__footer-box{
    flex:1;border:1px solid var(--line);border-radius:12px;padding:6px 12px;
    display:flex;flex-direction:column;gap:1px;min-width:0;
  }
  .when__footer-date{display:flex}
  .when__footer-date label,
  .when__time label{
    position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;
    padding:0;font-size:9.5px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;display:block;
  }
  .when__footer-date span{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .when__time{margin-top:0;padding-top:0;border-top:0;flex-direction:column;align-items:flex-start;gap:1px}
  .when__time select{width:100%;padding:0;border:0;border-radius:0;background:transparent;font-size:12.5px}

  /* --- "Daytrip Light": paleta clara y minimalista para los desplegables del buscador (desktop) --- */
  .ac,
  #paxPanel,
  .when__panel{
    background:#fff;border:0;border-radius:20px;
    box-shadow:0 24px 60px -16px rgba(16,24,40,.18),0 4px 16px rgba(16,24,40,.06);
  }
  #paxPanel{padding:10px 20px}

  .searchbar .field:focus-within{border-bottom-color:var(--ink)}
  .searchbar .field:focus-within::after{background:var(--ink)}
  .searchbar .field:focus-within .field__icon{stroke:var(--ink)}

  .searchbar .field__icon{stroke:#33383F}
  /* Icono al mismo tono oscuro que el número del chip, para que el par
     [icono] número se lea como una sola unidad sobre el fondo claro. */
  .searchbar .pax__compact svg{stroke:#333}

  /* Chips de pasajeros/equipaje: [icono] número, fondo claro redondeado.
     El padding horizontal da aire entre icono, número y chevron. */
  .searchbar .pax__compact span{
    background:var(--surface-2);border-radius:100px;padding:8px 12px;color:#333;
  }
  #paxPanel .stepper__ctrl button{border-color:var(--line);background:var(--surface-2);color:var(--ink)}
  #paxPanel .stepper__ctrl button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#fff}

  .searchbar__go{background:var(--ink);border-radius:100px}
  .searchbar__go:hover{background:#1c1c1c}

  .when__panel .cal-day.is-selected{background:var(--ink)}
  .when__footer-box{background:var(--surface-2);border:0;cursor:pointer;transition:box-shadow .15s}
  .when__footer-box.is-active-target{box-shadow:0 0 0 2px var(--ink) inset}

  /* Ida y vuelta: el contenedor se duplica y revela el bloque de regreso; solo ida se corta a la mitad */
  .when__panel.is-round .when__footer-date--back,
  .when__panel.is-round .when__time--back{display:flex}
  .when__footer-date--back{border-left:1px solid var(--line);padding-left:12px;margin-left:2px}

  .stops-bar{border-radius:100px;padding:0;display:flex;align-items:stretch;height:68px}
  .stops-bar .field{flex:1 1 0;border-bottom:0;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:0 20px}
  .stops-bar .field:first-of-type{border-left:0;padding-left:28px}
  .stops-bar__head{flex:0 0 auto;padding:0 26px 0 20px;border-left:1px solid var(--line)}
  .stops-bar__head p{display:none}

  .dest-grid{grid-template-columns:repeat(3,1fr)}
  .dest-top__titles h1{font-size:36px}
  .dest-body{grid-template-columns:1fr 350px;gap:48px;align-items:start}
  .dest-benefits{position:sticky;top:calc(var(--header-h) + 20px)}
  .logo__tag{display:block}
  .burger{display:none}
  .mobile-menu{display:none}
  .nav{display:flex;gap:22px;justify-content:center;flex:1;margin-left:0;white-space:nowrap}
  .nav a{font-size:13px}
  .utility{display:flex}
  .secure-note{display:flex}
  /* AIRE DEL HERO EN ESCRITORIO
     Antes: 78px reales bajo el header — el título arrancaba pegado a la
     cabecera y el bloque entero se leía como un amontonamiento.

     El respiro se mide en vh y no en un valor fijo a propósito. Con un
     pt-40 de Tailwind (160px) el buscador —que es el elemento que
     convierte— cae bajo el pliegue en portátiles de 768px de alto, que
     siguen siendo muchísimos. Con clamp():

       pantalla 768px alto -> ~107px de aire, el buscador sigue visible
       pantalla 900px alto -> ~126px
       pantalla 1080px+    -> 150px (tope)

     Así una pantalla grande respira como pediste y una pequeña no pierde
     el buscador. */
  .hero{padding-top:calc(var(--header-h) + clamp(80px, 14vh, 150px));padding-bottom:88px}
  .hero__inner{display:block}
  /* Separa el párrafo descriptivo de las pestañas: eran 34px y se leían
     como un solo bloque con el buscador. */
  .hero__copy{margin-bottom:48px;max-width:640px}
  .cards{grid-template-columns:repeat(4,1fr)}
  .svc-grid{grid-template-columns:repeat(4,1fr)}
  .how-grid{grid-template-columns:repeat(3,1fr);gap:34px}
  .manifesto__grid{grid-template-columns:45fr 55fr;gap:64px;align-items:center}
  .manifesto__photo{max-width:100%}
  .legal-layout{grid-template-columns:250px 1fr;gap:52px}
  .legal-toc{position:sticky;top:calc(var(--header-h) + 20px)}
  .claim-type{grid-template-columns:repeat(2,1fr)}
  .dest-strip{grid-template-columns:repeat(4,1fr)}
  .review-grid{grid-template-columns:repeat(3,1fr)}
  /* Cinco categorías no caben en una fila: la pista sigue siendo carrusel
     y muestra tres tarjetas por pantalla. */
  .fleet__track{grid-auto-columns:calc((100% - 2*20px) / 3);gap:20px}
  .fleet__nav--prev{left:-22px}
  .fleet__nav--next{right:-22px}
  .fleet__hint{display:none}
  .corp__inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
  .corp__lead{margin-bottom:0}
  .footer__top{grid-template-columns:1.5fr repeat(4,1fr);gap:24px}
  .footer__brand{grid-column:auto;margin-bottom:0}
  .footer__col a,.footer__col span{font-size:13px}

  .checkout{padding-block:36px 60px}
  .split{flex-direction:row;justify-content:space-between;gap:80px}
  .split > #stage{flex:1;min-width:0}
  .split > .summary{flex:0 0 350px}
  .summary{position:sticky;top:calc(var(--header-h) + 24px)}
  .mobile-bar{display:none}
  body.has-mobile-bar{padding-bottom:0}
  .panel{padding:26px 24px}

  .shell{grid-template-columns:262px 1fr}
  .sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
  .sidebar__nav{display:block !important;flex:1}
  .sidebar__toggle{display:none}
  .main{padding:36px 32px 70px}
  .auth{grid-template-columns:1fr 1fr}
  .auth__side{display:block;height:100vh;background:linear-gradient(160deg,#0A0A0A,#1D1D1D 60%,#050505);position:relative;overflow:hidden}
  .auth__panel{padding:40px}
}

/* Franja de confianza en móvil: solo se muestra el "Badge of Excellence"
   para aprovechar el espacio; las otras dos garantías y cualquier
   separador quedan ocultos. Va después de los bloques min-width:600px/
   900px para ganarles la cascada en el rango compartido (600–767.98px).
   A partir de 768px (fuera de este media query) las tres columnas y sus
   separadores se muestran con normalidad, sin cambios. */
@media (max-width:767.98px){
  .trust__item:first-child,
  .trust__item:last-child{display:none}
  .trust__grid{justify-content:center}
  .trust__item::after{content:none}

  /* Bento de destino en móvil: las 4 celdas no caben en una cuadrícula
     2×4, así que se apilan a pantalla completa en columna única. */
  .dest-gallery{grid-template-columns:1fr;grid-template-rows:none;height:auto;gap:10px}
  .dest-gallery__cell{grid-column:1/-1 !important;grid-row:auto !important;aspect-ratio:4/3}

  /* El buscador y la insignia deben sentirse conectados: se recorta el
     colchón que dejaba el hero debajo de la nota de confianza y el que
     abría la propia franja antes/después del badge, a ~24px reales en
     vez de los ~80px que sumaban ambos paddings por separado. */
  .hero{padding-bottom:12px}
  .trust__grid{padding:12px 20px}
  .trust__medal{width:44px;height:44px}
}

@media (min-width:1100px){
  /* El titular del hero cambia con la pestaña (aeropuerto / interprovincial
     / por horas) y con el idioma: nueve combinaciones. A 56px sobre una
     columna de 640px, la primera línea no cabía en ninguna y se partía en
     dos, dejando el titular en cuatro líneas.

     Se corrige con ancho, no con <br>: un salto fijo serviría para un
     texto y rompería los otros ocho. Medido el ancho natural de las nueve
     variantes, la más larga ("Traslados Interprovinciales Premium.") pide
     940px a 56px, que se saldría de la zona oscura del velo.

     El bloque se achicó más de lo que este cálculo pedía en un principio
     (880px a 52px) porque a ese ancho el texto llegaba a rozar el
     encuadre del sujeto de la foto en pantallas de portátil típicas
     (1280–1440px), donde .wrap todavía no toca su tope de 1240px y el
     margen sobrante junto al retrato se queda en apenas ~190px. En vez de
     angostar la caja por debajo de lo que la variante más larga necesita
     —lo que la partiría en dos líneas y contradiría la propia frase que
     se pide mantener entera en la línea 1—, se bajó el CUERPO a 46px: la
     más larga solo pide 774px a ese tamaño, así que 800px de caja deja
     margen real y las nueve siguen cabiendo en una sola línea. El titular
     sigue en tres líneas: nombre del servicio, "con servicio" y
     "Meet & Greet." —este último ya agrupado por .nowrap—.

     Importa que quepan TODAS y no solo la de aeropuerto:
     reservarAlturaHero() fija como min-height la altura de la variante más
     alta, así que con una sola en cuatro líneas las otras arrastrarían un
     hueco muerto debajo. */
  .hero h1{font-size:46px;max-width:800px}
  .hero__copy{max-width:800px}
  .split > .summary{flex:0 0 378px}
  .nav{gap:30px}
  .nav a{font-size:13.5px}
  .footer__top{grid-template-columns:1.8fr repeat(4,1fr);gap:34px}
  .footer__bottom{flex-direction:row;justify-content:space-between;text-align:left;gap:26px}
  .trust-badges{justify-content:flex-start}

  /* A partir de 1100px la barra ya tiene ancho de sobra para darle a origen
     y destino los 220px completos sin comprimir fecha/regreso. Entre 900 y
     1099px se quedan en 150px (ver bloque min-width:900px). */
  .searchbar #field-pickup,
  .searchbar #field-dropoff{min-width:220px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}

@media print{
  .site-header,.app-header,.sidebar,.mobile-bar,.step-nav,.btn{display:none !important}
  body{background:#fff}
}

/* ============================================================
   FLOTA — ENCUADRE AUTOMÁTICO POR DISPOSITIVO
   ------------------------------------------------------------
   Objetivo: al llegar desde el menú (#flota), que quepan en pantalla
   título + foto + capacidad + controles, sin scroll extra y sin que la
   cabecera fija tape nada.

   Medido ANTES de estos ajustes (alto de la sección vs. viewport):
     · Móvil    375x812  → 837px (103%) — el CTA quedaba fuera
     · Tablet  1024x768  → 877px (114%) — dots y CTA fuera
     · Escritorio 1440x900 → 904px (100%) — el CTA quedaba fuera
   El culpable principal era el padding vertical de sección (64px en
   móvil, 96px arriba y abajo desde 900px), no el contenido.
   ============================================================ */

/* ---- Global: controles legibles y pegados al vehículo ---- */
/* Los puntos suben junto al carrusel en vez de flotar sueltos abajo, y
   ganan contraste para que se lean como control y no como decoración. */
.fleet__dots{margin-top:12px}
.fleet__dots button{background:var(--line-strong);opacity:.55}
.fleet__dots button[aria-selected="true"]{opacity:1}
/* Las flechas ya son círculos blancos con sombra; se les sube el borde y
   el grosor del trazo para que destaquen sobre la foto clara del coche. */
.fleet__nav{border-color:var(--ink);background:#fff}
.fleet__nav svg{stroke-width:2}

/* ---- MÓVIL (<=767px) ---- */
@media (max-width:767.98px){
  /* Antes había aquí un scroll-margin-top:-22px que recortaba la holgura
     de #flota a 10px bajo la cabecera, para recuperar alto de carrusel en
     móviles bajos. Se retira: dejaba esta sección con una holgura
     distinta a la de las otras cuatro anclas del menú (32px), y al saltar
     desde el menú se notaba que quedaba más pegada al header.

     El coste son esos 22px de alto útil para el carrusel. Si en un móvil
     bajo el vehículo queda apretado, devolver este valor es una línea. */

  .fleet{padding-block:26px}
  .fleet .section-head{margin-bottom:20px}
  /* Tope de la foto para que nunca se coma la pantalla en móviles bajos */
  .fleet .vehicle__figure{max-height:25vh}
  .fleet .vehicle__body{padding:14px 16px 16px}
  /* Efecto "peek": 85vw deja asomar ~15% del siguiente vehículo */
  .fleet__track{grid-auto-columns:85vw;padding-bottom:12px}
  .fleet__cta{margin-top:18px}
}

/* ---- TABLET (768px a 1024px) ---- */
@media (min-width:768px) and (max-width:1024px){
  /* Objetivo: cabecera + 15px. El global de html es cabecera + 16px, así
     que el delta es -1px, constante: sirve igual con la cabecera de 68px
     (768-899px) que con la de 78px (>=900px). No se puede escribir el
     valor absoluto porque scroll-padding y scroll-margin SE SUMAN. */
  #flota{scroll-margin-top:-1px}

  /* El apaisado de tablet (1024x768) es el caso con menos alto libre:
     el padding de 96px arriba y abajo por sí solo se comía 192px. */
  .fleet{padding-block:28px}
  .fleet .section-head{margin-bottom:18px}
  .fleet .sub-section{display:none}
  /* Dos vehículos a la vez, con las flechas laterales bien visibles */
  .fleet__track{grid-auto-columns:calc((100% - 20px) / 2);gap:20px;padding-bottom:12px}
  .fleet .vehicle__figure{max-height:26vh}
  .fleet .vehicle__body{padding:14px 16px 16px}
  .fleet__cta{margin-top:18px}
}

/* ---- ESCRITORIO (>=1025px) ---- */
@media (min-width:1025px){
  /* Respiro premium: 94px del global + 14 = cabecera (78) + 30px. */
  #flota{scroll-margin-top:14px}

  .fleet{padding-block:34px}
  .fleet .section-head{margin-bottom:22px}
  /* La sección entera cabe de un vistazo. El tope de la foto va en vh (no
     en px) a propósito: es lo que hace que la tarjeta encoja en pantallas
     bajas —un portátil de 1280x720— y el bloque siga por debajo de 85vh.
     Con una altura fija, la tarjeta no reacciona al alto del viewport. */
  .fleet .vehicle__figure{max-height:30vh}
  .fleet__cta{margin-top:22px}
}

/* ---- ESCRITORIO BAJO (portátiles de 720-800px de alto) ----
   El ancho no es el problema aquí, el ALTO sí. Se sigue comprimiendo lo
   secundario (subtítulo de la sección, foto más baja) para dejarle sitio
   a la descripción del vehículo, que ahora se conserva siempre — a
   propósito ya NO se oculta, aunque eso implique que la sección pueda
   necesitar un pequeño scroll en vez de caber 100% en pantalla; mostrar
   la descripción se priorizó sobre el ajuste perfecto a 85vh. */
@media (min-width:1025px) and (max-height:800px){
  .fleet{padding-block:26px}
  .fleet .section-head{margin-bottom:16px}
  .fleet .sub-section{display:none}
  .fleet .vehicle__figure{max-height:24vh}
  .fleet .vehicle__body{padding:14px 18px 16px}
  .fleet__cta{margin-top:14px}
}


/* ============================================================
   PANTALLA DE ACCESO (portal de clientes)
   Una sola acción en pantalla: continuar con Google. El bloque se
   reparte en tres alturas — barra superior, héroe centrado y aviso
   legal al pie — con el héroe absorbiendo el espacio sobrante, que es
   lo que mantiene el botón ópticamente centrado en cualquier pantalla.
   ============================================================ */
.auth__panel--hero{padding-bottom:28px}
.auth__box--hero{
  display:flex;
  flex-direction:column;
  min-height:calc(100vh - 68px);
  min-height:calc(100dvh - 68px);
}

/* Barra superior: volver | marca | idioma. Las columnas laterales usan
   la misma anchura mínima para que la marca quede centrada de verdad y
   no desplazada por el ancho del selector de idioma. */
.auth__top{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.auth__marca{justify-self:center;margin:0}
.auth__top .lang-switch{justify-self:end;margin:0}

.auth__back{
  display:grid;place-items:center;
  width:44px;height:44px;          /* objetivo táctil completo */
  margin-left:-10px;               /* alinea el icono, no su caja, con el margen */
  border-radius:50%;
  color:var(--ink);
  transition:background .18s ease;
}
.auth__back svg{
  width:22px;height:22px;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}
.auth__back:hover{background:rgba(0,0,0,.05)}
.auth__back:focus-visible{outline:2px solid var(--teal-deep);outline-offset:2px}

/* Héroe: absorbe el espacio libre y queda centrado entre barra y pie. */
.auth__hero{
  margin:auto 0;
  padding:32px 0;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.auth__box--hero h1{
  font-size:34px;
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1.1;
  color:var(--ink);
  margin:0 0 12px;
}
.auth__sub{
  font-size:15px;
  line-height:1.55;
  color:var(--muted);
  text-align:center;   /* una regla global justifica los <p>: aquí estorba */
  margin:0 0 34px;
  max-width:32ch;
  text-wrap:balance;
}
/* El botón lo dibuja Google en un iframe cuyo ancho fija
   js/google-signin.js; aquí solo se limita el contenedor. */
.auth__hero .gsi-wrap{margin-top:0;width:100%;max-width:340px}

.auth__legal{
  margin:0;
  padding-top:24px;
  font-size:11.5px;
  line-height:1.6;
  color:var(--faint);
  text-align:center;
}
.auth__legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.auth__legal a:hover{color:var(--ink)}

@media (min-width:900px){
  .auth__box--hero{min-height:calc(100vh - 68px);min-height:calc(100dvh - 68px)}
  .auth__box--hero h1{font-size:38px}
}

/* El selector de idioma nace pensado para cabecera oscura (texto y
   flecha blancos). Sobre fondo claro se usa junto a .utility--ink, pero
   la regla que lo oscurecía era descendiente (.utility--ink .lang-switch)
   y en las pantallas de acceso ambas clases viven en el MISMO elemento,
   así que nunca llegaba a aplicarse: el selector quedaba blanco sobre
   blanco, invisible, en /mi-cuenta y /portal-corporativo. */
.lang-switch.utility--ink{
  color:var(--faint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9A9A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.lang-switch.utility--ink:focus-visible{outline-color:var(--teal-deep)}

/* ============================================================
   MENÚ LATERAL DEL PORTAL (sesión activa)
   Jerarquía en un solo tono: plata para lo inactivo, blanco puro para
   lo activo y para el hover. El color se reserva a dos excepciones —
   la acción principal y la salida — para que destaquen sin recurrir a
   un acento cromático que el sistema no tiene.
   ============================================================ */

/* 1. Con el panel desplegado la hamburguesa se convierte en X. El menú
      principal ya hacía esto con body.menu-open; aquí el estado vive en
      .sidebar.is-open, así que necesita sus propias reglas. */
.sidebar.is-open .sidebar__toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.sidebar.is-open .sidebar__toggle span:nth-child(2){opacity:0}
.sidebar.is-open .sidebar__toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* 2. Inactivos en plata, con el icono al mismo tono (hereda currentColor). */
.sidebar__nav a,
.sidebar__nav button{color:#A0AEC0;position:relative}
.sidebar__nav a:hover,
.sidebar__nav button:hover{color:#fff;background:rgba(255,255,255,.07)}

/* 3. Activo: sin bloque blanco. Fondo apenas perceptible, texto en
      blanco puro y una barra lateral que marca la posición. La barra es
      blanca porque el sistema es monocromo: --gold está reservado a las
      calificaciones y --accent-blue a insignias informativas (el checkout
      va en --teal-deep). */
.sidebar__nav a.is-active,
.sidebar__nav button.is-active{
  color:#fff;
  background:rgba(255,255,255,.05);
  font-weight:600;
}
.sidebar__nav a.is-active::before,
.sidebar__nav button.is-active::before{
  content:"";
  position:absolute;left:0;top:8px;bottom:8px;
  width:2px;border-radius:2px;background:#fff;
}

/* 4. "Nueva reserva": única acción de creación del panel, así que deja
      de ser un enlace de texto y pasa a botón fantasma. */
.sidebar__nav a.sidebar__cta{
  justify-content:center;
  margin:4px 0 2px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:var(--r-sm);
  color:#fff;
  font-weight:600;
  letter-spacing:.01em;
}
.sidebar__nav a.sidebar__cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.sidebar__nav a.sidebar__cta:hover svg{stroke:var(--ink)}

/* 5. Salir: rojo apagado, no el rojo de error. Separa la acción de las
      opciones de navegación sin gritar. */
.sidebar__nav #logoutBtn,
.sidebar__nav #adminLogout{color:rgba(255,138,128,.82);font-weight:500}
.sidebar__nav #logoutBtn:hover,
.sidebar__nav #adminLogout:hover{color:#FF8A80;background:rgba(255,138,128,.10)}

/* 6. Avatar con foto del proveedor. La imagen tapa las iniciales solo
      cuando ha cargado de verdad (.avatar--foto la pone portal.js en el
      evento load), de modo que un fallo de carga deja ver el respaldo. */
.avatar{position:relative;overflow:hidden}
.avatar img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;transition:opacity .2s ease;
}
.avatar--foto img{opacity:1}

/* ============================================================
   MI PERFIL
   Formulario corto: el aire de 18px entre campos, pensado para
   formularios largos, dejaba la vista mucho más alta de lo necesario.
   ============================================================ */
.perfil .form-grid{gap:14px}
.perfil__resto{margin-top:14px}
.perfil__acciones{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}

/* Nombre y apellidos comparten fila también en móvil: son campos cortos
   y así el bloque de identidad se lee de una vez. El resto del sitio
   mantiene su umbral de 600px. */
@media (min-width:360px){
  .perfil__par{grid-template-columns:1fr 1fr}
}

/* Campo bloqueado: se distingue del editable sin parecer un error. No
   usa :disabled porque el campo sigue siendo readonly (ver portal.js). */
.input--bloqueado{
  background:var(--surface-2);
  color:var(--muted);
  border-color:var(--line);
  cursor:default;
}
.input--bloqueado:focus{outline:none;border-color:var(--line-strong);box-shadow:none}
.input-nota{
  display:block;
  margin-top:6px;
  font-size:11.5px;
  color:var(--faint);
}

/* ============================================================
   MENÚ DEL PORTAL A PANTALLA COMPLETA (móvil)
   El panel era "sticky" y sólo medía lo que su contenido: al abrirlo
   quedaba una franja inferior por la que se veía la página blanca. No
   era un problema de ancho — ya ocupaba el 100% y no tenía max-width —
   sino de alto. Al abrirse pasa a fixed sobre toda la ventana.
   ============================================================ */
@media (max-width:767.98px){
  .sidebar.is-open{
    position:fixed;
    inset:0;
    width:100%;
    max-width:none;
    height:100vh;
    height:100dvh;      /* en móvil descuenta las barras del navegador */
    z-index:60;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  /* La cabecera (logo + idioma + X) no se encoge y el resto ocupa el
     espacio libre, para que el pie con el usuario quede abajo. */
  .sidebar.is-open .sidebar__top{flex:none}
  .sidebar.is-open .sidebar__nav{flex:1;display:flex;flex-direction:column}
  .sidebar.is-open .sidebar__foot{margin-top:auto}

  /* Sin esto la página de detrás sigue desplazándose bajo el menú. */
  body.sidebar-open{overflow:hidden}
}

/* Las iniciales de respaldo perdían su estilo: ".sidebar__user span"
   (dos clases) gana por especificidad a ".avatar" y las dejaba en
   11.5px al 55% de blanco, el estilo pensado para el correo de debajo.
   Solo se nota cuando no hay foto, que es justo cuando importa. */
.sidebar__user .avatar{font-size:12px;font-weight:700;color:#fff;letter-spacing:.04em}

/* ============================================================
   PESTAÑAS DE CONTENIDO (programa de afiliados)
   Barra horizontal con desplazamiento propio en móvil: cuatro etiquetas
   repartidas en 375px quedarían ilegibles, y partirlas en dos filas
   devuelve la altura que este rediseño venía a quitar.
   ============================================================ */
.tabs-bar{
  display:flex;
  gap:4px;
  margin-bottom:22px;
  padding-bottom:2px;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
}
.tabs-bar::-webkit-scrollbar{display:none}
.tabs-bar__tab{
  flex:none;
  scroll-snap-align:start;
  appearance:none;background:transparent;border:0;
  font-family:inherit;font-size:14px;font-weight:500;
  color:var(--muted);
  padding:11px 14px;
  min-height:44px;
  cursor:pointer;
  white-space:nowrap;
  border-bottom:2px solid transparent;
  margin-bottom:-3px;              /* solapa la línea de la barra */
  transition:color .18s;
}
.tabs-bar__tab:hover{color:var(--ink)}
.tabs-bar__tab[aria-selected="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.tabs-bar__tab:focus-visible{outline:2px solid var(--teal-deep);outline-offset:-2px;border-radius:var(--r-sm)}

.tabs-panel[hidden]{display:none}
.tabs-panel:focus{outline:none}
.tabs-panel__title{
  font-size:19px;font-weight:600;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 6px;
}
.tabs-panel__sub{font-size:14px;color:var(--muted);margin:0 0 18px;max-width:56ch}

/* Escala reducida dentro de las pestañas: los iconos ilustrativos y los
   bloques de texto estaban dimensionados para secciones a página
   completa, que es justo lo que dejaron de ser. */
.aff-programa .section-head{margin-bottom:20px}
.aff-programa .how-step svg{width:22px;height:22px}
.aff-programa .how-step h3{font-size:15px}
.aff-programa .how-step p{font-size:13.5px}
.aff-programa .tool svg{width:20px;height:20px}
.aff-programa .tools{gap:14px}

/* ============================================================
   FORMULARIO COMPACTO (solicitud de afiliado)
   Mismos campos y mismas etiquetas: lo que se recorta es el aire.
   ============================================================ */
.form-compacto .form-grid{gap:12px}
.form-compacto .input-group{gap:5px}
.form-compacto .input,
.form-compacto .select{height:44px}
.form-compacto textarea.input{min-height:74px;padding:10px 14px}
.form-compacto .check{margin:14px 0 !important}

/* Escala compacta dentro de las pestañas. Las tarjetas de perfil y de
   nivel estaban dimensionadas para ocupar una sección entera cada una;
   dentro de un panel que se alterna, ese aire es el que devolvía la
   altura que este rediseño quita. El texto no cambia. */
.aff-programa .aff-profiles{gap:10px}
.aff-programa .aff-profile{padding:16px 16px}
.aff-programa .aff-profile svg{width:20px;height:20px;margin-bottom:9px}
.aff-programa .aff-profile h3{font-size:15px;margin-bottom:5px}
.aff-programa .aff-profile p{font-size:13.5px;line-height:1.5}

.aff-programa .tiers{gap:10px}
.aff-programa .tier{padding:18px 18px;gap:9px}
.aff-programa .tier__rate{font-size:32px}
.aff-programa .tier__rate small{font-size:14px}
.aff-programa .how-grid{gap:12px}

/* En móvil los perfiles caben de dos en dos: son tarjetas cortas y así
   el panel más alto deja de marcar la altura de toda la página. */
@media (min-width:420px) and (max-width:599.98px){
  .aff-programa .aff-profiles{grid-template-columns:1fr 1fr}
}

/* El hero ocupaba una pantalla entera larga en móvil. */
@media (max-width:599.98px){
  /* El padding superior debe seguir descontando la cabecera fija: con un
     valor plano el titular queda por debajo del header. */
  .aff-hero{padding-block:calc(var(--header-h) + 30px) 40px}
  .aff-hero h1{margin:6px 0 10px}
  .aff-hero p{font-size:15px;margin-bottom:20px}
}

/* El formulario ya iba a dos columnas desde 600px (regla general del
   sitio). Aquí se adelanta a 420px: son campos cortos y apilar ocho
   filas en móvil era la mitad de la altura de esta vista. El textarea
   sigue ocupando el ancho completo por su propio grid-column. */
@media (min-width:420px) and (max-width:599.98px){
  .form-compacto .form-grid--2{grid-template-columns:1fr 1fr}
}
.form-compacto .input-group label{font-size:10.5px;letter-spacing:.12em}
.form-compacto .btn--block{margin-top:2px}

/* Cuando dos campos comparten fila y una etiqueta ocupa dos líneas ("Nombre
   del negocio o canal"), los inputs arrancaban a distinta altura. Empujando
   el contenido al fondo de la celda, los campos quedan alineados entre sí
   sin reservar una altura fija para las etiquetas. */
.form-compacto .input-group{justify-content:flex-end}

/* ============================================================
   PORTAL CORPORATIVO (landing B2B)
   Dos rutas y nada más: solicitar cuenta o entrar. La paleta es la
   monocromática del sistema; el único contraste fuerte lo llevan los
   botones de acción.
   ============================================================ */
.corp-hero{
  background:var(--ink);color:#fff;
  padding-block:calc(var(--header-h) + 40px) 34px;
}
.corp-hero .eyebrow{color:rgba(255,255,255,.5);margin-bottom:10px}
.corp-hero h1{
  font-size:clamp(27px,5.4vw,40px);font-weight:600;letter-spacing:-.034em;
  line-height:1.14;margin:0 0 12px;color:#fff;max-width:18ch;
}
.corp-hero__sub{
  font-size:15px;line-height:1.6;color:rgba(255,255,255,.7);
  margin:0 0 20px;max-width:56ch;
}
/* Los cuatro puntos del servicio en una línea de texto corta, no en
   tarjetas con iconos: aquí son respaldo del titular, no el contenido. */
.corp-hero__puntos{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:6px 18px;
}
.corp-hero__puntos li{
  position:relative;padding-left:14px;
  font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.6);
}
.corp-hero__puntos li::before{
  content:"";position:absolute;left:0;top:8px;
  width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);
}

.corp-acceso{background:var(--bg);padding-block:26px 56px}
.corp-acceso__caja{
  max-width:560px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:6px 22px 24px;
  margin-top:-26px;                /* monta la caja sobre el hero */
  position:relative;
  box-shadow:var(--shadow-card);
}
/* Aquí las pestañas son dos y reparten el ancho: son las dos rutas de
   la vista, no una lista de secciones por la que navegar. */
.tabs-bar--split{gap:0}
.tabs-bar--split .tabs-bar__tab{flex:1;text-align:center}

.corp-form__lead{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0 0 16px}

.corp-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}
.cfield{display:flex;flex-direction:column;gap:5px;justify-content:flex-end}
.cfield--full{grid-column:1/-1}
.cfield label{
  font-size:10.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
.cfield input,.cfield select{
  width:100%;height:42px;padding:0 12px;
  background:var(--surface);
  border:1px solid var(--line);      /* borde sutil, no el fuerte */
  border-radius:var(--r-sm);
  font-family:inherit;font-size:14px;color:var(--ink);
  transition:border-color .18s,box-shadow .18s;
}
.cfield select{appearance:none;cursor:pointer}
.cfield input:focus,.cfield select:focus{
  outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);
}
.cfield input::placeholder{color:#767676}
.cfield__err{display:none;font-size:11.5px;color:var(--bad)}
.cfield.has-error input,.cfield.has-error select{border-color:var(--bad)}
.cfield.has-error .cfield__err{display:block}

.corp-wa{
  display:flex;align-items:center;gap:9px;
  margin-top:14px;
  font-size:12.5px;color:var(--muted);
}
.corp-wa svg{width:16px;height:16px;stroke:currentColor;fill:none;flex:none}
.corp-wa:hover{color:var(--ink)}

.corp-done{text-align:center;padding:18px 0 6px}
.corp-done svg{width:34px;height:34px;stroke:var(--ok);fill:none;stroke-width:1.4;margin-bottom:12px}
.corp-done h3{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 6px}
.corp-done p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}

.corp-login{display:flex;flex-direction:column;gap:12px;padding-top:2px}
.corp-login .input{height:42px;font-size:14px;border-color:var(--line)}
.corp-login .input-group{gap:5px}
.corp-login .input-group label{font-size:10.5px;letter-spacing:.12em}
.corp-login .btn--block{margin-top:4px}
.corp-login__olvide{font-size:12.5px;color:var(--muted);text-align:center}

@media (min-width:600px){
  .corp-hero{padding-block:calc(var(--header-h) + 56px) 44px}
  .corp-grid{grid-template-columns:1fr 1fr}
  .corp-acceso__caja{padding:6px 28px 28px}
}

/* En pantallas anchas las dos mitades conviven: el argumento a la
   izquierda y la acción a la derecha, ambas dentro del primer
   pantallazo. En móvil siguen una debajo de otra. */
@media (min-width:900px){
  .corp-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    min-height:100vh;
    min-height:100dvh;
  }
  .corp-hero{
    display:flex;flex-direction:column;justify-content:center;
    padding:calc(var(--header-h) + 40px) 0 40px;
  }
  .corp-hero .wrap{padding-inline:clamp(28px,5vw,64px);max-width:none}
  .corp-hero h1{font-size:clamp(32px,3vw,42px)}
  .corp-acceso{
    display:flex;align-items:center;
    padding:calc(var(--header-h) + 24px) 0 32px;
  }
  .corp-acceso .wrap{padding-inline:clamp(28px,4vw,56px);max-width:none}
  .corp-acceso__caja{margin-top:0;max-width:460px;box-shadow:none}
}

/* ============================================================
   CABECERA MÓVIL — ICONO DE USUARIO
   Sin aro ni fondo: junto a la hamburguesa, dos siluetas del mismo
   grosor y color pesan menos que un botón con borde al lado de tres
   líneas sueltas. La caja de 44px es solo área táctil (antes eran 38,
   por debajo del mínimo recomendado); el dibujo mide 22px, igual que
   el ancho de las barras del menú, y comparte su trazo de 1.5.
   ============================================================ */
.header__user{
  width:44px;height:44px;
  border:0;
  border-radius:0;
  background:none;
  color:#fff;
}
.header__user svg{width:22px;height:22px;stroke-width:1.5}
.header__user:active{background:none;opacity:.6}

/* Con sesión no es un icono sino un avatar, y un avatar sí es redondo:
   ahí el círculo es el contenido (foto o iniciales), no un adorno. */
.header__user.is-signed{
  /* El contenedor sigue siendo solo área táctil; el círculo visible es
     el span de las iniciales. Pintar aquí un fondo blanco dejaba dos
     círculos superpuestos. */
  background:none;
  border-radius:0;
  width:44px;height:44px;
}
.header__user.is-signed .header__user-initials{
  display:grid;place-items:center;
  width:30px;height:30px;border-radius:50%;
  background:#fff;color:var(--ink);
  font-size:12.5px;
}
.site-header--light .header__user{color:var(--ink);border:0}

/* La cabecera reparte sus hijos con space-between y un gap de 20px. Al
   quedar solo tres elementos, el icono de usuario flotaba a media
   distancia entre el logo y el menú (52px de hueco). margin-left:auto lo
   empuja contra la derecha para que los dos iconos se lean como un
   grupo, y el margen negativo compensa el gap de la cabecera hasta
   dejar la separación óptica que corresponde. */
@media (max-width:767.98px){
  .header-inner .header__user{margin-left:auto;margin-right:-14px}
}

/* ============================================================
   PIE DEL MENÚ MÓVIL — IDIOMA Y MONEDA
   Fila horizontal y ligera, alineada con los enlaces del panel.
   ============================================================ */
.mobile-menu .utility{
  gap:12px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12);
}
.mobile-menu .utility .lang-switch{
  padding:6px 16px 6px 0;
  font-size:12px;
  color:rgba(255,255,255,.72);
}
.mobile-menu .utility .lang-switch:hover{color:#fff}
.site-header--light .header__user.is-signed .header__user-initials{background:var(--ink);color:#fff}

/* Identidad en "Mi perfil": foto del proveedor con iniciales de respaldo.
   Usa .avatar (mismo componente del menú lateral) en tamaño grande y
   sobre fondo claro, de ahí la inversión de color. */
.perfil__identidad{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.avatar--lg{width:52px;height:52px;font-size:16px}
.perfil .avatar{background:var(--ink);color:#fff}
.perfil__identidad-nota{font-size:12px;line-height:1.45;color:var(--faint);max-width:28ch}
.perfil__identidad-nota[hidden]{display:none}

/* ============================================================
   HERO — ALINEACIÓN Y ESTABILIDAD DEL TITULAR
   El texto cambia con la pestaña de servicio, así que su caja se fija
   por dos vías:
     - text-align explícito, para que ningún contenedor herede un centrado
       y rompa la línea de lectura con el cotizador de abajo.
     - min-height calculado en index.html sobre la variante más larga
       (reservarAlturaHero), que impide el salto al alternar.
   El tamaño ya es fluido con clamp(): medido de 320 a 430px, ninguno de
   los tres titulares pasa de 3 líneas.
   ============================================================ */
.hero__copy,
.hero h1,
.hero__subtitle{text-align:left}

/* ============================================================
   PANEL DE ACCIONES DE RESERVA (portal de cliente)
   Las tres acciones de una tarjeta ocurren aquí dentro, sin salir de
   /mi-cuenta. En móvil el panel sube desde abajo (el mismo patrón de
   hoja del resto del sitio); desde 720px se ancla a la derecha, para
   que la lista de reservas siga visible al lado mientras se edita.
   ============================================================ */
.modal[hidden]{display:none !important}

/* El pie de #dupModal lleva dos acciones de texto largo. Repartidas a
   dos columnas en un móvil de 375 px, cada botón queda en unos 160 px y
   "Reservar otro igual" se parte en cuatro líneas que desbordan la
   altura fija de .btn: el texto se sale de la caja por arriba y por
   abajo. Apilados ocupan el ancho completo y cada etiqueta cabe en una
   línea. Va acotado a este modal porque los demás usan etiquetas de una
   o dos palabras y ahí las dos columnas funcionan bien. */
@media (max-width:479.98px){
  #dupModal .modal__foot{flex-direction:column}
}

/* ============================================================
   AVISO DE CONSENTIMIENTO DE COOKIES

   z-index 95: por encima de la barra fija móvil (45) y del scrim de
   los modales (80), por debajo de la cabecera (100). Va anclado abajo,
   así que no compite con la cabecera aunque tenga menos capa.

   En /reservar tapa la barra fija de "Pagar" mientras está visible. Se
   acepta: el aviso exige una decisión y desaparece en cuanto se toma,
   y esconderlo detrás del CTA sería justo lo que la ley no quiere.
   ============================================================ */
.cookie-aviso{
  position:fixed;z-index:95;
  left:var(--gutter);right:var(--gutter);bottom:var(--gutter);
  max-width:640px;margin-inline:auto;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  box-shadow:0 2px 8px rgba(0,0,0,.06), 0 18px 44px -12px rgba(4,57,64,.28);
  padding:20px;
  display:none;
}
.cookie-aviso.is-open{display:block}
@media (prefers-reduced-motion:no-preference){
  .cookie-aviso.is-open{animation:cookieEntra .28s cubic-bezier(.4,0,.2,1) both}
}
@keyframes cookieEntra{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}

.cookie-aviso__titulo{
  font-size:14.5px;font-weight:600;letter-spacing:-.01em;
  color:var(--ink);margin:0 0 7px;
}
.cookie-aviso__texto{
  font-size:13px;line-height:1.55;color:var(--muted);margin:0;
  text-align:left;                 /* el justificado global parte mal un texto tan corto */
}
.cookie-aviso__texto a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:2px}

.cookie-aviso__acciones{
  display:flex;gap:10px;margin-top:16px;
}
/* Los dos botones miden lo mismo a propósito. Hacer "Rechazar" más
   pequeño o más pálido que "Aceptar" es el patrón que las autoridades
   de protección de datos consideran consentimiento no libre. */
.cookie-aviso__acciones .btn{flex:1 1 0;height:44px;padding-inline:16px;font-size:11px;letter-spacing:.1em}

@media (max-width:399.98px){
  .cookie-aviso{padding:17px}
  .cookie-aviso__acciones{flex-direction:column}
}

/* Enlace del pie para volver a decidir. La ley exige que retirar el
   consentimiento sea tan fácil como darlo, así que no puede quedarse
   solo en el aviso inicial, que desaparece para siempre. */
.cookie-reabrir{
  background:none;border:0;padding:0;cursor:pointer;
  font:inherit;font-size:inherit;color:inherit;
  text-decoration:underline;text-underline-offset:2px;
}
.cookie-reabrir:hover{color:var(--ink)}
.voucher__codigo{
  font-size:13px;font-weight:700;letter-spacing:.16em;
  color:var(--ink);margin:0 0 14px;
}
.modal__body .form-grid{gap:12px}

@media (min-width:720px){
  .modal--ancho{align-items:stretch;justify-content:flex-end}
  .modal--ancho .modal__box{
    max-width:420px;
    height:100%;
    max-height:none;
    border-radius:0;
    animation:swDrawer .22s ease-out;
  }
  @keyframes swDrawer{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
}

/* Aviso dentro del panel de modificación: la salida para quien busca
   justo lo que ese panel no permite (otro vehículo, otra ruta). Va en
   tono informativo, no de error: no es un fallo del cliente. */
.aviso-upgrade{
  display:flex;gap:10px;align-items:flex-start;
  padding:12px 14px;
  background:var(--surface-2);
  border-radius:var(--r-sm);
  border-left:2px solid var(--line-strong);
}
.aviso-upgrade svg{
  width:17px;height:17px;flex:none;margin-top:1px;
  stroke:var(--muted);fill:none;stroke-width:1.4;
}
.aviso-upgrade p{margin:0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.form-compacto .input-group .tiny{color:var(--faint)}

/* ============================================================
   TARJETA DE RESERVA — VERSIÓN COMPACTA
   Antes cada tarjeta medía 444px en un móvil de 375: cabecera, ruta en
   dos líneas de texto, rejilla de cuatro pares etiqueta/valor y pie de
   acciones, cada bloque con su propio padding de 18px.

   Ahora la información pesa lo mismo pero ocupa la mitad: las etiquetas
   ("Recogida", "Vehículo"…) desaparecen a favor de micro-iconos con
   texto alternativo, y la ruta pasa a un timeline vertical, que es el
   patrón de las apps de transporte.
   ============================================================ */
.booking-card{margin-bottom:12px}
.booking-card__head{padding:10px 16px}
.booking-card__body{padding:14px 16px;display:grid;gap:12px}
.booking-card__actions{padding:12px 16px;gap:8px}

/* --- Ruta como timeline: punto de origen, línea, pin de destino --- */
.bk-ruta{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  align-items:center;
  gap:6px 8px;
  position:relative;
}
.bk-ruta__punto{
  width:9px;height:9px;border-radius:50%;justify-self:center;
  position:relative;z-index:1;background:var(--surface);
}
.bk-ruta__punto--origen{border:2px solid var(--ok)}
/* El destino es un pin, no un círculo: distingue llegada de salida de un
   vistazo, sin necesidad de leer. */
.bk-ruta__punto--destino{
  width:10px;height:10px;background:var(--ink);border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
}
.bk-ruta__linea{
  position:absolute;left:7.5px;top:14px;bottom:14px;
  width:1px;background:var(--line-strong);
}
/* Los nombres largos de hotel no deben romper la caja ni envolver: se
   recortan con puntos suspensivos. minmax(0,1fr) arriba es lo que
   permite que el recorte funcione dentro de un grid. */
.bk-ruta__texto{
  font-size:13.5px;line-height:1.35;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* --- Datos operativos: icono + valor, sin etiquetas --- */
.bk-datos{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  gap:8px 14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.bk-dato{display:flex;align-items:center;gap:7px;min-width:0}
.bk-dato__ico{display:flex;flex:none;color:var(--faint)}
.bk-dato__ico svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5}
.bk-dato__txt{
  font-size:13px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bk-total{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}

/* Texto solo para lectores de pantalla: el icono comunica al que ve, y
   esto comunica al que escucha. */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

@media (min-width:768px){
  /* Una sola fila: ruta | datos | total. La altura cae a la mitad porque
     los tres bloques dejan de apilarse. */
  .booking-card__body{
    grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;
    align-items:center;
    gap:24px;
    padding:14px 18px;
  }
  .bk-datos{padding-top:0;border-top:0;grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
  .bk-total{text-align:right;white-space:nowrap}
  /* Acciones compactas a la derecha, no ocupando todo el ancho. */
  .booking-card__actions{justify-content:flex-end}
}

/* En móvil las acciones reparten el ancho completo: tres botones de
   tamaño desigual apilándose se leían como una lista desordenada. */
@media (max-width:767.98px){
  .booking-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .booking-card__actions .btn{width:100%}
  .booking-card__actions .btn--danger{grid-column:1/-1}
}

/* Aviso de la regla de 24 horas. Va debajo de las acciones, no encima:
   explica por qué esos botones están apagados justo donde el cliente
   acaba de intentar pulsarlos. */
.bk-bloqueo{
  margin:0;
  padding:0 16px 14px;
  font-size:11.5px;
  line-height:1.5;
  color:var(--faint);
}
.booking-card__actions .btn[disabled]{opacity:.45;cursor:not-allowed}

/* ============================================================
   PANEL DE OPERACIONES — TABLA MAESTRA
   Herramienta de trabajo, no escaparate: la prioridad es cuántas filas
   caben en pantalla. Padding corto, 13px y una fila por reserva.
   ============================================================ */
.main{background:#F8F9FA}

/* --- Indicadores de despacho --- */
.kpi-bar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
  margin-bottom:16px;
}
.kpi-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:12px 14px;
  display:flex;flex-direction:column;gap:2px;
}
.kpi-card__valor{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}
.kpi-card__etiqueta{font-size:11.5px;color:var(--muted)}
/* Lo que exige acción se distingue solo cuando hay algo que hacer. */
.kpi-card--alerta{border-color:var(--warn);background:var(--warn-bg)}
.kpi-card--alerta .kpi-card__valor{color:var(--warn)}

/* --- Filtros anclados --- */
.toolbar--fija{
  position:sticky;top:0;z-index:5;
  background:#F8F9FA;
  padding:10px 0;
  margin-bottom:0;
}

/* --- Cuadrícula compacta --- */
.table--ops{font-size:13px}
.table--ops th{
  padding:8px 12px;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;
}
.table--ops td{padding:8px 12px;vertical-align:middle}
.table--ops tbody tr:hover{background:var(--surface-2)}
.celda-total{text-align:right;font-weight:600;white-space:nowrap}
.celda-accion{text-align:right;white-space:nowrap}
.celda-ruta{max-width:260px}
.mini-ruta{display:flex;align-items:center;gap:6px;min-width:0;line-height:1.5}
.mini-ruta i{width:6px;height:6px;border-radius:50%;flex:none}
.mini-ruta__o{border:1.5px solid var(--ok)}
.mini-ruta__d{background:var(--ink);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
/* Los nombres largos no deben ensanchar la tabla ni partir la fila. */
.mini-ruta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.mini-ruta i{display:inline-block;margin-right:6px;vertical-align:middle}

/* --- Etiquetas de origen del cobro --- */
.tag{
  display:inline-block;padding:2px 7px;border-radius:3px;
  font-size:10.5px;font-weight:700;letter-spacing:.06em;
  background:var(--surface-2);color:var(--muted);
}
.tag--b2c{background:var(--ok-bg);color:var(--ok)}
.tag--b2b{background:var(--accent-blue-bg);color:var(--accent-blue)}
.tag--pendiente{background:var(--warn-bg);color:var(--warn)}

/* ============================================================
   COLAPSO A TARJETAS (< 1024px)
   Una tabla de ocho columnas no cabe en un móvil, y el despachador la
   usa en la calle. Cada fila pasa a tarjeta y las etiquetas salen del
   data-label de cada celda, así que no hay marcado duplicado.
   ============================================================ */
@media (max-width:1023.98px){
  /* .table trae min-width:760px para que las columnas no se aplasten en
     escritorio. Al colapsar a tarjetas hay que anularlo: si no, cada
     celda hereda ese ancho y el valor queda fuera de la pantalla —con
     justify-content:space-between se iba a 734px de un viewport de 375,
     así que solo se veía la etiqueta. */
  .table--ops{min-width:0;width:100%}
  .table--ops-wrap,
  .table-wrap:has(.table--ops){overflow-x:visible;background:transparent;border:0;border-radius:0}
  .table--ops thead{display:none}
  .table--ops,
  .table--ops tbody,
  .table--ops tr,
  .table--ops td{display:block;width:auto}
  .table--ops tr{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--r-sm);
    padding:10px 12px;
    margin-bottom:10px;
  }
  .table--ops td{
    padding:3px 0;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    border:0;
  }
  .table--ops td::before{
    content:attr(data-label);
    font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--faint);flex:none;
  }
  /* La ruta ocupa su propia línea: es lo más largo de la tarjeta. */
  .table--ops td.celda-ruta{display:block}
  .table--ops td.celda-ruta::before{display:block;margin-bottom:4px}
  /* Ídem el pasajero, pero SIN volver a display:block: los hijos son
     spans y anclas, y sin el flex del padre volverían a fluir en línea.
     Se conserva el flex de .table--ops td —que es más específico que
     .celda-pasajero y por eso gana aquí— y solo se gira a columna, con
     lo que la etiqueta ::before queda arriba y los tres datos debajo. */
  .table--ops td.celda-pasajero{flex-direction:column;align-items:flex-start;gap:2px}
  .table--ops td.celda-pasajero::before{margin-bottom:2px}
  .celda-total,.celda-accion{text-align:left}
  .table--ops td.celda-accion::before{content:''}
  .table--ops td.celda-accion{justify-content:flex-end}
  .table--ops td.celda-accion .btn{width:100%}
}

/* ============================================================
   DRAWER LATERAL DEL PANEL
   ============================================================ */
.drawer{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end}
.drawer[hidden]{display:none !important}
.drawer__scrim{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.drawer__panel{
  position:relative;
  width:min(420px,100%);
  height:100%;
  background:var(--surface);
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-float);
  animation:swDrawerIn .22s ease-out;
}
@keyframes swDrawerIn{from{transform:translateX(28px);opacity:.5}to{transform:none;opacity:1}}
.drawer__head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 20px;border-bottom:1px solid var(--line);
}
.drawer__head h2{font-size:16px;font-weight:600;letter-spacing:-.02em;margin:0}
.drawer__body{padding:18px 20px;overflow-y:auto;flex:1}
.drawer__foot{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface-2)}
.drawer__foot .btn{flex:1}
.drawer__dato{
  display:flex;justify-content:space-between;gap:16px;
  padding:7px 0;border-bottom:1px solid var(--line);
}
.drawer__dt{font-size:11.5px;color:var(--muted);flex:none}
.drawer__dd{font-size:13px;font-weight:600;color:var(--ink);text-align:right;min-width:0;word-break:break-word}

/* Observaciones que dejó el cliente al reservar. Va en ámbar de aviso
   —no en gris— porque suele condicionar el servicio (silla de bebé, una
   parada extra) y debe saltar a la vista al abrir la ficha. */
.notas-cliente{
  display:block;margin:16px 0 4px;padding:12px 14px;
  background:var(--warn-bg);border:1px solid rgba(138,97,0,.22);
  border-radius:var(--r-md);
}
.notas-cliente__titulo{
  margin:0 0 5px;font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--warn);
}
/* pre-line conserva los saltos de línea que escribió el cliente sin
   permitir HTML: el texto entra por textContent. */
.notas-cliente__texto{
  margin:0;font-size:13px;line-height:1.5;color:var(--text);
  white-space:pre-line;overflow-wrap:anywhere;
}

/* Título que separa "Datos del contacto" de "Servicio" dentro del drawer. */
.drawer__seccion{
  margin:18px 0 4px;font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.drawer__seccion:first-child{margin-top:0}
/* Correo y teléfono del pasajero: accionables de un toque desde el móvil. */
.drawer__enlace{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.drawer__enlace:hover{opacity:.7}

/* Columna "Pasajero": nombre, correo y teléfono apilados, para
   identificar y contactar sin abrir la ficha.

   Es un flex en COLUMNA y no tres display:block sueltos porque en móvil
   la propia celda pasa a ser flex en fila (ver .table--ops td en el
   media query de abajo): sus hijos se colocaban uno al lado del otro y
   el nombre y el correo se pisaban. */
.celda-pasajero{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.celda-pasajero__nombre{font-weight:600;color:var(--ink);line-height:1.3}
.celda-pasajero__mail,
.celda-pasajero__tel{
  font-size:11.5px;line-height:1.35;color:var(--muted);
  text-decoration:none;word-break:break-all;
}
/* El teléfono, un punto más apagado que el correo: es el dato de apoyo. */
.celda-pasajero__tel{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.celda-pasajero__mail:hover,
.celda-pasajero__tel:hover{color:var(--ink);text-decoration:underline}

/* En móvil el drawer sube desde abajo, como el resto de hojas del sitio. */
@media (max-width:600px){
  .drawer{align-items:flex-end}
  .drawer__panel{width:100%;height:auto;max-height:88vh;border-radius:var(--r-lg) var(--r-lg) 0 0;animation:none}
}

/* ============================================================
   PANEL DE EDICIÓN DEL ADMINISTRADOR COMO DRAWER
   El panel usaba un modal centrado para editar flota, tarifas,
   afiliados y contenido. Se ancla a la derecha, igual que el drawer de
   reservas: el despachador no pierde de vista la lista sobre la que
   está trabajando.
   ============================================================ */
@media (min-width:720px){
  .modal--drawer{align-items:stretch;justify-content:flex-end}
  .modal--drawer .modal__box{
    max-width:440px;
    width:100%;
    height:100%;
    max-height:none;
    border-radius:0;
    animation:swDrawerIn .22s ease-out;
  }
  .modal--drawer .modal__body{flex:1;overflow-y:auto}
  .modal--drawer .modal__box{display:flex;flex-direction:column}
}

/* Ficha técnica de cada vehículo en el panel de Flota.
   Los .chip normales (12px, 6/11 de padding) están pensados para dos o
   tres etiquetas en el selector de vehículo del checkout; aquí hay hasta
   siete por tarjeta, así que se compactan para que la fila no se rompa
   en tres alturas. */
.flota-specs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}
.flota-specs .chip{padding:4px 9px;font-size:11.5px;font-weight:600;background:var(--surface-2)}
/* El slug es el identificador que viaja en vehiculo_id de cada reserva:
   se muestra en monoespaciada y apagado porque es dato técnico, no
   comercial, pero hace falta verlo para cuadrar reservas con catálogo. */
.flota-specs .chip--slug{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10.5px;letter-spacing:.02em;color:var(--muted);background:transparent;
}

/* ============================================================
   DENSIDAD DEL PANEL DE OPERACIONES
   Todo lo de aquí va acotado a .shell (el contenedor del panel, que solo
   existe en admin.html). Las mismas clases —.panel, .input, .h-page,
   .form-grid— se usan en el sitio público, donde la escala grande sí
   está bien: es una web de venta, no una herramienta de trabajo. Sin
   este acotado, achicar la tipografía aquí encogería el checkout.

   El criterio es el de un backoffice: 13px de base, alturas de control
   de 36-38px en vez de 50, y el aire justo para separar bloques. Lo que
   se gana es filas visibles sin hacer scroll.
   ============================================================ */
.shell .main{padding:18px var(--gutter) 40px;font-size:13px}
.shell .main__head{margin-bottom:14px;gap:10px}
.shell .h-page{font-size:20px;letter-spacing:-.02em;margin:0 0 2px}
.shell .lead{font-size:13px}
.shell .h-panel{font-size:14px}
.shell .tiny{font-size:12px}

/* Los paneles-tarjeta pasan de 22px de relleno a 14px. */
.shell .panel{padding:14px 16px;border-radius:var(--r-sm)}
.shell .cards{gap:10px}

/* Controles de formulario a escala de herramienta. */
.shell .input,
.shell .select{height:38px;padding:0 10px;font-size:13px}
.shell textarea.input{min-height:76px;padding:9px 10px;font-size:13px}
.shell .input-group{gap:5px}
.shell .input-group label{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.shell .form-grid{gap:12px}
.shell .hint{font-size:11px}
.shell .btn--sm{height:34px;padding-inline:14px;font-size:10.5px}

/* Botón de fila: el más pequeño del sistema, para que la acción no
   ensanche la fila de la tabla. */
.btn--xs{height:28px;padding-inline:11px;font-size:10.5px;letter-spacing:.08em;border-radius:var(--r-sm)}

/* Cabecera de sub-sección: título a la izquierda, acción a la derecha,
   en una sola línea. Sustituye al par h2 + p suelto, que ocupaba tres
   alturas de texto para decir lo mismo. */
.seccion__head{
  display:flex;flex-wrap:wrap;gap:10px;
  align-items:flex-end;justify-content:space-between;
  margin:22px 0 10px;
}
.seccion__head .h-panel{margin:0 0 2px}
.seccion__head .tiny{margin:0;max-width:62ch}

/* Aviso de validación dentro del drawer. Ocupa el ancho completo bajo
   la rejilla de campos. */
.drawer__error{
  margin:10px 0 0;padding:8px 10px;
  background:var(--bad-bg);color:var(--bad);
  border-radius:var(--r-sm);font-weight:600;
}

/* La cuadrícula ya era de 13px; aquí solo se recorta el relleno lateral,
   que con muchas columnas es lo que empuja la tabla al scroll horizontal. */
.shell .table--ops th,
.shell .table--ops td{padding:7px 10px}

/* En el colapso a tarjetas, el botón de la fila no debe ocupar el ancho
   completo cuando es la única acción: se alinea a la derecha, como en
   escritorio, para que la tarjeta no acabe con un bloque negro enorme. */
@media (max-width:1023.98px){
  .table--ops td.celda-accion .btn--xs{width:auto;min-width:96px}
  .table--ops td.celda-accion{padding-top:8px;margin-top:6px;border-top:1px solid var(--line)}
}

/* ============================================================
   MENÚ DE ACCIONES POR FILA (⋯)
   En una tabla densa, tres botones por fila compiten con el dato y en
   móvil no caben. El disparador ocupa 28px y el resto solo existe
   mientras está abierto.
   ============================================================ */
.menu-acc{position:relative;display:inline-block}
.menu-acc__btn{
  width:28px;height:28px;display:grid;place-items:center;
  border:1px solid transparent;border-radius:var(--r-sm);
  background:transparent;cursor:pointer;color:var(--muted);
}
.menu-acc__btn:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
.menu-acc__btn svg{width:16px;height:16px;fill:currentColor;stroke:none}
.menu-acc__lista{
  position:absolute;right:0;top:calc(100% + 4px);z-index:30;
  min-width:186px;padding:4px;
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-sm);box-shadow:0 10px 30px rgba(0,0,0,.14);
  display:flex;flex-direction:column;
}
.menu-acc__item{
  padding:7px 10px;border:0;background:transparent;cursor:pointer;
  font:inherit;font-size:12.5px;color:var(--ink);text-align:left;
  border-radius:4px;white-space:nowrap;
}
.menu-acc__item:hover{background:var(--surface-2)}
/* Lo irreversible se distingue por color, no solo por su posición. */
.menu-acc__item--peligro{color:var(--bad)}
.menu-acc__item--peligro:hover{background:var(--bad-bg)}

/* Códigos (cupón, afiliado): son cadenas que alguien teclea desde un
   correo, así que se imprimen en monoespaciada para que 0 y O, o l y 1,
   no se confundan. */
.cod{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;font-weight:600;letter-spacing:.04em;
  background:var(--surface-2);border:1px solid var(--line);
  padding:2px 7px;border-radius:4px;
}

/* En el colapso a tarjetas la última celda es el menú: se ancla arriba a
   la derecha de la tarjeta en vez de quedar en una fila propia al final. */
@media (max-width:1023.98px){
  .table--ops tr{position:relative}
  .table--ops td.celda-accion:last-child{
    position:absolute;top:6px;right:8px;
    padding:0;margin:0;border:0;width:auto;
  }
  .table--ops td.celda-accion:last-child::before{content:''}
  /* Deja sitio al menú para que no se solape con el primer dato. */
  .table--ops tr > td:first-child{padding-right:38px}
}

/* ============================================================
   PAPELERA DEL PANEL ("Ver archivados")
   ============================================================ */
.ver-archivados{
  height:34px;padding-inline:12px;
  border:1px dashed var(--line-strong);border-radius:var(--r-sm);
  background:transparent;cursor:pointer;
  font:inherit;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;
}
.ver-archivados:hover{border-style:solid;color:var(--ink)}
.ver-archivados[aria-pressed="true"]{
  border-style:solid;border-color:var(--warn);
  background:var(--warn-bg);color:var(--warn);
}

/* Mientras se mira la papelera, el panel entero cambia de fondo: sin esa
   señal es fácil editar creyendo que se está en la vista normal y no
   entender por qué la fila no aparece luego. */
.es-papelera{
  background:repeating-linear-gradient(
    45deg, transparent, transparent 9px,
    rgba(0,0,0,.018) 9px, rgba(0,0,0,.018) 18px
  );
  border-radius:var(--r-sm);
}
.es-papelera .table--ops tbody tr{opacity:.82}

/* La tarjeta de flota aloja ahora su propio menú ⋯ arriba a la derecha. */
.flota-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}

/* ============================================================
   CÓDIGO PROMOCIONAL (checkout B2C)
   Vive dentro de la tarjeta de resumen, encima del desglose que
   modifica. Plegado por defecto: un campo de cupón abierto le dice a
   quien no tiene ninguno que está pagando de más, y eso abandona
   carritos.
   ============================================================ */
.cupon{margin:14px 0;padding-top:14px;border-top:1px solid var(--line)}

/* Disparador: se lee como un enlace, no como un botón. Compite a
   propósito lo mínimo con el CTA de pagar. */
.cupon__toggle{
  display:inline-flex;align-items:center;gap:7px;
  padding:2px 0;border:0;background:transparent;cursor:pointer;
  font:inherit;font-size:13px;font-weight:600;
  color:var(--text);text-align:left;
  transition:color .15s;
}
.cupon__toggle:hover{color:var(--teal-deep)}
.cupon__toggle:focus-visible{outline:2px solid var(--teal-deep);outline-offset:3px;border-radius:3px}
.cupon__mas{
  display:inline-grid;place-items:center;width:16px;height:16px;
  font-size:15px;font-weight:400;line-height:1;color:var(--teal-deep);
  transition:transform .25s ease;
}
/* El "+" gira a "×" al abrir: la misma tecla abre y cierra, y el icono
   lo dice sin cambiar el texto. */
.cupon__toggle[aria-expanded="true"] .cupon__mas{transform:rotate(45deg)}

/* Acordeón por grid-template-rows: anima la altura sin medir el
   contenido ni fijar un max-height inventado, así que sigue funcionando
   cuando el aviso de error añade una línea. */
.cupon__wrap{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1);
}
.cupon__wrap.is-open{grid-template-rows:1fr}
.cupon__panel{overflow:hidden;min-height:0}
.cupon__fila{display:flex;gap:8px;align-items:stretch;padding-top:10px}

.cupon__input{
  flex:1;min-width:0;height:42px;
  text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:14px;
}
.cupon__input::placeholder{text-transform:none;letter-spacing:normal;font-weight:400}
.cupon__input.is-invalid{border-color:var(--bad)}
.cupon__input.is-invalid:focus{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}
.cupon__aplicar{flex:none;height:42px;white-space:nowrap}
.cupon__aplicar.is-cargando{opacity:.6;pointer-events:none}

/* Micro-texto bajo el input. En rojo solo cuando es un fallo. */
.cupon__aviso{margin:7px 0 0;font-size:12px;line-height:1.4;color:var(--muted)}
.cupon__aviso--error{color:var(--bad)}

/* Éxito: el formulario desaparece y queda el distintivo. */
.cupon__aplicado{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cupon__badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 12px;border-radius:100px;
  background:var(--ok-bg);color:var(--ok);
  font-size:12.5px;font-weight:700;letter-spacing:.01em;
}
.cupon__badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;flex:none}
.cupon__quitar{
  flex:none;border:0;background:transparent;cursor:pointer;padding:4px 2px;
  font:inherit;font-size:12px;color:var(--muted);text-decoration:underline;
}
.cupon__quitar:hover{color:var(--bad)}

/* --- Desglose financiero con descuento --- */
.summary__sub{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin:0;padding:5px 0;font-size:13.5px;color:var(--text);
}
.summary__sub dt,.summary__sub dd{margin:0}
.summary__sub dd{font-weight:600;white-space:nowrap}
/* El descuento en verde y con signo menos: es lo único de la columna que
   resta, y en rojo se leería como un recargo. */
.summary__sub--descuento dt,
.summary__sub--descuento dd{color:var(--ok)}
.summary__line--cupon span:last-child{color:var(--ok);font-weight:600}

/* Quien haya pedido menos movimiento no debería ver desplegarse nada. */
@media (prefers-reduced-motion:reduce){
  .cupon__wrap,.cupon__mas{transition:none}
}

/* El cupón dentro de la hoja de precio móvil: sin borde superior propio
   (ya lo separa el desglose de arriba) y con el relleno de la hoja. */
.price-sheet__cupon{padding:0 var(--gutter) 4px}
.price-sheet__cupon .cupon{margin:0;padding-top:14px}

/* ============================================================
   CASILLA DE TÉRMINOS (componente TermsCheckbox)
   El input nativo sigue siendo el que manda; .check__box es su cuadro
   dibujado. Aquí solo se ajusta el bloque cuando acompaña a un texto
   largo con enlaces.
   ============================================================ */
.check--terms{align-items:flex-start;gap:12px;line-height:1.5;font-size:13.5px}
/* El cuadro se alinea con la PRIMERA línea del texto, no con el centro
   del párrafo: con dos o tres líneas quedaba flotando a media altura. */
.check--terms .check__box{margin-top:1px}
.check--terms a{white-space:nowrap}

/* Un botón bloqueado por falta de consentimiento debe leerse como gris
   apagado, no como el botón negro de marca a media opacidad: con .32 de
   opacidad sobre fondo claro seguía pareciendo pulsable. */
.btn:disabled,
.btn[data-bloqueos]{
  background:var(--surface-2);
  border-color:var(--line);
  color:var(--faint);
  opacity:1;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
/* Los secundarios ya son claros: basta con apagar el texto. */
.btn--quiet:disabled,.btn--ghost:disabled{background:transparent;color:var(--faint)}

/* ============================================================
   SAFEWAY TRAVEL — CSS para LinkedIn y Trustpilot
   Añadir al final de assets/safeway.css y subir la versión
   (?v=20260909v -> ?v=20260910a) en las 14 páginas.

   LinkedIn no necesita CSS: hereda .footer__social.
   ============================================================ */

/* Sello Trustpilot del pie: .footer__badge era un <span>; como <a>
   necesita hover y que el subrayado global de enlaces no aparezca. */
.footer__badge--link{text-decoration:none;transition:border-color .2s,color .2s}
.footer__badge--link:hover{border-color:#fff;color:#fff}
/* La columna de marca es estrecha en todos los anchos: las dos pastillas
   se apilan siempre, con 8px de aire. */
.footer__badge + .footer__badge{margin:8px 0 0}

/* Enlaces que solo existen en español (Insights, Fase 1 — 2026-09-17).
   El footer es el mismo HTML en es/en/pt (el generador copia el body), y
   i18n.js fija <html lang> al idioma activo: con esto el visitante en
   inglés o portugués no ve un enlace que lo llevaría a texto en español. */
html:not([lang="es"]) .solo-es{display:none}

/* ============================================================
   Carrusel de flota — flechas al centro de la foto (2026-09-20)
   Antes estaban a la mitad de la altura TOTAL de la tarjeta y tapaban el título y la descripción.
   La foto mide min(ancho de tarjeta x 10/16, tope en vh); el ancho de tarjeta sale del contenedor de
   consulta (cqw) con las mismas columnas y los mismos topes que las reglas de arriba.
   ============================================================ */
.fleet__carousel{container-type:inline-size}
.fleet__nav{top:calc(min(var(--fleet-card,300px) * .625, var(--fleet-figmax,300px)) / 2)}
@media (min-width:768px){
  .fleet__nav{--fleet-card:calc((100cqw - 20px) / 2);--fleet-figmax:26vh}
}
@media (min-width:1025px){
  .fleet__nav{--fleet-card:calc((100cqw - 40px) / 3);--fleet-figmax:30vh}
}
@media (min-width:1025px) and (max-height:800px){
  .fleet__nav{--fleet-figmax:24vh}
}
/* La descripción de la tarjeta va alineada a la izquierda: el justificado global dejaba huecos enormes. */
.vehicle p{text-align:left;text-justify:auto}


/* ============================================================
   Barra inferior del checkout (móvil) — afinado premium (2026-09-23)

   Antes: botón negro rectangular a sangre (hereda .btn: radio 3px, mayúsculas y
   tracking .14em) y franja de precio metida en una caja con borde de 56px que se
   leía como un campo de formulario. Resultado pesado y tosco.

   Ahora: el botón usa la misma cápsula que el CTA de la portada (.searchbar__go:
   52px, radio 100px, mayúsculas con tracking, flecha → y sombra suave, mismo
   acabado que el CTA de portada desde el 2026-09-30) y la franja se resuelve
   con tipografía y aire en vez de con un contenedor.
   ============================================================ */
@media (max-width:899.98px){
  #mobileBar{
    gap:10px;
    padding:10px 20px calc(14px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(0,0,0,.06);
    box-shadow:0 -10px 30px -22px rgba(0,0,0,.35);
  }

  /* Cápsula con el mismo acabado que el «Buscar» de la portada (2026-09-30):
     mayúsculas con tracking, flecha → en ::after (el JS reescribe el texto
     según el paso), filo superior sutil, elevación al hover y respuesta táctil
     en :active. El :disabled hereda la opacidad .32 de .btn y pierde la sombra. */
  #mobileCta{
    gap:9px;height:52px;border-radius:100px;padding-inline:24px;
    font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 22px rgba(0,0,0,.24);
    transition:background .25s ease,box-shadow .25s ease,transform .25s ease,opacity .18s ease;
  }
  #mobileCta::after{
    content:"";width:15px;height:15px;flex:none;
    background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .25s ease;
  }
  #mobileCta:hover{background:#1c1c1c;opacity:1;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 26px rgba(0,0,0,.28)}
  #mobileCta:hover::after{transform:translateX(3px)}
  #mobileCta:active{transform:translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 4px 10px rgba(0,0,0,.2)}
  #mobileCta:focus-visible{outline:0;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}
  /* Bloqueado (sin vehículo elegido): manda el gris de .btn:disabled aunque el
     ratón esté encima; sin elevación, sin sombra, flecha quieta y tenue. */
  #mobileCta:disabled,
  #mobileCta:disabled:hover{background:var(--surface-2);color:var(--faint);opacity:1;transform:none;box-shadow:none}
  #mobileCta:disabled::after{transform:none}

  /* Franja de precio: sin caja ni borde; el chevron es el que indica que se toca. */
  #mobileBar .price-strip{
    height:auto;padding:2px 2px 0;border:0;background:transparent;
    align-items:flex-end;gap:12px;
  }
  #mobileBar .price-strip:active{opacity:.55;box-shadow:none}
  #mobileBar .price-strip__price{gap:2px}
  #mobileBar .price-strip__price b{font-size:22px;line-height:1.05;letter-spacing:-.025em}
  #mobileBar .price-strip__price small{font-size:11px;font-weight:400;color:var(--muted)}
  #mobileBar .price-strip__detail{gap:6px}
  #mobileBar .price-strip__detail small{font-size:12px;font-weight:500}
  #mobileBar .price-strip__chevron{width:15px;height:15px;stroke:var(--muted);stroke-width:1.8}

  /* Alto real: ~128px con franja, ~90px sin ella (Paso 1 sin vehículo elegido). */
  body.has-mobile-bar.has-mobile-bar{padding-bottom:calc(142px + env(safe-area-inset-bottom))}
  body.has-mobile-bar.sin-total{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
}


/* ============================================================
   Tarjetas de vehículo + barra inferior — seis retoques (2026-09-23)
   ============================================================ */

/* 1. El "fondo gris" del título de la tarjeta elegida NO era un background:
      era la SELECCIÓN DE TEXTO (::selection, rgba(4,57,64,.16)) que se activa
      al tocar la tarjeta. La tarjeta se comporta como un botón, así que su
      texto no debe seleccionarse al pulsar. */
.pick{-webkit-user-select:none;user-select:none}

/* 3. Insignias ("MÁS RESERVADO", "ALTA GAMA") en gris oscuro en vez de negro
      puro: siguen leyéndose pero dejan de competir con el nombre y el precio. */
.pick__tag{background:var(--text);font-weight:600;letter-spacing:.09em}

/* 4. Capacidad (silueta y maleta): de --muted #6E6E6E a --text #333 para que
      "Hasta 2 / Hasta 3" se lea con holgura. */
.pick__foot .chip{color:var(--text)}
.pick__foot .chip svg{stroke:var(--text);stroke-width:1.5}

/* 6. Aire entre la foto del vehículo y las píldoras de características. */
.pick__mid{gap:14px}

@media (max-width:899.98px){
  /* 2. Sombra superior perceptible: la barra debe flotar sobre las tarjetas,
        no quedarse pegada. La anterior (-22px de extensión) era invisible. */
  #mobileBar{box-shadow:0 -8px 24px -10px rgba(0,0,0,.20)}

  /* 5. Precio y "Cancelación gratuita" centrados entre sí en vertical
        (antes iban alineados por la base, con el texto verde descolgado). */
  #mobileBar .price-strip{align-items:center}
}


/* ============================================================
   Barra inferior del checkout — compactada (2026-09-23)
   La franja medía 45px con mucho aire muerto: el "IVA incluido" ocupaba 18px
   de alto para un texto de 11px (interlineado heredado de 1.6). Se recorta el
   interlineado, el hueco del grupo y el relleno de la barra.
   ============================================================ */
@media (max-width:899.98px){
  #mobileBar{gap:8px;padding:8px 20px calc(12px + env(safe-area-inset-bottom))}

  /* align-items:center ya estaba; se mantiene explícito para que quede junto
     al resto de la regla y no se pierda al editar el bloque anterior. */
  #mobileBar .price-strip{padding:0 2px;align-items:center}

  /* Precio y "IVA incluido" como un solo grupo: sin hueco y sin leading suelto. */
  #mobileBar .price-strip__price{gap:0}
  #mobileBar .price-strip__price b{line-height:1.02}
  #mobileBar .price-strip__price small{line-height:1.15}

  /* Alto real tras el recorte: ~117px con franja, ~72px sin ella. */
  body.has-mobile-bar.has-mobile-bar{padding-bottom:calc(128px + env(safe-area-inset-bottom))}
  body.has-mobile-bar.sin-total{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}


/* ============================================================
   Selector de código de país (js/paises.js) — 2026-09-23
   Sustituye al <select> nativo: lista mundial, buscador y desplazamiento.
   Sin banderas emoji: Windows las degrada a dos letras descolocadas.
   ============================================================ */
.pais{position:relative}
.pais__btn{
  display:flex;align-items:center;gap:6px;width:100%;height:46px;padding:0 10px 0 12px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);
  font-size:14px;color:var(--ink);text-align:left;transition:border-color .16s;
}
.pais__btn:hover{border-color:var(--line-strong)}
.pais__btn[aria-expanded="true"]{border-color:var(--ink)}
.pais__iso{font-weight:600;letter-spacing:.02em}
.pais__dial{color:var(--muted);font-variant-numeric:tabular-nums}
.pais__chevron{width:15px;height:15px;margin-left:auto;flex:none;stroke:var(--text);fill:none;stroke-width:1.6}

.pais__pop{
  position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:290px;max-width:min(290px,86vw);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow-float);padding:8px;
}
.pais__buscar{height:38px;font-size:14px;margin-bottom:6px}
.pais__lista{max-height:264px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.pais__lista::-webkit-scrollbar{width:6px}
.pais__lista::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:100px}
.pais__item{
  display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--r-sm);
  text-align:left;font-size:14px;color:var(--ink);transition:background .12s;
}
.pais__item:hover,.pais__item.is-active{background:var(--bg)}
.pais__item-iso{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted);width:24px;flex:none}
.pais__item-nombre{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pais__item-dial{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.pais__vacio{margin:0;padding:14px 10px;font-size:13px;color:var(--muted);text-align:center}

/* El popup se abre hacia la derecha del campo estrecho de la rejilla. */
.phone-group .pais__pop{left:0}
@media (max-width:420px){.phone-group .pais__pop{width:min(290px,calc(100vw - 48px))}}


/* ============================================================
   CABECERA MÓVIL — IDIOMA EN LUGAR DEL USUARIO (2026-09-26)

   Antes: [logo] ......... [icono usuario] [menú]
   Ahora: [logo] ......... [globo ES ⌄]    [menú]

   El acceso a la cuenta no desaparece: js/header-user.js lo inyecta
   dentro del panel desplegable, con "Iniciar sesión" para quien no tiene
   sesión y el bloque de "Mis reservas" de siempre para quien sí.

   Por qué el idioma gana el sitio visible: cambiarlo es lo primero que
   hace quien llega desde un anuncio en otro idioma, y es una acción de
   una sola vez. Entrar a la cuenta la hace quien ya es cliente y sabe
   buscarla.
   ============================================================ */
@media (max-width:767.98px){
  .header-inner .header__user{display:none}

  /* La cabecera reparte con space-between; al quedar logo + utility +
     menú, el selector flotaría a media distancia. margin-left:auto lo
     agrupa con la hamburguesa, igual que hacía el icono de usuario. */
  .site-header .header-inner .utility{
    display:flex;gap:7px;margin-left:auto;margin-right:-4px;
  }

  /* Solo el idioma. La moneda sigue en el pie del menú, donde caben las
     dos opciones sin apretar la cabecera. */
  .site-header .header-inner .utility__divider,
  .site-header .header-inner .utility .toggle-group{display:none}

  /* El alto lo da el relleno, no la tipografía: el texto se queda en
     12px —alineado con el logo y las barras del menú— y el relleno
     vertical levanta el área táctil hasta los 44px recomendados. */
  .site-header .header-inner .lang-switch{
    padding:13px 15px 13px 2px;font-size:12px;line-height:1;
  }
  .site-header .header-inner .utility__globe{width:14px;height:14px;flex:none}
}

/* El chevron del selector era un SVG con el trazo BLANCO fijo, así que en
   las páginas de cabecera clara (.site-header--light, las de destinos)
   quedaba blanco sobre blanco: invisible. Ya pasaba en escritorio; al
   subirlo a la cabecera móvil se habría visto mucho más. */
.utility--ink .lang-switch{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9A9A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Acceso a la cuenta dentro del panel, para quien NO tiene sesión.
   Mismo tratamiento que el bloque de sesión, que es su contrario:
   nunca se ven los dos a la vez. */
.mobile-nav__group--acceso{
  margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);
}
.mobile-nav__group--acceso[hidden]{display:none}
.mobile-nav__group--acceso a{
  padding:7px 0;font-size:15px;font-weight:500;color:#fff;
  display:flex;align-items:center;min-height:44px;width:100%;
}


/* ============================================================
   MENÚ MÓVIL COMPACTO (2026-09-26)

   Medido antes de tocarlo: en 375x667 el listado se salía 38px sin
   sesión y 82px con ella. En 375x812 no se salía. El culpable no era la
   tipografía —18px/600 y 15px ya eran correctos— sino que TODO colgaba
   del mismo bloque desplazable, incluidas las acciones de cuenta.

   Lo que NO se toca: min-height:44px en los enlaces. Es el área táctil
   mínima recomendada y, además, es lo que gobierna el alto real de cada
   fila (el relleno no llega a 44 con esta tipografía), así que recortar
   el relleno no ahorraría nada.
   ============================================================ */

/* Separación entre bloques: de 13+12 a 9+8 por hueco, y las líneas al
   10% como pidió el usuario — con el fondo casi negro siguen leyéndose. */
.mobile-nav__group--secondary,
.mobile-nav__group--portals{
  margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.10);
}

/* Jerarquía: el gris plata explícito en vez de un blanco al 62%. Sobre
   este fondo el resultado es casi idéntico, pero deja el color escrito
   en vez de depender de la opacidad. */
.mobile-nav__group--secondary a{color:#A3A3A3}
.mobile-nav__group--portals a{color:#8A8A8A}

/* ---------- PIE ANCLADO ----------
   Lo construye js/header-user.js moviendo aquí los bloques de cuenta y la
   fila de moneda. Se ancla con margin-top:auto, no con position:absolute:
   dentro de un flex en columna es lo que respeta el alto real del
   listado en lugar de superponerse a él si un día crece. */
.mobile-menu__pie{
  margin-top:auto;flex:none;
  padding-top:8px;border-top:1px solid rgba(255,255,255,.10);
}

/* Dentro del pie los bloques ya no necesitan su propia línea ni su
   margen: la línea del pie los separa del listado. */
.mobile-menu__pie .mobile-nav__group{
  margin-top:0;padding-top:0;border-top:0;
}

/* Las dos acciones de sesión, en una sola fila: la principal a la
   izquierda, la de salida a la derecha. Apiladas ocupaban 88px y en un
   Android de 640px de alto eso cortaba el último enlace de la lista.
   Así se ahorra una fila entera sin encoger ninguna área táctil. */
.mobile-menu__pie .mobile-nav__group--sesion{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.mobile-menu__pie .mobile-nav__group--sesion a,
.mobile-menu__pie .mobile-nav__group--sesion button{
  width:auto;flex:none;
}

/* La fila de moneda traía su propia línea y 16px de relleno superior de
   cuando era el último elemento suelto del panel. Dentro del pie eso era
   un doble separador y 17px de alto regalados: con la sesión iniciada en
   una pantalla de 667px era justo lo que sobraba. */
.mobile-menu__pie .utility{margin-top:2px;padding-top:0;border-top:0}

/* El selector de idioma del pie sobra desde que vive en la cabecera
   (2026-09-26). Se oculta con display:none —no con visibility— para que
   también salga del árbol de accesibilidad: un lector de pantalla no
   debe encontrar dos selectores de idioma con el mismo valor.
   Sigue en el HTML de las 141 páginas; quitarlo de ahí es un cambio de
   141 archivos para ahorrar una línea de CSS. */
.mobile-menu__pie .lang-switch,
.mobile-menu .utility .lang-switch,
.mobile-menu .utility .utility__divider{display:none}

/* ---------- SW-CONCIERGE-WA: asesoría de reservas (WhatsApp), 20261011 ---------- */
.wa-concierge{
  position:fixed;right:28px;bottom:28px;z-index:94;   /* por debajo del aviso de cookies (95) */
  display:inline-flex;align-items:center;
  height:52px;padding:0 20px 0 16px;border-radius:100px;
  background:var(--ink,#0b0f10);color:#fff;text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:.02em;white-space:nowrap;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 2px 6px rgba(0,0,0,.12),0 14px 32px -12px rgba(4,57,64,.45);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.wa-concierge:hover{transform:translateY(-2px);background:var(--teal-deep,#043940);box-shadow:0 4px 10px rgba(0,0,0,.14),0 20px 40px -14px rgba(4,57,64,.55)}
.wa-concierge:focus-visible{outline:2px solid #fff;outline-offset:3px}
.wa-concierge__icon{flex:0 0 auto;color:#25D366}
.wa-concierge__label{line-height:1;margin-left:10px;max-width:240px;overflow:hidden;text-overflow:ellipsis}
/* Paginas con otro boton flotante (fichas de destino): el concierge sube */
body:has(.btn-flotante) .wa-concierge{bottom:112px}
@media (max-width:767px){
  .wa-concierge{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));height:52px;padding:0 14px;border-radius:100px}
  /* Etiqueta pequena y legible 6 s; luego se pliega hasta dejar solo el icono (termina en un circulo de 52 px) */
  .wa-concierge__label{font-size:12.5px;max-width:170px;margin-left:8px;animation:waLabelPliega .35s ease 6s forwards}
  @keyframes waLabelPliega{to{max-width:0;margin-left:0;opacity:0}}
  /* Checkout: desde el inicio solo el icono, y por encima de la barra «Continuar» */
  body.has-mobile-bar .wa-concierge{bottom:calc(88px + env(safe-area-inset-bottom))}
  body.has-mobile-bar .wa-concierge__label{max-width:0;margin-left:0;opacity:0;animation:none}
}
@media (prefers-reduced-motion:reduce){
  .wa-concierge{transition:none}
  .wa-concierge:hover{transform:none}
  @media (max-width:767px){.wa-concierge__label{animation:none;max-width:0;margin-left:0;opacity:0}}
}
/* ---------- SW-CONCIERGE-WA: fin ---------- */

/* ---------- SW-PULIDO-ESCRITORIO (20261011): buscador en una fila sin textos partidos ni desbordes ----------
   Medido: la barra mide ~viewport-81px. Suma de campos a cada ancho (origen+destino+swap+fecha+retorno+pax+boton):
   900-1099  180+180+34+132+120+177+160 = 983  (barra >= 819... los campos flexibles se reparten; sin minimos imposibles)
   1100-1279 180+180+34+132+120+177+160 = 983  <= 1019 (antes: 220+220 fijos y el boton partido en 2 lineas desbordaban 21px)
   >=1280    220+220+34+132+200+177+182 = 1165 <= 1199 */
@media (min-width:900px){
  .searchbar__go{white-space:nowrap;max-width:none;flex:0 0 auto;padding:0 18px;letter-spacing:.1em}
  .searchbar #field-return{flex:1.2 1 0;min-width:120px}
}
@media (min-width:1100px) and (max-width:1279px){
  .searchbar #field-pickup,
  .searchbar #field-dropoff{min-width:180px}
}
@media (min-width:1280px){
  .searchbar__go{padding:0 26px;letter-spacing:.12em}
  .searchbar #field-return{flex:1.3 1 0;min-width:200px}
  .searchbar .add-return span{white-space:nowrap}
}
@media (min-width:900px){
  /* El parrafo del hero (2 lineas sobre la foto) justificado creaba rios entre palabras: a la izquierda, solo en escritorio.
     Excepcion puntual al justificado global del sitio, pedida por el usuario el 2026-10-11. */
  .hero__lead{text-align:left}
}
/* ---------- SW-PULIDO-ESCRITORIO: fin ---------- */

/* ---------- SW-HERO-RESPIRO (20261011): tipografia y espaciado del hero en escritorio ---------- */
@media (min-width:900px){
  /* Antetitulo: un punto mas grande; tracking y opacidad ya eran los adecuados */
  .hero__eyebrow,
  .hero__subtitle{font-size:11px;letter-spacing:.24em;color:rgba(255,255,255,.62);margin-bottom:18px}
  /* Titular: un poco mas de aire bajo el antes del parrafo */
  .hero h1{margin-bottom:18px}
  /* Parrafo: 15,5px/1.55 -> 18px/1.6, ancho de linea comodo (~60 caracteres) */
  .hero__lead{font-size:18px;line-height:1.6;max-width:58ch;color:rgba(255,255,255,.78)}
  /* Separacion parrafo -> pestanas: 48px -> 60px */
  .hero__copy{margin-bottom:60px}
  /* Separacion pestanas -> buscador: 14px -> 24px */
  .booking__tabs{margin-bottom:24px}
}
/* ---------- SW-HERO-RESPIRO: fin ---------- */

/* SW-HERO-MOVIL retirado el 2026-10-12: el hero movil vuelve a su maqueta original (sin parrafo) en todos los telefonos. */

/* ---------- SW-CONCIERGE-MOVIL (20261011): en movil, con buscador en pantalla el concierge se aparta ----------
   Arranca oculto (sin parpadeo al cargar) en las paginas que tienen buscador y el guion lo libera (.is-libre)
   cuando el boton del buscador sale de la vista. Paginas sin buscador: visible siempre. Escritorio: sin cambios. */
@media (max-width:767.98px){
  .wa-concierge{transition:opacity .25s ease,transform .25s ease}
  body:has(.searchbar__go) .wa-concierge:not(.is-libre){opacity:0;transform:translateY(16px);pointer-events:none}
}
/* ---------- SW-CONCIERGE-MOVIL: fin ---------- */

/* SW-A11Y-CONTRASTE (2026-10-15): grises a >= 4.5:1; enlace "saltar al contenido" (visible solo con el foco del teclado) */
.skip-link{position:absolute;left:8px;top:-64px;z-index:100000;padding:10px 16px;background:#fff;color:#111;font-weight:600;font-size:14px;line-height:1.2;font-family:inherit;border-radius:8px;text-decoration:none;box-shadow:0 0 0 2px #111;transition:top .15s}
.skip-link:focus{top:8px;outline:none}

/* SW-A11Y-TACTIL (2026-10-15): el boton mide 24x24 (area tactil) y el punto visible se dibuja en ::before con el mismo tamano de antes */
.fleet__dots,.review-dots{gap:0!important}
.fleet__dots{margin-top:0!important}
.review-dots{margin-top:0!important}
.fleet__dots button,.review-dots button{position:relative;width:24px!important;height:24px!important;border-radius:0!important;background:transparent!important;opacity:1!important;transition:none}
.fleet__dots button::before,.review-dots button::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--line-strong);opacity:.55;transition:width .2s,background .2s,opacity .2s}
.review-dots button::before{width:6px;height:6px;background:#ccc;opacity:1}
.fleet__dots button[aria-selected="true"]::before,.review-dots button[aria-selected="true"]::before{width:20px;border-radius:100px;background:var(--ink);opacity:1}
/* enlaces del pie: area tactil de >= 24 px de alto sin cambiar el tamano del texto */
.footer__col li{margin-bottom:3px}
.footer__col li a{display:inline-block;padding-block:5px}
/* SW-A11Y-TACTIL-2 (2026-10-15): logotipo-enlace y "Preferencias de cookies" con area tactil >= 24 px de alto */
a.logo{display:inline-flex;align-items:center;min-height:24px}
.cookie-reabrir{display:inline-block;padding-block:4px}
/* SW-A11Y-TACTIL-3 (2026-10-15): "Anadir regreso" y enlace de cotizacion por WhatsApp con altura tactil >= 24 px */
.add-return{min-height:24px}
.spec--cotizar{display:inline-flex;align-items:center;min-height:24px}

/* SW-ESTIMACION (2026-10-16): km y precio estimado bajo cada sugerencia de Google */
.ac__text .ac__est{display:block;margin-top:2px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--teal-deep,#043940)}


/* SW-PRECIO-TIPO (2026-10-16): tipografia del precio. Simbolo y centavos pequenos y elevados en los precios grandes; entero protagonista; cifras tabulares. */
.px{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap}
.px__cur{font-size:.78em;font-weight:600;letter-spacing:.04em;opacity:.8}
.px__dec{font-size:.82em;font-weight:600}
.pick__price .px__cur,.mobile-bar__total .px__cur,.price-strip__price .px__cur,.summary__total .px__cur,.dest-reserva__precio .px__cur{font-size:.56em;letter-spacing:.08em;vertical-align:.38em;opacity:.72}
.pick__price .px__dec,.mobile-bar__total .px__dec,.price-strip__price .px__dec,.summary__total .px__dec,.dest-reserva__precio .px__dec{font-size:.6em;letter-spacing:.02em;vertical-align:.42em;opacity:.88}
.pick__price .px__int,.mobile-bar__total .px__int,.price-strip__price .px__int,.summary__total .px__int,.dest-reserva__precio .px__int{letter-spacing:-.03em}


/* ---------- SW-SERVICIOS-TEXTO-ORDEN (2026-10-16): Servicios en movil, lineas del texto con largo parejo ---------- */
@media (max-width:767.98px){
  #servicios .svc-card h3{margin:0 0 6px;text-wrap:balance}
  #servicios .svc-card p{text-align:justify;text-justify:inter-word;text-wrap:pretty;hyphens:manual}   /* justificado como el resto del sitio (orden del dueño, 2026-10-16) */
}
/* ---------- SW-SERVICIOS-TEXTO-ORDEN: fin ---------- */


/* ---------- SW-SERVICIOS-FOTOS-ALTURA (2026-10-16): Servicios en movil, foto 1/1 encuadrada sobre su motivo ---------- */
@media (max-width:767.98px){
  #servicios .svc-card__photo,#servicios .svc-card__art{aspect-ratio:1/1}
  #servicios .svc-card__photo[src*="svc-rutas"]{object-position:center 50%}
  #servicios .svc-card__photo[src*="svc-premium"]{object-position:center 35%}
  #servicios .svc-card__photo[src*="svc-meet"]{object-position:center 58%}
  #servicios .svc-card__photo[src*="svc-corp"]{object-position:center 55%}
}
/* ---------- SW-SERVICIOS-FOTOS-ALTURA: fin ---------- */
