/* forms & table styles */
.wp-cloudbeds-search-box,.wp-cloudbeds-details-form{position:relative;margin:auto;max-width:100%}
/*#wp-cloudbeds-room-form,#wp-cloudbeds-room-form2{display:flex;justify-content:center;align-items:flex-end;gap:10px;flex-wrap:wrap}*/
.wp-cloudbeds-field{display:flex;flex-direction:column;align-items:flex-start;position: relative;}
.wp-cloudbeds-field label{color:#6E747B;font-family:Poppins;font-size:15px;font-weight:600;line-height:100%;margin-bottom:10px;padding-left:15px}
.input-spinner{position:relative;
/*width:110px*/
    
}
.input-spinner input[type="number"]{width:100%;height:55px;padding-right:35px;padding-left:15px;background:rgba(255,255,255,.05);color:#FFF;font-size:42px;font-weight:400;border:none;-moz-appearance:textfield;appearance:textfield;box-sizing:border-box}
.input-spinner input[type="number"]::-webkit-inner-spin-button,.input-spinner input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}
.input-spinner .btn-up,.input-spinner .btn-down{position:absolute;right:0;width:25px;height:25px;background:transparent;color:#d0ab17;border:none;font-size:18px;line-height:1;cursor:pointer;font-family:inherit;padding:0;transition:background .2s}
.input-spinner .btn-up{top:0}.input-spinner .btn-down{bottom:0}
.wp-cloudbeds-field input:focus{outline:none}
.wp-cloudbeds-check-btn{width:158px;height:55px;background:#D0AB17;color:#FFF;font-family:Poppins;font-size:14px;font-weight:400;line-height:100%;text-transform:uppercase;cursor:pointer;border:none;transition:.3s all ease-in-out}
.wp-cloudbeds-check-btn:focus{outline:none}
.wp-cloudbeds-check-btn:hover{background:#a28741}
.wp-cloudbeds-date-wrapper{position:relative;display:inline-flex;align-items:center;width:100%}
.wp-cloudbeds-date-icon{position:absolute;left:15px;pointer-events:none;top:50%;transform:translateY(-50%)}
.wp-cloudbeds-date-wrapper .wp-cloudbeds-date{width:100%;color:#FFF;text-align:left;font-family:Poppins;font-size:14px;padding-left:40px;font-weight:400;line-height:100%;height:55px;background:rgba(255,255,255,.05);border:none}
.wp-cloudbeds-date-wrapper .wp-cloudbeds-date::placeholder{color:#FFF}

/* Availability Results */
.cb-availability-table-wrap{margin-top:20px}
.cb-availability-table{width:100%;border-collapse:collapse;background:#232c37;color:#fff;font-family:Poppins;font-size:15px}
.cb-availability-table th,.cb-availability-table td{padding:12px 14px;text-align:left;vertical-align:middle}
.cb-availability-table th{color:#6E747B;font-weight:600;font-size:14px;letter-spacing:.02em;text-transform:uppercase}


/* Price Calendar */
.flatpickr-day{ position: relative;max-width: 42px;height:42px;margin-top: 5px!important;}
.flatpickr-day .cb-price{ display:block; position:absolute; bottom:5px; left:0; right:0; font-size:11px; line-height:1; opacity:.98; pointer-events:none; color: #6E747B; }
.flatpickr-day.has-lowest{ font-weight:600;line-height: 28px; }
.flatpickr-calendar .cb-currency-note{padding:6px 0 4px;text-align:center;font-size:12px;opacity:.8}
.flatpickr-day.cb-unavailable{ text-decoration: line-through; opacity:.55; cursor:not-allowed; }
.flatpickr-day:hover{ background:#d0ab17; color:#fff; }
.flatpickr-day:hover .cb-price{opacity: 1;color: #ffffff;font-weight: 400;}
.flatpickr-day.inRange .cb-price,
.flatpickr-day.startRange .cb-price,
.flatpickr-day.endRange .cb-price{ opacity:.98; }

/* Calendar Color Updates - Override Flatpickr defaults */
.flatpickr-calendar {
    color: #0F1925 !important;
    background: #fff !important;
}

.flatpickr-month {
    color: #0F1925 !important;
}

.flatpickr-current-month {
    color: #0F1925 !important;
}

.flatpickr-weekday {
    color: #0F1925 !important;
}

.flatpickr-day {
    color: #0F1925 !important;
}

.flatpickr-day.selected {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

.flatpickr-day.inRange {
    background: rgba(208, 171, 23, 0.2) !important;
    color: #0F1925 !important;
    border-color: rgba(208, 171, 23, 0.3) !important;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

.flatpickr-day.today{
    border-color: #d0ab17!important;
}
.flatpickr-day.today:focus {
    background:#d0ab17!important;
}
.flatpickr-day:hover {
    background: #d0ab17 !important;
    color: #fff !important;
}

/* Override Flatpickr's default blue colors */
.flatpickr-day.selected.startRange,
.flatpickr-day.selected.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected.startRange.inRange,
.flatpickr-day.selected.endRange.inRange,
.flatpickr-day.selected.startRange:focus,
.flatpickr-day.selected.endRange:focus,
.flatpickr-day.selected.startRange:hover,
.flatpickr-day.selected.endRange:hover,
.flatpickr-day.selected.startRange:active,
.flatpickr-day.selected.endRange:active {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

.flatpickr-day.inRange {
    background: rgba(208, 171, 23, 0.2) !important;
    border-color: rgba(208, 171, 23, 0.3) !important;
    color: #0F1925 !important;
}

.flatpickr-day.inRange:hover {
    background: rgba(208, 171, 23, 0.3) !important;
    color: #0F1925 !important;
}

/* Additional overrides to ensure no blue colors remain */
.flatpickr-day.selected.startRange,
.flatpickr-day.selected.endRange {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

/* Override any remaining Flatpickr default styles */
.flatpickr-day.selected.startRange.inRange,
.flatpickr-day.selected.endRange.inRange {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

/* Ensure price text is visible on selected dates */
.flatpickr-day.selected .cb-price,
.flatpickr-day.startRange .cb-price,
.flatpickr-day.endRange .cb-price {
    color: #fff !important;
    opacity: 0.9 !important;
}

/* Calendar in-panel loader */
.cb-cal-loader{ position:absolute; inset:0; background:rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center; flex-direction:column; z-index:9; border-radius:8px; animation: fadeIn .15s ease; pointer-events:none; }
.cb-cal-spinner{ width:28px; height:28px; border:3px solid rgba(208,171,23,.3); border-top-color:#d0ab17; border-radius:50%; animation: spin 1s linear infinite; margin-bottom:10px; }
.cb-cal-text{ color:#0F1925; font-size:13px; font-weight:600; }
@keyframes fadeIn{ from{ opacity:0 } to{ opacity:1 } }

/* Safer: inline banner under header to avoid covering days */
.cb-cal-banner{ position:relative; margin:6px 8px; }
.cb-cal-inline{ display:inline-flex; align-items:center; gap:8px; background:rgba(208,171,23,.12); color:#0F1925; border:1px solid rgba(208,171,23,.35); border-radius:8px; padding:6px 10px; font-size:12px; font-weight:600; }
.cb-cal-mini-spinner{ width:16px; height:16px; border:2px solid rgba(208,171,23,.3); border-top-color:#d0ab17; border-radius:50%; animation: spin 1s linear infinite; display:inline-block; }

/* Nuclear option: Override ALL possible blue colors with !important */
.flatpickr-day[aria-selected="true"],
.flatpickr-day[aria-selected="true"]:hover,
.flatpickr-day[aria-selected="true"]:focus,
.flatpickr-day[aria-selected="true"]:active {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
}

/* Override any remaining Flatpickr styles */
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:active,
.flatpickr-day.selected.startRange,
.flatpickr-day.selected.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected.startRange.inRange,
.flatpickr-day.selected.endRange.inRange,
.flatpickr-day.selected.startRange:focus,
.flatpickr-day.selected.endRange:focus,
.flatpickr-day.selected.startRange:hover,
.flatpickr-day.selected.endRange:hover,
.flatpickr-day.selected.startRange:active,
.flatpickr-day.selected.endRange:active {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Override range selection colors */
.flatpickr-day.inRange,
.flatpickr-day.inRange:hover,
.flatpickr-day.inRange:focus,
.flatpickr-day.inRange:active {
    background: rgba(208, 171, 23, 0.2) !important;
    border-color: rgba(208, 171, 23, 0.3) !important;
    color: #0F1925 !important;
    box-shadow: none !important;
}

/* Override start and end range colors */
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.startRange:active,
.flatpickr-day.endRange:active {
    background: #d0ab17 !important;
    border-color: #d0ab17 !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Remove any default Flatpickr shadows or borders */
.flatpickr-day {
    box-shadow: none !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    box-shadow: none !important;
}

/* price strike variant */
.cb-price-strike{text-decoration:line-through;opacity:.7;margin-right:8px}
.cb-price-final{font-weight:600}

/* error + helpers */
.cloudbeds-no-rooms,.wp-cloudbeds-loading{padding:10px;color:#d0ab17;background:#232c37;margin:25px 0 0;font-family:Poppins;font-size:15px}
small.cloudbeds-error-text{position:absolute;bottom:-28px;color:#D0AB17;font-size:12px}
.cloudbeds-error-border{border:1px solid #D0AB17!important}

/* ---- Availability table enhanced layout ---- */
.cb-availability-table th.cb-actions-col{width:250px}
.cb-room-flex{display:flex;align-items:center;gap:14px}
.cb-thumb{width:96px;height:72px;object-fit:cover;border-radius:8px;flex:0 0 auto;box-shadow:0 1px 0 rgba(0,0,0,.12)}
.cb-info{display:flex;flex-direction:column;gap:8px;max-width:160px;}
.cb-title{font-weight:600;font-size:16px;line-height:1.2}
.cb-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content: center;}
.cb-chip{display:inline-block;padding:6px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:12px;color:#fff;opacity:.9}
.cb-price-line{display:flex;align-items:center;gap:8px;margin-top:2px}
.cb-per-night{opacity:.8;font-size:12px}
.cb-actions{white-space:nowrap}
.cb-actions .wp-cloudbeds-book-btn{height:40px;line-height:40px;padding:0 14px}
.cb-btn-secondary{background:transparent;border:1px solid #D0AB17;color:#D0AB17}
.cb-btn-secondary:hover{background:#D0AB17;color:#fff}

/* Responsive improvements */
@media (max-width: 980px){
  .cb-availability-table th.cb-actions-col{width:auto}
  .cb-actions{display:flex;gap:8px;justify-content:flex-start;white-space:normal}
  .cb-actions .wp-cloudbeds-book-btn{flex:1 1 auto;text-align:center}
}
@media (max-width: 720px){
  .cb-room-flex{flex-direction:row;align-items:flex-start}
  .cb-thumb{width:88px;height:66px}
  .cb-title{font-size:15px}
  .cb-actions{padding-top:6px}
}

/* Spinner Loader Styles */
.spinner-loader {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    flex-shrink: 0;
    flex-grow: 0;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin-right: 8px;
    /* Fix vertical alignment with text */
    vertical-align: middle;
    line-height: 1;
}

@keyframes spin {
    from { 
        transform: rotate(0deg); 
    }
    to { 
        transform: rotate(360deg); 
    }
}

/* Special animation for Book Now button spinner that needs centering */
@keyframes spin-centered {
    from { 
        transform: translate(-50%, -50%) rotate(0deg); 
    }
    to { 
        transform: translate(-50%, -50%) rotate(360deg); 
    }
}

/* Fallback animation using different approach */
@keyframes spin-fallback {
    0% { 
        transform: translate(-50%, -50%) rotate(0deg); 
    }
    100% { 
        transform: translate(-50%, -50%) rotate(360deg); 
    }
}

.loading-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #d0ab17;
    background: #232c37;
    padding: 15px;
    margin: 25px 0 0;
    font-family: Poppins;
    font-size: 15px;
    border-radius: 8px;
}

/* Book Now Button Loading State */
.wp-cloudbeds-check-btn.loading {
    position: relative !important;
    color: transparent !important;
    pointer-events: none;
    overflow: hidden;
    text-indent: -9999px; /* Hide text completely */
    /* Ensure button maintains its dimensions during loading */
    min-height: 55px;
    min-width: 158px;
    /* Debug: add a subtle background change to confirm loading state */
    background: #b89415 !important;
}

.wp-cloudbeds-check-btn.loading::after {
    content: '';
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* Allow animation keyframes to control transforms by removing the static transform */
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin-centered 1s ease-in-out infinite !important;
    z-index: 999 !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Ensure perfect centering */
    display: block !important;
    box-sizing: border-box;
    /* Prevent any external CSS from affecting positioning */
    float: none !important;
    clear: none !important;
    /* Ensure animation works by preventing transform conflicts */
    transform-origin: center center !important;
    /* Force animation to work */
    will-change: transform !important;
    backface-visibility: hidden !important;
}

/* Additional specificity for checkout context */
.wp-cloudbeds-check-btn.loading,
.wp-cloudbeds-check-btn.loading:hover,
.wp-cloudbeds-check-btn.loading:focus,
.wp-cloudbeds-check-btn.loading:active {
    position: relative !important;
    color: transparent !important;
}

/* Custom checkout loader overlay */
.cloudbeds-checkout-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    color: #fff;
    font-family: Poppins, sans-serif;
}

/* Suppress WooCommerce default overlay on checkout; we provide our own */
body.woocommerce-checkout .blockUI,
body.woocommerce-checkout .blockUI.blockOverlay {
    display: none !important;
}

.cloudbeds-checkout-loader .loader-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(208, 171, 23, 0.3);
    border-top: 4px solid #d0ab17;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 20px;
}

.cloudbeds-checkout-loader .loader-text {
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
}

.cloudbeds-checkout-loader .loader-subtext {
    font-size: 14px;
    opacity: 0.8;
    text-align: center;
}

/* SweetAlert theming for smoother, modern look */
.swal-overlay { background-color: rgba(15,25,37,0.6) !important; }
.swal-modal.cb-swal { border-radius: 14px !important; box-shadow: 0 18px 48px rgba(0,0,0,.28) !important; }
.swal-button { background:#d0ab17 !important; color:#fff !important;font-weight:600; }
.swal-modal.cb-swal .swal-button:hover { filter: brightness(0.95); }
.swal-icon--success, .swal-icon--error, .swal-icon--info, .swal-icon--warning { transform: scale(0.88); }
.swal-title{
    color:#333334;
}
.swal-text,.swal-footer{
    text-align:center;
}
.swal-button:focus {
    outline: none;
    box-shadow: 0 0 0 1px #fff, 0 0 0 3px #F6F5ED;
}
/* Override: On single room page, never show in-button spinner; keep text visible */
#wp-cloudbeds-room-form2 .wp-cloudbeds-check-btn.loading {
    color: inherit !important;
    text-indent: 0 !important;
    background: #D0AB17 !important;
}
#wp-cloudbeds-room-form2 .wp-cloudbeds-check-btn.loading::after {
    display: none !important;
}

/* Remove conflicting ::before rule that was interfering with ::after animation */

/* ===== UI Polish: Availability Rows ===== */
.cb-availability-table{border-radius:12px;overflow:hidden;background:#1f2832}
.cb-availability-table thead th{background:#19222c;border-bottom:1px solid rgba(255,255,255,.06);letter-spacing:.04em}
.cb-availability-table tbody tr{transition:background .18s ease, box-shadow .18s ease}
.cb-availability-table tbody tr:hover{background:#26313e;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.cb-availability-table td{padding-top:16px;padding-bottom:16px}

/* Room cluster */
.cb-room-flex{gap:16px}
.cb-thumb{width:112px;height:84px;border-radius:10px}
.cb-title{font-size:16px}
.cb-meta .cb-chip{background:rgba(255,255,255,.04)}
.cb-price-line .cb-price-final{font-size:16px}

/* Actions column */
.cb-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.cb-actions .wp-cloudbeds-book-btn{height:42px;line-height:42px;padding:0 16px;border-radius:10px}
.cb-actions .cb-show-room{font-weight:500}
.cb-actions .cb-add-room{font-weight:500}

/* Added-state for Add Room button */
.cb-actions .cb-add-room.is-added{background:#a48712;color:#232c37;border:1px solid rgba(255,255,255,.18)}
.cb-actions .cb-add-room.is-added:hover{background:#a48712}

/* Cart footer area */
/*#cb-cart-actions{display:flex;align-items:center;gap:12px;padding:14px 0}*/
#cb-cart-counter{font-size:14px}
/*checkout order-review*/
/* Booking Dates */
.booking-dates {
    background: #0f1925;
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.date-range {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.date-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

.date-label {
    font-size: 0.75rem;
    color:#CCCCCC;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.date-value {
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    margin-top: 0.25rem;
}

.date-arrow {
    color: #d0ab17;
    font-size: 1.25rem;
    margin: 0 1rem;
}

.night-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #0f1925;
    font-weight: 500;
    font-size: 0.875rem;
    background: #F7F7F7;
    padding: 0.4rem 1rem;
    border-radius: 8px;
    border: 1px solid #F7F7F7;
}
.ppc-button-wrapper
 {
    margin-top: 40px;
}
/* Room Details */
.room-section-title {
    font-size: 1.125rem!important;
    font-weight: 600!important;
    color: #1e293b!important;
    margin-bottom: 1rem!important;
    padding-bottom: 0.5rem!important;
    display:block!important;
    border-bottom: 2px solid #e2e8f0;
}

.room-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.25rem;
    background: #F6F5ED;
    border-radius: 12px;
    margin-bottom: 1rem;
    gap:30px;
    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease;
}

.room-item:hover {
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

.room-info .room-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333334;
    margin-bottom: 0.25rem;
}

.room-detail {
    font-size: 0.875rem;
    color: #64748b;
    margin-bottom: 0.5rem;
}

.occupancy {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: #676767;
    font-weight: 500;
    line-height:1;
}
.room-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.room-price {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
}

.remove-room {
    background: none;
    border: none;
    color: #94a3b8!important;
    cursor: pointer;
    padding: 0.5rem;
    font-size: 14px;
    line-height: 1;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.remove-room:hover {
    color: #ef4444!important;
    background: #fef2f2;
}

/* Price Breakdown */
.price-breakdown {
    background: #F6F5ED;
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.price-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    font-size: 0.95rem;
    color: #64748b;
}

.price-line:not(:last-child) {
    border-bottom: 1px solid #f1f5f9;
}

.price-line.total {
    font-weight: 700;
    font-size: 1.125rem;
    color: #1e293b;
    padding-top: 1rem;
    border-top: 2px solid #e2e8f0;
    margin-top: 0.5rem;
}

.price-line.total small {
    font-weight: 400;
    font-size: 0.75rem;
    color: #64748b;
}

@media (max-width: 768px) {
    
    .date-range {
        flex-direction: column;
        gap: 1rem;
    }
    
    .date-arrow {
        transform: rotate(90deg);
        margin: 0;
    }
    
    .room-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .room-actions {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 480px) {
    .booking-dates,
    .price-breakdown{
        padding: 1rem;
    }
    .room-info {
    flex-wrap: wrap;
}
.room-image{
    margin:auto;
}
}
/*end checkout-review*/
/* Medium screens */
@media (max-width: 1100px){
  .cb-thumb{width:100px;height:76px}
  .cb-actions .wp-cloudbeds-book-btn{padding:0 14px}
}

/* Tablet & below: switch to stacked actions */
@media (max-width: 900px){
  .cb-actions{justify-content:flex-start}
  .cb-actions .wp-cloudbeds-book-btn{flex:1 1 auto;text-align:center}
}

/* Mobile block table (existing pattern) + custom tweaks */
@media (max-width:720px){
  .cb-availability-table tbody tr{background:#232c37;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:none;margin:15px;}
  .cb-availability-table td{padding:10px 0}
  .cb-room-flex{gap:12px}
  .cb-thumb{width:96px;height:72px;border-radius:8px}
  .cb-title{font-size:16px}
  .cb-actions{display:flex;gap:8px;margin-top:8px}
  .cb-actions .wp-cloudbeds-book-btn{height:44px;line-height:44px}
  
  /* Mobile radio button adjustments */
  .cb-plan-radio-label {
    padding: 6px 8px;
    margin: 4px 0;
  }
  
  .cb-radio-custom {
    width: 16px;
    height: 16px;
  }
  
  .cb-plan-right {
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
  }
  
  .cb-plan-price {
    min-width: auto;
    text-align: right;
  }
  
  .cb-room-actions .cb-add-room {
    max-width: 100%;
    height: 44px;
    line-height: 44px;
  }
}

/* ===== Section header ===== */
.cb-availability-wrap{background:linear-gradient(180deg, rgba(25,34,44,.92), rgba(25,34,44,.92));border-radius:16px;padding:18px 18px 8px;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.cb-availability-head{padding:8px 6px 18px;text-align:center}
.cb-title-lg{font-size:28px;line-height:1.2;margin:0 0 4px;font-weight:700;color:#fff}
.cb-sub{margin:0;color:#9aa3ad;font-size:14px}

/* Table header + widths */
.cb-availability-table thead th{background:#121a22;color:#8d99a6;border-bottom:1px solid rgba(255,255,255,.06);letter-spacing:.06em}
.cb-details-col{width:32%}
.cb-actions-col{width:26%}

/* Room block */
.cb-room-flex{display:flex;align-items:center;gap:16px;flex-direction: column;justify-content: center;}
.cb-title{font-size:14px;font-weight:500;text-align:center;}

/* Details block */
.cb-details{display:flex;flex-direction:column;gap:8px}
.cb-chip{display:inline-block;padding:0px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:12px;color:#d5dbe2;background:rgba(255,255,255,.03)}
.cb-price-line{display:flex;align-items:center;gap:8px}
.cb-per-night{opacity:.85;font-size:12px}

/* Actions buttons */
.cb-actions{display:flex;flex-direction:column;align-items:center;gap:12px;justify-content:center;margin-top: 40px;}
.cb-actions .wp-cloudbeds-book-btn{height:40px;width:100%;text-align:center;line-height:40px;padding:0 16px;border-radius:10px}
.cb-actions .cb-ghost{background:transparent;border:1px solid #D0AB17;color:#D0AB17;text-decoration:none;}
.cb-actions .cb-ghost:hover{background:#D0AB17;color:#fff}
.cb-actions .cb-add-room{background:#D0AB17;color:#fff;border:1px solid #D0AB17;cursor:pointer;}
.cb-actions .cb-add-room:hover{filter:brightness(1.05)}
.cb-actions .cb-add-room.is-added{background:#a48712;border-color:#a48712;color:#fff;cursor:pointer;}
.cb-room-actions {
    width: 100%;
}
/* Rate plan radio buttons */
.cb-plan-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

/*.cb-plan-radio-label:hover {*/
/*    background: rgba(208, 171, 23, 0.1);*/
/*}*/

.cb-plan-radio-label input[type="radio"] {
    display: none;
}

.cb-radio-custom {
    width: 18px;
    height: 18px;
    border: 2px solid #D0AB17;
    border-radius: 50%;
    position: relative;
    background: transparent;
    transition: all 0.2s ease;
}

.cb-plan-radio-label input[type="radio"]:checked + .cb-radio-custom {
    background: #D0AB17;
    border-color: #D0AB17;
}

.cb-plan-radio-label input[type="radio"]:checked + .cb-radio-custom::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
}
.cb-room-actions .cb-add-room {
    width: 100%;
    height: 40px;
    line-height: 40px;
    background: #D0AB17;
    color: #fff;
    border: 1px solid #D0AB17;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.cb-room-actions .cb-add-room:hover {
    background: #a28741;
    border-color: #a28741;
}

.cb-room-actions .cb-add-room.is-added {
    background: #a48712;
    border-color: #a48712;
}

/* Plan row styling */
.cb-plan-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.cb-single-plan-choices .cb-plan-row {
    padding: 12px 30px;
    border-radius: 12px;
    background: #212a36;
    border: 1px solid #565e67;
    cursor:pointer;
}
/*.cb-plan-row:last-child {*/
/*    border-bottom: none;*/
/*}*/

.cb-plan-left {
    flex: 1;
    font-size: 13px;
    color: #d5dbe2;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Inline tooltip badge for plan labels */
.cb-tip{display:flex;align-items:center;flex-shrink:0;justify-content:center;width:20px;height:20px;margin-left:0px;border-radius:50%;font-size:12px;line-height:1;background:rgba(208,171,23,.18);color:#D0AB17;cursor:help;position:relative}
.cb-tip:focus{outline:1px dotted #D0AB17;outline-offset:2px}
.cb-tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:125%;transform:translateX(-50%);white-space:nowrap;background:#111922;color:#fff;font-size:12px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 18px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:20}
.cb-tip:before{content:"";position:absolute;left:50%;bottom:115%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#111922;opacity:0;transition:opacity .15s ease;z-index:20}
.cb-tip:hover:after,.cb-tip:focus:after,.cb-tip:hover:before,.cb-tip:focus:before{opacity:1}

@media (max-width:720px){
  .cb-tip:after{left:auto;right:0;transform:none}
  .cb-tip:before{left:auto;right:8px;transform:none}
}

@media (prefers-reduced-motion: reduce){
  .cb-tip:after,.cb-tip:before{transition:none}
}

.cb-plan-right {
    display: flex;
    align-items: center;
    gap:0px;
    flex-direction:row;
}

.cb-plan-price {
    font-weight: 600;
    color: #D0AB17;
    font-size: 16px;
    text-align: left;
}
.room-info.product-name
 {
    align-items: start;
    gap: 0;
    flex-wrap: wrap;
    justify-content: start;
}
tr.cb-row-added{background:linear-gradient(90deg, rgba(33,54,39,.35), rgba(25,34,44,.2))}

/* Cart area */
/*#cb-cart-actions{padding:18px 0 6px;display:flex;justify-content:center;gap:12px}*/
#cb-cart-actions .wp-cloudbeds-check-btn{height:52px;padding:0 22px;border-radius:12px}
#cb-cart-counter{font-size:14px;color:#cbd2d9;align-self:center}

/* v5.3.1 refinements */
.cb-availability-table thead th{ position: sticky; top:0; z-index:5; background:#19222c;text-align:center;}
.cb-thumb{ width:160px; height:100px; border-radius:12px; }
.cb-room-flex{ gap:20px; }
.cb-availability-table td{ padding-top:20px; padding-bottom:20px; }
.cb-availability-table tbody tr:hover{ background: linear-gradient(90deg, rgba(208,171,23,0.08), rgba(255,255,255,0)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.cb-availability-table tbody tr.is-selected{ background: linear-gradient(90deg, rgba(26,148,85,0.15), rgba(26,148,85,0)); }

/* Responsive */
@media (max-width:1100px){ .cb-details-col{width:34%} .cb-actions-col{width:30%} }
@media (max-width:900px){ .cb-actions{justify-content:flex-start} .cb-actions .wp-cloudbeds-book-btn{text-align:center} }
@media (max-width:720px){
  .cb-availability-head{padding:6px 4px 14px}
  .cb-title-lg{font-size:22px}
  .cb-sub{font-size:13px}
  .cb-room-flex{gap:12px}
}
/*.cb-reservation-summary {*/
/*    background: #fff;*/
/*    padding: 12px;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    gap: 10px;*/
/*}*/
/*.cb-night-icon{*/
/*    max-width: 14px;*/
/*    display: inline-block;*/
/*    vertical-align:middle;*/
/*    height: 14px;*/
/*}*/
/*.cb-guests-icon  {*/
/*    max-width: 25px;*/
/*    display: inline-block;*/
/*     vertical-align:middle;*/
/*    height:25px;*/
/*}*/
/*.trash-icon{*/
/*    max-width: 26px;*/
/*    display: inline-block;*/
/*    vertical-align:middle;*/
/*    height:26px;*/
/*}*/
/*.cb-line-actions{*/
/*    text-align:right;*/
/*}*/
/*.cb-guests {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    gap: 5px;*/
/*    background: #f3f4f6;*/
/*    padding: 2px 10px;*/
/*    border-radius: 4px;*/
/*}*/
/*.cb-guests-num{*/
/*    font-weight:600;*/
/*}*/
/*.cb-pill-nights {*/
/*    color: #a48712;*/
/*    font-weight: 600;*/
/*    text-transform: capitalize;*/
/*    display: inline-flex;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*    gap: 8px;*/
/*    padding: 8px 15px;*/
/*    border-radius: 4px;*/
/*    margin: auto;*/
/*    background: #f3f4f6;*/
/*    max-width: max-content;*/
/*    font-size: 14px;*/
/*}*/
/*.product-total,td.product-total,.sub-total,.tax-and-fee,.order-total-with-tax {*/
/*    text-align: right!important;*/
/*}*/
/*.cb-arrow {*/
/*    font-weight: bold;*/
/*    color: #b8a044;*/
/*}*/
/*td.order-total-with-tax {*/
/*    font-family: 'Lora' !important;*/
/*}*/
.cloudbeds-error{
    color:#fff;
}
.cb-single-plan-choices
 {
    color: #fff;
    display: flex;
    flex-wrap:wrap;
    justify-content: center;
    gap: 30px;
}
@media (max-width:767px){
  .cb-plan-left {
    align-items: start;
     gap:5px; 
}
.cb-details{
    text-align:center;
}
.cb-details {
    max-width: 160px;
    margin: auto;
}
}
@media (max-width:650px){
 .cb-availability-table thead{
     display:none;
 }
 .cb-availability-table{
     background:transparent;
 }
  .cb-availability-table td{
      display:block;
      padding:0;
  }
      .cb-details {
        max-width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap:30px;
    }
    .cb-actions{
        display:flex!important;
        margin:0;
        flex-direction:row;
        justify-content: center;
        flex-wrap: wrap;
    }
    .cb-actions .cb-ghost{
        flex-grow: 0;
    }
        .cb-room-actions {
         margin-top: 0px; 
         padding-top: 0px; 
    }
    td[data-label="Details"]{
        padding:0;
        margin-top: 25px;
        margin-bottom: 25px;
    }
    .cb-room-flex{
        align-items: center;
        gap:20px;
    }
    .cb-info{
        max-width:100%;
        gap:20px;
    }
   
    .cb-title{
        font-size:20px;
        text-align: center;
    }
    .cb-plan-row {
        border-bottom:0;
        padding:0;
    }
.cb-details {
        text-align: left;
    }

.cb-plan-price {
    text-align: left;
    min-width:auto;
}
.cb-plan-left{
    font-size:16px;
}
.cb-thumb{
    width:100%;
}
    .cb-availability-table tr {
        padding:30px;
        display:block;
    }
}
@media (max-width: 525px) {
    .wp-cloudbeds-field{
        flex-grow:1;
    }
    #wp-cloudbeds-room-form, #wp-cloudbeds-room-form2{
    gap:20px;
}
    .wp-cloudbeds-check-btn {
    font-size: 16px;
    width:100%;
    }
    .cb-plan-left {
        max-width: 195px;
        font-size:14px;
    }
    .cb-details{
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:15px;
    }
        .cb-plan-row {
        gap:0px;
    }
       .cb-plan-right{
           margin:auto;
       }
    .cb-availability-table tr {
        padding: 20px;
    }
        td[data-label="Details"] {
        margin-top: 20px;
        margin-bottom: 20px;
    }
        .cb-room-actions,.cb-room-actions .cb-add-room,.cb-actions .cb-ghost {
        width: 100%;
    }
    .cb-availability-table tbody tr{
        margin:0 0 20px;
    }
    .cb-availability-table-wrap {
    margin-top: 35px;
    margin-bottom: 35px;
}
}

/* ===== ADDONS / SERVICES & EXTRAS STYLING ===== */

.addons-section {
    background: #1a2332;
    border-radius: 12px;
    margin: 24px 0;
    overflow: hidden;
    /*border: 1px solid #2a3441;*/
    /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);*/
}

/* Enhanced styling for homepage addons */
.cb-addons-homepage {
    background: linear-gradient(135deg, #1a2332 0%, #232c37 100%);
    border: 2px solid #d0ab17;
    position: relative;
}

.cb-addons-homepage::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #d0ab17 0%, #ffd700 100%);
}

/* Enhanced styling for room details page addons (same as homepage) */
.cb-addons-room-details {
    background: linear-gradient(135deg, #1a2332 0%, #232c37 100%);
    border: 2px solid #d0ab17;
    position: relative;
}

.cb-addons-room-details::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #d0ab17 0%, #ffd700 100%);
}

.cb-addons-homepage .addons-subtitle,
.cb-addons-room-details .addons-subtitle {
    color: #8a9ba8;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.3px;
    text-align: left;
    margin:0;
}

/* Subtle pulse animation for homepage and room details addons */
/*.cb-addons-homepage,*/
/*.cb-addons-room-details {*/
/*    animation: subtlePulse 3s ease-in-out infinite;*/
/*}*/

/*@keyframes subtlePulse {*/
/*    0%, 100% {*/
/*        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);*/
/*    }*/
/*    50% {*/
/*        box-shadow: 0 4px 20px rgba(208, 171, 23, 0.3);*/
/*    }*/
/*}*/

/* Popular badge for addons */
/*.cb-addons-homepage::after,*/
/*.cb-addons-room-details::after {*/
/*    content: 'Popular';*/
/*    position: absolute;*/
/*    top: 16px;*/
/*    right: 16px;*/
/*    background: linear-gradient(135deg, #d0ab17 0%, #ffd700 100%);*/
/*    color: #0f1925;*/
/*    font-size: 11px;*/
/*    font-weight: 700;*/
/*    padding: 4px 12px;*/
/*    border-radius: 12px;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.5px;*/
/*    box-shadow: 0 2px 8px rgba(208, 171, 23, 0.4);*/
/*}*/

.addons-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cb-addons-homepage .addons-header,
.cb-addons-room-details .addons-header {
    flex-direction: row;
    padding: 28px 32px;
    background: rgba(35, 44, 55, 0.6);
    border-bottom: 1px solid #2d3e50;
    flex-wrap: wrap;
}

.addons-title {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 0.3px;
}

.cb-addons-homepage .addons-title,
.cb-addons-room-details .addons-title {
    font-size: 24px;
    justify-content: left;
    text-align: left;
    color:#fff!important;
}

.addons-title i {
    color: #d0ab17;
    font-size: 20px;
}

.cb-addons-homepage .addons-title i,
.cb-addons-room-details .addons-title i {
    font-size: 26px;
    filter: drop-shadow(0 0 8px rgba(208, 171, 23, 0.4));
}

.addons-toggle {
    background: transparent;
    border: 1px solid #d0ab17;
    color: #d0ab17;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    text-align: left;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/*.cb-addons-homepage .addons-toggle,*/
/*.cb-addons-room-details .addons-toggle {*/
/*    background: linear-gradient(135deg, #d0ab17 0%, #ffd700 100%);*/
/*    color: #0f1925;*/
/*    border: none;*/
/*    padding: 14px 32px;*/
/*    border-radius: 8px;*/
/*    font-size: 15px;*/
/*    box-shadow: 0 4px 12px rgba(208, 171, 23, 0.3);*/
/*}*/


.cb-addons-homepage .addons-toggle:hover,
.cb-addons-room-details .addons-toggle:hover {
    background: #D0AB17;
    color:#fff;
}

.addons-toggle .toggle-icon {
    transition: transform 0.3s ease;
}

.addons-content {
    padding: 24px;
    padding-top:0;
}

.addons-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 10px;
    color: #6E747B;
    font-size: 14px;
    margin-top:20px;
}
.bde-checkout-builder .wc_payment_method fieldset, .breakdance-woocommerce .wc_payment_method fieldset{
    width: 100%!important;
}
/*.spinner-loader {*/
/*    width: 20px;*/
/*    height: 20px;*/
/*    border: 2px solid #2a3441;*/
/*    border-top: 2px solid #d0ab17;*/
/*    border-radius: 50%;*/
/*    animation: spin 1s linear infinite;*/
/*}*/

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.addon-category:last-child {
    margin-bottom: 0;
}

.category-title {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    padding-bottom: 12px;
    border-bottom: 2px solid #2a3441;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cb-addons-homepage .category-title,
.cb-addons-room-details .category-title {
    color: #d0ab17;
    font-size: 17px;
    letter-spacing: 0.5px;
    line-height:1;
}

.cb-addons-homepage .category-title::before,
.cb-addons-room-details .category-title::before {
    content: '';
    width: 4px;
    height: 20px;
    background: linear-gradient(180deg, #d0ab17 0%, #ffd700 100%);
    border-radius: 2px;
}

.addons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 16px;
}

.addon-card {
    border-radius: 10px;
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap:wrap;
    transition: all 0.3s ease;
}
.addon-desc {
    text-transform: none;
    line-height: 150%;
    padding-right: 2px;
}
.cb-addons-homepage .addon-card,
.cb-addons-room-details .addon-card {
    background: rgb(15 25 37);
    border: 1px solid #2d3e50;
}

.addon-card:hover {
    border-color: #d0ab17;
    transform: translateY(-3px);
    /*box-shadow: 0 6px 16px rgba(208, 171, 23, 0.15);*/
}

/*.cb-addons-homepage .addon-card:hover,*/
/*.cb-addons-room-details .addon-card:hover {*/
/*    box-shadow: 0 8px 20px rgba(208, 171, 23, 0.2);*/
/*}*/

.addon-card.selected {
    border-color: #d0ab17;
    /*background: rgba(208, 171, 23, 0.08);*/
}

.cb-addons-homepage .addon-card.selected,
.cb-addons-room-details .addon-card.selected {
    background: rgba(208, 171, 23, 0.12);
    /*box-shadow: 0 0 0 3px rgba(208, 171, 23, 0.3);*/
}

.addon-info {
    flex: 1;
}

.addon-name {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}
.addon-category {
    color: #8b9cb5;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom:8px;
}
/*.addon-price {*/
/*    color: #d0ab17;*/
/*    font-size: 18px;*/
/*    font-weight: 700;*/
/*}*/

.addon-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #2d3e50;
    border-radius: 6px;
    padding: 4px;
}
.qty-btn {
    background: transparent;
    border: none;
    color: #d4af37;
    font-size: 12px;
    cursor: pointer;
    width: 26px;
    height: 26px;
    border-radius: 4px;
}
.qty-btn:hover
 {
    background: rgba(212, 175, 55, 0.2);
}
.qty-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.qty-display {
    color: #fff;
    min-width: 20px;
    text-align: center;
    font-weight: bold;
}
.addons-total {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #2a3441;
}

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

.addons-total-line span:first-child {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.addons-total-price {
    color: #d0ab17;
    font-size: 20px;
    font-weight: 700;
}

.addons-error, .no-addons {
    text-align: center;
    color: #6E747B;
    padding: 40px 20px;
    font-size: 14px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .addons-section {
        margin: 16px 0;
        border-radius: 10px;
    }
    
    .addons-header {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
        padding: 20px;
    }
    
    .cb-addons-homepage .addons-header,
    .cb-addons-room-details .addons-header {
        padding: 24px 20px;
    }
    
    .addons-title {
        font-size: 18px;
    }
    
    .cb-addons-homepage .addons-title,
    .cb-addons-room-details .addons-title {
        font-size: 20px;
        width: 100%;
    }
    
    /*.cb-addons-homepage .addons-subtitle,*/
    /*.cb-addons-room-details .addons-subtitle {*/
    /*    text-align: center;*/
    /*    width: 100%;*/
    /*}*/
    
    .addons-toggle {
        align-self: center;
        justify-content: center;
        padding: 12px 20px;
    }
    
    .cb-addons-homepage .addons-toggle,
    .cb-addons-room-details .addons-toggle {
        padding: 12px 24px;
        font-size: 14px;
        width:100%;
    }
    
    .addons-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .addon-card {
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
        flex-direction:column;
    }
    
    .addon-info {
        width: 100%;
    }
    
    .addon-controls {
        justify-content: space-between;
    }
    
    .addon-name {
        font-size: 15px;
    }
    
    .addon-price {
        font-size: 16px;
    }
    
    .category-title {
        font-size: 15px;
    }
    
    /* Hide popular badge on mobile to avoid clutter */
    .cb-addons-homepage::after,
    .cb-addons-room-details::after {
        top: 12px;
        right: 12px;
        font-size: 10px;
        padding: 3px 10px;
    }
}

/* Integration with existing checkout styles */
.woocommerce-checkout-review-order-table .addons-section {
    margin: 24px 0;
}

/* ===== Booking Summary Bar ===== */
.booking-summary-bar {
    background: #1a2332;
    border-radius: 0;
    padding: 12px 24px;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none;
    border-top: 1px solid #2a3441;
    font-family: 'Poppins', sans-serif;
}

.summary-left {
    display: flex;
    gap: 20px;
    align-items: center;
}

.summary-item {
    color: #8a9ba8;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.3px;
}

.summary-item span {
    color: #fff;
    font-weight: 500;
}

.summary-right {
    display: flex;
    align-items: center;
}

.summary-total {
    color: #d0ab17;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

@media (max-width: 768px) {
    .booking-summary-bar {
        flex-direction: column;
        gap: 8px;
        text-align: center;
        padding: 16px 24px;
    }
    
    .summary-left {
        flex-direction: row;
        gap: 16px;
        justify-content: center;
    }
    
    .summary-total {
        font-size: 18px;
    }
}

/* ===== Extra Services Styling (Match Room Style) ===== */
.addon-details {
    margin-top: 24px;
}

.addon-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 16px;
    display: block;
}

.addon-item {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #e9ecef;
}

.addon-info {
    flex: 1;
    text-align: left;
}

/*.addon-name {*/
/*    font-size: 16px;*/
/*    font-weight: 600;*/
/*    color: #333;*/
/*    margin-bottom: 4px;*/
/*}*/

.addon-detail {
    font-size: 14px;
    color: #6c757d;
    margin-bottom: 8px;
}

.addon-info .quantity {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #6c757d;
}

.addon-info .quantity i {
    color: #d0ab17;
    font-size: 14px;
}

.addon-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.addon-price {
    font-size: 18px;
    font-weight: 600;
    color: #d0ab17;
    margin-top: 10px;
}

.addon-actions .remove {
    color: #dc3545;
    font-size: 16px;
    text-decoration: none;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.addon-actions .remove:hover {
    background-color: #f8d7da;
    color: #721c24;
}

@media (max-width: 768px) {
    .addon-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .addon-actions {
        width: 100%;
        justify-content: space-between;
    }
}
/*custom addon style*/
.booking-form {
            background: rgba(26, 35, 50, 0.7);
            padding: 30px;
            border-radius: 12px;
            max-width: 1200px;
            margin: 0 auto;
            backdrop-filter: blur(10px);
        }

       .date-section {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
  justify-content: center;
  align-items: stretch; /* Makes all items same height */
  flex-wrap:wrap;
}

/* Desktop - 4 columns */
.date-section > * {
  min-width: 200px;
}

/* Tablet - wrap to 2 rows */
@media (max-width: 1024px) {
  .date-section {
    flex-wrap: wrap;
  }
  
  .date-section > * {
    flex: 1 1 calc(50% - 10px);
  }
}

/* Mobile - stack vertically */
@media (max-width: 640px) {
  .date-section {
    flex-direction: column;
    gap: 12px;
  }
  
  .date-section > * {
    flex: 1 1 auto;
    min-width: 100%;
  }
  .booking-form {
    padding: 15px;
}
}

        .input-group {
            display: flex;
            flex-direction: column;
            gap: 10px;
            position:relative;
        }

        .input-group label {
           color: #6E747B;
            font-family: Poppins;
            font-size: 15px;
            font-weight: 600;
            line-height: 100%;
            margin-bottom: 0px;
            padding-left: 15px;
            text-align:left;
        }

        .input-group input {
            background: #15202b;
            border: 1px solid #2d3e50;
            padding: 12px;
            border-radius: 6px;
            color: #fff;
            font-size: 14px;
        }
.input-group input:focus{
    outline:none;
}
       .check-btn {
            background: #D0AB17;
            color: #1a2332;
            border: none;
            padding: 17px 30px;
            border-radius: 6px;
            font-weight: bold;
            cursor: pointer;
        }

        .check-btn:hover {
            background: #f0c24b;
        }

        .rooms-header {
            display: grid;
            grid-template-columns: 1fr 2fr 1fr;
            gap: 20px;
            padding: 15px 20px;
            border-bottom: 2px solid #2d3e50;
            margin-bottom: 20px;
            color: #8b9cb5;
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .room-card {
            background: #0f1925;
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 15px;
            display: grid;
            grid-template-columns: 1fr 2fr 1fr;
            gap: 20px;
            align-items: center;
            border: 1px solid #2d3e50;
        }

        .room-info {
            display: flex;
            gap: 20px;
            align-items: center;
            justify-content:center;
        }

        .room-image {
            width: 180px;
            height: 90px;
            border-radius: 8px;
            object-fit: cover;
        }

        .room-details h3 {
            color: #fff!important;
            margin-bottom: 8px;
            font-size: 16px!important;
            margin-top: 0;
    line-height: 140% !important;
        }

        .room-details .capacity {
            background: #2d3e50;
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 12px;
            color: #8b9cb5;
        }

        .price-section {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .price-item {
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.2s ease;
        }

        .price-item:hover {
            opacity: 0.8;
        }

        .price-item.selected {
            background: rgba(212, 175, 55, 0.1);
            padding: 4px 8px;
            border-radius: 4px;
        }

        .discount-label {
            font-size: 11px;
            color: #8b9cb5;
        }

        .price {
            color: #d4af37;
            font-weight: bold;
            font-size: 18px;
        }

        .info-icon {
            color: #d4af37;
            font-size: 12px;
            cursor: help;
            display: inline-block;
        }

        .action-buttons {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .btn-show {
            background: transparent;
            border: 1px solid #D0AB17;
            color: #d4af37;
            padding: 8px 20px;
            border-radius: 6px;
            cursor: pointer;
            font-size: 14px;
        }

        .btn-add {
            background: #D0AB17;
            border: none;
            color: #1a2332;
            padding: 8px 20px;
            border-radius: 6px;
            cursor: pointer;
            font-weight: bold;
            font-size: 14px;
        }

        .btn-show:hover {
            background: rgba(212, 175, 55, 0.1);
        }

        .btn-add:hover {
            background: #D0AB17;
        }
        @media (min-width:768px){
            .room-info{
                flex-direction:column;
            }
        }
         @media (min-width:800px) and (max-width:1020px){
           .btn-wrap.input-group{
                grid-column:2;
            }
        }
/* BOOKING FOOTER */
        .booking-footer {
            background: #212a36;
            padding: 25px;
            border-radius: 12px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 20px;
            flex-wrap:wrap;
        }

        .booking-summary {
            display: flex;
            flex-direction: column;
            gap: 8px;
            text-align: left;
        }

        .summary-item {
            color: #8b9cb5;
            font-size: 14px;
        }

        .summary-item strong {
            color: #fff;
        }

        .total-price {
            color: #d4af37;
            font-size: 28px;
            font-weight: bold;
        }

        .book-now-btn {
            background: #d4af37;
            color: #1a2332;
            border: none;
            padding: 15px 50px;
            border-radius: 8px;
            font-size: 16px;
            font-weight: bold;
            cursor: pointer;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .book-now-btn:hover {
            background: #f0c24b;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
        }

        @media (max-width: 768px) {
            .room-card {
                grid-template-columns: 1fr;
            }

            .rooms-header {
                display: none;
            }

            .booking-footer {
                gap: 20px;
            }
        }