:root {
	--stitch-primary: #00366d;
	--stitch-primary-container: #054d95;
	--stitch-secondary: #b71700;
	--stitch-surface: #f9f9ff;
	--stitch-surface-off: #f8fafc;
	--stitch-ocean: #ebf2f9;
	--stitch-on-surface: #111c2d;
	--stitch-on-surface-variant: #424751;
	--stitch-outline-variant: #c2c6d2;
	--stitch-on-primary: #ffffff;
	--stitch-container-max: 1280px;
	--stitch-gutter: clamp(1rem, 4vw, 3rem);
	--stitch-gutter-desktop: 3rem;
}

body.prp-mast { --prp-header: 0px; }
body.prp-mast:not(.prp-hero-page) #content,
body.prp-mast.prp-product-page-body #content { padding-top: 0; }
body.prp-mast :is(a,button,input,select,textarea):focus-visible { outline: 3px solid #054d95; outline-offset: 4px; }
:target { scroll-margin-top: 100px; }
.prp-icon { width: 24px; height: 24px; flex-shrink: 0; vertical-align: middle; }

/* Prevent min-content expansion in room details, including 320px screens. */
body.prp-coastal-modernist .prp-product-page__layout > *,
body.prp-coastal-modernist .prp-product-host__copy,
body.prp-coastal-modernist .prp-product-amenities__item { min-width: 0; }
body.prp-coastal-modernist .prp-product-host__avatar { flex-shrink: 0; }
body.prp-coastal-modernist .prp-product-booking { width: 100%; float: none; }
body.prp-coastal-modernist .prp-product-booking :is(form,fieldset,.wc-bookings-booking-form) { min-width: 0; max-width: 100%; }
.prp-booking-jump { display: inline-flex; min-height: 44px; align-items: center; margin-top: .75rem; text-decoration: underline; font-weight: 600; }
@media (max-width: 921px) {
 body.prp-coastal-modernist .prp-product-page__layout { grid-template-columns: minmax(0,1fr); gap: 2rem; }
 body.prp-coastal-modernist .prp-product-booking { position: static; }
}
@media (max-width: 480px) {
 body.prp-coastal-modernist .prp-product-booking { padding: 1rem .625rem; }
 body.prp-coastal-modernist .prp-product-page { padding-inline: 1rem; }
 body.prp-coastal-modernist .prp-product-amenities__item { padding: .75rem; gap: .75rem; }
}
@media (min-width: 640px) and (max-width: 1023px) {
 body.prp-coastal-modernist.prp-mast .prp-tickets__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Motion only when the input device supports hover. */
@media (hover: none), (prefers-reduced-motion: reduce) {
 body .card-hover:hover, body .stitch-card:hover img, body .stitch-card:hover .stitch-card__media img { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }

body .card-hover,
body .stitch-card img { transition: none; }
}
.prp-price-unit { font-size: .875rem; font-weight: 400; white-space: nowrap; }
.stitch-value > .stitch-value__inner > .prp-icon { width: 48px; height: 48px; margin-bottom: 1.5rem; color: #00366d; }
body.prp-product-page-body .ast-sticky-add-to-cart { display: none !important; }
body.prp-product-page-body .wc-bookings-booking-form .booking-selected-dates { font-size: .9375rem; line-height: 1.6; margin: 0 0 .75rem; }
body.prp-product-page-body .wc-bookings-booking-form .booking-cost-label { font-size: 1rem; line-height: 1.5; margin: 0; }
body.prp-product-page-body .wc-bookings-booking-form .booking-cost-label strong { font-size: 1.25rem; }
body.prp-product-page-body .single_add_to_cart_button { width: 100%; min-height: 48px; }
@media (max-width: 480px) {
 .woocommerce .prp-product-booking .wc-bookings-booking-form { padding: .75rem .375rem 0; }
 .woocommerce .prp-product-booking .wc-bookings-booking-form .wc-bookings-booking-cost { margin-inline: -.375rem; padding: 1rem .75rem; }
 .woocommerce .prp-product-booking .wc-bookings-date-picker .prp-day-price { font-size: .68rem; }
}
body.prp-coastal-modernist .prp-product-booking form.cart button.single_add_to_cart_button { display: block; width: 100%; min-height: 48px; float: none; margin-inline: 0; }
body.prp-mast .prp-book__title { color: #fff; text-shadow: 0 1px 8px rgb(0 0 0 / .4); }
/* Mark JavaScript before first paint: avoid a full-height menu collapsing on load. */

@media (min-width: 640px) and (max-width: 1023px) {
 body.prp-coastal-modernist .prp-hero .prp-room-search__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
 body.prp-coastal-modernist .prp-hero .prp-room-search__field { width: 100%; border: 0; padding: .5rem .75rem; }
 body.prp-coastal-modernist .prp-hero .prp-room-search__field--submit { align-self: center; }
}
