/* Ajustes propios de Publiedit. Se carga el último en todas las páginas. */

/* Menú superior: entre 901 y 1299 px, WWB lo partía en dos filas y la segunda se salía de la cabecera.
   Tipografía y relleno se reducen de forma progresiva para que quepa siempre en una fila.
   Por debajo de 901 px (hamburguesa) y desde 1300 px no cambia nada. */
@media (min-width: 901px) and (max-width: 1299px) {
  #wb_menu1 > ul.menu1 > li > a,
  #wb_menuen > ul.menuen > li > a {
    font-size: calc(14px + (100vw - 901px) * 0.00752);
    padding-left: calc(4px + (100vw - 901px) * 0.04010);
    padding-right: calc(4px + (100vw - 901px) * 0.04010);
    white-space: nowrap;
  }
}

/* Selector de idioma: el ancho fijo de WWB dejaba caer la última barra a otra línea. */
#wb_language-menu {
  white-space: nowrap;
}
.solo-lector { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* «Talleres en inglés y español»: dato informativo, sin aspecto de botón. */
.idiomas-taller {
  margin: 28px auto 0;
  text-align: center;
  font-family: Poppins, Arial, sans-serif;
  line-height: 1.3;
}
.idiomas-taller span,
.idiomas-taller strong {
  display: block;
}
.idiomas-taller span {
  font-size: 16px;
}
.idiomas-taller strong {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 700;
}

/* Sin scroll lateral: restos de posiciones de escritorio y carruseles no deben mover la página.
   clip no crea contenedor de scroll, así que no afecta a menús fijos ni a anclas. */
html, body {
  overflow-x: clip !important;
}
@media (max-width: 767px) {
  h1, h2, h3 {
    max-width: 100%;
  }
  #Heading14 {
    font-size: clamp(28px, 9.6vw, 44px);
  }
  [id^="wb_MediaPlayer"] {
    max-width: calc(100vw - 70px);
  }
}

/* Restos de Web Builder fuera del diseño: una imagen de 0 px de alto y una URL suelta negra sobre negro. */
#wb_Image10[style*="left:1000px"],
#wb_Text9[style*="left:1049px"] {
  display: none;
}

/* Foco visible con teclado, también sobre fondo negro. WWB lo quitaba con #ButtonN:focus{outline:0}. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #B9471A !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #FFFFFF !important;
}

/* Menú móvil con teclado: el checkbox se puede enfocar y se marca el botón visible. */
@media (max-width: 900px) {
  [id$="-submenu"] {
    display: block !important;
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
  }
  #wb_menu1:has([id$="-submenu"]:focus-visible) .toggle,
  #wb_menuen:has([id$="-submenu"]:focus-visible) .toggle {
    outline: 3px solid #B9471A;
    outline-offset: -3px;
  }
}

/* Preguntas frecuentes: el texto no pasa por debajo del + */
.accordion-group .accordion-title > a {
  padding-right: 62px !important;
}
/* En móvil el + va a la izquierda: el botón flotante de WhatsApp, siempre a la derecha, no lo tapa */
@media (max-width: 767px) {
  .accordion-group .accordion-item .accordion-header .accordion-arrow {
    right: auto !important;
    left: 6px;
    width: 30px;
  }
  .accordion-group .accordion-title > a {
    padding-left: 46px !important;
    padding-right: 12px !important;
  }
}

/* Título de las páginas de reserva, antes del widget */
.titulo-reserva {
  margin: 32px 16px 20px;
  color: #996517;   /* ocre de la marca: 4,5:1 sobre blanco (09/11) */
  font-family: Poppins, Arial, sans-serif;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.2;
  text-align: center;
}


/* Tarjetas de la portada (Particulares, Empresas, Profesionales): entre tablet y portátil pequeño el título no cabía en la tarjeta */
@media (min-width: 768px) and (max-width: 1099px) {
  [id^="wb_BUYER"] span[style*="font-size:37px"] {
    font-size: min(37px, 3.4vw) !important;
  }
}

/* Pantallas de 320 px: las palabras largas de los títulos pasan de línea en vez de salirse */
@media (max-width: 359px) {
  h1, h2, h3, p, span {
    overflow-wrap: break-word;
  }
}

/* Datos de la clase en las páginas de reserva (T12), legibles sin JavaScript */
.datos-reserva {
  max-width: 720px;
  margin: 0 auto 28px;
  padding: 0 16px;
  color: #222;
  font-family: Poppins, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}
