/* Hostify (alquiler vacacional) con la vibra B. Solo afecta a los bloques y páginas de Hostify. */

/* Botones de Hostify (Bootstrap) con los colores de la marca */
.hfy-search-form-wrap .btn-primary,
[class*="hfy-"] .btn-primary,
.vb-hostify-buscador .btn-primary {
	background: var(--vb-mar-boton, #0b7f88) !important;
	border-color: var(--vb-mar-boton, #0b7f88) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	padding: .75rem 1.5rem !important;
	box-shadow: none !important;
}
.hfy-search-form-wrap .btn-primary:hover,
[class*="hfy-"] .btn-primary:hover { background: var(--vb-mar-osc) !important; border-color: var(--vb-mar-osc) !important; }

/* Buscador */
.vb-hostify-buscador .hfy-search-form-wrap {
	background: #fff;
	border-radius: 22px;
	padding: .75rem;
	box-shadow: 0 18px 40px rgba(15,111,118,.14);
	margin-top: 1.5rem;
}
.vb-hostify-buscador .hfy-search-form-row { align-items: center; gap: .5rem; }
.vb-hostify-buscador .input-theme1,
.vb-hostify-buscador .form-control,
.vb-hostify-buscador .SelectBox {
	border: 1px solid #e7e1d3 !important;
	border-radius: 14px !important;
	min-height: 3rem;
	background-color: #fff !important;
	font: inherit !important;
	color: var(--vb-tinta) !important;
	box-shadow: none !important;
}
.vb-hostify-buscador .input-theme1:focus,
.vb-hostify-buscador .form-control:focus { border-color: var(--vb-mar) !important; box-shadow: 0 0 0 3px rgba(19,176,187,.18) !important; }

/* Listado: rejilla de tarjetas como las de los pisos por meses */
.vb-hostify-listado .listings div:has(> div[class*="col-"]),
.vibes-hostify .listings div:has(> div[class*="col-"]) {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 1.5rem;
	margin: 0 !important;
}
.vb-hostify-listado .listings div[class*="col-"],
.vibes-hostify .listings div[class*="col-"] { width: auto !important; max-width: none !important; padding: 0 !important; float: none !important; }
.vb-hostify-listado .listings .container,
.vibes-hostify .listings .container { width: 100% !important; max-width: none !important; padding: 0 !important; }

.list-card {
	background: #fff;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(15,111,118,.08);
	transition: transform .25s, box-shadow .25s;
	height: 100%;
	margin: 0 !important;
}
.list-card:hover { transform: translateY(-4px) rotate(-.3deg); box-shadow: 0 18px 40px rgba(15,111,118,.18); }
.list-card a { text-decoration: none !important; color: var(--vb-tinta) !important; display: block; }
.list-card .img { margin: 8px 8px 0; border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; width: auto !important; height: auto !important; max-height: none !important; }
.list-card .img img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.list-card .info { padding: 1rem 1.1rem 1.2rem; }
/* En Hostify el nombre va en .description y el precio en .title */
.list-card .description { font-size: 1.05rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.3; color: var(--vb-tinta); margin-bottom: .5rem; text-transform: none; }
.list-card .title { font-size: .92rem; font-weight: 400; color: var(--vb-suave); }
.list-card .title .prefix, .list-card .title .suffix { display: inline; }
.list-card .title b, .list-card .title strong { color: var(--vb-mar-osc); font-weight: 800; font-size: 1.15rem; }

/* Mapa y avisos */
.vb-hostify-mapa { margin-top: 2rem; border-radius: 22px; overflow: hidden; }
.vb-hostify-zona .alert, .vb-hostify-zona .alert-info { border-radius: 18px; border: 0; background: var(--vb-espuma); color: var(--vb-mar-osc); }

/* Ficha de alojamiento turístico (página Hostify id 6048) */
body.page-id-6048 .wp-block-post-title { display: none; }
body.page-id-6048 .wp-block-post-content, body.page-id-6048 .wp-block-post-content > * { max-width: 1140px !important; }
body.page-id-6048 .wp-block-post-content > .wp-block-spacer:first-child { display: none; }
body.page-id-6048 .wp-block-post-content h2 { font-size: clamp(2rem, 4vw, 3rem); margin-top: 2rem; }
body.page-id-6048 .wp-block-columns { gap: 2.5rem; }
body.page-id-6048 .wp-block-column:last-child:has(input) {
	background: #fff; border-radius: 22px; padding: 1.4rem;
	box-shadow: 0 18px 40px rgba(15,111,118,.14);
	position: sticky; top: 110px; align-self: flex-start;
}
body.page-id-6048 input[type="text"], body.page-id-6048 input[type="number"], body.page-id-6048 .form-control, body.page-id-6048 select {
	border: 1px solid #e7e1d3 !important; border-radius: 14px !important; min-height: 3rem; font: inherit !important; box-shadow: none !important;
}
body.page-id-6048 .btn, body.page-id-6048 button { border-radius: 999px !important; }
body.page-id-6048 img { border-radius: 16px; }
body.page-id-6048 .wp-block-post-content [class*="col"] img { border-radius: 8px; }
/* Título «Reserva con nosotros» de la caja (venía en blanco del diseño antiguo) */
body.page-id-6048 .wp-block-getwid-section h2 { color: var(--vb-tinta) !important; font-size: 1.4rem !important; margin: 0 0 1rem !important; }
body.page-id-6048 .wp-block-getwid-section__inner-content { padding: 0 !important; }
@media (max-width: 781px) {
	body.page-id-6048 .wp-block-column:last-child:has(input) { position: static; }
}
