/* ==========================================================================
   PAMBEL – Ajustes responsive (tablet y móvil)
   Todo va dentro de max-width: 1199.98px → la versión de escritorio NO cambia.
   ========================================================================== */

@media (max-width: 1199.98px) {

	/* --- Evitar scroll horizontal (sin romper position: sticky) --- */
	html, body { overflow-x: clip; }
	img, iframe, video { max-width: 100%; }
	.content-area > .site-main { min-width: 0; max-width: 100%; }

	/* Imágenes de las entradas del blog: mismo margen lateral que el resto de bloques */
	.single-post .content_page > .wp-block-image { padding-left: 18.75px; padding-right: 18.75px; }

	/* --- Selector de idioma (GTranslate): dentro de la cabecera, sin flotar al hacer scroll --- */
	#gt_float_wrapper { position: absolute !important; }
	/* Se mueve (con JS, ver functions.php) dentro de la barra "Reservar Alquiler", a la izquierda */
	.contacto-header .link { position: relative; }
	.contacto-header .link #gt_float_wrapper { top: 50% !important; left: 12px !important; transform: translateY(-50%); }

	/* --- Buscador de cabecera: más aire por arriba --- */
	#header-filters-form { margin-top: 20px !important; }

	/* --- Tarjetas de alojamiento (home y listados) --- */
	.atributos.row { margin-left: 0; margin-right: 0; }
	.atributo-item { min-width: 0; align-items: center; }
	.atributo-item img {
		width: 24px !important;
		height: 24px !important;
		flex: 0 0 24px;
		object-fit: contain;
	}

	/* ------------------------------------------------------------------
	   Margen lateral homogéneo para todo bloque con esquinas redondeadas
	   (mismo patrón que las tarjetas de la home: 18.75px a cada lado)
	   ------------------------------------------------------------------ */
	/* El contenedor ya tiene 18.75px de padding: el buscador solo debe ocupar su 100% */
	#header-filters-form { width: 100% !important; max-width: 100% !important; }
	/* Slider principal (en escritorio ya va encajado con esquinas de 60px) */
	.slider_full > .splide__track,
	section.slider_full .splide__track { width: calc(100% - 37.5px) !important; margin-left: auto; margin-right: auto; border-radius: 30px; }
	/* Menú horizontal de tablet (pastilla azul) */
	.menu-row { width: calc(100% - 37.5px) !important; max-width: calc(100% - 37.5px); margin-left: auto !important; margin-right: auto !important; flex: 0 0 auto; }

	/* Listados vacacional / vivienda: tarjetas y filtros */
	.bloque-productos-vacacional .productos-list { padding-left: 18.75px; padding-right: 18.75px; }
	/* El buscador de filtros es el único bloque sin padding lateral */
	#bloque-vacacional-filtro, .bloque-productos-vacacional .woocommerce-product-filters { padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box; max-width: 100%; }
	/* Título de cada alojamiento en los listados: centrado */
	.bloque-productos-vacacional .productos-list h2.titulo { text-align: center !important; padding-left: 12.5px !important; padding-right: 12.5px !important; }
	.bloque-productos-vacacional .filter-grid, #vacacional .filter-items-container, #vivienda .filter-items-container { max-width: 100%; margin-left: 0; margin-right: 0; }

	/* Filtros de listados: rejilla que se adapta al ancho */
	#vacacional .filter-items-container, #vivienda .filter-items-container {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
	.bloque-productos-vacacional .filter-item { min-width: 0; }
	.bloque-productos-vacacional .filter-item label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

	/* --- Bloques de iconos / garantías --- */
	.iconoLogo .texto-title { margin-right: 0 !important; }

	/* --- Ficha de producto --- */
	.single-product-custom-wrapper #gallery-container { padding-left: 18.75px; padding-right: 18.75px; }
	/* En tablet horizontal la ficha se apila (como en móvil) para no estrujar la descripción */
	.single-product-custom-wrapper .summary { flex-direction: column !important; }
	.single-product-custom-wrapper .summary > .formularioWoocommerce,
	.single-product-custom-wrapper .summary > .containInfoProduct { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; }
	.single-product-custom-wrapper .formularioWoocommerce,
	.single-product-custom-wrapper .containInfoProduct { padding-left: 18.75px !important; padding-right: 18.75px !important; box-sizing: border-box; }
	.single-product-custom-wrapper .tituloPagina { width: auto !important; max-width: 100%; overflow-wrap: break-word; }
	#main .single-product-custom-wrapper form.cart { padding-left: 18.75px !important; padding-right: 18.75px !important; }
	.single-product-custom-wrapper .woocommerce-product-details__short-description p { margin-left: 0; margin-right: 0; }
	.single-product-custom-wrapper .yith-wcbk-booking-form { width: 100%; max-width: 480px; margin-left: auto; margin-right: auto; }
	/* Calendario de reservas: nunca más ancho que su caja */
	#main .single-product-custom-wrapper .yith-wcbk-date-picker--inline,
	#main .single-product-custom-wrapper .ui-datepicker-inline { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
	#main .single-product-custom-wrapper .ui-datepicker-inline table { width: 100%; }
	.single-product-custom-wrapper #tab-additional_information .atributos.row { row-gap: 6px; }

	/* Formularios de contacto: margen lateral simétrico */
	form.wpcf7-form > .row { margin-left: 0 !important; margin-right: 0 !important; width: 100%; }
	.fila_formulario_imagen { margin-left: 0 !important; margin-right: 0 !important; padding-left: 18.75px !important; padding-right: 18.75px !important; }

	/* --- Tienda (/shop/): rejilla de productos sin desbordes --- */
	.woocommerce ul.products li.product { width: calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; margin: 0 6px 24px !important; float: none; }
	.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { width: 100%; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 26px !important; line-height: 1.15 !important; }

	/* --- Footer --- */
	#footer .columna2 { width: 100%; max-width: 900px; flex: 0 0 auto; }
	#footer .columna2 .subfTerminos { flex-wrap: wrap; justify-content: center; gap: 16px 32px; }
	#footer .columna2 .subfTerminos > div { width: auto; flex: 0 1 auto; margin-left: 0 !important; }
	#footer .custom_seo { min-width: 190px; }
	#footer .custom_seo a { white-space: nowrap; }
	#footer ul.politicas { flex-wrap: wrap !important; gap: 4px 24px; padding: 0 16px !important; }
}

