/**
 * Booking Page Styles
 * Only loads on: st_hotel, hotel_room, st_tours single pages
 *
 * Contents:
 * 1. Surf Camp Packages (form + price table)
 * 2. Shared Room Guest Fields
 * 3. Tour Radio Extras / Lesson Selection
 * 4. Hotel Booking Tabs
 * 5. Hotel Calendar Restrictions
 * 6. Mobile Amenities Layout
 * 7. Hotel Card Rating
 * 8. Visitor Counter
 * 9. Gallery Arrows
 * 10. Single Page Search Bar
 * 11. Content Headings
 * 12. Attribute Sections
 * 13. Read More
 * 14. Room Image Link
 * 15. Extras Note
 * 16. Guest Name Input
 * 17. Guest Selector Dropdown
 * 18. Mobile Booking & CTA Buttons
 * 19. Price Text Fix
 * 20. Minimum Guests Badge
 *
 * @package Waverick
 */

/* ========================================
   1. SURF CAMP PACKAGES
   ======================================== */

/* Package Container - No extra padding, clean alignment */
.form-more-extra-package_new {
	border: 2px solid #e0e0e0;
	border-radius: 10px;
	background: white;
	padding: 0;
	margin-bottom: 20px;
	overflow: hidden;
}

/* "Choose a package" Header */
.st-form-package_new .st_combobox-list-display {
	background: #191970;
	color: white;
	padding: 14px 18px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	margin: 0;
	border-radius: 0;
}

.st-form-package_new .st_combobox-list-display:hover {
	background: #2a2a8f;
}

/* Package List */
.st-form-package_new .box_select ul {
	padding: 12px;
	margin: 0;
	list-style: none;
}

.st-form-package_new .box_select ul li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	margin-bottom: 6px;
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
}

.st-form-package_new .box_select ul li:hover {
	background: #f0f4ff;
	border-color: #191970;
}

.st-form-package_new .box_select ul li label {
	flex: 1;
	margin: 0;
	color: #333;
	font-weight: 500;
	cursor: pointer;
}

/* Quantity Dropdown */
.st-form-package_new select {
	border: 1px solid #ccc;
	width: 70px;
	height: 36px;
	border-radius: 6px;
	color: #191970;
	padding: 0 8px;
	background: white;
	font-weight: 600;
	cursor: pointer;
}

.st-form-package_new select:hover {
	border-color: #191970;
}

.st-form-package_new select:focus {
	outline: none;
	border-color: #191970;
	box-shadow: 0 0 0 2px rgba(25,25,112,0.1);
}

/* === PRICE LIST TABLE === */

.st-package {
	margin: 30px 0;
}

/* Section Title */
.st-package .st-heading-section {
	color: #191970;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #FF8C00;
}

/* Table Container */
.st_wrap_list_package {
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
}

.st_content_list_package table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 15px;
}

/* Header */
.st_content_list_package table thead tr th {
	padding: 16px 18px;
	font-weight: 700;
	background: #191970;
	color: white;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: none;
}

.st_content_list_package table thead tr th:last-child {
	text-align: right;
}

/* Rows */
.st_content_list_package table tbody tr {
	border-bottom: 1px solid #e8e8e8;
}

.st_content_list_package table tbody tr:last-child {
	border-bottom: none;
}

/* Alternating backgrounds */
.st_content_list_package table tbody tr:nth-child(odd) {
	background: #FAFAFA;
}

.st_content_list_package table tbody tr:nth-child(even) {
	background: white;
}

/* Hover */
.st_content_list_package table tbody tr:hover {
	background: #F0F4FF;
}

/* Cells */
.st_content_list_package table td {
	padding: 16px 18px;
	border: none;
}

/* Package Name */
.st_content_list_package table tbody td:first-child {
	background: #FFF4E6;
	color: #191970;
	font-weight: 700;
	font-size: 16px;
	border-left: 4px solid #FF8C00;
}

/* Price Column */
.st_content_list_package table tbody td:last-child {
	color: #191970;
	font-weight: 700;
	font-size: 20px;
	text-align: right;
	background: #F8FBFF;
}

