/* =========================================================================
   Buscador de disponibilidad del shortcode [reservas] (functions.php).
   Mismo aspecto que el buscador de paso 1 (selector de huéspedes con contadores,
   etiquetas pequeñas dentro del campo), pero sobre fondo granate propio con
   botón dorado —como la banda de las fichas de casa—, y AUTOSUFICIENTE: todo va bajo
   .rv2-buscador y con clases propias (rv2-b-*), porque este fichero se carga en
   toda la web y no debe tocar nada más ni depender de reservas-v2.css.
   Los estilos del desplegable de huéspedes (.guests-*) coinciden con los de
   paso 1 y el comportamiento lo pone reservar.js (mismos ids).
   ========================================================================= */

.rv2-buscador{
	--rv2-vino: #991A2E;
	--rv2-vino-dark: #7d1526;
	--rv2-b-band: #81152b;          /* mismo granate que la banda .booking_bg del tema */
	--rv2-b-cta: #e3a72f;           /* botón dorado (color del logo) para destacar sobre el granate */
	--rv2-b-cta-hover: #efb84a;
	--rv2-b-cta-text: #21252e;
	--rv2-navy: #21252e;
	--rv2-text: #676767;
	--rv2-text-light: #6b6b6b;      /* antes #8a8a8a: contraste 3,5:1 sobre blanco; ahora 5,3:1 (WCAG AA) */
	--rv2-oliva: #92b42f;
	--rv2-border: #e3e1dd;
	max-width: 100%;
	text-align: left;
	font-size: 1rem;
	line-height: 1.3;
}
.rv2-buscador *,
.rv2-buscador *::before,
.rv2-buscador *::after{ box-sizing: border-box; }
.rv2-buscador form{ margin: 0; padding: 0; }

.rv2-buscador .rv2-b-card{
	position: relative;
	background: var(--rv2-b-band);
	border-radius: 12px;
	padding: .9rem 1.2rem;
	margin: 0;
}
.rv2-buscador .rv2-b-fields{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}
.rv2-buscador .rv2-b-field{
	position: relative;
	flex: 1 1 240px;
	min-width: 0;
	margin: 0;
	padding: 0;
}
.rv2-buscador .rv2-b-field.rv2-b-dates{ flex: 1.6 1 320px; }
.rv2-buscador .rv2-b-field label,
.rv2-buscador .rv2-b-field .rv2-b-wrap{
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	width: auto;
}

/* Etiqueta pequeña DENTRO del campo (sobre el granate no funciona la que corta el borde) */
.rv2-buscador .rv2-b-label{
	position: absolute;
	top: .42rem;
	left: .95rem;
	z-index: 2;
	background: transparent;
	padding: 0;
	font-size: .68rem;
	font-weight: 400;
	line-height: 1.1;
	text-transform: none;
	letter-spacing: 0;
	color: var(--rv2-text-light);
	pointer-events: none;
}

.rv2-buscador .rv2-b-input{
	display: flex;
	align-items: center;
	width: 100%;
	height: 56px;
	padding: .85rem .8rem 0;
	background: #fff;
	color: var(--rv2-navy);
	border: 1px solid #fff;
	border-radius: 8px;
}
.rv2-buscador .rv2-b-input:hover,
.rv2-buscador .rv2-b-input:focus-within{ border-color: var(--rv2-b-cta); }
.rv2-buscador .rv2-b-input input.input-date{
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	height: 100%;
	margin: 0;
	padding: 0 .3rem !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	outline: none;
	color: inherit;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
}
.rv2-buscador .rv2-b-input .fa{
	flex: 0 0 auto;
	width: auto;
	margin: 0 !important;
	padding: 0 .3rem !important;
	font-size: 1rem !important;
	line-height: 1;
	color: var(--rv2-vino) !important;
}

