.wcbr-booking-widget {
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 16px;
	margin-bottom: 20px;
	background: #fafafa;
}

.wcbr-booking-widget .form-row {
	margin-bottom: 12px;
}

.wcbr-booking-widget label {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	font-weight: 600;
	margin-bottom: 4px;
	color: #333333 !important;
	-webkit-text-fill-color: #333333 !important;
	-webkit-text-stroke: 0 transparent !important;
	text-shadow: none !important;
	background: none !important;
	-webkit-background-clip: initial !important;
	background-clip: initial !important;
	text-transform: none !important;
	font-size: 15px !important;
	text-align: center;
}

.wcbr-booking-widget input[type="text"],
.wcbr-booking-widget input[type="number"] {
	width: 100%;
	max-width: 260px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.wcbr-horario {
	margin-top: 0;
	color: #555;
}

.wcbr-booking-widget .flatpickr-calendar.inline {
	max-width: 320px;
	width: 100%;
	box-shadow: none;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	margin: 0 auto 12px;
	background: #ffffff;
	font-size: 14px; /* Base fija: evita que el tema herede un tamaño grande y todo se desborde. */
	box-sizing: border-box;
	overflow: visible;
}

.wcbr-booking-widget .flatpickr-calendar.inline *,
.wcbr-booking-widget .flatpickr-calendar.inline *::before,
.wcbr-booking-widget .flatpickr-calendar.inline *::after {
	box-sizing: border-box;
}

/* El tema (fondo oscuro en otras secciones del sitio) hacía que el texto del
   mes/año quedara del mismo color que el fondo. Se fuerzan colores legibles
   explícitamente en todo el calendario, sin depender de estilos heredados. */
.wcbr-booking-widget .flatpickr-calendar,
.wcbr-booking-widget .flatpickr-months,
.wcbr-booking-widget .flatpickr-month,
.wcbr-booking-widget .flatpickr-current-month,
.wcbr-booking-widget .flatpickr-weekdays,
.wcbr-booking-widget .flatpickr-days {
	background: #ffffff;
	color: #333333;
}

/* El header de mes/año de flatpickr usa posicionamiento absoluto pensado para su
   propio ancho por defecto; dentro de nuestro contenedor angosto eso hacía que el
   año quedara cortado/oculto. Se fuerza un layout de fila simple (flex) en vez de
   depender del posicionamiento absoluto original, con tamaños de fuente FIJOS
   (no "em") para que no se agranden si el tema hereda una tipografía grande. */
.wcbr-booking-widget .flatpickr-months {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 10px 6px;
	overflow: visible;
	flex-wrap: nowrap;
}

.wcbr-booking-widget .flatpickr-prev-month,
.wcbr-booking-widget .flatpickr-next-month {
	position: static !important;
	transform: none !important;
	padding: 4px 6px;
	flex: 0 0 24px;
	width: 24px !important;
	height: 24px !important;
}

.wcbr-booking-widget .flatpickr-current-month {
	position: static !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: auto !important;
	left: auto;
	padding: 0 !important;
	font-size: 15px !important;
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
}

.wcbr-booking-widget .flatpickr-current-month .numInputWrapper {
	width: 54px !important;
	flex: 0 0 54px;
	display: inline-block;
}

.wcbr-booking-widget .flatpickr-current-month .flatpickr-monthDropdown-months {
	color: #333333 !important;
	background: transparent !important;
	font-weight: 600;
	font-size: 15px !important;
	border: none;
	min-width: 0;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wcbr-booking-widget .flatpickr-current-month input.cur-year {
	width: 100% !important;
	color: #333333 !important;
	background: transparent !important;
	font-weight: 600;
	font-size: 15px !important;
	padding: 0 !important;
	border: none;
}

.wcbr-booking-widget .flatpickr-current-month .numInputWrapper span.arrowUp:after {
	border-bottom-color: #333333;
}
.wcbr-booking-widget .flatpickr-current-month .numInputWrapper span.arrowDown:after {
	border-top-color: #333333;
}

.wcbr-booking-widget .flatpickr-weekday {
	color: #777777 !important;
	background: transparent;
}

.wcbr-booking-widget .flatpickr-day {
	color: #333333;
}

.wcbr-booking-widget .flatpickr-day.flatpickr-disabled,
.wcbr-booking-widget .flatpickr-day.flatpickr-disabled:hover {
	color: #cfcfcf;
}

.wcbr-booking-widget .flatpickr-day.today {
	border-color: #999999;
}

.wcbr-booking-widget .flatpickr-day.selected,
.wcbr-booking-widget .flatpickr-day.selected:hover {
	background: #2e7d32;
	border-color: #2e7d32;
	color: #ffffff;
}

.wcbr-booking-widget .flatpickr-prev-month svg,
.wcbr-booking-widget .flatpickr-next-month svg {
	fill: #333333;
}

.wcbr-booking-widget input.wcbr-fecha-input {
	display: none; /* El calendario inline reemplaza visualmente al input de texto. */
}

.wcbr-personas-stepper {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
	width: 180px !important;
	max-width: 180px !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
	border: 1px solid #ccc;
	border-radius: 6px;
	overflow: hidden;
	background: #ffffff !important;
}

.wcbr-personas-stepper * {
	box-sizing: border-box !important;
}

.wcbr-personas-stepper .wcbr-personas-btn {
	flex: 0 0 44px !important;
	width: 44px !important;
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: #eeeeee !important;
	color: #333333 !important;
	font-size: 20px !important;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	display: block;
}

.wcbr-personas-stepper .wcbr-personas-btn:hover {
	background: #e0e0e0 !important;
}

.wcbr-personas-stepper input#wcbr_personas {
	flex: 1 1 auto !important;
	width: 92px !important;
	max-width: none !important;
	height: 44px !important;
	margin: 0 !important;
	border: none !important;
	border-left: 1px solid #ccc !important;
	border-right: 1px solid #ccc !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	text-align: center;
	font-size: 16px !important;
	color: #333333 !important;
	-moz-appearance: textfield;
}

.wcbr-personas-stepper input#wcbr_personas::-webkit-outer-spin-button,
.wcbr-personas-stepper input#wcbr_personas::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wcbr-disponibilidad {
	font-size: 0.9em;
	font-weight: 600;
	margin: 8px 0 0;
}

.wcbr-disponibilidad.wcbr-si-disponible {
	color: #2e7d32;
}

.wcbr-disponibilidad.wcbr-no-disponible {
	color: #c62828;
}

button.wcbr-disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.wcbr-passenger-form {
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 16px;
	margin-bottom: 24px;
	background: #fafafa;
}

.wcbr-passenger-form h3 {
	margin-top: 0;
}

.wcbr-bookings-table td,
.wcbr-bookings-table th {
	vertical-align: middle;
}