.st_content_list_package table tbody tr:hover td:last-child {
	color: #FF8C00;
}

/* Guest Field */
#st-content-wrapper .form-book-wrapper .field-guest .form-extra-field {
	border: 2px solid #e0e0e0;
	border-radius: 10px;
}

#st-content-wrapper .form-book-wrapper .field-guest .form-extra-field:hover {
	border-color: #191970;
}

/* Mobile */
@media (max-width: 768px) {
	.st-package .st-heading-section {
		font-size: 20px;
	}
	.st_content_list_package table td,
	.st_content_list_package table th {
		padding: 10px 12px;
		font-size: 14px;
	}
	.st_content_list_package table tbody td:last-child {
		font-size: 16px;
	}
}

.wrap_select_adu_child {
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 15px;
	padding-top: 15px;
	display: none;
}
.wrap_select_adu_child.active {
	display: grid;
}

.st_combobox-list-display {
	border: 1px solid #ccc;
	font-weight: 500;
	padding: 7px 17px;
	position: relative;
	cursor: pointer;
}
.box_select {
	position: relative;
}
.bg_select {
	display: none;
	position: fixed;
	z-index: 10;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.box_select ul {
	border-style: solid;
	border-width: 0px 1px 1px 1px;
	background-color: #ffffff;
	border-color: #ccc;
	padding: 0;
}
.box_select.active ul {
	display: block;
}
.box_select.active .bg_select {
	display: block;
}
.box_select ul li {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 7px 10px;
	cursor: pointer;
}
.box_select ul li label {
	cursor: pointer;
	display: inline-block !important;
	font-weight: 500 !important;
	color: var(--heading-color) !important;
	flex: 1;
}
.box_select ul li + li {
	border-top: 1px solid #e5e5e5;
}

.box_package_price {
	display: none;
}

.box_package_price.active {
	display: block;
}

.box_package_price .st_combobox-list-display:after {
	content: "\f107";
	font-family: 'Font Awesome 7 Free' !important;
	font-weight: 900;
}

.single-hotel_room #st-content-wrapper.st-style-elementor .st-form-book-wrapper .form-book-wrapper .field-guest .dropdown {
	border: none;
}

.sticky-top #st-attributes {
	display: none;
}

/* ========================================
   2. SHARED ROOM GUEST FIELD CUSTOMIZATION
   ======================================== */

/* Hide Rooms field in general search bar (show only Adults and Children) */
body.single-st_hotel .waverick-single-page-search-bar .dropdown-menu.st-modern-style > li:first-child,
body.single-hotel_room .waverick-single-page-search-bar .dropdown-menu.st-modern-style > li:first-child,
.waverick-single-page-search-bar .dropdown-menu.st-modern-style > li:first-child {
    display: none !important;
}