/* Selector de huéspedes */
.rv2-buscador .guests-toggle{
	justify-content: space-between;
	cursor: pointer;
	user-select: none;
	gap: .5rem;
}
.rv2-buscador .guests-toggle:focus{
	outline: none;
	border-color: var(--rv2-b-cta);
	box-shadow: 0 0 0 3px rgba(227,167,47,.35);
}
.rv2-buscador #guestsSummary{ font-weight: 600; font-size: 1rem; }
.rv2-buscador .guests-popover{
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 60;
	width: 280px;
	max-width: 100%;
	padding: 1rem;
	background: #fff;
	color: var(--rv2-text);
	text-align: left;
	border: 1px solid var(--rv2-border);
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(33,37,46,.18);
}
.rv2-buscador .guests-popover.open{ display: block; }
.rv2-buscador .guests-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .6rem 0;
	border-bottom: 1px solid var(--rv2-border);
}
.rv2-buscador .guests-row:last-of-type{ border-bottom: none; }
.rv2-buscador .guests-label strong{ display: block; color: var(--rv2-navy); font-size: .95rem; }
.rv2-buscador .guests-sublabel{ display: block; font-size: .78rem; color: var(--rv2-text-light); }
.rv2-buscador .guests-stepper{ display: flex; align-items: center; gap: .6rem; }
.rv2-buscador .guests-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px; height: 30px;
	min-width: 30px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--rv2-vino);
	border-radius: 50%;
	background: #fff;
	color: var(--rv2-vino);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}
.rv2-buscador .guests-btn:hover{ background: var(--rv2-vino); color: #fff; }
.rv2-buscador .guests-count{ min-width: 18px; text-align: center; font-weight: 600; color: var(--rv2-navy); }
.rv2-buscador .guests-confirm{
	width: 100%;
	margin-top: .75rem;
	padding: .55rem;
	border: none;
	border-radius: 6px;
	background: var(--rv2-vino);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

/* Botón: todo el rectángulo es el <input>, el icono va encima sin capturar clics */
.rv2-buscador .rv2-b-submit{
	position: relative;
	flex: 0 0 auto;
	min-width: 15rem;
	height: 56px;
	margin: 0;
	background: var(--rv2-b-cta);
	border-radius: 8px;
	transition: background .15s ease;
}
.rv2-buscador .rv2-b-submit:hover{ background: var(--rv2-b-cta-hover); }
.rv2-buscador .rv2-b-submit input[type=submit]{
	display: block;
	width: 100%;
	text-align: center;
	height: 100%;
	margin: 0;
	padding: 0 3rem !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 8px;
	box-shadow: none !important;
	color: var(--rv2-b-cta-text) !important;
	font-family: inherit;
	font-size: 1rem !important;
	font-weight: 700;
	text-transform: none;
	cursor: pointer;
}
.rv2-buscador .rv2-b-submit .fa{
	position: absolute;
	right: 1.1rem;
	top: 50%;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%);
	color: var(--rv2-b-cta-text) !important;
	font-size: 1rem !important;
	pointer-events: none;
}

/* Franja de confianza bajo el buscador */
.rv2-buscador .rv2-b-trust{
	display: flex;
	flex-wrap: wrap;
	gap: .3rem 1.4rem;
	list-style: none;
	margin: .7rem 0 0;
	padding: 0 .3rem;
	font-size: .82rem;
	color: var(--rv2-text);
}
.rv2-buscador .rv2-b-trust li{ margin: 0; padding: 0; list-style: none; }
.rv2-buscador .rv2-b-trust .fa{ margin-right: .3rem; color: var(--rv2-oliva); }

@media screen and (max-width: 783px){
	/* nowrap + columna: con wrap, los <input> de fecha (ancho intrínseco) sacaban
	   los campos de la pantalla */
	.rv2-buscador .rv2-b-card{ padding: 1rem; border-radius: 0; }
	.rv2-buscador .rv2-b-fields{ flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: .9rem; }
	.rv2-buscador .rv2-b-field,
	.rv2-buscador .rv2-b-field.rv2-b-dates{ flex: none; width: 100%; }
	.rv2-buscador .rv2-b-input{ height: 54px; }
	.rv2-buscador .rv2-b-submit{ width: 100%; height: 52px; }
	.rv2-buscador .rv2-b-submit input[type=submit]{ padding: 0 2.6rem !important; }
}
@media screen and (max-width: 600px){
	.rv2-buscador .guests-popover{ width: 100%; left: 0; right: 0; }
}
