/* 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: #8A5A00;   /* dorado oscuro: 5,9:1 sobre blanco */
  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; }
}
