/* Booking.css (URS) */
/* Keep Bootstrap 5 loaded on the host page */

.urs-booking-shell h2{font-size:1.1rem;font-weight:600}
.urs-booking-shell .text-muted-sm{font-size:.85rem;color:#6b7280}

.urs-vehicle-search{
    border-radius:999px;
    border:1px solid #dee2e6;
}
.urs-vehicle-list{
    max-height:560px;
    overflow-y:auto;
    padding-right:.25rem;
}

/* Vehicle cards (primary + bundle cards share this look) */
.urs-vehicle-card{
    position:relative;
    cursor:pointer;
    border-radius:12px;
    border:1px solid #e5e7eb;
    padding:.75rem;
    display:flex;              /* keep horizontal layout */
    align-items:flex-start;    /* IMPORTANT: stops vertical centering */
    gap:.75rem;
    background:#fff;
    width:100%;
    height:100%;               /* allow equal-height fill */
    transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease, transform .08s ease;
}
.urs-vehicle-card:hover{
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    border-color:#cbd5f5;
    transform:translateY(-1px);
}
.urs-vehicle-card.active{
    border-color:#2563eb;
    box-shadow:0 0 0 1px rgba(37,99,235,.2), 0 10px 30px rgba(37,99,235,.16);
    background:#eff6ff;
}

.urs-vehicle-thumb{
    width:72px;height:72px;
    border-radius:10px;
    object-fit:cover;
    background:#e5e7eb;
    flex:0 0 auto;
}

.urs-vehicle-body{
    flex:1;
    min-width:0;
    display:flex;              /* allow bottom align "Read more" */
    flex-direction:column;
    height:100%;
}

.urs-vehicle-title{
    font-size:.95rem;
    font-weight:600;
    margin-bottom:.15rem;
    white-space:normal;        /* CHANGED: prevents weird breaks */
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;      /* title clamp */
}

.urs-vehicle-meta{font-size:.8rem;color:#6b7280}

.urs-vehicle-price{font-size:.9rem;font-weight:600;margin-top:.25rem}

.urs-vehicle-badge{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;display:inline-block}

/* Desc clamp keeps cards consistent */
.urs-vehicle-desc{
    margin-top:.35rem;
    font-size:.85rem;
    color:#374151;
    line-height:1.2rem;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;      /* desc clamp */
}
.urs-vehicle-readmore{
    margin-top:auto;           /* push to bottom */
    font-size:.85rem;
    color:#2563eb;
    cursor:pointer;
    user-select:none;
}

.urs-select-pill{
    position:absolute;
    top:.55rem;left:.55rem;
    width:22px;height:22px;
    border-radius:999px;
    border:2px solid #d1d5db;
    background:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:.9rem;
    color:transparent;
    transition:all .15s;
}
.urs-vehicle-card.active .urs-select-pill{
    border-color:#22c55e;
    background:#22c55e;
    color:#fff;
    box-shadow:0 0 0 2px #bbf7d0;
}

.urs-vehicle-desc{
    font-size:.8rem;
    color:#4b5563;
    margin-top:.35rem;
    max-height:3.6em;
    overflow:hidden;
}
.urs-vehicle-desc.expanded{max-height:none}
.urs-vehicle-readmore{font-size:.78rem;color:#2563eb;cursor:pointer;margin-top:.1rem}

/* Selected header */
.urs-selected-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:.35rem;
}
.urs-selected-header h3{font-size:.95rem;margin:0;font-weight:600}

/* Stepper */
.urs-step-card{
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    padding:.75rem .9rem;
    margin-bottom:.5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.urs-step-card.active{border-color:#2563eb;background:#eff6ff}
.urs-step-card .step-label{font-size:.85rem;font-weight:500}
.urs-step-card .step-sub{font-size:.78rem;color:#6b7280}

.urs-step-badge{font-size:.7rem;border-radius:999px;padding:.12rem .5rem}
.urs-step-badge.required{background:#f97316;color:#fff}
.urs-step-badge.locked{background:#e5e7eb;color:#4b5563}
.urs-step-badge.complete{background:#22c55e;color:#fff}

.urs-step-panel{
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    padding:1rem 1.1rem 1.2rem;
    margin-top:.75rem;
}

/* Add-on cards */
.urs-addon-card{
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:.55rem .65rem;
    display:flex;
    gap:.6rem;
    align-items:center;
    background:#fff;
}
.urs-addon-thumb{
    width:44px;height:44px;
    border-radius:12px;
    object-fit:cover;
    background:#e5e7eb;
    flex:0 0 auto;
}
.urs-addon-name{font-size:.85rem;font-weight:600;line-height:1.2}
.urs-addon-sub{font-size:.78rem;color:#6b7280}

/* Bundle wrappers */
.urs-bundle-wrapper{
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    padding:.75rem .9rem;
}
.urs-bundle-header{
    display:flex;
    justify-content:space-between;
    gap:.75rem;
    align-items:flex-start;
}
.urs-bundle-title{font-size:.9rem;font-weight:700;margin:0}
.urs-bundle-sub{font-size:.82rem;color:#6b7280}

/* Selected bundle card shell */
.urs-bundle-selected{
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:.65rem .75rem;
    background:#f8fafc;
}
.urs-bundle-selected .btn-link{padding:0}

/* Buttons */
.btn-yellow{background:#ffd600!important;color:#000!important;border:none!important}

/* ------------------------------------------------------------
   URS Steps (prod-style stepper + sections)
   Keeps compatibility with existing Booking.css styles.
------------------------------------------------------------ */

/* Stepper (matches prod book.php feel) */
#urs-stepper.stepper{
    display:flex;
    gap:.5rem;
    justify-content:space-between;
    margin-bottom:.85rem;
}
#urs-stepper .step{
    flex:1;
    text-align:center;
    padding:.5rem .35rem;
    border-radius:10px;
    background:#fff;
    border:1px solid #e5e7eb;
    font-size:.85rem;
    color:#111827;
    user-select:none;
}
#urs-stepper .step.active{
    background:#2563eb;
    border-color:#2563eb;
    color:#fff;
    font-weight:600;
}

/* Optional: visually “locked” steps when you add .locked in JS */
#urs-stepper .step.locked{
    opacity:.55;
    pointer-events:none;
}

/* Sections (right column panels) */
.urs-section{
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    padding:1rem 1.1rem 1.15rem;
}
.urs-section h6{ font-weight:700; }

.urs-admin-options {
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    padding:1rem 1.1rem 1.15rem;
}

.urs-admin-options h6 { font-weight:700; }

/* Inputs */
#booking-form .is-invalid{
    border-color:#dc3545 !important;
}
#booking-form .is-invalid:focus{
    box-shadow:0 0 0 .2rem rgba(220,53,69,.15) !important;
}

/* Buttons: match your layout */
#urs-next-1, #urs-next-2{
    padding:.65rem .85rem;
    border-radius:10px;
}
#urs-debug-submit{
    border-radius:10px;
}

/* Tighten spacing for right column */
#booking-form .row.g-2{ --bs-gutter-y: .5rem; }

/* Pricing */
/* =========================
   URS Order Summary (Estimate box)
   ========================= */
.urs-summary {
    font-size: 0.92rem;
}

.urs-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
}

.urs-summary-h {
    font-weight: 700;
    font-size: 1.05rem;
}

.urs-summary-note {
    color: #6c757d;
    font-size: 0.82rem;
}

.urs-summary-section {
    border-top: 1px solid rgba(0,0,0,.08);
    padding-top: 8px;
    margin-top: 8px;
}

.urs-summary-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 6px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
}

.urs-summary-title {
    font-weight: 700;
    line-height: 1.1;
}

.urs-summary-subtitle {
    color: #6c757d;
    font-size: 0.82rem;
    margin-top: 2px;
}

.urs-summary-caret {
    font-size: 0.9rem;
    color: #6c757d;
    transition: transform .15s ease;
}

.urs-summary-section.is-open .urs-summary-caret {
    transform: rotate(180deg);
}

.urs-summary-panel {
    display: none;
    padding: 8px 0 4px 0;
}

.urs-summary-section.is-open .urs-summary-panel {
    display: block;
}

.urs-summary-lines {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.urs-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.urs-summary-left {
    min-width: 0;
}

.urs-summary-label {
    font-weight: 600;
    line-height: 1.15;
}

.urs-summary-sub {
    color: #6c757d;
    font-size: 0.82rem;
    margin-top: 2px;
}

.urs-summary-right {
    white-space: nowrap;
    font-weight: 600;
}

.urs-summary-muted {
    color: #6c757d;
    font-weight: 600;
}

.urs-summary-divider {
    border-top: 1px dashed rgba(0,0,0,.12);
    margin: 8px 0;
}

.urs-summary-footer {
    border-top: 1px solid rgba(0,0,0,.08);
    margin-top: 10px;
    padding-top: 10px;
}

.urs-summary-grand {
    font-size: 1.05rem;
}