.datos-reserva ul {
  margin: 8px 0 12px;
  padding-left: 22px;
}
.datos-reserva a {
  color: #B9471A;
  text-decoration: underline;
}

/* Precios y Contacto en la cabecera (08/11) */
.cab-cta { display: inline-flex; align-items: center; gap: 18px; margin-right: 22px; vertical-align: middle; }
.cab-cta a { font-family: Poppins, Arial, sans-serif; font-size: 15px; text-decoration: none; white-space: nowrap; }
.cab-enlace { color: #FFF; }
.cab-enlace:hover { color: #F1BE40; }
.cab-boton { display: inline-block; padding: 8px 20px; border-radius: 24px; background: #F1BE40; color: #000 !important; font-weight: 600; }
.cab-boton:hover { background: #FFF; }
.solo-movil { display: none !important; }
@media (max-width: 900px) {   /* mismo corte que el menú */
  .cab-cta { display: none; }
  .solo-movil { display: block !important; }
}

/* Portada: los botones de las tres fichas (Particulares, Empresas, Profesionales) al pie de cada ficha, alineados (08/11) */
@media (min-width: 768px) {
  #wb_particular1, #wb_empresa1, #wb_profesional1 { display: flex !important; height: 100%; }
  #particular1, #empresa1, #profesional1 { flex: 1; display: flex; }
  #particular1 > .col-1, #empresa1 > .col-1, #profesional1 > .col-1 { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; flex: 1; }
  #Button7B, #Button2b, #Button1b { margin-top: auto !important; align-self: center; }
}
/* Precios, Contacto y ES | EN en una sola fila en escritorio */
@media (min-width: 901px) {
  [id^="menusup"] > .col-3 { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-end !important; white-space: nowrap; flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
  [id^="menusup"] > .col-2 { flex: 0 0 0 !important; width: 0 !important; }
  [id^="menusup"] > .col-3 > #wb_language-menu { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
}

/* 09/11/2026: interlineado más compacto (petición del usuario: textos muy separados, sobre todo en el móvil).
   Los textos venían de Web Builder con 1,7-1,8 veces el tamaño de letra. Los botones no se tocan: centran el texto con su line-height. */
main p, main li, main [id^="wb_Text"], main .accordion-body { line-height: 1.5 !important; }
main h1, main h2, main h3, main h4, main h5, main .h1 { line-height: 1.25 !important; }
main [id^="wb_Text"] span, main [id^="wb_Text"] strong, main [id^="wb_Text"] em, main [id^="wb_Text"] b,
main p span, main p strong, main li span, main li strong, main h1 span, main h2 span, main h3 span, main h4 span { line-height: inherit !important; }

/* 09/11/2026: auditoría visual de Clara (AUDITORIA-VISUAL-2026-11-09.md) */
/* 4. WhatsApp flotante: la capa de 107 px bloqueaba toques fuera del icono */
[id^="Layer1whats"] { pointer-events: none; }
[id^="Layer1whats"] a { pointer-events: auto; }
/* 09/11: icono SVG del usuario con sombra suave para que destaque sobre fotos */
[id^="wb_Image9whats"] img { filter: drop-shadow(0 3px 6px rgba(0,0,0,.3)); }   /* sombra que sigue la forma del bocadillo */
/* 8. «SE AGOTA PRONTO»: sin parpadeo de colores (pasaba por amarillo sobre blanco, ilegible) */
#Card12-card-item0, #Card12-card-item0 > a, #Card12-card-item0 * { animation: none !important; color: #B9471A !important; }
/* 9. Datos de la reserva: lista alineada a la izquierda */
.datos-reserva, .datos-reserva li, .datos-reserva p { text-align: left !important; }
/* 16. Campo de fecha tan ancho como los demás */
#wb_DatePicker1 { width: 100% !important; }
@media (max-width: 767px) {
  /* 4. Icono de WhatsApp algo más pequeño en el móvil: tapaba botones */
  [id^="wb_Image9whats"] { width: 52px !important; height: 52px !important; left: auto !important; top: auto !important; right: 14px !important; bottom: 14px !important; }
  [id^="wb_Image9whats"] img { width: 52px !important; height: 52px !important; }
  /* 7. Preguntas frecuentes: 4-6 líneas por pregunta en negrita grande */
  .accordion-group .accordion-title, .accordion-group .accordion-title > a { font-size: 17px !important; line-height: 1.3 !important; text-wrap: pretty; }
}