/* For dorm rooms: Style the "Add More" render text */
body.show-shared-room .st-wrapper-form-booking .field-guest .st-form-dropdown-icon .render,
body.show-shared-room .hotel-room-booking-form .field-guest .st-form-dropdown-icon .render {
    color: #1a2b48 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* ========================================
   3. TOUR RADIO EXTRAS - Lesson Type Selection
   ======================================== */

/* Container for lesson type selection */
.form-lesson-type-selection {
    background: linear-gradient(135deg, #f0f4ff 0%, #ffffff 100%) !important;
    padding: 25px !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
    border: 2px solid #191970 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(25, 25, 112, 0.08) !important;
}

/* Label styling */
.lesson-type-label {
    display: block !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    margin-bottom: 18px !important;
    color: #191970 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid #191970 !important;
    padding-bottom: 10px !important;
}

.lesson-type-label .required {
    color: #ff6b6b;
    margin-left: 3px;
    font-size: 20px;
}

/* Radio choices wrapper */
.radio-choices-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Individual radio choice item */
.radio-choice-item {
    display: flex !important;
    align-items: center !important;
    padding: 15px 20px !important;
    background: white !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.radio-choice-item:hover {
    border-color: #191970 !important;
    box-shadow: 0 2px 8px rgba(25, 25, 112, 0.1) !important;
    transform: translateY(-2px) !important;
}

.radio-choice-item.selected {
    border-color: #191970 !important;
    background: #f0f4ff !important;
    box-shadow: 0 3px 12px rgba(25, 25, 112, 0.15) !important;
}

/* Hide the actual radio input */
.radio-choice-item input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Custom radio button design */
.radio-custom {
    width: 22px;
    height: 22px;
    border: 2px solid #d0d0d0;
    border-radius: 50%;
    margin-right: 15px;
    position: relative;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.radio-choice-item:hover .radio-custom {
    border-color: #191970;
}

.radio-choice-item.selected .radio-custom {
    border-color: #191970;
    background: white;
}

/* Radio button inner dot */
.radio-choice-item.selected .radio-custom::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    background: #191970;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: radioCheck 0.3s ease;
}

@keyframes radioCheck {
    0% {
        transform: translate(-50%, -50%) scale(0);
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Content layout */
.choice-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    flex: 1;
}

/* Lesson title */
.choice-title {
    font-weight: 500;
    color: #1a2b48;
    font-size: 15px;
    line-height: 1.3;
    width: 100%;
}

.radio-choice-item.selected .choice-title {
    color: #191970;
    font-weight: 600;
}

/* Price display */
.choice-price {
    font-weight: 700;
    color: #191970;
    font-size: 16px;
    display: inline;
}

.radio-choice-item:not(.selected) .choice-price {
    color: #7f8c8d;
}

.price-unit {
    font-size: 11px;
    color: #95a5a6;
    font-weight: 400;
    margin-left: 4px;
    display: inline;
    white-space: nowrap;
}

/* Focus state for accessibility */
.radio-choice-item input[type="radio"]:focus + .radio-custom {
    box-shadow: 0 0 0 3px rgba(25, 25, 112, 0.2);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .form-lesson-type-selection {
        padding: 15px;
    }

    .choice-title {
        font-size: 14px;
    }

    .choice-price {
        font-size: 15px;
    }

    .price-unit {
        font-size: 10px;
    }

    .radio-choice-item {
        padding: 12px 15px;
    }

    .radio-custom {
        width: 20px;
        height: 20px;
        margin-right: 12px;
    }

    .radio-choice-item.selected .radio-custom::after {
        width: 10px;
        height: 10px;
    }
}

/* Print styles */
@media print {
    .radio-choice-item:not(.selected) {
        display: none;
    }

    .radio-choice-item.selected {
        border: 2px solid #000;
    }
}

/* ========================================
   4. HOTEL BOOKING TABS - Toggle Button Group
   ======================================== */

.single .st-form-book-wrapper .st-wrapper-form-booking .nav-tabs li:first-child {
	padding-right: 2px;
}

.single .st-form-book-wrapper .st-wrapper-form-booking .nav-tabs li:last-child {
	padding-left: 2px;
}

.single .st-form-book-wrapper .st-wrapper-form-booking .nav-tabs li a {
	padding: 12px 0;
	font-size: 15px;
	font-weight: 500;
	color: #5E6D77;
	background: rgba(94, 109, 119, 0.06);
	border-radius: 6px;
	transition: all 0.25s ease;
}

.single .st-form-book-wrapper .st-wrapper-form-booking .nav-tabs li a:hover:not(.active) {
	background: rgba(25, 25, 112, 0.08);
	color: rgb(25, 25, 112);
}

.single .st-form-book-wrapper .st-wrapper-form-booking .nav-tabs li a.active {
	color: #fff;
	font-weight: 600;
	background: rgb(25, 25, 112);
	box-shadow: 0 2px 4px rgba(25, 25, 112, 0.2);
}

/* ========================================
   5. HOTEL CALENDAR RESTRICTIONS
   NOTE: !important required for daterangepicker override
   ======================================== */

/* Make disabled dates non-clickable */
.single .daterangepicker .table-condensed .td-date.disabled,
.single .daterangepicker .table-condensed .td-date.off.disabled {
	pointer-events: none !important;
	cursor: not-allowed !important;
}

/* Disabled dates styling */
.single .daterangepicker .table-condensed .td-date.disabled:not(.start-date):not(.end-date) .date,
.single .daterangepicker .table-condensed .td-date.off.disabled:not(.start-date):not(.end-date) .date {
	color: #999 !important;
	text-decoration: line-through !important;
}

/* Remove hover effects on disabled dates */
.single .daterangepicker .table-condensed .td-date.disabled:hover,
.single .daterangepicker .table-condensed .td-date.off.disabled:hover {
	background-color: transparent !important;
	cursor: not-allowed !important;
}

/* In-range dates - Blue background */
.single .daterangepicker .table-condensed .td-date.in-range,
.single .daterangepicker .table-condensed .td-date.in-range.disabled,
.single .daterangepicker .table-condensed .td-date.in-range.off.disabled,
.single .daterangepicker .table-condensed .td-date.in-range.off {
	background-color: #B8CCFF !important;
}

/* In-range disabled text */
.single .daterangepicker .table-condensed .td-date.in-range.disabled:not(.start-date):not(.end-date) .date,
.single .daterangepicker .table-condensed .td-date.in-range.off.disabled:not(.start-date):not(.end-date) .date,
.single .daterangepicker .table-condensed .td-date.in-range.off:not(.start-date):not(.end-date) .date {
	color: #999 !important;
	text-decoration: line-through !important;
}

/* START-DATE - Always show orange */
.single .daterangepicker .table-condensed .td-date.start-date .date,
.single .daterangepicker .table-condensed .td-date.start-date.in-range .date,
.single .daterangepicker .table-condensed .td-date.start-date.in-range.disabled .date,
.single .daterangepicker .table-condensed .td-date.start-date.active .date,
.single .daterangepicker .table-condensed .td-date.start-date.active.in-range .date {
	color: #FA5535 !important;
	border: 1px solid #FA5535 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

/* END-DATE - Remove line-through */
.single .daterangepicker .table-condensed .td-date.end-date .date,
.single .daterangepicker .table-condensed .td-date.end-date.active .date {
	text-decoration: none !important;
}

/* Today disabled styling */
.single .daterangepicker .table-condensed .td-date.today.disabled:not(.start-date) .date,
.single .daterangepicker .table-condensed .td-date.today.off.disabled:not(.start-date) .date {
	color: #999 !important;
	border: none !important;
}

/* ========================================
   6. MOBILE AMENITIES/ATTRIBUTES - Compact Layout
   NOTE: !important required for Bootstrap grid override
   ======================================== */

/* Target amenities sections */
.st-attributes.st-section-single.stt-attr-amneties .item,
.st-attributes .attribute-item,
.st-hotel-attribute .item {
	margin-bottom: 10px !important;
}

/* Mobile: 2 columns */
@media (max-width: 767px) {
	.st-attributes.st-section-single.stt-attr-amneties .attribute-list,
	.st-hotel-attribute .attribute-list,
	.st-attributes .row {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px 12px !important;
		margin: 0 !important;
	}

	.st-attributes.st-section-single.stt-attr-amneties .item,
	.st-hotel-attribute .item,
	.st-attributes .attribute-item,
	.st-attributes .col-6,
	.st-attributes .col-12 {
		grid-column: span 1 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	.st-attributes .item i,
	.st-hotel-attribute .item i {
		margin-right: 6px !important;
		flex-shrink: 0 !important;
	}

	.st-attributes.st-section-single {
		padding: 15px 0 !important;
	}

	.st-attributes .heading {
		font-size: 18px !important;
		margin-bottom: 12px !important;
	}
}

/* Tablet: 3 columns */
@media (min-width: 768px) and (max-width: 991px) {
	.st-attributes.st-section-single.stt-attr-amneties .attribute-list,
	.st-hotel-attribute .attribute-list {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 10px 15px !important;
	}

	.st-attributes.st-section-single.stt-attr-amneties .item,
	.st-hotel-attribute .item {
		margin: 0 !important;
		font-size: 14px !important;
	}
}

/* ========================================
   7. GALLERY - MagnificPopup Navigation
   ======================================== */

/* Push gallery down 100px below header */
.mfp-image-holder .mfp-content {
	margin-top: 100px !important;
}

/* Navigation arrows - bluish background with blur */
.mfp-arrow {
	background: rgba(25, 25, 112, 0.25) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
}

.mfp-arrow:hover {
	background: rgba(25, 25, 112, 0.4) !important;
}

/* Ensure arrows are always visible */
button.mfp-arrow {
	opacity: 1 !important;
	display: block !important;
	visibility: visible !important;
}

/* ========================================
   11. CONTENT HEADINGS - Surf Camps & Tours Description
   NOTE: !important for Elementor override
   ======================================== */

/* First section title in orange */
.st-description > .st-heading-section:first-of-type {
	color: #FF8C00 !important;
}

/* Lighter headings for user content */
.st-description h2 {
	font-size: 26px !important;
	font-weight: 500 !important;
	line-height: 36px !important;
}

.st-description h3 {
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 32px !important;
}

.st-description h4 {
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 28px !important;
}

@media (max-width: 767px) {
	.st-description h2 {
		font-size: 22px !important;
		line-height: 32px !important;
	}

	.st-description h3 {
		font-size: 20px !important;
		line-height: 28px !important;
	}

	.st-description h4 {
		font-size: 18px !important;
		line-height: 26px !important;
	}
}

/* ========================================
   12. ATTRIBUTE SECTIONS - Package Titles
   ======================================== */

/* Package headings (H3) */
#st-content-wrapper .st-section-single h3.st-heading-section {
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 36px !important;
}

/* "AVAILABLE PACKAGES:" title (H2) */
#st-content-wrapper .stt-attr-amneties h2.st-heading-section {
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 24px !important;
	margin-bottom: 0px !important;
}

/* Remove excess padding from amenities */
.stt-attr-amneties {
	padding-bottom: 0px !important;
	margin-bottom: 0px !important;
}

/* Hide separator line */
.stt-attr-amneties + .st-hr {
	display: none !important;
}

/* Spacing for first package after amenities */
#st-content-wrapper .stt-attr-amneties.st-attributes + .st-attributes {
	margin-top: 10px !important;
	padding-top: 0px !important;
}

/* ========================================
   13. SURF CAMP READ MORE - Expand/Collapse
   ======================================== */

/* DEFAULT STATE: Collapsed content hidden */
#st-description[data-read-more="true"] .st-description-collapsed {
	display: none;
}

#st-description[data-read-more="true"] .st-read-less-link {
	display: none;
}

/* EXPANDED STATE */
#st-description[data-read-more="true"].expanded .st-description-collapsed {
	display: block;
}

