/* =========================================================
   Rediseño oct-2026 · Fase 1 — paleta y sombras unificadas
   Un solo acento (#356ea6) con sus tonos + grises tintados de navy.
   Solo color y sombra: no toca layout, tipografía ni textos.
   ========================================================= */
html:root{
  --cm-blue:#356ea6;
  --cm-blue-700:#2a5885;
  --cm-blue-800:#1f4468;
  --cm-blue-300:#7fa6cc;
  --cm-blue-50:#eaf3fb;
  --cm-ink:#16263a;
  --cm-text:#3a4654;
  --cm-muted:#51606d;
  --cm-line:#e3eaf1;
  --cm-surface:#f3f7fb;
  --cm-shadow-sm:0 2px 8px -2px rgba(22,38,58,.10), 0 0 0 1px rgba(22,38,58,.03);
  --cm-shadow-md:0 12px 30px -12px rgba(22,38,58,.20);
  --cm-shadow-lg:0 22px 50px -18px rgba(16,36,62,.42);

  /* Tema padre mybooking: su azul por defecto (#2193F2) pasa a ser el de marca.
     Afecta también al embudo /seleccionar/ y /confirmar/. */
  --brand-primary:var(--cm-blue);
  --brand-primary-light:var(--cm-blue-300);
  --brand-primary-dark:var(--cm-blue-800);
  --wp--preset--color--primary:var(--cm-blue);
  --wp--preset--color--primary-light:var(--cm-blue-300);
  --wp--preset--color--primary-dark:var(--cm-blue-800);
  --footer-color-link-hover:var(--cm-blue);
  --home-topbar-bg:var(--cm-blue);
  --topbar-bg:var(--cm-blue);
  --selector-sticky-bg:var(--cm-blue);
  --navbar-link-color:var(--cm-ink);
}

/* Enlaces dentro del contenido: un solo azul (antes #2194F3 / #333 según bloque) */
[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button),
[data-elementor-type="wp-post"] .elementor-widget-text-editor a:not(.elementor-button),
.elementor-element-57303c80 p a{ color:var(--cm-blue) !important; text-decoration-color:rgba(53,110,166,.35); text-underline-offset:2px; }
[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button):hover,
.elementor-element-57303c80 p a:hover{ color:var(--cm-blue-800) !important; text-decoration-color:currentColor; }
/* Títulos que son enlace: color de título, no de enlace */
.elementor-element-57303c80 h3 a{ color:inherit !important; }
.elementor-widget-heading .elementor-heading-title a{ color:inherit; }
.elementor-element-57303c80 h3{ color:var(--cm-ink); }
/* Restos de negro / #333 / #000 en el contenido de la home */
.elementor-2559 .elementor-widget-text-editor{ color:var(--cm-text); }

/* Header (plantilla 2605): hover/activo sin el azul #104d9f ni el naranja #FF6500 */
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--main .elementor-item:hover,
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--main .elementor-item.highlighted,
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--main .elementor-item:focus{ color:var(--cm-blue) !important; fill:var(--cm-blue) !important; }
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-menu-toggle,
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-menu-toggle:hover,
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-menu-toggle:focus{ color:var(--cm-ink) !important; fill:var(--cm-ink) !important; }
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--dropdown a{ color:var(--cm-ink) !important; }
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--dropdown a:hover,
.elementor-2605 .elementor-element.elementor-element-11400fa8 .elementor-nav-menu--dropdown a.elementor-item-active{ color:var(--cm-blue) !important; background-color:var(--cm-blue-50) !important; }
.elementor-2605 .elementor-element.elementor-element-49f1a625 .elementor-button:hover,
.elementor-2605 .elementor-element.elementor-element-49f1a625 .elementor-button:focus{ background-color:var(--cm-blue-700) !important; }

/* Hero home: sombras tintadas de navy en vez de negro al 45% */
.elementor-element-490cf1c3 .elementor-heading-title{ box-shadow:var(--cm-shadow-lg) !important; }
.elementor-element-74a21950 .elementor-button{ box-shadow:0 12px 28px -10px rgba(16,36,62,.45) !important; text-shadow:none !important; }
.elementor-element-6a8c98cd h2{ text-shadow:none !important; }

