.hbw-booking-sidebar{
    border:1px solid #eee;
    padding:24px;
    background:#fff;
    width:100%;
    max-width:none;
    border-radius:24px;
    box-shadow:0 12px 30px rgba(0,0,0,0.05);
}
.hbw-pricing-summary{
    border:1px solid #f1f1f1;
    background:#fafafa;
    padding:18px;
    border-radius:18px;
    margin-bottom:24px;
}
.hbw-pricing-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}
.hbw-pricing-header h3{
    margin:0;
    font-size:1.25rem;
    color:#111;
}
.hbw-price-row{
    display:flex;
    align-items:center;
    padding:12px 0;
    border-top:1px solid #eee;
    gap:12px;
}
.hbw-price-row:first-of-type{
    border-top:none;
}
.hbw-price-content{
    display:flex;
    flex:1;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}
.hbw-price-icon{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff5eb;
    color:#f36f00;
    margin-right:12px;
    flex-shrink:0;
}
.hbw-price-label{
    color:#4a4a4a;
    font-weight:600;
}
.hbw-price-value,
.hbw-price-row strong{
    color:#f36f00;
    font-weight:700;
    display:block;
    line-height:1.3;
}
.hbw-price-plan .hbw-price-label{
    color:#777;
    font-weight:500;
}
.hbw-booking-panel{
    margin-top:8px;
}
.hbw-tab-nav{
    display:flex;
    gap:10px;
    background:#f7f7f7;
    border-radius:999px;
    padding:4px;
    margin-bottom:20px;
}
.hbw-tab-button{
    border:0;
    background:transparent;
    color:#666;
    flex:1;
    min-height:48px;
    padding:8px 10px;
    font-weight:600;
    border-radius:999px;
    cursor:pointer;
    transition:background .2s ease, color .2s ease, transform .2s ease;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}
.hbw-tab-button .hbw-tab-icon{
    display:inline-flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
    color:#f36f00;
    font-size:1rem;
}
.hbw-tab-button .hbw-tab-label{
    display:inline-block;
}
.hbw-tab-button.active{
    background:#fff;
    color:#f36f00;
    box-shadow:0 5px 18px rgba(243,111,0,0.14);
}
.hbw-tab-button:hover{
    color:#f36f00;
}
.hbw-tab-panel{
    display:none;
}
.hbw-tab-panel.active{
    display:block;
}
.hbw-section-title{
    margin-bottom:18px;
    font-size:1.25rem;
    color:#111;
    font-weight:700;
}
.hbw-form .hbw-field{
    margin-bottom:16px;
    display:block;
    width:100%;
}
.hbw-form label{
    display:block;
    color:#555;
    font-weight:600;
    margin-bottom:8px;
    font-size:0.95rem;
}
.hbw-form input[type="text"], .hbw-form input[type="email"], .hbw-form input[type="number"], .hbw-form input[type="date"], .hbw-form select, .hbw-form textarea{
    width:100%;
    display:block;
    padding:14px 14px;
    border:1px solid #e6e6e6;
    border-radius:14px;
    background:#fff;
    box-sizing:border-box;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.hbw-form select{
    cursor:pointer;
}
.hbw-form input:focus, .hbw-form select:focus, .hbw-form textarea:focus{
    outline:none;
    border-color:#f36f00;
    box-shadow:0 0 0 4px rgba(243,111,0,0.08);
}
.hbw-form textarea{
    min-height:110px;
    resize:vertical;
}
.hbw-total-display{
    font-size:1.25rem;
    font-weight:700;
    margin-top:4px;
    margin-bottom:18px;
}
.hbw-total-display strong{
    color:#f36f00;
}
.hbw-button{
    background:#f36f00;
    color:#fff;
    padding:16px 20px;
    border:none;
    border-radius:14px;
    cursor:pointer;
    width:100%;
    font-size:1rem;
    font-weight:700;
    transition:background .2s ease, opacity .2s ease, transform .2s ease;
}
.hbw-button:hover{
    background:#d95a00;
    transform:translateY(-1px);
}
.hbw-button:disabled,
.hbw-button--loading{
    opacity:.75;
    cursor:not-allowed;
}
.hbw-ajax-response{
    margin-bottom:16px;
    font-weight:600;
}
.hbw-note{
    margin-top:14px;
    color:#777;
    font-size:0.92rem;
    text-align:center;
}
.hbw-booking-sidebar .hbw-section-title{
    margin-bottom:16px;
    font-size:1.1rem;
    color:#333;
}

@media (max-width: 767px){
    .hbw-booking-sidebar{
        padding:16px;
        border-radius:20px;
    }

    .hbw-pricing-summary{
        padding:14px;
        margin-bottom:18px;
        border-radius:16px;
    }

    .hbw-price-row{
        align-items:flex-start;
        gap:10px;
        padding:10px 0;
    }

    .hbw-price-label{
        line-height:1.35;
        word-break:break-word;
    }

    .hbw-tab-nav{
        gap:6px;
        padding:3px;
    }

    .hbw-tab-button{
        min-height:44px;
        padding:6px 8px;
        gap:6px;
    }

    .hbw-tab-button .hbw-tab-icon{
        width:24px;
        height:24px;
        font-size:.9rem;
    }

    .hbw-tab-button .hbw-tab-label{
        font-size:.9rem;
        line-height:1.2;
        text-align:center;
        word-break:break-word;
    }

    .hbw-form label{
        margin-bottom:6px;
    }

    .hbw-form input[type="text"], .hbw-form input[type="email"], .hbw-form input[type="number"], .hbw-form input[type="date"], .hbw-form select, .hbw-form textarea{
        padding:12px;
        border-radius:12px;
    }

    .hbw-button{
        padding:14px 18px;
        border-radius:12px;
    }
}
