       /*====BOOKING MODERN====== */

       .sidebar-sticky {
           position: sticky;
       }

       .booking-sidebar {
           position: static !important;
           top: auto !important;

           background: rgba(255, 255, 255, .96);

           backdrop-filter: blur(14px);

           border: 1px solid rgba(15, 23, 42, .06);

           border-radius: 30px;

           padding: 28px;

           box-shadow:
               0 20px 60px rgba(15, 23, 42, .08);
       }

       /* FORM BOX */
       #bookingFormWrap .border {
           background: #fcfcfc !important;
           border: 1px solid #edf2f7 !important;
           border-radius: 24px !important;
           padding: 26px !important;
       }

       /* INPUT */
       .form-control,
       .form-select {
           height: 56px;
           border-radius: 16px;
           border: 1px solid #e5e7eb;
           padding: 0 18px;
           font-size: 15px;
           box-shadow: none;
       }

       .form-control:focus,
       .form-select:focus {
           border-color: #f4b400;
           box-shadow: 0 0 0 4px rgba(244, 180, 0, .12);
       }

       /* LABEL */
       .form-label {
           font-size: 14px;
           font-weight: 600;
           margin-bottom: 8px;
           color: #334155;
       }

       /* PAYMENT */
       .payment-methods {
           display: grid;
           grid-template-columns: repeat(3, 1fr);
           gap: 12px;
       }

       .payment-option {
           border: 1px solid #e5e7eb;
           border-radius: 18px;
           padding: 16px 12px;
           text-align: center;
           cursor: pointer;
           transition: .25s;
           background: #fff;
           font-weight: 600;
       }

       .payment-option i {
           display: block;
           font-size: 1.5rem;
           margin-bottom: 8px;
           color: #334155;
       }

       .payment-option input {
           display: none;
       }

       .payment-option:hover {
           border-color: #f4b400;
           transform: translateY(-2px);
       }

       .payment-option.active-option {
           border: 2px solid #f4b400;
           background: #fffdf4;
       }

       .trust-item {

           display: flex;
           align-items: center;
           gap: 8px;

           font-size: 13px;
           font-weight: 600;

           color: #475569;

       }

       .trust-item i {

           color: #16a34a;
           font-size: 13px;

       }

       /* TOTAL PRICE DESIGN */

       .total-price-row {
           display: flex;
           justify-content: space-between;
           align-items: center;
           margin-top: 8px;
       }

       .total-label {
           font-size: 1.1rem;
           font-weight: 800;
           color: #0f172a;
       }

       #totalPrice {
           font-size: 1.1rem !important;
           font-weight: 800;
           color: #0f172a;
           line-height: 1;
       }

       #totalPrice small {
           font-size: .58em !important;
           font-weight: 700;
           color: #64748b;
       }

       /* MOBILE */
       @media(max-width:768px) {

           .total-label {
               font-size: 1.2rem;
           }

           #totalPrice {
               font-size: 1.35rem;
               white-space: nowrap;
           }

           #totalPrice small {
               font-size: .72em;
           }

       }

       /* BUTTON */
       .btn-book {
           height: 58px;
           border: none;
           border-radius: 18px;
           background: linear-gradient(135deg, #f4b400, #e7a800);
           color: #111827;
           font-size: 16px;
           font-weight: 700;
           transition: .25s;
           box-shadow: 0 8px 24px rgba(244, 180, 0, .25);
       }

       .btn-book:hover {
           transform: translateY(-2px);
       }

       /* ALERT */
       #bookingError .alert {
           border: none;
           border-radius: 16px;
           font-size: 14px;
           padding: 14px 16px;
       }

       /* MOBILE */
       @media(max-width:768px) {

           .booking-sidebar {
               padding: 20px;
               border-radius: 22px;
           }

           .payment-methods {
               grid-template-columns: 1fr;
           }

       }

       #bookingSubmitBtn:disabled {
           opacity: .75;
           cursor: not-allowed;
       }

       .availability-card {
           background: #fff;
           border: 1px solid #edf2f7;
           border-radius: 20px;
           padding: 18px;
           margin-top: 18px;
       }

       .availability-success {
           background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
           border: 1px solid #bbf7d0;
           color: #166534;
           border-radius: 18px;
           padding: 18px;
       }

       .availability-success strong {
           display: block;
           font-size: 17px;
           margin-bottom: 4px;
       }

       .change-date-btn {
           width: 100%;
           margin-top: 14px;
           border: none;
           background: #fff;
           border: 1px solid #e5e7eb;
           border-radius: 14px;
           height: 48px;
           font-weight: 600;
       }

       #availabilityResult .alert-success {
           background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
           border: 1px solid #bbf7d0;
           color: #166534;
           border-radius: 13px;
           padding: 13px 15px;
           font-weight: 600;
           font-size: 13px;
       }


       .availability-success-box {

           display: flex;
           justify-content: space-between;
           align-items: center;

           gap: 18px;

           background: #f0fdf4;
           border: 1px solid #bbf7d0;

           border-radius: 20px;

           padding: 18px 20px;

           margin-top: 16px;

       }

       .availability-success-left {

           display: flex;
           align-items: center;
           gap: 14px;

       }

       .availability-icon {

           width: 48px;
           height: 48px;

           min-width: 48px;
           min-height: 48px;

           border-radius: 50%;

           background: #16a34a;
           color: #fff;

           display: flex;
           align-items: center;
           justify-content: center;

           font-size: 18px;

           flex-shrink: 0;
       }

       .availability-success-left h6 {

           margin: 0;
           font-weight: 700;
           font-size: 16px;
           color: #166534;

       }

       .availability-success-left p {

           margin: 2px 0 0;
           font-size: 13px;
           color: #4b5563;

       }

       .availability-close-btn {

           border: none;
           background: transparent;

           color: #64748b;

           font-size: 14px;
           font-weight: 600;

       }

       .availability-close-btn:hover {

           color: #111827;

       }

       .check-availability-card {
           background: #fff;
           border: 1px solid #edf2f7;
           border-radius: 24px;
           padding: 24px;
           margin-top: 12px;
       }

       .check-availability-head {
           display: flex;
           align-items: center;
           gap: 16px;
           margin-bottom: 20px;
       }

       .check-availability-icon {
           width: 56px;
           height: 56px;
           border-radius: 18px;
           background: #fff8e7;
           color: #f4b400;
           display: flex;
           align-items: center;
           justify-content: center;
           font-size: 24px;
       }

       .check-availability-head h5 {
           margin: 0;
           font-size: 1.5rem;
           font-weight: 800;
           color: #0f172a;
       }

       .check-availability-head p {
           margin: 4px 0 0;
           color: #64748b;
           font-size: 14px;
       }

       #tourDate {
           height: 60px;
           border-radius: 18px;
           border: 1px solid #e5e7eb;
           padding: 0 18px;
           font-size: 16px;
           background: #fff;
       }

       .availability-check-row {
           display: flex;
           gap: 14px;
           margin-top: 18px;
       }

       .availability-date-box {
           flex: 1;
           position: relative;
       }

       .availability-date-box i {
           position: absolute;
           left: 18px;
           top: 50%;
           transform: translateY(-50%);
           color: #64748b;
           font-size: 20px;
           z-index: 2;
       }

       .availability-date-box input {
           height: 64px;
           padding-left: 54px;
           border-radius: 18px;
           border: 1px solid #e5e7eb;
           font-size: 16px;
       }

       .availability-check-btn {
           min-width: 230px;
           height: 64px;
           border: none;
           border-radius: 18px;
           background: linear-gradient(135deg, #f4b400, #ffbf00);
           color: #111827;
           font-weight: 700;
           font-size: 16px;
       }

       .availability-success-box {
           background: #f0fdf4;
           border: 1px solid #bbf7d0;
           border-radius: 22px;
           padding: 22px;
       }

       .check-availability-head {
           display: flex;
           align-items: center;
           gap: 14px;
           margin-bottom: 20px;
       }

       .check-availability-icon {
           width: 54px;
           height: 54px;
           border-radius: 16px;
           background: #fff8e7;

           display: flex;
           align-items: center;
           justify-content: center;

           color: #f4b400;
           font-size: 24px;
       }

       .check-availability-head h5 {
           margin: 0;
           font-size: 1.3rem;
           font-weight: 800;
           color: #0f172a;
       }

       .check-availability-head p {
           margin: 4px 0 0;
           color: #64748b;
           font-size: 14px;
       }

       .availability-wrap .form-control {

           flex: 1;
           min-width: 0;
       }

       .availability-wrap .btn-book {

           width: 100%;
           max-width: 230px;

           flex-shrink: 0;
       }

       /* MOBILE FIX */
       @media(max-width:768px) {

           .availability-wrap {

               flex-direction: column;
               width: 100%;
           }

           .availability-wrap .form-control {
               width: 100%;
           }

           .availability-wrap .btn-book {

               width: 100%;
               max-width: 100%;
           }

       }

       .availability-check-row {
           display: flex;
           gap: 14px;
           width: 100%;
       }

       .availability-date-box {
           flex: 1;
           min-width: 0;
       }

       .availability-check-btn {
           width: 230px;
           flex-shrink: 0;
       }


       /* MOBILE */
       @media(max-width:768px) {

           .availability-check-row {
               flex-direction: column;
               width: 100%;
           }

           .availability-date-box {
               width: 100%;
           }

           .availability-date-box input {
               width: 100%;
           }

           .availability-check-btn {
               width: 100%;
               min-width: 100%;
           }


       }

       .booking-form-header {

           display: flex;
           justify-content: space-between;
           align-items: center;

           gap: 18px;

           padding: 20px 22px;

           border: 1px solid #d8f0e2;

           background: #f6fffa;

           border-radius: 22px;

           margin-bottom: 24px;

       }

       .booking-form-left {

           display: flex;
           align-items: center;
           gap: 16px;

       }

       .booking-form-icon {

           width: 58px;
           height: 58px;

           border-radius: 50%;

           background: #eaf9f0;

           display: flex;
           align-items: center;
           justify-content: center;

           color: #16a34a;

           font-size: 1.5rem;

           flex-shrink: 0;

       }

       .booking-form-left h5 {

           margin: 0;
           font-size: 1.25rem;
           font-weight: 800;
           color: #0f172a;

       }

       .booking-form-left p {

           margin: 4px 0 0;
           font-size: 14px;
           color: #64748b;

       }

       .booking-close-btn {

           border: none;
           background: transparent;

           display: flex;
           flex-direction: column;
           align-items: center;
           justify-content: center;

           gap: 6px;

           min-width: 72px;

           color: #64748b;

           cursor: pointer;

       }

       .booking-close-btn i {

           font-size: 22px;

       }

       .booking-close-btn span {

           font-size: 14px;
           font-weight: 500;

       }

       .booking-close-btn:hover {

           color: #111827;

       }

       .booking-trust-list {

           margin-top: 15px;

           background: #f8fafc;

           border: 1px solid #edf2f7;

           border-radius: 16px;

           padding: 12px 14px;

           display: flex;
           flex-direction: column;
           gap: 12px;

       }

       .availability-check-btn.reserve-mode {

           background: linear-gradient(135deg,
                   #16a34a,
                   #22c55e);

           color: #fff;

           border: none;

           box-shadow:
               0 8px 20px rgba(34, 197, 94, .28);
       }

       @media(max-width:768px) {

           .total-price-row {
               display: flex;
               align-items: center;
               justify-content: space-between;
           }

           .total-label {
               font-size: 1.15rem !important;
           }

           #totalPrice {
               font-size: 1.15rem !important;
               white-space: nowrap;
               line-height: 1;
           }

           #totalPrice small {
               font-size: .75em !important;
           }

       }

       /* ===== MODERN FLATPICKR ===== */

       .flatpickr-calendar {

           border: none !important;

           border-radius: 24px;

           padding: 14px;

           background: #fff;

           box-shadow:
               0 20px 60px rgba(15, 23, 42, .12);

       }

       /* month bar */

       .flatpickr-months {

           margin-bottom: 14px;

       }

       .flatpickr-current-month {

           font-size: 20px !important;

           font-weight: 800;

           color: #0f172a;

       }

       .flatpickr-monthDropdown-months,
       .flatpickr-current-month input.cur-year {

           font-weight: 800;

       }

       /* arrows */

       .flatpickr-prev-month,
       .flatpickr-next-month {

           width: 42px;
           height: 42px;

           border-radius: 14px;

           background: #fff;

           border: 1px solid #e5e7eb;

       }

       .flatpickr-prev-month:hover,
       .flatpickr-next-month:hover {

           background: #f8fafc;

       }

       /* weekday */

       .flatpickr-weekday {

           font-size: 13px;

           font-weight: 700;

           color: #64748b;

       }

       /* day */

       .flatpickr-day {

           border-radius: 14px;

           height: 42px;
           line-height: 42px;

           font-weight: 500;

           transition: .2s;

       }

       /* hover */

       .flatpickr-day:hover {

           background: #f8fafc;

           border-color: #f8fafc;

       }

       /* selected */

       .flatpickr-day.selected,
       .flatpickr-day.startRange,
       .flatpickr-day.endRange {

           background: #f4b400 !important;

           border-color: #f4b400 !important;

           color: #fff !important;

       }

       /* today */

       .flatpickr-day.today {

           border: 2px solid #f4b400 !important;

           color: #0f172a;

       }

       /* disabled */

       .flatpickr-day.flatpickr-disabled {

           color: #cbd5e1 !important;

       }

       /* input */

       .flatpickr-input[readonly] {

           cursor: pointer;

       }

       .flatpickr-day.flatpickr-disabled,
       .flatpickr-day.prevMonthDay.flatpickr-disabled {
           opacity: .25;
           cursor: not-allowed;
       }

       .availability-wrap {
           display: flex;
           gap: 12px;
           align-items: center;
       }

       #tourDate {
           flex: 1;
           height: 56px;
           border-radius: 14px;
           padding: 0 16px;
           font-size: 16px;
       }

       .btn-book {
           height: 56px;
           min-width: 140px;
           border: none;
           border-radius: 14px;
           background: #f4b400;
           color: #111;
           font-weight: 700;
           padding: 0 22px;
       }

       @media(max-width:768px) {

           .availability-wrap {
               flex-direction: column;
           }

           .btn-book {
               width: 100%;
           }

       }

       /* ===PRICE TABLE MODERN==== */

       .price-table-wrap {
           margin-top: 20px;
           background: #fff;
           border: 1px solid #eef2f7;
           border-radius: 22px;
           overflow: hidden;
           box-shadow:
               0 8px 28px rgba(15, 23, 42, .04);
       }

       /* table reset */
       .price-table {
           width: 100%;
           margin: 0;
           border-collapse: collapse;
       }

       .price-summary {
           margin-top: 20px;
       }

       .price-row {
           display: flex;
           justify-content: space-between;
           align-items: center;
           margin-bottom: 8px;
           font-size: 14px;
       }

       .price-row span:last-child {
           font-weight: 600;
       }

       .total-row {
           font-size: 22px;
           margin-top: 10px;
       }

       /* header */
       .price-table thead th {
           background: linear-gradient(180deg,
                   #fffdf7 0%,
                   #fff9eb 100%);
           color: #92400e;
           font-size: 13px;
           font-weight: 700;
           letter-spacing: .03em;
           text-transform: uppercase;
           padding: 16px 20px;
           border: none;
       }

       /* body */
       .price-table tbody td {
           padding: 16px 20px;
           font-size: 15px;
           border-bottom: 1px solid #f5f5f5;
           color: #334155;
       }

       /* hover */
       .price-table tbody tr:hover {
           background: #fcfcfc;
       }

       /* last row */
       .price-table tbody tr:last-child td {
           border-bottom: none;
       }

       /* pax text */
       .price-table tbody td:first-child {
           font-weight: 600;
           color: #0f172a;
       }

       /* price */
       .price-table tbody td:last-child {
           text-align: right;
           font-weight: 700;
           font-size: 16px;
           color: #f4b400;
       }

       /* mobile */
       @media(max-width:768px) {

           .price-table thead th,
           .price-table tbody td {
               padding: 14px 16px;
           }

           .price-table tbody td {
               font-size: 14px;
           }

           .price-table tbody td:last-child {
               font-size: 15px;
           }
       }