/* --- Tablet (768–1199) --- */
@media (min-width: 768px) and (max-width: 1199.98px) {
	/* Botón de accesibilidad: que no tape el logo */
	#pojo-a11y-toolbar { top: auto !important; bottom: 120px; }
}

@media (max-width: 991.98px) {
	#vacacional .filter-items-container, #vivienda .filter-items-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- Móvil --- */
@media (max-width: 767.98px) {

	/* Texto justificado en columnas estrechas → alineado a la izquierda */
	body p, .content_page > p { text-align: left; }

	/* Buscador de cabecera: que "Tipo de Alquiler" no parta en dos líneas */
	#header-filters-form .filter-item label { white-space: nowrap; font-size: 15px !important; }
	#header-filters-form { padding-left: 12px !important; padding-right: 6px !important; }
	#header-filters-form .filter-items-container-index { flex: 1 1 auto; width: auto; max-width: none; min-width: 0; }
	#header-filters-form .filter-items-container-index { justify-content: space-around !important; }
	#header-filters-form .filter-item { flex: 0 0 auto; }
	#header-filters-form .filter-toggle { justify-content: flex-start !important; margin-right: 6px !important; }
	#header-filters-form .filter-input { margin-left: 4px !important; }
	#header-filters-form .filter-select { background-color: transparent; }
	#header-filters-form .filter-submit { flex: 0 0 46px; width: 46px; max-width: 46px; display: flex; justify-content: center; }
	#header-filters-form .btnFilterCircle { padding: 0 !important; width: auto; display: flex; justify-content: center; }
	#header-filters-form .btnFilterCircle img { width: 40px; }

	/* Tarjetas de la home: 2 columnas iguales para los atributos */
	.bloque-productos .atributos .atributo-item { flex: 0 0 50%; max-width: 50%; font-size: 17px; }

	/* Bloques de iconos / garantías: tarjetas a todo el ancho disponible */
	.bloke-icons .row-icons { padding-left: 0 !important; padding-right: 0 !important; }


	#vacacional .filter-items-container, #vivienda .filter-items-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* Ficha de producto: título sin tanto espaciado entre letras */
	.single-product-custom-wrapper .tituloPagina { letter-spacing: normal !important; }
	.single-product-custom-wrapper .woocommerce-Tabs-panel { padding-left: 0 !important; padding-right: 0 !important; }
	.single-product-custom-wrapper #tab-additional_information > .col-12 { padding-left: 0; padding-right: 0; }
	.single-product-custom-wrapper #tab-additional_information .atributo-item { font-size: 15px; white-space: nowrap; }
	.single-product-custom-wrapper #tab-additional_information .atributo-item strong { font-size: 15px; }

	.woocommerce ul.products li.product { width: 100% !important; max-width: 100% !important; margin: 0 0 24px !important; }

	/* Footer: horario centrado */
	#footer .columna2 .subfTerminos > div { width: 100%; }
}

/* Móviles pequeños */
@media (max-width: 374.98px) {
	/* En pantallas muy estrechas se mantiene el salto de línea original de "Tipo de Alquiler" */
	#header-filters-form .filter-item label { white-space: normal; }
	#header-filters-form .filter-item { flex: 0 1 auto; }
}

/* ==========================================================================
   Todas las resoluciones
   ========================================================================== */

/* FAQs con formulario (Contacto y otras páginas): al desplegar una respuesta, su texto
   ensanchaba el contenedor principal y el formulario cambiaba de tamaño / daba un salto.
   Con contain: inline-size la respuesta ya no influye en el ancho del contenedor. */
.faqs .respuesta_faq { contain: inline-size; }

/* Ficha de producto en ordenador (≥1200px): el formulario de reserva acompaña al scroll.
   En tablet y móvil no se aplica. div.product tenía overflow:hidden, que impide el sticky;
   overflow:clip recorta igual pero sí lo permite. El valor de "top" lo ajusta un script
   (functions.php, "pambel-reserva-sticky") para que el formulario nunca quede cortado. */
@media (min-width: 1200px) {
	/* Más especificidad y !important: CustomWoocomerce.min.css fuerza position:static !important en form.cart */
	body.single-product .single-product-custom-wrapper div.product { overflow: clip; }
	body.single-product .single-product-custom-wrapper .formularioWoocommerce form.cart { position: sticky !important; top: 30px !important; }
}

/* Título de los alojamientos en el bloque de productos (home y landings):
   28px en ordenador, 22px en tablet y móvil */
body .bloque-productos .titulo { font-size: 28px !important; }
@media (max-width: 1199.98px) {
	body .bloque-productos .titulo { font-size: 22px !important; }
}
