   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   .booking-page-wrapper {
       min-height: 100vh;
       display: flex;
       align-items: center;
       justify-content: center;
       background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);
       font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
       padding: 20px;
   }

   .booking-main-card {
       display: flex;
       align-items: center;
       gap: 16px;
       flex-wrap: wrap;
       max-width: 1000px;
       width: 100%;
   }

   .booking-field-group {
       flex: 1;
       min-width: 320px;
       display: flex;
       flex-direction: column;
       gap: 3px;
   }

   .booking-field-label {
       font-size: 12px;
       font-weight: 500;
       color: #6b7280;
       text-transform: uppercase;
       letter-spacing: 0.5px;
   }

   .booking-datetime-row {
       display: flex;
       gap: 12px;
   }

   .booking-picker-container {
       position: relative;
       flex: 1;
   }

   .booking-picker-trigger {
       width: 100%;
       padding: 10px 12px;
       border: 1px solid #e5e7eb;
       border-radius: 12px;
       font-size: 15px;
       font-family: 'Inter', sans-serif;
       color: #1f2937;
       background: #f9fafb;
       transition: all 0.2s ease;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 8px;
       user-select: none;
   }

   .booking-picker-trigger:hover {
       border-color: #d1d5db;
       background: #ffffff;
   }

   .booking-picker-trigger.active {
       border-color: #1f2937;
       background: #ffffff;
       box-shadow: 0 0 0 3px rgba(31, 41, 55, 0.1);
   }

   .booking-picker-trigger .material-icons {
       font-size: 20px;
       color: #6b7280;
   }

   .booking-picker-value {
       flex: 1;
       text-align: left;
       white-space: nowrap;
   }

   /* Date Range Picker Dropdown - Two Months Side by Side */
   .booking-date-dropdown {
       position: absolute;
       left: 0;
       background: #ffffff;
       border-radius: 12px;
       box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
       z-index: 1000;
       padding: 20px;
       display: none;
       animation: dropdownFadeIn 0.2s ease;
   }

   /* Position classes for auto-positioning */
   .booking-date-dropdown.position-bottom {
       top: calc(100% + 8px);
       bottom: auto;
   }

   .booking-date-dropdown.position-top {
       bottom: calc(100% + 8px);
       top: auto;
   }

   .booking-date-dropdown.show {
       display: block;
   }

   @keyframes dropdownFadeIn {
       from {
           opacity: 0;
           transform: translateY(-8px);
       }

       to {
           opacity: 1;
           transform: translateY(0);
       }
   }

   @keyframes dropdownFadeInUp {
       from {
           opacity: 0;
           transform: translateY(8px);
       }

       to {
           opacity: 1;
           transform: translateY(0);
       }
   }

   .booking-date-dropdown.position-top {
       animation: dropdownFadeInUp 0.2s ease;
   }

   /* Range Picker Calendars Container */
   .booking-range-calendars {
       display: flex;
       gap: 24px;
   }

   .booking-calendar-panel {
       min-width: 280px;
   }

   .booking-calendar-header {
       display: flex;
       align-items: center;
       justify-content: space-between;
       margin-bottom: 16px;
   }

   .booking-calendar-title {
       font-size: 16px;
       font-weight: 600;
       color: #1f2937;
   }

   .booking-calendar-nav {
       display: flex;
       gap: 4px;
   }

   .booking-calendar-nav-btn {
       width: 32px;
       height: 32px;
       border: none;
       background: #f3f4f6;
       border-radius: 8px;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: all 0.2s;
   }

   .booking-calendar-nav-btn:hover {
       background: #e5e7eb;
   }

   .booking-calendar-nav-btn .material-icons {
       font-size: 18px;
       color: #374151;
   }

   .booking-calendar-weekdays {
       display: grid;
       grid-template-columns: repeat(7, 1fr);
       gap: 4px;
       margin-bottom: 8px;
   }

   .booking-weekday {
       text-align: center;
       font-size: 12px;
       font-weight: 500;
       color: #9ca3af;
       padding: 8px 0;
   }

   .booking-calendar-days {
       display: grid;
       grid-template-columns: repeat(7, 1fr);
       gap: 4px;
   }

   .booking-calendar-day {
       width: 36px;
       height: 36px;
       border: none;
       background: transparent;
       border-radius: 50%;
       cursor: pointer;
       font-size: 14px;
       color: #374151;
       transition: all 0.2s;
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .booking-calendar-day:hover:not(.disabled):not(.selected):not(.in-range) {
       background: #f3f4f6;
   }

   .booking-calendar-day.selected {
       background: #1f2937;
       color: #ffffff;
   }

   .booking-calendar-day.range-start {
       background: #1f2937;
       color: #ffffff;
       border-radius: 50% 0 0 50%;
   }

   .booking-calendar-day.range-end {
       background: #1f2937;
       color: #ffffff;
       border-radius: 0 50% 50% 0;
   }

   .booking-calendar-day.range-start.range-end {
       border-radius: 50%;
   }

   .booking-calendar-day.in-range {
       background: #e5e7eb;
       border-radius: 0;
       color: #374151;
   }

   .booking-calendar-day.today {
       border: 2px solid #1f2937;
   }

   .booking-calendar-day.disabled {
       color: #d1d5db;
       cursor: not-allowed;
   }

   .booking-calendar-day.other-month {
       color: #d1d5db;
   }

   /* Navigation arrows for range picker */
   .booking-range-nav {
       display: flex;
       justify-content: space-between;
       align-items: center;
       margin-bottom: 16px;
   }

   .booking-range-nav-btn {
       width: 32px;
       height: 32px;
       border: none;
       background: #f3f4f6;
       border-radius: 8px;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: all 0.2s;
   }

   .booking-range-nav-btn:hover {
       background: #e5e7eb;
   }

   .booking-range-nav-btn .material-icons {
       font-size: 18px;
       color: #374151;
   }

   .booking-range-months-title {
       font-size: 16px;
       font-weight: 600;
       color: #1f2937;
       display: flex;
       gap: 32px;
   }

   /* Booking availability note */
   .booking-availability-note {
       margin-top: 16px;
       font-size: 13px;
       color: #6b7280;
       font-style: italic;
   }

   /* Modern Time Picker Dropdown */
   .booking-time-dropdown {
       position: absolute;
       left: 0;
       right: 0;
       background: #ffffff;
       border-radius: 16px;
       box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
       z-index: 1000;
       display: none;
       animation: dropdownFadeIn 0.2s ease;
       padding: 8px;
       min-width: 200px;
   }

   .booking-time-dropdown.position-bottom {
       top: calc(100% + 8px);
       bottom: auto;
   }

   .booking-time-dropdown.position-top {
       bottom: calc(100% + 8px);
       top: auto;
       animation: dropdownFadeInUp 0.2s ease;
   }

   .booking-time-dropdown.show {
       display: block;
   }

   /* Time Format Toggle */
   .booking-time-format-toggle {
       display: flex;
       background: #f3f4f6;
       border-radius: 8px;
       padding: 4px;
       margin-bottom: 16px;
   }

   .booking-time-format-btn {
       flex: 1;
       padding: 3px 16px;
       border: none;
       background: transparent;
       border-radius: 6px;
       font-size: 13px;
       font-weight: 500;
       color: #6b7280;
       cursor: pointer;
       transition: all 0.2s;
       font-family: 'Inter', sans-serif;
   }

   .booking-time-format-btn.active {
       background: #ffffff;
       color: #1f2937;
   }

   .booking-time-format-btn:hover:not(.active) {
       color: #374151;
   }

   /* Time Picker Body */
   .booking-time-picker-body {
       display: flex;
       gap: 12px;
       align-items: center;
       justify-content: center;
   }

   /* Time Column */
   .booking-time-column {
       display: flex;
       flex-direction: column;
       align-items: center;
       width: 60px;
   }

   .booking-time-scroll-btn {
       width: 25px;
       height: 25px;
       border: none;
       background: #f3f4f6;
       border-radius: 8px;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: all 0.2s;
   }

   .booking-time-scroll-btn:hover {
       background: #e5e7eb;
   }

   .booking-time-scroll-btn:active {
       background: #d1d5db;
       transform: scale(0.95);
   }

   .booking-time-scroll-btn .material-icons {
       font-size: 20px;
       color: #374151;
   }

   /* Time Scroll Container */
   .booking-time-scroll-container {
       height: 120px;
       overflow: hidden;
       position: relative;
       margin: 8px 0;
   }

   .booking-time-scroll-list {
       display: flex;
       flex-direction: column;
       align-items: center;
       transition: transform 0.2s ease;
   }

   .booking-time-scroll-item {
       height: 40px;
       width: 40px;
       display: flex;
       align-items: center;
       justify-content: center;
       font-size: 15px;
       font-weight: 500;
       color: #9ca3af;
       cursor: pointer;
       border-radius: 8px;
       transition: all 0.2s;
       user-select: none;
   }

   .booking-time-scroll-item:hover:not(.selected) {
       background: #f9fafb;
       color: #6b7280;
   }

   .booking-time-scroll-item.selected {
       font-size: 15px;
       font-weight: 600;
       color: #1f2937;
       background: #f3f4f6;
   }

   /* Highlight bar for selected time */
   .booking-time-scroll-container::before {
       content: '';
       position: absolute;
       top: 50%;
       left: 0;
       right: 0;
       height: 40px;
       transform: translateY(-50%);
       pointer-events: none;
       z-index: 1;
   }

   /* Time Separator */
   .booking-time-separator {
       font-size: 28px;
       font-weight: 600;
       color: #1f2937;
       padding: 0 4px;
   }

   /* AM/PM Column */
   .booking-time-ampm-column {
       display: flex;
       flex-direction: column;
       gap: 8px;
       margin-left: 8px;
   }

   .booking-time-ampm-btn {
       padding: 0px 5px;
       border: 2px solid #e5e7eb;
       background: #ffffff;
       border-radius: 4px;
       font-size: 10px;
       font-weight: 500;
       color: #6b7280;
       cursor: pointer;
       transition: all 0.2s;
       font-family: 'Inter', sans-serif;
   }

   .booking-time-ampm-btn:hover:not(.active) {
       border-color: #d1d5db;
       background: #f9fafb;
   }

   .booking-time-ampm-btn.active {
       border-color: #a48a7b;
       background: #a48a7b;
       color: #ffffff;
   }

   /* Time Picker Footer */
   .booking-time-picker-footer {
       display: flex;
       justify-content: flex-end;
       gap: 8px;
       margin-top: 16px;
       padding-top: 16px;
       border-top: 1px solid #e5e7eb;
   }

   .booking-time-picker-cancel-btn {
       padding: 0px 20px;
       border: 1px solid #e5e7eb;
       background: #ffffff;
       border-radius: 8px;
       font-size: 11px;
       font-weight: 500;
       color: #6b7280;
       cursor: pointer;
       transition: all 0.2s;
       font-family: 'Inter', sans-serif;
   }

   .booking-time-picker-cancel-btn:hover {
       background: #f9fafb;
   }

   .booking-time-picker-ok-btn {
       padding: 4px 20px;
       border: none;
       background: #a48a7b;
       border-radius: 8px;
       font-size: 11px;
       font-weight: 600;
       color: #ffffff;
       cursor: pointer;
       transition: all 0.2s;
       font-family: 'Inter', sans-serif;
   }

   .booking-time-picker-ok-btn:hover {
       background: #a48a7b;
   }

   .booking-swap-button {
       width: 48px;
       height: 48px;
       border-radius: 50%;
       border: 1px solid #e5e7eb;
       background: #ffffff;
       display: flex;
       align-items: center;
       justify-content: center;
       cursor: pointer;
       transition: all 0.2s ease;
       flex-shrink: 0;
       align-self: center;
       margin-top: 20px;
   }

   .booking-swap-button:hover {
       background: #f3f4f6;
       border-color: #d1d5db;
       transform: rotate(180deg);
   }

   .booking-swap-button svg {
       width: 20px;
       height: 20px;
       color: #6b7280;
   }

   .booking-search-btn {
       padding: 11px 32px;
       background: #a48a7b;
       color: #ffffff;
       border: none;
       border-radius: 12px;
       font-size: 15px;
       font-weight: 600;
       font-family: 'Inter', sans-serif;
       cursor: pointer;
       transition: all 0.2s ease;
       flex-shrink: 0;
       align-self: center;
       margin-top: 27px;
   }

 .booking-search-btn:hover {
	background: #917361;
	transform: translateY(-1px);
	/* box-shadow: 0 4px 12px rgba(31, 41, 55, 0.3); */
	color: #fff !important;
}

   .booking-search-btn:active {
       transform: translateY(0);
   }

   @media (max-width: 768px) {
       .booking-main-card {
           flex-direction: column;
           padding: 20px;
           gap: 20px;
       }

       .booking-field-group {
           width: 100%;
           min-width: unset;
       }

       .booking-swap-button {
           margin-top: 0;
           transform: rotate(90deg);
       }

       .booking-swap-button:hover {
           transform: rotate(270deg);
       }

       .booking-search-btn {
           width: 100%;
           margin-top: 8px;
       }

       .booking-date-dropdown {
           min-width: 280px;
           left: 50%;
           transform: translateX(-50%);
       }

       .booking-date-dropdown.show {
           transform: translateX(-50%);
       }

       .booking-range-calendars {
           flex-direction: column;
           gap: 16px;
       }

       .booking-calendar-panel {
           min-width: 260px;
       }

       .booking-time-dropdown {
           min-width: 260px;
       }
   }

   .save-section {
       margin-top: 5px;
       padding: 14px 15px;
       background: #f8f9fa;
       border-radius: 12px;
       display: flex;
       justify-content: space-between;
       align-items: center;
       gap: 1rem;
       width: 100%;
       opacity: 0.5;
       pointer-events: none;
       transition: all 0.3s ease;
   }

   .save-section.active {
       opacity: 1;
       pointer-events: auto;
   }

   .save-info {
	display: flex;
	gap: 3px;
	align-items: center;
	flex: 1;
}

   .emoji {
       font-size: 2rem;
       flex-shrink: 0;
   }

   .save-text h3 {
       font-size: 1.1rem;
       font-weight: 600;
       color: #191919;
       margin-bottom: 0px;
   }

   .save-text p {
       font-size: 0.9rem;
       color: #666;
       margin: 0;
   }

   .save-note {
       font-size: 0.85rem !important;
       margin-top: 0.5rem !important;
   }

   .save-later-btn {
       background: white;
       color: #1e1e1e;
       border: 2px solid #e0e0e0;
       padding: 5px 15px;
       border-radius: 8px;
       font-size: 0.9rem;
       font-weight: 500;
       cursor: pointer;
       transition: all 0.3s;
       white-space: nowrap;
   }

   .save-later-btn:hover {
       background: #fff;
       border-color: #dbd8d6;
   }

   /* Date picker active state indicator */
   .booking-picker-trigger.selecting {
       border-color: #3b82f6;
       box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
   }

   /* Disabled button states */
   .booking-search-btn.disabled {
       background: #d1d5db;
       cursor: not-allowed;
       pointer-events: none;
   }

   .booking-search-btn.disabled:hover {
       transform: none;
       box-shadow: none;
   }

   /* Modern Modal Styles */
   .modal-overlay {
       position: fixed;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: rgba(0, 0, 0, 0.5);
       backdrop-filter: blur(4px);
       display: flex;
       align-items: center;
       justify-content: center;
       z-index: 2000;
       opacity: 0;
       visibility: hidden;
       transition: all 0.3s ease;
   }

   .modal-overlay.show {
       opacity: 1;
       visibility: visible;
   }

   .modal-container {
       background: white;
       border-radius: 20px;
       box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2);
       max-width: 480px;
       width: 90%;
       transform: scale(0.9) translateY(20px);
       transition: all 0.3s ease;
       overflow: hidden;
   }

   .modal-overlay.show .modal-container {
       transform: scale(1) translateY(0);
   }

   .savecustom_modal .modal-header {
       background: linear-gradient(135deg, #f0f0f0 0%, #fff 100%);
       padding: 20px 32px;
       text-align: center;
       position: relative;
       flex-direction: column;
   }

   .savecustom_modal .modal-header-icon {
       width: 50px;
       height: 50px;
       background: rgba(156, 117, 83, 0.68);
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
       margin: 0 auto 16px;
   }

   .savecustom_modal .modal-header-icon .material-icons {
       font-size: 24px;
       color: white;
   }


   .savecustom_modal .modal-header h2 {
       color: #222;
       font-size: 22px;
       font-weight: 500;
       margin: 0 0 2px;
   }

   .savecustom_modal .modal-header p {
       color: rgba(53, 53, 53, 0.8);
       font-size: 13px;
       margin: 0;
   }

   .savecustom_modal .modal-close {
       position: absolute;
       top: 16px;
       right: 16px;
       width: 32px;
       height: 32px;
       border: none;
       background: rgba(255, 255, 255, 0.1);
       border-radius: 50%;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: all 0.2s;
   }

   .modal-close:hover {
       background: rgba(255, 255, 255, 0.2);
   }

   .savecustom_modal .modal-close .material-icons {
       font-size: 20px;
       color: #1d1d1d;
   }

   .savecustom_modal .modal-body {
       padding: 15px 15px 20px 15px;
   }

   .modal-booking-summary {
       background: #f8f9fa;
       border-radius: 12px;
       padding: 16px 15px;
       margin-bottom: 24px;
   }

   .modal-booking-summary h4 {
       font-size: 12px;
       text-transform: uppercase;
       letter-spacing: 0.5px;
       color: #6b7280;
       margin: 0 0 12px;
   }

   .modal-booking-dates {
       display: flex;
       align-items: center;
       gap: 12px;
   }

   .modal-date-block {
       flex: 1;
       text-align: center;
   }

   .modal-date-block .date {
       font-size: 16px;
       font-weight: 600;
       color: #1f2937;
   }

   .modal-date-block .time {
       font-size: 13px;
       color: #6b7280;
       margin-top: 0px;
   }

   .modal-date-arrow {
       color: #9ca3af;
   }

   .modal-form-group {
       margin-bottom: 20px;
   }

   .modal-form-group label {
       display: block;
       font-size: 13px;
       font-weight: 500;
       color: #374151;
       margin-bottom: 8px;
   }

   .modal-form-group input {
       width: 100%;
       padding: 8px 16px;
       border: 2px solid #e5e7eb;
       border-radius: 12px;
       font-size: 15px;
       font-family: 'Inter', sans-serif;
       transition: all 0.2s;
       height: 45px;
   }

   .modal-form-group input:focus {
       outline: none;
       border-color: #a48a7b;
       box-shadow: 0 0 0 3px rgba(31, 41, 55, 0.1);
   }

   .modal-form-group input::placeholder {
       color: #9ca3af;
   }

   .modal-checkbox-group {
       display: flex;
       align-items: flex-start;
       gap: 12px;
       margin-bottom: 24px;
   }

   .modal-checkbox-group input[type="checkbox"] {
       width: 20px;
       height: 20px;
       margin-top: 2px;
       accent-color: #1f2937;
       cursor: pointer;
   }

   .modal-checkbox-group label {
       font-size: 13px;
       color: #6b7280;
       line-height: 1.5;
       cursor: pointer;
   }

   .modal-checkbox-group label a {
       color: #1f2937;
       text-decoration: underline;
   }

   .modal-footer {
       display: flex;
       gap: 12px;
   }

   .modal-btn {
       flex: 1;
       padding: 8px 20px;
       border-radius: 8px;
       font-size: 13px;
       font-weight: 400;
       font-family: 'Inter', sans-serif;
       cursor: pointer;
       transition: all 0.2s;
   }

   .modal-btn-secondary {
       background: white;
       border: 2px solid #e5e7eb;
       color: #6b7280;
   }

   .modal-btn-secondary:hover {
       border-color: #d1d5db;
       background: #f9fafb;
   }

 .modal-btn-primary {
	background: #a48a7b;
	border: 2px solid #a48a7b;
	color: white;
}

   .modal-btn-primary:hover {
       background:  #9a755f;
       border-color:  #a48a7b;
   }

   .modal-btn-primary:disabled {
       background: #d1d5db;
       border-color: #d1d5db;
       cursor: not-allowed;
   }

   .modal-success {
       text-align: center;
       padding: 40px 32px;
   }

   .modal-success-icon {
       width: 80px;
       height: 80px;
       background: #d1fae5;
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
       margin: 0 auto 24px;
   }

   .modal-success-icon .material-icons {
       font-size: 40px;
       color: #059669;
   }

   .modal-success h3 {
       font-size: 22px;
       font-weight: 600;
       color: #1f2937;
       margin: 0 0 12px;
   }

   .modal-success p {
       font-size: 15px;
       color: #6b7280;
       margin: 0 0 24px;
       line-height: 1.6;
   }

   @keyframes checkmark {
       0% {
           transform: scale(0);
       }

       50% {
           transform: scale(1.2);
       }

       100% {
           transform: scale(1);
       }
   }

   .modal-success-icon .material-icons {
       animation: checkmark 0.5s ease-out;
   }

   .bookingeng_wrapper {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	padding: 15px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	max-width: 1000px;
	width: 100%;
}


/* booking tab and content style */
 /* Tabs */
.booking-tabs {
  display: flex;
  gap: 6px;
}

.booking-tab {
	padding: 6px 18px;
	border-radius: 999px;
	border: 1px solid #ddd;
	background: #fff;
	cursor: pointer;
	font-weight: 500;
	font-size: 13px;
}

.booking-tab.active {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* Tab Content */
.booking-tab-content {
  display: none;
  width: 100%;
}

.booking-tab-content.active {
  display: block;
}

/* Guided Tour Card */
.guided-tour-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border-radius: 16px;
  padding: 10px 0px 0px 0px;
}

.guided-tour-left {
  display: flex;
  gap: 16px;
  align-items: center;
}

.guided-tour-left img {
	width: 80px;
	height: 80px;
	border-radius: 12px;
	object-fit: cover;
}

.guided-tour-info h3 {
	margin: 0 0 0px;
	font-size: 21px !important;
}

.guided-tour-info p {
  margin: 0;
  color: #666;
}

/* Button */
.guided-tour-btn {
	padding: 12px 22px;
	border-radius: 999px;
	background: #a48a7b;
	color: #fff;
	text-decoration: none;
	font-weight: 500;
}
.guided-tour-btn:hover {
	color: #fff;
    background: #a48a7b;
}
