

    .book-now-btn.disabled {
        background-color: #ccc;
        color: #888;
        cursor: not-allowed;
        opacity: 0.6;
        pointer-events: none;
    }
    
    .bbwn-booking-form h1{
        font-size:30px;
        font-weight:600;
        text-align:center;
    }

    .booking-form-header {
        background-color: #f0f8ff;
        padding: 30px 20px;
        text-align: center;
        border-radius: 8px;
        margin-bottom: 30px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .booking-form-title {
        margin: 0;
        font-size: 32px;
        color: #0073aa;
        font-weight: bold;
    }

    .bbwn-booking-form label{
        font-size:15px;
        font-weight:900;
    }
    .bbwn-booking-form-container {
        border: 1px solid #ddd;
        border-radius: 8px;
        background: #fff;
        width: 100%;
        max-width: 100%;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .bbwn-booking-form-container h3,
    .bbwn-booking-form-container label {
        font-weight: 600;
        margin-bottom: 8px;
        display: block;
        color: #000;
    }

    .bbwn-booking-form-container .price {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 20px;
    }

    .booking-field {
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        padding: 20px;
        border-radius: 8px;
        margin-left : 10px;
        margin-right : 10px;
    }

    .booking-field input,
    .booking-field input,
    .booking-field select {
        max-width:100%;
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }
    .date-input-group {
        display:flex;
        flex-direction:column;
        flex-wrap: wrap;
        gap:1rem;
        width: 100%;
        
    }
    
    .booking-field .duration-display {
        padding: 9px 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size:12px;
        cursor: not-allowed;
    }

    .time-display-item strong {
        font-size:15px;
        
    }

    .book-now-btn {
        width: 100%;
        background-color: #c87f32;
        color: white;
        border: none;
        padding: 12px;
        font-size: 16px;
        font-weight: bold;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }

    .book-now-btn:hover {
        background-color: #a96928;
    }

    textarea {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        resize: vertical;
    }

    .flatpickr-input[readonly] {
        background: #f2f2f2;
        cursor: pointer;
      
    }

    .flatpickr-input{
        padding: 10px 12px !important;
        border-radius: 4px !important;
    }

    .booking-time-display div {
        display:flex;
        flex-direction:row;
        align-items:center;
        align-content:center;
        gap:1rem;
        margin-bottom:10px;
    }

    .booking-time-display div p {
        font-weight: 500;
        margin: 0px;
        display: block;
        color: #000;
    }

    .booking-total {
        display:flex;
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        align-content:center;
        margin-bottom:20px;
    }

    .booking-total span {
        font-weight:700;
    }

    .resources-list,
    .people-options,
    .included-services,
    .additional-services {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .resource-item,
    .service-item {
        background-color: #f0faff;
        padding: 6px 12px;
        border-radius: 6px;
        font-size: 14px;
        color: #003366;
        background: rgba(173, 216, 230, 0.6);
        padding: 10px 15px;
        border-radius: 8px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
        font-weight: 600;
    }

    .person-type {
        display: flex;
        align-items: center;
        gap: 10px;
        background-color: #f2f2f2;
        padding: 8px 12px;
        border-radius: 6px;
        width: 100%;
        /* max-width: 44%; */
    }

    .person-type label {
        flex: 1;
        font-size: 14px;
    }

    .person-type input[type="number"] {
        width: 60px;
        padding: 5px;
        border: 1px solid #ccc;
        border-radius: 4px;
    }

    .person-price,
    .service-price {
        color: #008000;
        font-size: 14px;
        font-weight: 500;
    }

    .service-option {
        display: flex;
        align-items: center;
        gap: 10px;
        background-color: #f2f2f2;
        padding: 8px 12px;
        border-radius: 6px;
        font-size: 14px;
        width: 100%;
    }

    .service-option input[type="checkbox"] {
        transform: scale(1.2);
    }

    .additional-services input{
        width: auto;
    }

    .service-option {
        display: flex;
        flex-direction:row;
        align-items: center;
        gap: 20px;
    }

    .service-option input:focus {
        border:unset;
        outline:unset;
    }

    .time-display-item span {
        background-color:#f0faff;
        padding: 8px 12px;
        border-radius: 6px;
        font-size: 14px;
    }

    .booking-field label{
        font-weight:500 !important;
    }

    .loader-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        height: 50px;
    }

    .loader-dots span {
        width: 10px;
        height: 10px;
        background-color: #3498db;
        border-radius: 50%;
        animation: bounce 0.6s infinite alternate;
    }

    .loader-dots span:nth-child(2) {
        animation-delay: 0.2s;
    }
    .loader-dots span:nth-child(3) {
        animation-delay: 0.4s;
    }

    @keyframes bounce {
        from { transform: translateY(0); opacity: 1; }
        to   { transform: translateY(-10px); opacity: 0.5; }
    }

    .time-slots-container {
        margin-top: 20px;
        display: none;
        display:flex;
        gap:1rem;
        flex-wrap:wrap;
    }
    
    .time-slots-title {
        margin-top:20px;
        font-weight: 600;
        margin-bottom: 10px;
    }
    
    .time-slots-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 10px;
        margin-top: 10px;
    }
    
    .time-slot {
        padding: 8px 12px;
        border: 1px solid #ddd;
        border-radius: 4px;
        text-align: center;
        cursor: pointer;
        transition: all 0.2s ease;
        width: 235px;
        font-size:14px;
        font-weight:bold;
        color: #0073aa;
    }
    
    .time-slot:hover {
        background-color: #f0f0f0;
    }
    
    .time-slot.selected {
        background-color: #c87f32;
        color: white;
        border-color: #a96928;
    }
    
    .time-slot.disabled {
        opacity: 0.5;
        cursor: not-allowed;
        background-color: #f5f5f5;
    }

    .time-slots-container p {
        display:flex;
        width: 100%;
        color : red ;
    }

    .booking-info-box {
        color: #003366;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        display: flex;
        flex-wrap:wrap;
        flex-direction: column;
        gap: 18px;
        font-size: 14px;
    }

    .booking-info-box div {
        background: rgba(173, 216, 230, 0.6);
        padding: 10px 15px;
        border-radius: 8px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    }

    .booking-info-box div strong {
        margin-right: 6px;
        font-weight: 600;
    }

    .check-in-out-time {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 20px;
    }

    .notice {
        margin-bottom: 20px;
    }

    .resource-tooltip {
        display: inline-block;
        margin-left: 6px;
        background-color: #ffffff;
        color: #3498db;
        border-radius: 50%;
        width: 18px;
        height: 18px;
        text-align: center;
        font-size: 12px;
        line-height: 18px;
        cursor: pointer;
        position: relative;
    }

    .tooltip-text {
        visibility: hidden;
        opacity: 0;
        width: 200px;
        color: #fff;
        background: #333;
        padding: 10px 15px;
        text-align: left;
        border-radius: 4px;
        padding: 8px;
        position: absolute;
        bottom: 200%;
        left: 50%;
        margin-left: -110px;
        transition: opacity 0.3s;
        font-size: 13px;
    }

    .tooltip-text::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: #333 transparent transparent transparent;
    }

    .resource-tooltip:hover .tooltip-text {
        visibility: visible;
        opacity: 1;
    }

    .service-item {
        display: block;
        flex-direction: row;
        align-content: center;
        gap: 10px;
    }

    .price-breakdown {
        font-size: 14px;
        font-weight: 800;
        opacity: 0;
        transform: translateY(50px);
        transition: all 0.4s ease;
    }

    .price-breakdown.show {
        opacity: 1;
        transform: translateY(0);
    }

    .price-breakdown div {
        margin-bottom: 10px;
        line-height: 1.7;
        display: flex;
        flex-direction: row;
        gap: 15px;
    }

    #hotel-map {
        height: 300px;
        margin-top: 20px;
    }

    .open-google-map {
        font-size: 14px;
        font-weight: bold;
    }
    .open-google-map-button:hover {
        background-color: #357ae8;
    }

    .time-slot.booked {
        background-color: #ccc;
        color: #666;
        text-decoration: line-through;
        cursor: not-allowed;
        pointer-events: none;
    }

    .booking-info-box {
        position: relative;
    }
    .booking-info-box .close-notice {
        position: absolute;
        top: 8px;
        right: 10px;
        background: transparent;
        border: none;
        font-size: 18px;
        cursor: pointer;
        color: #333;
    }

    /* Pricing Rules Info Box */
    .pricing-rules-info {
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        padding: 20px;
        border-radius: 8px;
        margin-left: 10px;
        margin-right: 10px;
        animation: slideInFromTop 0.4s ease-out;
    }

    .pricing-rules-header {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
        font-size: 16px;
        color: #2c5aa0;
    }

    .pricing-rules-header .rules-icon {
        font-size: 20px;
        animation: pulse 2s infinite;
    }

    .pricing-rules-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .pricing-rule-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 14px;
        background: white;
        border-radius: 8px;
        border-left: 4px solid #4a90e2;
        font-size: 14px;
        box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .pricing-rule-item:hover {
        transform: translateX(4px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .pricing-rule-item.discount {
        border-left-color: #27ae60;
        background: linear-gradient(to right, #f0fff4 70%, white 100%);
    }

    .pricing-rule-item.surcharge {
        border-left-color: #e74c3c;
        background: linear-gradient(to right, #fff5f5 0%, white 100%);
    }

    .pricing-rule-name {
        font-weight: 600;
        color: #333;
        flex: 1;
    }

    .pricing-rule-value {
        font-weight: 700;
        font-size: 15px;
        margin-left: 12px;
    }

    .pricing-rule-value.discount {
        color: #27ae60;
    }

    .pricing-rule-value.surcharge {
        color: #e74c3c;
    }

    .price-breakdown .price-icon {
        margin-right: 8px;
        font-size: 16px;
    }

    /* Event slots available badge */
    #event-slots-container {
        margin-top: 12px;
        padding: 10px 14px;
        border-radius: 6px;
        background: #f9f9f9;
        border: 1px solid #e0e0e0;
        font-size: 14px;
    }

    /* Animations */
    @keyframes slideInFromTop {
        from { opacity: 0; transform: translateY(-20px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    @keyframes pulse {
        0%, 100% { transform: scale(1); }
        50%       { transform: scale(1.1); }
    }

    @media screen and (max-width: 680px){
        .person-type{
            max-width:100%;
        }
        .booking-info-box div,
        .resource-item,
        .service-item {
            width:100% !important;
        }
        
        .pricing-rules-info {
            padding: 12px 16px;
        }
        
        .pricing-rule-item {
            flex-direction: column;
            align-items: flex-start;
            gap: 6px;
        }
        
        .pricing-rule-value {
            margin-left: 0;
        }
    }
    

