:root{--navy:#0B1D3A;--navy-light:#122B52;--navy-dark:#06101F;--red:#E63946;--red-dark:#C62828;--orange:#FF8C00;--green:#22B573;--bg-light:#F0F2F7;--bg-card:#fff;--text-dark:#1A1A2E;--text-muted:#6B7280;--text-light:#9CA3AF;--gold:#FFD700;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}
/* =============================================
   BOOKING FORM — Price Calculator (Cruise + Tour)
============================================= */
.booking-form{font-family:'Nunito Sans',sans-serif}

/* ============ PRICE CARD WRAPPER ============ */
.price-card-wrapper{background:transparent}
.price-card{background:#fff;border:1px solid #E8EBF0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 24px rgba(11,29,58,.08);transition:box-shadow .3s}
.price-card:hover{box-shadow:0 8px 32px rgba(11,29,58,.12)}

/* ============ PRICE HEADER (top: total price + date dropdown) ============ */
.price-header{
    padding:20px 22px;
    position:relative;
    background: linear-gradient(135deg, var(--orange-soft) 0%, #fff 100%);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;}
.price-info{display:flex;flex-direction:column;position:relative;z-index:2;}
.price-label{font-size:.55rem;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.4);font-weight:700;margin-bottom:4px;}
.price-row{display:flex;align-items:baseline;gap:10px}
.price-current.bs-tour-price-amount{display:flex;align-items:baseline; flex-direction: column;}
.price-current.bs-tour-price-amount > span:first-child{font-size:.95rem;color:var(--ink-soft);text-decoration:line-through;font-weight:600}
.price-current.bs-tour-price-amount > strong{font-size:1.8rem;font-weight:900;color:var(--orange);line-height:1;}

/* Date dropdown */
.tour-select-wrapper{position:relative;z-index:3}
.tour-select-wrapper .dropdown-toggle{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:.82rem;padding:10px 16px;border-radius:var(--radius-md);box-shadow:none;transition:all .25s;width:100%}
.tour-select-wrapper .dropdown-toggle:hover,.tour-select-wrapper .dropdown-toggle:focus,.tour-select-wrapper .dropdown-toggle[aria-expanded="true"]{background:rgba(255,255,255,.18);border-color:rgba(255,140,0,.4);color:#fff}
.tour-select-wrapper .dropdown-toggle::after{margin-left:auto;border-top-color:var(--orange);font-size:.6rem}
.tour-select-wrapper .dropdown-toggle .text-primary{color:var(--orange)!important}
.tour-select-wrapper #selectedLabel{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;letter-spacing:.3px}
.tour-select-wrapper #selectedLabel i{color:var(--orange)!important;font-size:.85rem}
/* Dropdown menu */
.tour-select-wrapper .dropdown-menu{background:#fff;border:1px solid #E8EBF0;border-radius:var(--radius-md);padding:6px;min-width:240px;box-shadow:0 16px 48px rgba(11,29,58,.18);margin-top:8px!important;max-height:320px;overflow-y:auto}
.tour-select-wrapper .dropdown-menu::-webkit-scrollbar{width:6px}
.tour-select-wrapper .dropdown-menu::-webkit-scrollbar-track{background:#F5F6FA;border-radius:3px}
.tour-select-wrapper .dropdown-menu::-webkit-scrollbar-thumb{background:#D4D8DF;border-radius:3px}
.tour-select-wrapper .dropdown-item.date-option{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.8rem;color:var(--navy);transition:all .15s;margin-bottom:2px}
.tour-select-wrapper .dropdown-item.date-option:hover{background:#FFF8F0;color:var(--orange)}
.tour-select-wrapper .dropdown-item.date-option .date-text{font-weight:700;letter-spacing:.3px}
.tour-select-wrapper .dropdown-item.date-option .price-text{font-weight:800;color:var(--orange);font-size:.82rem;background:#FFF3E0;padding:3px 10px;border-radius:50px;letter-spacing:0}
.tour-select-wrapper .dropdown-item.date-option:hover .price-text{background:var(--orange);color:#fff}

/* ============ PRICE BODY (calc form area) ============ */
.price-body{padding:0;background:#fff}
.quick-booking-form{padding:0}
.price-calc-wrapper{padding:18px 22px 0}
.price-calc-body{display:flex;flex-direction:column;gap:14px}

/* Each cabin/room block */
.price-calc-room.price-calc-item{position:relative;}

/* Cabin header — number + remove */
.price-calc-label{font-size:.92rem!important;font-weight:700!important;color:var(--navy)!important;margin-bottom:14px!important;display:flex;align-items:center;justify-content:space-between;gap:8px}
.price-calc-label strong{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.price-calc-label strong > span:first-child{color: var(--orange); font-weight: 700;}
.price-calc-room-remove{font-size:.7rem!important;font-weight:600!important;color:var(--red)!important;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:50px;background:rgba(230,57,70,.08);transition:all .2s;text-decoration:none!important}
.price-calc-room-remove:hover{background:var(--red);color:#fff!important}
.price-calc-room:first-child:last-child .price-calc-room-remove{display:none}

/* Cabin select (Bootstrap floating label) */
.price-cabin-select-container{margin-bottom:14px!important}
.price-cabin-select-container .form-floating{position:relative}
.price-cabin-select-container .form-floating > .form-select.cabin-select-input{width:100%;border:2px solid #E2E5EB;border-radius:var(--radius-sm);padding:1.625rem 0.75rem 0.5rem;font-size:.85rem;font-weight:600;color:var(--text-dark);background-color:#fff;cursor:pointer;height:auto;min-height:58px;transition:all .25s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23FF8C00' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:10px}
.price-cabin-select-container .form-floating > .form-select.cabin-select-input:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,140,0,.08);outline:none}
.price-cabin-select-container .form-floating > label{font-weight:600;color:var(--text-muted);font-size:.85rem;padding:1rem 0.75rem;transition:all .15s}
.price-cabin-select-container .form-floating > .form-select ~ label{opacity:.65;transform:scale(.78) translateY(-.65rem) translateX(.1rem);color:var(--orange);font-weight:700;letter-spacing:.3px}

/* Person counters grid */
.price-calc-list.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
@media(max-width:380px){.price-calc-list.form-row{grid-template-columns:1fr}}

.form-group.person-item{background-color:#f9f9fb; border-radius:var(--radius-sm);padding:8px 8px;margin:0;display:flex;gap:8px;transition:border-color .2s; justify-content: space-between;}

.form-group.person-item > label{display:flex;flex-direction:column;gap:1px;margin:0;cursor:default}
.form-group.person-item > label > strong{font-size:.76rem;font-weight:700;color:var(--navy);line-height:1.2}
.form-group.person-item > label > span{font-size:.6rem;color:var(--text-muted);font-weight:600;letter-spacing:.2px}

/* Counter (-/+/input) */
.input-group.person-counter{display:flex;align-items:stretch;background:#F5F6FA;border:1px solid #E2E5EB;border-radius:var(--radius-sm);overflow:hidden;width:fit-content;align-self:flex-start}
.input-group.person-counter .input-group-prepend,.input-group.person-counter .input-group-append{display:flex}
.input-group.person-counter .btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--navy);font-size:.95rem;cursor:pointer;transition:all .15s;border-radius:0}
.input-group.person-counter .btn:hover{background:var(--orange);color:#fff}
.input-group.person-counter .btn:disabled,.input-group.person-counter .btn.disabled{opacity:.35;cursor:not-allowed;background:transparent;color:var(--text-muted)}
.input-group.person-counter .btn i{font-size:.85rem;line-height:1}
.input-group.person-counter .btn .bi-dash::before,.input-group.person-counter .btn .bi-plus::before{font-size:.85rem}
.input-group.person-counter .person-counter-input{width:36px;height:30px;border:none;background:#fff;font-family:'JetBrains Mono',monospace;font-size:.85rem;font-weight:700;color:var(--navy);text-align:center;padding:0;outline:none;-moz-appearance:textfield;border-left:1px solid #E2E5EB;border-right:1px solid #E2E5EB}
.input-group.person-counter .person-counter-input::-webkit-outer-spin-button,.input-group.person-counter .person-counter-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.input-group.person-counter .person-counter-input:focus{background:#FFFAF5}

/* ============ ADD CABIN BUTTON ============ */
.price-calc-footer{padding:8px 0 18px!important;text-align:center!important;border-top:1px dashed #E2E5EB;margin-top:6px}
.btn-room-add{background:#fff!important;border:2px dashed #D4D8DF!important;color:var(--text-muted)!important;font-weight:700;font-size:.82rem;padding:11px 22px!important;border-radius:50px!important;display:inline-flex!important;align-items:center;gap:6px;transition:all .25s!important;text-decoration:none!important}
.btn-room-add:hover{background:#FFF8F0!important;border-color:var(--orange)!important;color:var(--orange)!important;transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,140,0,.15)}
.btn-room-add i.bi-plus{font-size:.95rem!important;margin-right:4px!important;margin-left:0!important;padding:0!important}
.btn-room-add i.bi-plus::before{font-weight:700}

/* ============ MAIN BOOKING SUBMIT BUTTON ============ */
.booking-submit-btn,.price-calc-wrapper + a.btn-danger,
.price-card .btn-danger.btn-lg{display:flex!important;align-items:center;justify-content:center;width:100%;background:linear-gradient(135deg,var(--orange) 0%,#FF6B00 100%)!important;color:#fff!important;!important;font-weight:800!important;font-size:1.05rem!important;padding:18px!important;border:none!important;border-radius:0!important;cursor:pointer;transition:all .3s;box-shadow:0 -4px 20px rgba(255,140,0,.15);position:relative;overflow:hidden;letter-spacing:.4px;text-transform:uppercase;margin-top:16px;text-decoration:none!important}
.price-card .btn-danger.btn-lg::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .8s}
.price-card .btn-danger.btn-lg:hover::before{left:140%}
.price-card .btn-danger.btn-lg:hover{background:linear-gradient(135deg,#FF6B00 0%,var(--orange) 100%)!important;color:#fff!important;box-shadow:0 -6px 28px rgba(255,140,0,.3)}
.price-card .btn-danger.btn-lg i{font-size:1.05rem!important;transition:transform .25s}
.price-card .btn-danger.btn-lg:hover i{transform:translateX(4px)}

/* ============ MOBILE FIXED BOTTOM BAR ============ */
.booking-form .fixed-bottom.bg-white{background:#fff!important;box-shadow:0 -6px 24px rgba(11,29,58,.12)!important;border-top:1px solid #E8EBF0!important;padding:12px 0!important}
.booking-form .fixed-bottom .row{align-items:center}
.booking-form .fixed-bottom .text-muted{color:var(--text-muted)!important;font-size:.66rem!important;font-weight:600;display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px!important}
.booking-form .fixed-bottom .text-muted i{color:var(--orange);font-size:.7rem}
.booking-form .fixed-bottom .bs-tour-price-amount{display:flex;align-items:baseline;gap:6px;!important;font-weight:900!important;color:var(--red)!important;font-size:1.3rem!important;line-height:1}
.booking-form .fixed-bottom .bs-tour-price-amount > span:first-child{font-size:.62rem;color:var(--text-light)!important;text-decoration:line-through;font-weight:600}
.booking-form .fixed-bottom .bs-tour-price-amount > strong{color:var(--red);font-size:1.2rem}
.booking-form .fixed-bottom .btn-danger{background:linear-gradient(135deg,var(--orange),#FF6B00)!important;color:#fff!important;border:none!important;!important;font-weight:800!important;font-size:.82rem!important;padding:13px 22px!important;border-radius:var(--radius-md)!important;box-shadow:0 4px 16px rgba(255,140,0,.3)!important;display:inline-flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.4px;transition:all .25s;text-decoration:none!important}
.booking-form .fixed-bottom .btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,140,0,.4)!important}
.booking-form .fixed-bottom .btn-danger::after{content:'\f061';font-family:'Font Awesome 6 Free';font-weight:900;margin-left:6px;font-size:.7rem}

/* ============ PHONE + WHATSAPP BUTTONS BELOW ============ */
.booking-form > .row.g-2{margin-top:14px}
.booking-form > .row.g-2 .btn{padding:13px 14px!important;font-weight:700;font-size:.82rem;border-radius:var(--radius-md)!important;border:none!important;transition:all .25s;letter-spacing:.2px;width:100%;display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important}
.booking-form > .row.g-2 .btn-light{background:#fff!important;color:var(--navy)!important;border:1.5px solid #E2E5EB!important}
.booking-form > .row.g-2 .btn-light:hover{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important;transform:translateY(-2px);box-shadow:0 4px 16px rgba(11,29,58,.15)!important}
.booking-form > .row.g-2 .btn-light i{color:var(--orange);font-size:.85rem}
.booking-form > .row.g-2 .btn-light:hover i{color:#fff}
.booking-form > .row.g-2 .btn-success{background:#25D366!important;color:#fff!important}
.booking-form > .row.g-2 .btn-success:hover{background:#1fa653!important;transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,211,102,.35)!important}
.booking-form > .row.g-2 .btn-success i{font-size:1rem}

/* ============ TOTAL CALCULATED PRICE (optional summary row) ============ */
.price-calc-total{background:#FFF8F0;border:1px solid rgba(255,140,0,.18);border-radius:var(--radius-md);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;margin:14px 22px 0}
.price-calc-total-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}
.price-calc-total-value{font-size:1.4rem;font-weight:900;color:var(--orange);line-height:1}
.price-calc-total-value small{font-size:.5em;color:var(--text-muted);font-weight:600;margin-left:2px}

/* ============ RESPONSIVE TUNING ============ */
@media(max-width:768px){
    .price-header{padding:18px}
    .price-current.bs-tour-price-amount > strong{font-size:1.8rem}
    .price-calc-wrapper{padding:14px 16px 0}
    .price-calc-room.price-calc-item{padding:14px}
    .price-card .btn-danger.btn-lg{font-size:.95rem!important;padding:16px!important}
}

/* Small fix: hide desktop sticky-bottom on lg+, show only mobile */
@media(min-width:768px){.booking-form .fixed-bottom{display:none!important}}