#st-description[data-read-more="true"].expanded .st-read-more-link {
	display: none;
}

#st-description[data-read-more="true"].expanded .st-read-less-link {
	display: inline-block;
}

/* Read more/less links */
.st-read-more-link,
.st-read-less-link {
	display: inline-block;
	margin-top: 15px;
	margin-bottom: 20px;
	color: var(--wv-orange, #D97706);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
}

.st-read-more-link:hover,
.st-read-less-link:hover {
	color: var(--wv-orange-dark, #B45309);
	text-decoration: none;
	transform: translateX(3px);
}

.st-read-more-link i,
.st-read-less-link i {
	margin-left: 8px;
	font-size: 14px;
	transition: transform 0.3s ease;
}

.st-read-more-link:hover i {
	transform: translateY(2px);
}

.st-read-less-link:hover i {
	transform: translateY(-2px);
}

/* Collapsed content wrapper */
.st-description-collapsed {
	overflow: hidden;
}

.st-description-content > p,
.st-description-collapsed > p {
	margin-bottom: 1em;
}

.st-description-content > p:last-child,
.st-description-collapsed > p:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.st-read-more-link,
	.st-read-less-link {
		font-size: 15px;
		margin-top: 12px;
		margin-bottom: 15px;
	}
}

/* ========================================
   14. ROOM IMAGE LINK - Clickable Images
   ======================================== */

.room-image-link {
	display: block;
	height: 100%;
	text-decoration: none;
}

/* ========================================
   15. EXTRAS NOTE - Split styling for titles
   ======================================== */

.stt-attr-extra-activities .st-heading-section .extras-note {
	display: block;
	font-size: 18px;
	font-weight: 400;
	margin-top: 4px;
}

/* ========================================
   16. GUEST NAME INPUT ALIGNMENT FIX
   ======================================== */

.guest_name_input .control-item {
	display: flex !important;
	align-items: center;
	gap: 10px;
}

.guest_name_input .control-item select.form-control {
	flex: 0 0 auto;
	width: auto;
	min-width: 100px;
	height: 45px !important;
	margin: 0 !important;
}

.guest_name_input .guest_name_control .control-item input {
	flex: 1;
	height: 45px !important;
	width: auto !important;
	display: block !important;
	vertical-align: middle;
	margin: 0 !important;
}

.guest_name_input input[name="guest_name[]"],
.guest_name_input .form-control {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* ========================================
   17. GUEST SELECTOR DROPDOWN ARROW
   ======================================== */

.field-guest .form-extra-field {
	position: relative;
}

.field-guest .dropdown-indicator {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
	color: var(--grey-color, #5E6D77);
	pointer-events: none;
}

/* ========================================
   18. MOBILE BOOKING & CTA BUTTONS
   ======================================== */

/* Desktop: Hide mobile placeholder */
@media (min-width: 992px) {
	.waverick-mobile-form-placeholder {
		display: none !important;
	}
}

/* Hotel page "Choose your room" - solid orange */
.btn-v2.btn-primary.wv-btn-choose-room,
.btn-v2.btn-primary.wv-btn-choose-room:focus,
.btn-v2.btn-primary.wv-btn-choose-room:active {
	background: var(--wv-orange);
	font-weight: 600;
	border: none;
	outline: 0;
	box-shadow: none;
}
.btn-v2.btn-primary.wv-btn-choose-room:hover {
	background: var(--wv-orange-dark);
}

/* Microcopy below CTA */
.wv-cta-microcopy {
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--wv-muted);
	text-align: center;
}

/* Room card buttons - ghost/outline style */
.single #st-content-wrapper .show-detail,
.single-st_hotel .show-detail.btn-v2.btn-primary {
	background: #fff !important;
	color: var(--wv-orange) !important;
	border: 2px solid var(--wv-orange) !important;
	box-shadow: none !important;
	text-align: center;
}
.single #st-content-wrapper .show-detail:hover,
.single-st_hotel .show-detail.btn-v2.btn-primary:hover {
	background: var(--wv-orange) !important;
	color: #fff !important;
}

/* Room grid card layout */
.room-item .content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 15px;
}
.room-item .room-item-footer {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--wv-border-light);
}
.room-item .room-item-footer .price-wrapper {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px;
}
.room-item .room-item-footer .show-detail {
	padding: 8px 18px;
	font-size: 14px;
	margin-left: auto;
}