/* Buscador de reserva (mybooking): grises neutros → grises de la paleta */
.mybooking-selector .mb-form-control,
.mb-form-control{ background-color:var(--cm-surface) !important; border-color:var(--cm-line) !important; color:var(--cm-ink); }
.mb-form-control:focus{ border-color:var(--cm-blue) !important; box-shadow:0 0 0 3px rgba(53,110,166,.18) !important; outline:none; }
.mybooking-selector label{ color:var(--cm-ink) !important; }
html .mybooking-selector form input:not([type="submit"]),
html .mybooking-selector form select{ border-color:var(--cm-line) !important; }
html .mybooking-selector form input[disabled]:not([type="submit"]),
html .mybooking-selector form select[disabled],
.mb-form-control:disabled, .mb-form-control[disabled]{ background-color:#e9eef4 !important; border-color:var(--cm-line) !important; color:var(--cm-muted) !important; }
.snackbar{ background-color:var(--cm-ink) !important; }
.snackbar-close{ background-color:var(--cm-blue-800) !important; }

/* Formulario del hero (cmform02): sombra tintada */
.elementor-element-cmform02 > .elementor-widget-wrap{ box-shadow:0 26px 60px -24px rgba(16,36,62,.45) !important; }
/* Spans con color #333 escrito en línea en «Explora Madrid» (no tocar otros spans: los números de los pasos llevan blanco en línea) */
.elementor-element-15e317 span[style*="color"]{ color:inherit !important; }

/* Tarjetas: un solo color de borde */
.elementor-element-9ed3e94 > .elementor-widget-wrap,
.elementor-element-d4f6ac2 > .elementor-widget-wrap{ border-color:var(--cm-line) !important; }

/* Reseñas de Google (Trustindex): texto navy y sombras tintadas */
.ti-widget .ti-name,
.ti-widget .ti-rating,
.ti-widget .ti-rating-text strong,
.ti-widget .ti-review-text,
.ti-widget .ti-review-content{ color:var(--cm-ink) !important; }
.ti-widget .ti-inner{ box-shadow:var(--cm-shadow-sm) !important; }
html body .ti-widget[data-layout-id] .ti-tooltip,
html body .ti-widget[data-layout-id] .ti-verified-tooltip,
.ti-widget .ti-tooltip,
.ti-widget .ti-verified-tooltip{ background-color:var(--cm-ink) !important; box-shadow:var(--cm-shadow-md) !important; }
/* Texto de los tooltips en blanco (la regla de arriba oscurece .ti-name y sus hijos) */
.ti-widget .ti-tooltip, .ti-widget .ti-tooltip *,
.ti-widget .ti-verified-tooltip, .ti-widget .ti-verified-tooltip *{ color:#fff !important; }

/* Landings de país (.cm-mkt): grises propios → los de la paleta */
.cm-mkt{ color:var(--cm-ink); }
.cm-mkt-sub, .cm-mkt-card p, .cm-mkt-faq p{ color:var(--cm-muted); }
.cm-mkt-info li{ color:var(--cm-text); }
.cm-mkt-card, .cm-mkt-faq details{ border-color:var(--cm-line); }
.cm-mkt-card{ box-shadow:var(--cm-shadow-sm); }
.cm-mkt-step, .cm-mkt-info{ background:var(--cm-surface); }
.cm-mkt-hero{ background:linear-gradient(135deg,var(--cm-blue),var(--cm-blue-800)); }
.cm-mkt-faq summary, .cm-mkt-cta{ color:var(--cm-ink); }
.cm-mkt-final{ background:var(--cm-ink); }


/* =========================================================
   Rediseño oct-2026 · Fase 2 — escala tipográfica
   3 niveles de título (sección / secundario / tarjeta), un peso y un
   tracking por nivel. Textos con peso 400 y ancho de lectura.
   No cambia ningún texto: solo tamaño, peso, interlineado y ancho.
   ========================================================= */
html:root{
  --cm-fs-display:clamp(2.25rem, 1.35rem + 2.6vw, 3.5rem);   /* 36 → 56px */
  --cm-fs-h2:clamp(1.625rem, 1.2rem + 1.25vw, 2.375rem);     /* 26 → 38px */
  --cm-fs-h2-sm:clamp(1.375rem, 1.15rem + .7vw, 1.75rem);    /* 22 → 28px */
  --cm-fs-h3:clamp(1.125rem, 1.05rem + .25vw, 1.25rem);      /* 18 → 20px */
  --cm-fs-lead:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);    /* 17 → 19px */
  --cm-font-head:"Poppins", sans-serif;
}

/* Global: titulares equilibrados y párrafos sin palabras sueltas */
h1, h2, h3, h4, .elementor-heading-title{ text-wrap:balance; }
p, li{ text-wrap:pretty; }

/* --- Hero home: H1 con presencia, sin placa de cristal --- */
.elementor-element-490cf1c3 .elementor-heading-title{
  font-size:var(--cm-fs-display) !important;
  font-weight:700 !important;
  line-height:1.04 !important;
  letter-spacing:-.03em !important;
  padding:0 !important;
  background:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  text-shadow:0 2px 28px rgba(4,20,38,.35);
}
.elementor-element-311b6108 p{ font-weight:400 !important; font-size:var(--cm-fs-lead) !important; line-height:1.6 !important; max-width:34ch; }
.elementor-element-311b6108 strong{ font-weight:600; }
.elementor-element-311b6108 span[style*="background"]{ font-variant-numeric:tabular-nums; }

/* --- Nivel 1: títulos de sección --- */
.elementor-element-fa47675 .elementor-heading-title,
.elementor-element-f883d73 .elementor-heading-title,
.elementor-element-c26434e .elementor-heading-title,
.elementor-element-57303c80 h2,
.elementor-element-cmfeat02 h2{
  font-family:var(--cm-font-head) !important;
  font-size:var(--cm-fs-h2) !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  letter-spacing:-.022em !important;
  max-width:32ch; margin-left:auto !important; margin-right:auto !important;
}
.elementor-element-fa47675 .elementor-heading-title{ max-width:38ch; }

/* --- Nivel 2: títulos secundarios --- */
.elementor-element-6a8c98cd .elementor-heading-title,
.elementor-element-cmapp02 h2{
  font-family:var(--cm-font-head) !important;
  font-size:var(--cm-fs-h2-sm) !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:-.015em !important;
}

/* --- Nivel 3: títulos de tarjeta --- */
.elementor-element-57303c80 h3,
.elementor-element-cmfeat02 h3,
.elementor-element-15e317 h3,
.elementor-element-2c0aec9 .elementor-heading-title,
.elementor-element-bb31f01 .elementor-heading-title{
  font-family:var(--cm-font-head) !important;
  font-size:var(--cm-fs-h3) !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  letter-spacing:-.01em !important;
}
.elementor-element-cmsteps01 h3{ font-size:1.0625rem !important; font-weight:600 !important; letter-spacing:-.01em !important; }

/* --- Textos --- */
.elementor-2559 .elementor-widget-text-editor p{ line-height:1.65; }
.elementor-element-5e94404e p{
  font-weight:400 !important; font-size:var(--cm-fs-lead) !important; line-height:1.7 !important;
  max-width:60ch; margin-left:auto !important; margin-right:auto !important;
}
.elementor-element-57303c80 p{ font-weight:400 !important; font-size:15.5px !important; line-height:1.65 !important; }
.elementor-element-cmfeat02 p{ font-size:15.5px !important; line-height:1.65 !important; }
.elementor-element-cmsteps01 p{ font-size:15px !important; line-height:1.6 !important; }
.elementor-element-73b0d08 p,
.elementor-element-3b4584d p{ max-width:62ch; }
/* «Explora Madrid»: bloque de 1150px → dos columnas de lectura en escritorio */
@media (min-width:1025px){
  .elementor-element-15e317 .elementor-widget-container{ column-count:2; column-gap:56px; }
  .elementor-element-15e317 h3{ column-span:all; margin-bottom:.75em; }
}

/* Reseñas: cifras alineadas */
.ti-widget .ti-rating, .ti-widget .ti-rating-text{ font-variant-numeric:tabular-nums; }

/* --- Móvil --- */
@media (max-width:767px){
  .elementor-element-490cf1c3 .elementor-heading-title{ font-size:2.125rem !important; line-height:1.06 !important; }
  .elementor-element-311b6108 p{ font-size:15px !important; max-width:none; }
}


/* =========================================================
   Rediseño oct-2026 · Fase 3 — tarjetas, radios y layout
   Fuera el patrón «borde + sombra + blanco»: paneles tintados,
   listas sin caja y un layout asimétrico. Solo 3 radios + píldora.
   ========================================================= */
html:root{
  --cm-r-lg:20px;   /* paneles y contenedores */
  --cm-r-md:14px;   /* tarjetas y bloques internos */
  --cm-r-sm:10px;   /* campos, iconos, insignias */
}

/* --- «¿Por qué alquilar…?» (57303c80): título fijo a la izquierda + lista a la derecha --- */
@media (min-width:1025px){
  .elementor-element-57303c80 > .elementor-widget-container{
    display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    column-gap:clamp(48px,6vw,96px); align-items:start;
  }
  .elementor-element-57303c80 h2{
    position:sticky; top:120px;
    text-align:left !important; margin:0 !important; max-width:14ch;
  }
}
.elementor-element-57303c80 .cm-feat-grid{ grid-template-columns:1fr !important; gap:0 !important; }
.elementor-element-57303c80 .cm-feat-grid > div{
  display:grid !important; grid-template-columns:48px minmax(0,1fr); column-gap:22px;
  background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important;
  padding:28px 0 !important;
  border-top:1px solid var(--cm-line) !important;
}
.elementor-element-57303c80 .cm-feat-grid > div:first-child{ border-top:0 !important; padding-top:4px !important; }
.elementor-element-57303c80 .cm-feat-grid > div > div:first-child{
  grid-row:1 / span 2; margin:0 !important;
  border-radius:var(--cm-r-sm) !important;
  background:var(--cm-blue-50) !important; color:var(--cm-blue) !important;
}
.elementor-element-57303c80 .cm-feat-grid > div > div:first-child svg{ stroke:var(--cm-blue) !important; color:var(--cm-blue) !important; }
.elementor-element-57303c80 .cm-feat-grid h3{ margin:2px 0 6px !important; }
.elementor-element-57303c80 .cm-feat-grid p{ margin:0 !important; max-width:58ch; }

/* --- Pasos 1-2-3 (cmsteps01): sin tarjetas, unidos por una línea --- */
.cm-steps-grid{ position:relative; }
.cm-steps-grid > div{
  background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important;
  padding:34px 20px 0 !important; position:relative; z-index:1;
}
.cm-steps-grid > div > span:first-child{ top:0 !important; box-shadow:0 0 0 8px #fff; z-index:2; }
.cm-steps-grid > div > div{ margin-top:14px !important; }
.cm-steps-grid > div > div{ border-radius:var(--cm-r-md) !important; }
@media (min-width:768px){
  .cm-steps-grid::before{
    content:""; position:absolute; z-index:0; top:15px; left:16.66%; right:16.66%;
    border-top:2px dashed rgba(53,110,166,.28);
  }
}
@media (max-width:767px){
  .cm-steps-grid > div{ padding:34px 8px 0 !important; }
}

/* --- «Tu alquiler en Madrid, sin sorpresas» (cmfeat02): paneles tintados --- */
.elementor-element-cmfeat02 .cm-feat-grid{ gap:16px !important; }
.elementor-element-cmfeat02 .cm-feat-grid > div{
  background:var(--cm-surface) !important; border:0 !important; box-shadow:none !important;
  border-radius:var(--cm-r-lg) !important; padding:30px 30px 32px !important;
}
.elementor-element-cmfeat02 .cm-feat-grid > div > div:first-child{
  background:#fff !important; border-radius:var(--cm-r-sm) !important;
}

/* --- Dos columnas SEO (9ed3e94 / d4f6ac2): panel tintado en vez de cristal sobre blanco --- */
.elementor-element-9ed3e94,
.elementor-element-d4f6ac2{
  background:var(--cm-surface) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border:0 !important; box-shadow:none !important; border-radius:var(--cm-r-lg) !important;
}
.elementor-element-9ed3e94 .elementor-widget-divider,
.elementor-element-d4f6ac2 .elementor-widget-divider{ display:none !important; }
.elementor-element-73b0d08, .elementor-element-3b4584d,
.elementor-element-73b0d08 > .elementor-widget-container,
.elementor-element-3b4584d > .elementor-widget-container,
.elementor-element-9ed3e94 > .elementor-widget-wrap,
.elementor-element-d4f6ac2 > .elementor-widget-wrap{ border:0 !important; }
@media (min-width:768px){
  .elementor-element-9ed3e94{ width:calc(50% - 8px) !important; margin-right:8px; }
  .elementor-element-d4f6ac2{ width:calc(50% - 8px) !important; margin-left:8px; }
}
@media (max-width:767px){
  .elementor-element-9ed3e94{ margin-bottom:14px; }
}
/* Aire entre los pasos y «Todo incluido» */
.elementor-element-cmfeat02{ padding-top:clamp(40px,5vw,72px); }

/* --- «Explora Madrid» (15e317): mismo panel tintado --- */
.elementor-element-15e317 > .elementor-widget-container{
  background:var(--cm-surface) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border:0 !important; box-shadow:none !important; border-radius:var(--cm-r-lg) !important;
  padding:36px 40px !important;
}
@media (max-width:767px){
  .elementor-element-15e317 > .elementor-widget-container{ padding:24px 20px !important; }
}

/* --- Radios unificados en piezas sueltas --- */
.elementor-element-cmform02 > .elementor-widget-wrap{ border-radius:var(--cm-r-lg) !important; }
.mb-form-control,
html .mybooking-selector form input:not([type="submit"]),
html .mybooking-selector form select{ border-radius:var(--cm-r-sm) !important; }
.ti-widget .ti-inner{ border-radius:var(--cm-r-md) !important; }
.elementor-element-311b6108 span[style*="background"]{ border-radius:var(--cm-r-sm) !important; }

/* Móvil: menos hueco entre reseñas y columnas SEO; títulos de sección más compactos */
@media (max-width:767px){
  .elementor-element-aa63a7a{ display:none !important; }
  .elementor-element-fa47675 .elementor-heading-title,
  .elementor-element-f883d73 .elementor-heading-title,
  .elementor-element-c26434e .elementor-heading-title,
  .elementor-element-cmfeat02 h2{ font-size:1.5rem !important; max-width:none; }
}


/* =========================================================
   Rediseño oct-2026 · Fase 4 — estados e interacción
   Una sola curva/duración, hover y pulsado en botones, foco visible
   para teclado y respeto a «reducir movimiento».
   ========================================================= */
html:root{
  --cm-ease:cubic-bezier(.2,.7,.2,1);
  --cm-dur:200ms;
  --cm-focus:var(--cm-blue);
  --cm-z-skip:1000;
}

/* --- Saltar al contenido --- */
.cm-skip-link{
  position:fixed; left:16px; top:-80px; z-index:var(--cm-z-skip);
  background:var(--cm-ink); color:#fff !important; text-decoration:none;
  padding:12px 18px; border-radius:var(--cm-r-sm);
  font:600 15px/1 "Inter", sans-serif;
  box-shadow:var(--cm-shadow-md);
  transition:top var(--cm-dur) var(--cm-ease);
}
.cm-skip-link:focus{ top:12px; outline:2px solid #fff; outline-offset:2px; }
#cm-contenido:focus{ outline:none; }

/* --- Foco visible (solo teclado) --- */
:where(a, button, summary, [role="button"], [tabindex]:not([tabindex="-1"]), input[type="submit"], input[type="button"]):focus-visible{
  outline:2px solid var(--cm-focus) !important;
  outline-offset:3px !important;
}
/* Sobre fondo oscuro, foco blanco */
.elementor-element-5ed88028, .cm-footer, .cm-topbar, .cm-mkt-hero, .cm-mkt-final{ --cm-focus:#fff; }
.elementor-element-cmform02, .cm-search-facade{ --cm-focus:var(--cm-blue); }
/* Campos: anillo propio (Fase 1) en vez de outline */
.mb-form-control:focus-visible, select:focus-visible, input[type="text"]:focus-visible{ outline:none !important; }

/* --- Transición común --- */
.elementor-button, .mybooking-selector_button, .mb-button,
.cm-mobile-cta a, .cm-footer__cbtn, .cm-hd-wa, .cm-search-facade, .cm-sf__btn,
.elementor-element-cmapp02 a, .cm-footer a, .cm-topbar a,
.elementor-nav-menu a, .elementor-widget-text-editor a, .cm-feat-grid a,
.cky-btn, .ti-widget .ti-next, .ti-widget .ti-prev{
  transition:background-color var(--cm-dur) var(--cm-ease), color var(--cm-dur) var(--cm-ease),
             border-color var(--cm-dur) var(--cm-ease), box-shadow var(--cm-dur) var(--cm-ease),
             text-decoration-color var(--cm-dur) var(--cm-ease), opacity var(--cm-dur) var(--cm-ease),
             transform var(--cm-dur) var(--cm-ease) !important;
}

/* --- Botones principales: hover (sube 1px + tono) y pulsado (se hunde) --- */
.elementor-element-49f1a625 .elementor-button:hover,
.mybooking-selector_button:hover, .mb-button:hover,
.cm-mobile-cta__btn:hover, .cm-mobile-cta__call:hover{
  background-color:var(--cm-blue-700) !important;
  transform:translateY(-1px);
  box-shadow:0 10px 22px -10px rgba(16,36,62,.5) !important;
}
.mybooking-selector_button, .mb-button{ background-color:var(--cm-blue) !important; border-color:transparent !important; }
.cm-mobile-cta__wa:hover{ filter:brightness(.95); transform:translateY(-1px); }
.cm-search-facade:hover .cm-sf__btn{ filter:brightness(1.08); }
.cm-search-facade:active{ transform:scale(.99); }

.elementor-button:active, .mybooking-selector_button:active, .mb-button:active,
.cm-mobile-cta a:active, .cm-footer__cbtn:active, .cm-hd-wa:active, .cky-btn:active,
.elementor-element-cmapp02 a:active, .cm-footer a[href*="apps.apple"]:active, .cm-footer a[href*="play.google"]:active{
  transform:translateY(0) scale(.97) !important;
  transition-duration:80ms !important;
}

/* Insignias de App Store / Google Play */
.elementor-element-cmapp02 a:hover,
.cm-footer a[href*="apps.apple"]:hover, .cm-footer a[href*="play.google"]:hover{ transform:translateY(-2px); opacity:.92; }

/* Flechas del carrusel de reseñas */
.ti-widget .ti-next:hover, .ti-widget .ti-prev:hover{ transform:scale(1.06); }

/* Botones del aviso de cookies: mismo azul de marca */
.cky-btn-accept{ background-color:var(--cm-blue) !important; border-color:var(--cm-blue) !important; }
.cky-btn-accept:hover{ background-color:var(--cm-blue-700) !important; border-color:var(--cm-blue-700) !important; }
.cky-btn-reject, .cky-btn-customize{ color:var(--cm-blue) !important; border-color:var(--cm-blue) !important; }
.cky-btn-reject:hover, .cky-btn-customize:hover{ background-color:var(--cm-blue-50) !important; }

/* --- Reducir movimiento --- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto !important; }
  *, *::before, *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
  .elementor-button:hover, .mybooking-selector_button:hover, .mb-button:hover,
  .cm-mobile-cta a:hover, .elementor-element-cmapp02 a:hover{ transform:none !important; }
}


/* =========================================================
   Rediseño oct-2026 · Fase 5 — móvil primero
   Home más corta en móvil (carrusel, línea de tiempo, «Leer más»),
   animaciones al hacer scroll, barra inferior de cristal y hero
   móvil con profundidad. Sin JS todo se ve completo y estático.
   ========================================================= */

/* --- Animaciones al entrar en pantalla (solo si el JS las activa) --- */
html.cm-js .cm-reveal{
  opacity:0; translate:0 18px;
  transition:opacity .6s var(--cm-ease), translate .6s var(--cm-ease);
  transition-delay:var(--cm-delay, 0ms);
}
html.cm-js .cm-reveal.is-in{ opacity:1; translate:0 0; }

/* --- «Leer más» en textos largos (solo si el JS lo activa) --- */
html.cm-js .cm-clamp{
  max-height:var(--cm-clamp-h, 11.5em); overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(#000 62%, transparent);
          mask-image:linear-gradient(#000 62%, transparent);
  transition:max-height .45s var(--cm-ease);
}
html.cm-js .cm-clamp.is-open{ max-height:var(--cm-open-h, 4000px); -webkit-mask-image:none; mask-image:none; }
.cm-readmore{
  display:inline-flex; align-items:center; gap:6px; margin:10px 0 0;
  background:none; border:0; padding:6px 0; cursor:pointer;
  font:600 15px/1.2 "Inter", sans-serif; color:var(--cm-blue);
}
.cm-readmore::after{
  content:""; width:8px; height:8px; margin-top:-3px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:transform var(--cm-dur) var(--cm-ease);
}
.cm-readmore[aria-expanded="true"]::after{ transform:rotate(-135deg); margin-top:3px; }

/* --- Coche del hero: entra deslizándose (usa `translate`, que no pisa los transform !important previos) --- */
@keyframes cm-car-in{ from{ translate:48px 0; } to{ translate:0 0; } }
.cm-hero-car{ animation:cm-car-in .9s var(--cm-ease) .15s both; }

@media (max-width:767px){

  /* «Sin sorpresas»: fuera los 50px laterales que estrechaban las tarjetas a 255px */
  .elementor-element-39b4ebbd{ padding-left:0 !important; padding-right:0 !important; }

  /* …y sus 4 paneles como carrusel deslizable con la siguiente tarjeta asomando */
  .elementor-element-cmfeat02 .cm-feat-grid{
    display:flex !important; gap:12px !important; align-items:flex-start;
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scroll-padding-inline:16px;
    padding:4px 16px 8px !important; margin:0 -10px !important;
    scrollbar-width:none;
  }
  .elementor-element-cmfeat02 .cm-feat-grid::-webkit-scrollbar{ display:none; }
  .elementor-element-cmfeat02 .cm-feat-grid > div{
    flex:0 0 84%; scroll-snap-align:start;
    padding:24px 22px 26px !important;
  }
  .cm-dots{ display:flex; justify-content:center; gap:8px; margin:14px 0 0; }
  .cm-dots span{
    width:7px; height:7px; border-radius:999px; background:var(--cm-line);
    transition:width var(--cm-dur) var(--cm-ease), background-color var(--cm-dur) var(--cm-ease);
  }
  .cm-dots span.is-on{ width:22px; background:var(--cm-blue); }

  /* Pasos 1-2-3: línea de tiempo vertical compacta (número a la izquierda, texto a la derecha) */
  .cm-steps-grid{ gap:0 !important; padding-left:4px; }
  .cm-steps-grid::before{
    content:""; position:absolute; z-index:0;
    left:19px; top:18px; bottom:24px; border-left:2px dashed rgba(53,110,166,.28);
  }
  .cm-steps-grid > div{
    display:grid !important; grid-template-columns:32px minmax(0,1fr); column-gap:16px;
    text-align:left !important; padding:0 0 22px !important;
  }
  .cm-steps-grid > div > span:first-child{
    position:static !important; transform:none !important; left:auto !important; top:auto !important;
    grid-row:1 / span 2; align-self:start;
  }
  .cm-steps-grid > div > div{ display:none !important; }
  .cm-steps-grid h3{ margin:4px 0 4px !important; }
  .cm-steps-grid p{ margin:0 !important; }

  /* Barra inferior: cristal esmerilado y se esconde mientras el buscador está a la vista */
  .cm-mobile-cta{
    background:rgba(255,255,255,.78) !important;
    -webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%);
    border-top:1px solid rgba(22,38,58,.06);
    box-shadow:0 -10px 30px -12px rgba(16,36,62,.25) !important;
    transition:transform .35s var(--cm-ease), opacity .35s var(--cm-ease);
  }
  body.cm-search-visible .cm-mobile-cta{ transform:translateY(110%); opacity:0; pointer-events:none; }

  /* Hero: degradado con luz y grano sutil en vez del degradado plano */
  .elementor-element-5ed88028{
    background-image:
      radial-gradient(110% 55% at 100% 0%, rgba(127,166,204,.45) 0%, rgba(127,166,204,0) 62%),
      radial-gradient(85% 45% at 0% 88%, rgba(53,110,166,.55) 0%, rgba(53,110,166,0) 70%),
      linear-gradient(180deg, #24598c 0%, #0d3a63 46%, #031529 100%) !important;
  }
  .elementor-element-5ed88028::before{
    content:"" !important; display:block !important; position:absolute; inset:0; z-index:0;
    pointer-events:none; opacity:.09; mix-blend-mode:overlay;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 160px 160px !important;
  }
  /* Tarjeta del buscador con borde de luz */
  .cm-search-facade{
    border:1px solid transparent !important;
    background:linear-gradient(#fff,#fff) padding-box,
               linear-gradient(140deg, rgba(255,255,255,.95), rgba(127,166,204,.55) 55%, rgba(255,255,255,.9)) border-box !important;
    box-shadow:0 24px 48px -22px rgba(0,10,25,.65), 0 0 0 6px rgba(255,255,255,.06) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html.cm-js .cm-reveal{ opacity:1 !important; translate:none !important; }
  .cm-hero-car{ animation:none !important; }
}


/* =========================================================
   Rediseño oct-2026 · Fase 6 — menú del header
   Minúscula normal, pastilla al pasar el ratón, «mega menú» de
   Puntos de entrega (tarjeta destacada + 2 grupos con título) y,
   en móvil, panel a pantalla completa bajo el header con acordeón,
   ubicaciones en pastillas y pie con Reservar / Llamar / WhatsApp / idioma.
   Las clases cm-locs* y cm-menu-* las pone el JS; sin JS queda el menú anterior.
   ========================================================= */
#header_pop .elementor-nav-menu .elementor-item{ text-transform:none !important; letter-spacing:-.005em !important; }
#header_pop .sub-arrow > *{ display:inline-block; transition:rotate var(--cm-dur) var(--cm-ease); }
#header_pop .has-submenu.highlighted .sub-arrow > *,
#header_pop .has-submenu[aria-expanded="true"] .sub-arrow > *{ rotate:180deg; }

/* --- Tarjeta destacada «Donde tú quieras» (escritorio y móvil) --- */
#header_pop .cm-locs > li.cm-locs__feature{ column-span:all; margin:0 0 8px; break-inside:avoid; }
#header_pop .elementor-nav-menu .cm-locs > li.cm-locs__feature > a.elementor-sub-item{
  position:relative; display:flex !important; flex-direction:column; align-items:flex-start; gap:3px;
  padding:14px 16px 14px 58px !important; white-space:normal !important;
  border:0 !important; border-radius:var(--cm-r-md) !important;
  background:linear-gradient(125deg, var(--cm-blue) 0%, var(--cm-blue-800) 100%) !important;
  color:#fff !important; font:600 15px/1.25 "Poppins", sans-serif !important;
  box-shadow:0 10px 24px -14px rgba(16,36,62,.6);
}
#header_pop .elementor-nav-menu .cm-locs > li.cm-locs__feature > a.elementor-sub-item::before{
  content:""; position:absolute; left:16px; top:50%; width:30px; height:30px; margin-top:-15px;
  border-radius:var(--cm-r-sm); background:rgba(255,255,255,.16) 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='M12 21s-7-6.5-7-11a7 7 0 0 1 14 0c0 4.5-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E") center / 18px no-repeat;
}
#header_pop .elementor-nav-menu .cm-locs > li.cm-locs__feature > a.elementor-sub-item::after{
  content:attr(data-sub); font:400 13px/1.3 "Inter", sans-serif; opacity:.85;
}
#header_pop .elementor-nav-menu .cm-locs > li.cm-locs__feature > a.elementor-sub-item:hover{ filter:brightness(1.07); }

/* Títulos de grupo (no son enlaces) */
#header_pop .cm-locs > li.cm-locs__label{
  display:block; break-after:avoid; break-inside:avoid;
  padding:10px 14px 6px; font:600 12.5px/1.2 "Inter", sans-serif; color:var(--cm-muted); letter-spacing:.01em;
}

/* ---------- ESCRITORIO ---------- */
@media (min-width:1025px){
  .cm-hd-nav .elementor-nav-menu--main{ gap:4px !important; }
  .cm-hd-nav .elementor-nav-menu--main > li > .elementor-item{
    padding:9px 14px !important; border-radius:999px;
    transition:background-color var(--cm-dur) var(--cm-ease), color var(--cm-dur) var(--cm-ease) !important;
  }
  .cm-hd-nav .elementor-nav-menu--main > li > .elementor-item::before,
  .cm-hd-nav .elementor-nav-menu--main > li > .elementor-item::after{ display:none !important; }
  .cm-hd-nav .elementor-nav-menu--main > li > .elementor-item:hover,
  .cm-hd-nav .elementor-nav-menu--main > li > .elementor-item.highlighted,
  .cm-hd-nav .elementor-nav-menu--main > li > .elementor-item.elementor-item-active,
  .cm-hd-nav .elementor-nav-menu--main > li.current-menu-item > .elementor-item{
    background:var(--cm-blue-50) !important; color:var(--cm-blue) !important;
  }

  /* Mega menú de Puntos de entrega */
  #header_pop .elementor-nav-menu--main .cm-locs{
    min-width:560px !important; padding:12px !important; column-gap:10px !important;
    border:1px solid var(--cm-line); border-radius:var(--cm-r-lg) !important;
    box-shadow:var(--cm-shadow-lg) !important;
    animation:cm-drop .22s var(--cm-ease) both;
  }
  #header_pop .elementor-nav-menu--main .cm-locs > li.cm-locs__label--2{ break-before:column; }
  #header_pop .elementor-nav-menu--main .cm-locs .elementor-sub-item{ padding:7px 14px !important; }
}
@keyframes cm-drop{ from{ opacity:0; translate:0 8px; } to{ opacity:1; translate:0 0; } }

/* ---------- MÓVIL / TABLET ---------- */
@media (max-width:1024px){
  html.cm-menu-open, html.cm-menu-open body{ overflow:hidden !important; }
  html.cm-menu-open .cm-mobile-cta{ transform:translateY(110%); opacity:0; pointer-events:none; }

  /* Panel a pantalla completa justo bajo el header (no tapa el logo) */
  html.cm-menu-open #header_pop .elementor-nav-menu--dropdown:not(.sub-menu){
    top:var(--cm-menu-top, 64px) !important; left:0 !important; right:0 !important;
    height:calc(100dvh - var(--cm-menu-top, 64px)) !important; max-height:none !important;
    border-radius:0 !important; border:0 !important; border-top:1px solid var(--cm-line) !important;
    background:#fff !important; -webkit-backdrop-filter:none; backdrop-filter:none;
    box-shadow:none !important; overflow-y:auto !important; overscroll-behavior:contain;
    padding:6px 0 calc(28px + env(safe-area-inset-bottom)) !important;
  }
  #header_pop .elementor-nav-menu--dropdown .elementor-nav-menu{ border-radius:0 !important; overflow:visible !important; }

  /* Opciones: a la izquierda, grandes y fáciles de tocar */
  #header_pop .elementor-nav-menu--dropdown .elementor-nav-menu > li > .elementor-item{
    justify-content:flex-start !important; text-align:left !important;
    padding:17px 22px !important; min-height:56px;
    font:600 18px/1.25 "Poppins", sans-serif !important; color:var(--cm-ink) !important;
    border-bottom:1px solid var(--cm-line) !important; background:none !important;
  }
  #header_pop .elementor-nav-menu--dropdown .elementor-nav-menu > li > .elementor-item.elementor-item-active,
  #header_pop .elementor-nav-menu--dropdown .elementor-nav-menu > li.current-menu-item > .elementor-item{ color:var(--cm-blue) !important; }
  #header_pop .elementor-nav-menu--dropdown .elementor-nav-menu > li > .elementor-item .sub-arrow{ margin-left:auto; padding-left:12px; }

  /* Ubicaciones: tarjeta + grupos + pastillas */
  #header_pop .elementor-nav-menu--dropdown .cm-locs{
    column-count:1 !important; padding:16px 18px 18px !important;
    background:var(--cm-surface) !important; border-bottom:1px solid var(--cm-line);
  }
  #header_pop .elementor-nav-menu--dropdown .cm-locs > li.cm-locs__label{ padding:14px 2px 8px; }
  #header_pop .elementor-nav-menu--dropdown .cm-locs > li:not(.cm-locs__feature):not(.cm-locs__label){
    display:inline-block; margin:0 6px 8px 0;
  }
  #header_pop .elementor-nav-menu--dropdown .cm-locs > li:not(.cm-locs__feature):not(.cm-locs__label) > a.elementor-sub-item{
    display:inline-flex !important; padding:9px 14px !important; white-space:nowrap;
    border:1px solid var(--cm-line) !important; border-radius:999px !important;
    background:#fff !important; color:var(--cm-ink) !important;
    font:500 14.5px/1.2 "Inter", sans-serif !important;
  }
  #header_pop .elementor-nav-menu--dropdown .cm-locs > li:not(.cm-locs__feature):not(.cm-locs__label) > a.elementor-sub-item:active{
    background:var(--cm-blue-50) !important; border-color:var(--cm-blue-300) !important;
  }

  /* Pie del panel: Reservar, Llamar, WhatsApp e idioma */
  #header_pop .cm-menu-extra{ display:block; padding:22px 22px 8px; }
  #header_pop .cm-menu-extra .cm-menu-book{
    display:flex; align-items:center; justify-content:center; min-height:54px;
    border-radius:var(--cm-r-md); background:var(--cm-blue); color:#fff !important;
    font:600 17px/1 "Poppins", sans-serif; text-decoration:none;
  }
  #header_pop .cm-menu-extra .cm-menu-row{ display:flex; gap:10px; margin-top:10px; }
  #header_pop .cm-menu-extra .cm-menu-row a{
    flex:1; display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px;
    border-radius:var(--cm-r-md); border:1px solid var(--cm-line); background:#fff;
    color:var(--cm-ink) !important; font:600 15px/1 "Inter", sans-serif; text-decoration:none;
  }
  #header_pop .cm-menu-extra .cm-menu-row a.cm-menu-wa{ color:#1c8a3f !important; }
  #header_pop .cm-menu-extra .cm-menu-lang{ display:flex; justify-content:center; gap:6px; margin-top:18px; }
  #header_pop .cm-menu-extra .cm-menu-lang a{
    width:52px; height:38px; display:flex; align-items:center; justify-content:center;
    border-radius:999px; color:var(--cm-muted) !important; font:600 14px/1 "Inter", sans-serif; text-decoration:none;
  }
  #header_pop .cm-menu-extra .cm-menu-lang a[aria-current="true"]{ background:var(--cm-blue-50); color:var(--cm-blue) !important; }
}
#header_pop .cm-menu-extra{ display:none; }
@media (max-width:1024px){ #header_pop .cm-menu-extra{ display:block; } }

@media (prefers-reduced-motion:reduce){
  #header_pop .elementor-nav-menu--main .cm-locs{ animation:none !important; }
}

/* =========================================================
   ÁREA DE CLIENTE en la cabecera (16/10/2026) → clientes.carmove.es
   Escritorio: pastilla con icono y texto, entre WhatsApp y «Reserva ahora».
   Tablet y móvil: solo el icono, junto al menú.
   ========================================================= */
.cm-hd-cli {
    display: inline-flex; align-items: center; gap: 8px;
    height: 42px; padding: 0 16px; border-radius: 999px;
    border: 1px solid #e0e8f0; background: #fff;
    color: #16263a !important; font-weight: 500; font-size: 15px; line-height: 1;
    text-decoration: none !important; white-space: nowrap;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.cm-hd-cli:hover, .cm-hd-cli:focus-visible { border-color: #356ea6; color: #356ea6 !important; }
.cm-hd-cli svg { display: block; flex: 0 0 auto; color: #356ea6; }
@media (max-width: 1024px) {
    .cm-hd-cli { width: 42px; padding: 0; justify-content: center; }
    .cm-hd-cli-txt { display: none; }
}

/* /reservar/ (22/10/2026): el banner y el motor de Sofía usan más ancho en pantallas grandes
   (antes se quedaban en la caja de 1140 px y sobraba media pantalla) */
.page-id-2703 .elementor-element-rsvban > .elementor-container,
.page-id-2703 .elementor-element-6fad694 > .elementor-container{max-width:min(1440px,calc(100vw - 48px))}
