/*
 * Guías Nómadas · native WooCommerce Bookings reservation UI
 * Presentation only. WooCommerce Bookings/Product Add-Ons keep ownership of
 * availability, values, pricing, validation, AJAX and booking creation.
 */
.single-product{
	--gnwc-available:var(--gn-availability,var(--gn-success,#167647));
	--gnwc-available-soft:var(--gn-availability-soft,var(--gn-success-soft,#eaf6ef));
	--gnwc-available-border:var(--gn-availability-border,#a8d8ba);
	--gnwc-available-hover:#d8efdf;
	--gnwc-available-dark:#105d38;
	--gnwc-unavailable:#fff;
	--gnwc-unavailable-text:var(--gn-gray-400,#a3a3a3);
}

/* Calendar shell. */
.single-product .wc-bookings-booking-form .wc-bookings-date-picker{margin:16px 0 18px;padding:0;border:0;background:transparent}
.single-product .wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker{box-sizing:border-box;width:100%!important;max-width:520px;margin:0;padding:15px;border:1px solid var(--gn-gray-200,#e5e5e5)!important;border-radius:var(--gn-radius-lg,14px)!important;background:var(--gn-white,#fff)!important;box-shadow:0 1px 2px rgba(17,17,17,.035);font-family:var(--gn-font,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}
.single-product .wc-bookings-date-picker .ui-widget-content,.single-product .wc-bookings-date-picker .ui-widget-header{border:0;background:transparent;color:var(--gn-black,#111)}
.single-product .wc-bookings-date-picker .ui-datepicker-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 9px;padding:0 46px;border:0!important;background:transparent!important}
.single-product .wc-bookings-date-picker .ui-datepicker-title{margin:0!important;color:var(--gn-black,#111);font-size:.98rem;font-weight:780;letter-spacing:-.012em;line-height:1.2;text-align:center;text-transform:none}
.single-product .wc-bookings-date-picker .ui-datepicker-prev,.single-product .wc-bookings-date-picker .ui-datepicker-next{top:2px!important;display:grid;place-items:center;width:38px!important;height:38px!important;margin:0;border:1px solid var(--gn-gray-200,#e5e5e5)!important;border-radius:999px!important;background:var(--gn-white,#fff)!important;color:var(--gn-black,#111)!important;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}
.single-product .wc-bookings-date-picker .ui-datepicker-prev{left:0!important}.single-product .wc-bookings-date-picker .ui-datepicker-next{right:0!important}
.single-product .wc-bookings-date-picker .ui-datepicker-prev:hover,.single-product .wc-bookings-date-picker .ui-datepicker-next:hover{border-color:var(--gnwc-available)!important;background:var(--gnwc-available-soft)!important;color:var(--gnwc-available)!important}
.single-product .wc-bookings-date-picker .ui-datepicker-prev .ui-icon,.single-product .wc-bookings-date-picker .ui-datepicker-next .ui-icon{position:static!important;width:auto!important;height:auto!important;margin:0!important;background:none!important;font-size:0;text-indent:0!important;overflow:visible}
.single-product .wc-bookings-date-picker .ui-datepicker-prev .ui-icon::before,.single-product .wc-bookings-date-picker .ui-datepicker-next .ui-icon::before{display:block;font-size:24px;font-weight:400;line-height:1}.single-product .wc-bookings-date-picker .ui-datepicker-prev .ui-icon::before{content:"‹"}.single-product .wc-bookings-date-picker .ui-datepicker-next .ui-icon::before{content:"›"}
.single-product .wc-bookings-date-picker .ui-datepicker-calendar{width:100%;margin:0!important;border:0!important;border-collapse:separate!important;border-spacing:4px!important;table-layout:fixed;background:transparent}
.single-product .wc-bookings-date-picker .ui-datepicker-calendar thead,.single-product .wc-bookings-date-picker .ui-datepicker-calendar tbody,.single-product .wc-bookings-date-picker .ui-datepicker-calendar tr,.single-product .wc-bookings-date-picker .ui-datepicker-calendar th,.single-product .wc-bookings-date-picker .ui-datepicker-calendar td{border:0!important;background:transparent}
.single-product .wc-bookings-date-picker .ui-datepicker-calendar th{padding:4px 0 7px!important;color:var(--gn-gray-600,#666);font-size:.67rem;font-weight:760;letter-spacing:.045em;line-height:1;text-align:center;text-transform:uppercase}
.single-product .wc-bookings-date-picker .ui-datepicker-calendar td{box-sizing:border-box;height:42px;padding:0!important;text-align:center;vertical-align:middle}
.single-product .wc-bookings-date-picker .ui-datepicker-calendar td>span,.single-product .wc-bookings-date-picker .ui-datepicker-calendar td>a,.single-product .wc-bookings-date-picker .ui-state-default{box-sizing:border-box;display:grid!important;width:100%;height:42px;min-width:0;place-items:center;margin:0!important;padding:0!important;border:1px solid var(--gn-gray-200,#e5e5e5)!important;border-radius:var(--gn-radius-sm,8px)!important;background:var(--gnwc-unavailable)!important;color:var(--gnwc-unavailable-text)!important;font-size:.86rem;font-weight:600!important;line-height:1!important;text-align:center!important;text-decoration:none!important;text-shadow:none!important;box-shadow:none!important}

/* FareHarbor-style state semantics: available light green, selected dark green, unavailable white. */
.single-product .wc-bookings-date-picker td.bookable>a,.single-product .wc-bookings-date-picker td.partial_booked>a,.single-product .wc-bookings-date-picker td.bookable-range>a{border-color:var(--gnwc-available-border)!important;background:var(--gnwc-available-soft)!important;color:var(--gnwc-available-dark)!important;font-weight:720!important;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease,transform .12s ease}
.single-product .wc-bookings-date-picker td.bookable>a:hover,.single-product .wc-bookings-date-picker td.partial_booked>a:hover,.single-product .wc-bookings-date-picker td.bookable-range>a:hover{border-color:var(--gnwc-available)!important;background:var(--gnwc-available-hover)!important;color:var(--gnwc-available-dark)!important;transform:translateY(-1px)}
.single-product .wc-bookings-date-picker td.ui-datepicker-current-day>a,.single-product .wc-bookings-date-picker td.bookable-range.ui-datepicker-current-day>a,.single-product .wc-bookings-date-picker td.bookable-range>a.ui-state-active,.single-product .wc-bookings-date-picker a.ui-state-active{border-color:var(--gnwc-available)!important;background:var(--gnwc-available)!important;color:#fff!important;font-weight:800!important;transform:none}
.single-product .wc-bookings-date-picker td.ui-datepicker-today:not(.ui-datepicker-current-day)>a,.single-product .wc-bookings-date-picker td.ui-datepicker-today:not(.ui-datepicker-current-day)>span{box-shadow:inset 0 0 0 1px var(--gnwc-available)!important}
.single-product .wc-bookings-date-picker td.ui-datepicker-unselectable>span,.single-product .wc-bookings-date-picker td.not_bookable>span,.single-product .wc-bookings-date-picker td.fully_booked>span,.single-product .wc-bookings-date-picker td.ui-state-disabled>span,.single-product .wc-bookings-date-picker td.ui-state-disabled>a,.single-product .wc-bookings-date-picker td.not_bookable>a,.single-product .wc-bookings-date-picker td.fully_booked>a{border-color:var(--gn-gray-200,#e5e5e5)!important;background:#fff!important;color:var(--gnwc-unavailable-text)!important;font-weight:560!important;cursor:default;opacity:.72!important}
.single-product .wc-bookings-date-picker .ui-datepicker-other-month>span,.single-product .wc-bookings-date-picker .ui-datepicker-other-month>a{border-color:transparent!important;background:transparent!important;color:var(--gn-gray-300,#d1d1d1)!important;opacity:.65!important}
.single-product .wc-bookings-date-picker .ui-datepicker-buttonpane{display:none!important}
.single-product .wc-bookings-date-picker .ui-datepicker-prev:focus-visible,.single-product .wc-bookings-date-picker .ui-datepicker-next:focus-visible,.single-product .wc-bookings-date-picker td a:focus-visible{outline:3px solid rgba(22,118,71,.28)!important;outline-offset:2px}

/* Time blocks use the same availability language as dates. */
.single-product .wc-bookings-booking-form .block-picker{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px!important;padding:0!important;list-style:none!important}
.single-product .wc-bookings-booking-form .block-picker li{width:auto!important;margin:0!important;padding:0!important;float:none!important}
.single-product .wc-bookings-booking-form .block-picker li a{display:flex!important;align-items:center;justify-content:center;min-height:44px;padding:9px 12px!important;border:1px solid var(--gnwc-available-border)!important;border-radius:var(--gn-radius-sm,8px)!important;background:var(--gnwc-available-soft)!important;color:var(--gnwc-available-dark)!important;font-weight:720!important;text-decoration:none!important;box-shadow:none!important}
.single-product .wc-bookings-booking-form .block-picker li a:hover{border-color:var(--gnwc-available)!important;background:var(--gnwc-available-hover)!important;color:var(--gnwc-available-dark)!important}
.single-product .wc-bookings-booking-form .block-picker li a.selected,.single-product .wc-bookings-booking-form .block-picker li a.selected:hover{border-color:var(--gnwc-available)!important;background:var(--gnwc-available)!important;color:#fff!important}

/* Calculated price becomes a commercial summary instead of a technical Woo row. */
.single-product .wc-bookings-booking-form .wc-bookings-booking-cost{box-sizing:border-box;margin:14px 0 12px!important;padding:12px 14px!important;border:1px solid var(--gn-gray-200,#e5e5e5)!important;border-radius:var(--gn-radius-sm,8px)!important;background:var(--gn-gray-050,#f8f8f8)!important;color:var(--gn-black,#111)!important;font-size:.9rem!important;font-weight:700!important;line-height:1.35!important}
.single-product .wc-bookings-booking-form .wc-bookings-booking-cost .amount{float:right;font-size:1rem;font-weight:800}

/* Traveller controls: progressive enhancement keeps the original inputs/listeners in place. */
.single-product form.cart.gnwc-bookings-travelers-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px;align-items:start}
.single-product form.cart.gnwc-bookings-travelers-grid>.gnwc-travelers-heading{grid-column:1/-1;grid-row:1;display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px}
.single-product .gnwc-travelers-heading strong{font-size:.94rem;font-weight:780}.single-product .gnwc-travelers-heading span{color:var(--gn-gray-600,#666);font-size:.76rem}
.single-product form.cart.gnwc-bookings-travelers-grid>.gnwc-grid-bridge,.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-grid-bridge{display:contents!important}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field{box-sizing:border-box;margin:0 0 12px!important;min-width:0}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--adult{grid-column:1;grid-row:2}.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--child{grid-column:2;grid-row:2}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field label{display:block;margin:0 0 6px;font-size:.79rem;font-weight:720;line-height:1.25}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field input,.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field select{box-sizing:border-box;width:100%;min-height:42px;margin:0;padding:8px 10px;border:1px solid var(--gn-gray-300,#d1d1d1);border-radius:var(--gn-radius-sm,8px);background:#fff;color:var(--gn-black,#111)}
.single-product form.cart.gnwc-bookings-travelers-grid .wc-bookings-booking-form>*:not(.gnwc-traveler-field),.single-product form.cart.gnwc-bookings-travelers-grid>.wc-bookings-booking-form>*:not(.gnwc-traveler-field){grid-column:1/-1}
.single-product form.cart.gnwc-bookings-travelers-grid .wc-pao-addons-container>*:not(.gnwc-traveler-field){grid-column:1/-1}

/* Nómadas CTA: no WooCommerce purple. */
.single-product .wc-bookings-booking-form-button,.single-product form.cart button.wc-bookings-booking-form-button,.single-product .wc-bookings-booking-form .single_add_to_cart_button{width:100%!important;min-height:48px!important;margin:8px 0 0!important;padding:12px 18px!important;border:1px solid var(--gnwc-available)!important;border-radius:var(--gn-radius-sm,8px)!important;background:var(--gnwc-available)!important;color:#fff!important;font-size:.94rem!important;font-weight:780!important;line-height:1.2!important;text-align:center!important;text-decoration:none!important;box-shadow:none!important;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}
.single-product .wc-bookings-booking-form-button:hover,.single-product form.cart button.wc-bookings-booking-form-button:hover,.single-product .wc-bookings-booking-form .single_add_to_cart_button:hover{border-color:var(--gnwc-available-dark)!important;background:var(--gnwc-available-dark)!important;color:#fff!important;transform:translateY(-1px)}
.single-product .wc-bookings-booking-form-button:focus-visible,.single-product .wc-bookings-booking-form .single_add_to_cart_button:focus-visible{outline:3px solid rgba(22,118,71,.28)!important;outline-offset:3px}
.single-product .wc-bookings-booking-form-button:disabled,.single-product .wc-bookings-booking-form-button.disabled{border-color:var(--gn-gray-300,#d1d1d1)!important;background:var(--gn-gray-200,#e5e5e5)!important;color:var(--gn-gray-500,#737373)!important;transform:none!important;cursor:not-allowed!important}

@media(max-width:560px){
	.single-product .wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker{max-width:none;padding:11px 7px 9px;border-radius:var(--gn-radius-md,10px)!important}
	.single-product .wc-bookings-date-picker .ui-datepicker-header{min-height:42px;margin-bottom:7px;padding-inline:42px}
	.single-product .wc-bookings-date-picker .ui-datepicker-prev,.single-product .wc-bookings-date-picker .ui-datepicker-next{width:36px!important;height:36px!important}
	.single-product .wc-bookings-date-picker .ui-datepicker-calendar{border-spacing:2px!important}
	.single-product .wc-bookings-date-picker .ui-datepicker-calendar td,.single-product .wc-bookings-date-picker .ui-datepicker-calendar td>span,.single-product .wc-bookings-date-picker .ui-datepicker-calendar td>a,.single-product .wc-bookings-date-picker .ui-state-default{height:39px}
	.single-product .wc-bookings-booking-form .block-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
	.single-product .gnwc-travelers-heading span{display:none}
}
@media(max-width:340px){
	.single-product form.cart.gnwc-bookings-travelers-grid{grid-template-columns:1fr}
	.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--adult,.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--child{grid-column:1;grid-row:auto}
}
@media(prefers-reduced-motion:reduce){.single-product .wc-bookings-date-picker a,.single-product .wc-bookings-booking-form-button{transition:none!important}.single-product .wc-bookings-date-picker a:hover,.single-product .wc-bookings-booking-form-button:hover{transform:none!important}}

/* Traveller − N + steppers. The original Woo input/select remains the submitted source of truth. */
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper{box-sizing:border-box;display:grid;grid-template-columns:42px minmax(36px,1fr) 42px;align-items:center;width:100%;min-height:42px;border:1px solid var(--gn-gray-300,#d1d1d1);border-radius:var(--gn-radius-sm,8px);background:#fff;overflow:hidden}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button{appearance:none;display:grid;place-items:center;width:42px;height:42px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--gnwc-available-soft)!important;color:var(--gnwc-available-dark)!important;font:inherit!important;font-size:1.25rem!important;font-weight:760!important;line-height:1!important;box-shadow:none!important;cursor:pointer;transition:background-color .12s ease,color .12s ease}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button--down{border-right:1px solid var(--gn-gray-200,#e5e5e5)!important}.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button--up{border-left:1px solid var(--gn-gray-200,#e5e5e5)!important}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button:hover:not(:disabled){background:var(--gnwc-available-hover)!important;color:var(--gnwc-available-dark)!important}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button:focus-visible{position:relative;z-index:2;outline:3px solid rgba(22,118,71,.28)!important;outline-offset:-3px}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button:disabled{background:#fafafa!important;color:var(--gn-gray-300,#d1d1d1)!important;cursor:not-allowed;opacity:1!important}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__value{display:grid;place-items:center;min-width:0;padding:0 4px;color:var(--gn-black,#111);font-size:.96rem;font-weight:800;line-height:1;text-align:center;font-variant-numeric:tabular-nums}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__source{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
@media(max-width:380px){.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper{grid-template-columns:38px minmax(32px,1fr) 38px}.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button{width:38px;height:42px}}
@media(prefers-reduced-motion:reduce){.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-person-stepper__button{transition:none!important}}

/* 3.2.13 · One customer-facing reservation summary across Bookings + Product Add-Ons. */
.single-product form.cart.gnwc-unified-booking-summary-ready .wc-bookings-booking-cost,
.single-product form.cart.gnwc-unified-booking-summary-ready .product-addon-totals{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	border:0!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	overflow:hidden!important;
	white-space:nowrap!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-section-label,
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-summary,
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-security,
.single-product form.cart.gnwc-bookings-travelers-grid .wc-bookings-booking-form-button,
.single-product form.cart.gnwc-bookings-travelers-grid button.single_add_to_cart_button{
	grid-column:1/-1;
}
.single-product .gnwc-booking-section-label{
	margin:2px 0 7px;
	color:var(--gn-black,#111);
	font-size:.82rem;
	font-weight:780;
	line-height:1.25;
}
.single-product .gnwc-booking-section-label--time + .block-picker{
	margin-top:0!important;
}
.single-product .gnwc-booking-summary{
	box-sizing:border-box;
	margin:16px 0 4px;
	padding:14px 0 0;
	border-top:1px solid var(--gn-gray-200,#e5e5e5);
	background:transparent;
}
.single-product .gnwc-booking-summary[hidden]{display:none!important}
.single-product .gnwc-booking-summary__heading{
	margin:0 0 7px;
	color:var(--gn-black,#111);
	font-size:.88rem;
	font-weight:800;
	line-height:1.25;
}
.single-product .gnwc-booking-summary__travellers,
.single-product .gnwc-booking-summary__schedule{
	margin:0;
	color:var(--gn-gray-700,#525252);
	font-size:.82rem;
	line-height:1.45;
}
.single-product .gnwc-booking-summary__schedule{margin-top:2px}
.single-product .gnwc-booking-summary__total{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:14px;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid var(--gn-gray-200,#e5e5e5);
	color:var(--gn-black,#111);
}
.single-product .gnwc-booking-summary__total span{font-size:.88rem;font-weight:700}
.single-product .gnwc-booking-summary__total strong{font-size:1.12rem;font-weight:850;letter-spacing:-.02em;white-space:nowrap}
.single-product .gnwc-booking-security{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	margin:8px 0 0!important;
	color:var(--gn-gray-600,#666);
	font-size:.76rem;
	font-weight:650;
	line-height:1.3;
	text-align:center;
}
.single-product .gnwc-booking-security[hidden]{display:none!important}
.single-product .gnwc-booking-security span{font-size:.8rem}

/* 3.2.15 · Tight vertical rhythm + exact hybrid traveller alignment. */
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field{
	display:grid!important;
	grid-template-rows:auto 42px;
	align-content:start;
	align-self:start;
	row-gap:6px;
	min-height:0;
	margin:0 0 12px!important;
	padding:0!important;
	border:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field>label,
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field .wc-pao-addon-name,
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field .wc-bookings-booking-form-label{
	box-sizing:border-box;
	display:block!important;
	align-self:end;
	min-height:16px;
	margin:0!important;
	padding:0!important;
	border:0!important;
	font-size:.79rem!important;
	font-weight:720!important;
	line-height:16px!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field .gnwc-person-stepper{
	grid-row:2;
	align-self:start;
	margin:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field .gnwc-person-stepper__source{
	margin:-1px!important;
}
/* Product Add-Ons often contributes extra paragraph/description spacing even
 * when no customer-facing description is present. Do not let it offset Children. */
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--source-product-addons>p:empty,
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--source-product-addons .wc-pao-addon-description:empty{
	display:none!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field--source-product-addons .wc-pao-addon-description{
	margin:0!important;
	padding:0!important;
}

/* Compact the time section itself and the native Bookings wrapper around it. */
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-time-picker-wrap{
	box-sizing:border-box;
	margin:6px 0 8px!important;
	padding:0!important;
	min-height:0!important;
	border:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-time-picker-wrap>.gnwc-booking-section-label{
	margin:0 0 5px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-time-picker-wrap>.block-picker,
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-section-label--time+.block-picker{
	margin:0!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .block-picker{
	margin:0 0 8px!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .block-picker:empty{
	display:none!important;
	margin:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .block-picker li a{
	min-height:42px;
	padding:8px 12px!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-time-picker-wrap+.gnwc-booking-summary,
.single-product form.cart.gnwc-bookings-travelers-grid .block-picker+.gnwc-booking-summary{
	margin-top:8px;
}


/* 3.2.16 · Exact hybrid traveller baseline + genuinely compact time rhythm. */
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field{
	grid-template-rows:16px 42px!important;
	row-gap:5px!important;
	margin:0 0 10px!important;
}
/* Bookings and Product Add-Ons use different label DOM. Keep their real labels
 * associated with the original inputs for accessibility, but render one common
 * visual label inside each traveller cell so both columns share the exact same
 * baseline and height. */
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-native-label{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	border:0!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	overflow:hidden!important;
	white-space:nowrap!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-visual-label{
	box-sizing:border-box;
	display:flex!important;
	align-items:flex-end;
	grid-row:1;
	min-width:0;
	height:16px;
	margin:0!important;
	padding:0!important;
	border:0!important;
	color:var(--gn-black,#111);
	font-size:.79rem!important;
	font-weight:720!important;
	line-height:16px!important;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-traveler-field>.gnwc-person-stepper{
	grid-row:2!important;
	margin:0!important;
}

/* The previous iteration compacted only guessed wrappers. Collapse the actual
 * boundaries visible in the live hybrid Bookings form as well. */
.single-product form.cart.gnwc-bookings-travelers-grid .wc-bookings-booking-form .wc-bookings-date-picker{
	margin:10px 0 5px!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-before-time-boundary{
	margin-bottom:0!important;
	padding-bottom:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-section-label--time{
	margin:0 0 4px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-time-picker-wrap{
	margin:0 0 4px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-time-picker,
.single-product form.cart.gnwc-bookings-travelers-grid .block-picker{
	margin:0 0 4px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-summary{
	margin:5px 0 4px!important;
	padding:10px 0 0!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-summary__heading{
	margin-bottom:5px!important;
}
.single-product form.cart.gnwc-bookings-travelers-grid .gnwc-booking-summary__total{
	margin-top:9px!important;
	padding-top:9px!important;
}

/* 3.2.17 · Shared traveller presentation grid.
 * The visible Adult/Child controls no longer inherit layout from the different
 * Bookings and Product Add-Ons wrappers. Original source fields remain in place
 * and operational, but are visually removed as a whole. */
.single-product form.cart.gnwc-bookings-travelers-shared-ui{
	display:block!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui>.gnwc-travelers-heading{
	display:flex!important;
	align-items:baseline;
	justify-content:space-between;
	gap:10px;
	margin:0 0 7px!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui>.gnwc-travelers-controls{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:10px;
	margin:0 0 8px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-traveler-control{
	display:grid!important;
	grid-template-rows:16px 42px;
	row-gap:4px;
	min-width:0;
	margin:0!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-traveler-control__label{
	display:flex;
	align-items:flex-end;
	height:16px;
	min-width:0;
	margin:0!important;
	padding:0!important;
	color:var(--gn-black,#111);
	font-size:.79rem;
	font-weight:720;
	line-height:16px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-traveler-control__stepper,
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-traveler-control__stepper>.gnwc-person-stepper{
	width:100%;
	margin:0!important;
}
/* Collapse only the original traveller field wrappers; the actual inputs stay
 * inside them and continue to be the source of truth for both plugins. */
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-traveler-source-field{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	border:0!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	overflow:hidden!important;
	white-space:nowrap!important;
}
/* 3.2.17 · Slightly tighter date → time → summary rhythm. */
.single-product form.cart.gnwc-bookings-travelers-shared-ui .wc-bookings-booking-form .wc-bookings-date-picker{
	margin:8px 0 2px!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-before-time-boundary{
	margin-bottom:0!important;
	padding-bottom:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-section-label--time{
	margin:0 0 3px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-time-picker-wrap{
	margin:0!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-time-picker,
.single-product form.cart.gnwc-bookings-travelers-shared-ui .block-picker{
	margin:0 0 2px!important;
	padding:0!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .block-picker li a{
	min-height:38px!important;
	padding:7px 12px!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-summary{
	margin:3px 0 4px!important;
	padding:8px 0 0!important;
}
@media(max-width:340px){
	.single-product form.cart.gnwc-bookings-travelers-shared-ui>.gnwc-travelers-controls{
		grid-template-columns:1fr;
		gap:8px;
	}
}

/* 3.2.18 · First-paint stability.
 * The head guard adds this class before the page can paint. Visibility (rather
 * than display:none) lets Woo Bookings initialise and measure its datepicker
 * normally while preventing raw Bookings/Product Add-Ons controls from flashing
 * before the shared Nómadas UI is ready. JavaScript removes the class once the
 * datepicker + traveller presentation + summary shell exist; PHP also installs
 * a fail-open timeout so a future JS failure never strands the form invisible. */
html.gnwc-bookings-enhancing body.gnwc-native-booking-product form.cart{
	visibility:hidden!important;
	pointer-events:none!important;
}
html.gnwc-bookings-enhanced body.gnwc-native-booking-product form.cart.gnwc-bookings-ui-ready{
	visibility:visible;
	pointer-events:auto;
}

/* Keep the customer summary structurally present instead of mounting it only
 * when pricing arrives. Values change in place, eliminating the pop-in beneath
 * the time selector. */
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-summary{
	min-height:0;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-summary__schedule:empty::before{
	content:"Selecciona fecha y hora";
	color:var(--gn-gray-500,#737373);
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-summary__total strong:empty::before{
	content:"—";
	color:var(--gn-gray-500,#737373);
}

/* The trust reassurance is intentionally independent from Woo Bookings' short
 * AJAX hide/disable cycles on its submit button. */
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-security{
	display:flex!important;
}


/* 3.2.19 · Stable shell reveal + CTA/trust-row containment.
 * Hide the theme-owned booking shell as one unit during progressive enhancement
 * when present. The form fallback keeps this plugin theme-independent. Visibility
 * preserves geometry so Woo Bookings can still initialise and measure normally. */
html.gnwc-bookings-enhancing body.gnwc-native-booking-product .gn-booking-sticky-shell,
html.gnwc-bookings-enhancing body.gnwc-native-booking-product form.cart{
	visibility:hidden!important;
	pointer-events:none!important;
}

/* Woo Bookings legacy styles may float its submit button. A following block then
 * tries to wrap beside that float (the live symptom was the security copy clipped
 * at the CTA's right edge). The Nómadas booking UI is deliberately single-column
 * below the summary: CTA first, reassurance on its own full-width row. */
.single-product form.cart.gnwc-bookings-travelers-shared-ui .wc-bookings-booking-form-button,
.single-product form.cart.gnwc-bookings-travelers-shared-ui button.single_add_to_cart_button{
	display:block!important;
	float:none!important;
	clear:both!important;
	box-sizing:border-box!important;
	width:100%!important;
	max-width:none!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-security{
	display:flex!important;
	float:none!important;
	clear:both!important;
	position:static!important;
	box-sizing:border-box!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	margin:6px 0 0!important;
	padding:0 4px!important;
	align-items:center!important;
	justify-content:center!important;
	gap:6px!important;
	white-space:normal!important;
	overflow:visible!important;
	text-align:center!important;
}
.single-product form.cart.gnwc-bookings-travelers-shared-ui .gnwc-booking-security span{
	flex:0 0 auto;
}