/* Sticky footer button */
.hotel-target-book-mobile .btn-v2.btn-primary,
.hotel-target-book-mobile .btn-v2.btn-primary:focus,
.hotel-target-book-mobile .btn-v2.btn-primary:active {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* === MOBILE RULES === */
@media (max-width: 991px) {
	/* Hide sidebar widgets inside mobile booking overlay */
	/* These should only show on desktop sidebar, not in mobile fullscreen form */
	.st-fixed-form-booking.open .st-badge-widget,
	.st-fixed-form-booking.open .st-widgets-detail.st-badge-widget,
	.st-fixed-form-booking.open .widget-box.st-widgets-detail,
	.st-fixed-form-booking.open .information-contact,
	.st-fixed-form-booking.open .st-owner-info {
		display: none !important;
	}

	/* Booking form wrapper padding below fixed header */
	#st-content-wrapper.st-style-elementor .st-fixed-form-booking .st-form-book-wrapper {
		padding-top: 88px !important;
	}

	#st-content-wrapper.st-style-elementor.singe-room-layout-3 .widgets .st-fixed-form-booking {
		margin-top: 78px !important;
	}

	/* Push the fixed mobile booking form down below header */
	.fixed-on-mobile.st-fixed-form-booking {
		margin-top: 80px !important;
		padding-top: 10px !important;
	}

	/* Position the close icon inside fixed booking form - Premium Blue */
	.fixed-on-mobile .close-icon {
		top: 90px !important;
		margin-top: 0 !important;
		z-index: 999999 !important;
		color: var(--heading-color, #191970) !important;
	}

	.fixed-on-mobile .close-icon:hover {
		color: var(--wv-orange, #D97706) !important;
	}

	/* Room page: Mobile placeholder */
	.waverick-mobile-form-placeholder {
		margin: 30px 0;
	}
	.waverick-mobile-form-placeholder .st-form-book-wrapper {
		border-radius: 12px;
		box-shadow: 0 2px 12px rgba(0,0,0,0.1);
	}
	body.single-hotel_room .widgets .st-fixed-form-booking.form-moved {
		display: none !important;
	}

	/* Hotel/Room popup: Enable scrolling - ONLY for hotels and rooms, NOT tours */
	body.single-st_hotel #st-content-wrapper .fixed-on-mobile .st-form-book-wrapper,
	body.single-hotel_room #st-content-wrapper .fixed-on-mobile .st-form-book-wrapper {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		padding-bottom: 180px;
	}
	body.single-st_hotel #st-content-wrapper .fixed-on-mobile .st-form-book-wrapper .submit-group,
	body.single-hotel_room #st-content-wrapper .fixed-on-mobile .st-form-book-wrapper .submit-group {
		margin-bottom: 80px;
		padding-bottom: 20px;
	}
	body.single-st_hotel #st-content-wrapper .fixed-on-mobile .st-wrapper-form-booking,
	body.single-hotel_room #st-content-wrapper .fixed-on-mobile .st-wrapper-form-booking {
		padding-bottom: 100px;
	}

	/* Tour popup: Use parent's scroll, just add padding for content visibility */
	body.single-st_tours #st-content-wrapper .fixed-on-mobile .st-form-book-wrapper {
		padding-top: 20px;
		padding-bottom: 120px;
	}

	/* Room list: price and button layout */
	.single #st-content-wrapper .st-list-rooms .item .col-lg-5 {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 20px;
	}
	.single #st-content-wrapper .price-wrapper {
		margin: 0 !important;
		padding: 0 !important;
	}
	.single #st-content-wrapper .show-detail {
		float: none !important;
		margin: 0 !important;
	}
}

/* ========================================
   19. PRICE TEXT - Fix capitalization
   ======================================== */

.single-hotel_room #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-price-origin,
.single-st_hotel #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-price-origin,
.single-st_rental #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-price-origin {
	text-transform: none;
}

/* Single hotel/room attributes borders */
.single-hotel_room #st-content-wrapper.st-style-elementor .st-attributes.stt-attr-amneties,
.single-st_hotel #st-content-wrapper.st-style-elementor .st-attributes.stt-attr-amneties {
	border-bottom: none;
	padding-bottom: 30px;
	margin-bottom: 0px;
}

.single-hotel_room #st-content-wrapper.st-style-elementor .st-attributes,
.single-st_hotel #st-content-wrapper.st-style-elementor .st-attributes {
	border-bottom: 1px solid #FF8C00;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

/* ========================================
   20. MINIMUM GUESTS BADGE
   Shown on room cards when min_adult_number > 1
   ======================================== */
.min-guests-notice {
	display: inline-block;
	padding: 4px 10px;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 500;
	color: #e67e22;
	background: #fef5e7;
	border-radius: 4px;
	border: 1px solid #f5d8a8;
}
.min-guests-notice i {
	margin-right: 4px;
}
