/* ============================================
   CHAUFFEUR BOOKING PRO v1.5.2
   PREMIUM CLASSY — Purple + Grey + White
   ============================================ */

:root {
    --cbp-primary:        #694A8D;
    --cbp-primary-dark:   #4A3267;
    --cbp-primary-darker: #3A2752;
    --cbp-primary-light:  #8C6FB3;
    --cbp-primary-pale:   #EFE9F6;
    --cbp-primary-tint:   #F8F5FC;
    --cbp-primary-mist:   #FBF9FD;

    --cbp-card:           #FFFFFF;
    --cbp-panel:          #F9F7FC;
    --cbp-input:          #FFFFFF;

    --cbp-text:           #1B1A2E;
    --cbp-text-2:         #3F3D5B;
    --cbp-muted:          #7B7A8F;
    --cbp-placeholder:    #B0AFC3;

    --cbp-border:         #EBE6F2;
    --cbp-border-strong:  #D9D2E5;

    --cbp-r:              12px;
    --cbp-r-sm:           8px;
    --cbp-r-xs:           6px;

    --cbp-ease:           cubic-bezier(0.34, 1.56, 0.64, 1);
    --cbp-ease-smooth:    cubic-bezier(0.4, 0, 0.2, 1);

    --cbp-shadow-sm:      0 1px 2px rgba(27, 26, 46, .04);
    --cbp-shadow:         0 4px 12px rgba(105, 74, 141, .08);
    --cbp-shadow-md:      0 8px 28px rgba(105, 74, 141, .12);
    --cbp-shadow-lg:      0 18px 50px rgba(27, 26, 46, .1), 0 4px 14px rgba(105, 74, 141, .06);

    --cbp-font:           'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cbp-font-display:   'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ── ANIMATIONS ────────────────────────────── */
@keyframes cbp-up   { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
@keyframes cbp-in   { from{opacity:0;transform:scale(.92)}       to{opacity:1;transform:scale(1)} }
@keyframes cbp-fade { from{opacity:0} to{opacity:1} }
@keyframes cbp-float{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
@keyframes cbp-ring { 0%,100%{box-shadow:0 0 0 0 rgba(105,74,141,.35)} 50%{box-shadow:0 0 0 8px rgba(105,74,141,0)} }
@keyframes cbp-check{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.07)} }
@keyframes cbp-pop  { 0%{transform:scale(.3) rotate(-15deg);opacity:0} 60%{transform:scale(1.15) rotate(5deg);opacity:1} 100%{transform:scale(1) rotate(0)} }

/* ── RESET ─────────────────────────────────── */
.cbp-booking-wrapper,.cbp-booking-wrapper *,.cbp-booking-wrapper *::before,.cbp-booking-wrapper *::after{
    box-sizing:border-box;
}
.cbp-booking-wrapper,.cbp-booking-wrapper *:not(.cbp-title){
    font-family:var(--cbp-font);
}

.cbp-booking-wrapper{
    padding:24px 14px;
    background:transparent;
    color:var(--cbp-text);
    animation:cbp-fade .5s ease-out both;
}

/* ── MAIN CARD ──────────────────────────────── */
.cbp-container{
    max-width:740px;
    margin:0 auto;
    background:var(--cbp-card);
    border-radius:20px;
    box-shadow:var(--cbp-shadow-lg);
    border:1px solid var(--cbp-border);
    overflow:visible;
    animation:cbp-up .65s var(--cbp-ease) both;
    position:relative;
}

.cbp-header{
    border-radius:20px 20px 0 0;
}

/* ── HEADER ─────────────────────────────────── */
.cbp-header{
    padding:28px 32px 24px;
    text-align:center;
    background:
        radial-gradient(circle at 50% 0%, rgba(105,74,141,.08) 0%, transparent 60%),
        linear-gradient(180deg, var(--cbp-primary-tint) 0%, var(--cbp-card) 100%);
    border-bottom:1px solid var(--cbp-border);
    position:relative;
    animation:cbp-up .7s var(--cbp-ease) .05s both;
}

/* Subtle decorative gold-purple flourish underline */
.cbp-header::after{
    content:'';
    position:absolute;
    bottom:-1px;left:50%;transform:translateX(-50%);
    width:60px;height:2px;
    background:linear-gradient(90deg, transparent, var(--cbp-primary), transparent);
    opacity:.4;
}

/* Logo / icon + title on the SAME LINE */
.cbp-header-inline{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    flex-wrap:nowrap;
    margin-bottom:8px;
}

.cbp-header-icon{
    width:54px;height:54px;
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:23px;color:#fff;
    box-shadow:
        0 6px 16px rgba(105,74,141,.35),
        inset 0 1px 0 rgba(255,255,255,.25),
        inset 0 -2px 6px rgba(0,0,0,.1);
    animation:cbp-float 5s ease-in-out infinite;
    position:relative;
    flex-shrink:0;
}
.cbp-header-icon::after{
    content:'';position:absolute;inset:-4px;border-radius:50%;
    border:1.5px solid rgba(105,74,141,.3);
    animation:cbp-ring 3s ease-in-out infinite;
}

.cbp-header-logo{ display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.cbp-header-logo img{
    max-height:54px;max-width:140px;
    width:auto;height:auto;object-fit:contain;display:block;
}

.cbp-title{
    font-family:var(--cbp-font-display);
    font-size:32px;
    font-weight:800;
    margin:0;
    letter-spacing:-.7px;
    line-height:1.1;
    color:var(--cbp-primary-dark);
    text-align:left;
}

.cbp-subtitle{
    font-size:13px;
    color:var(--cbp-muted);
    margin:0;
    font-weight:400;
    letter-spacing:.4px;
    text-transform:uppercase;
}

/* ── FORM ─────────────────────────────────── */
.cbp-form{ padding:24px 32px 28px; }

.cbp-step-content{ display:none; }
.cbp-step-content.active{ display:block;animation:cbp-up .4s var(--cbp-ease); }

.cbp-section{
    background:var(--cbp-card);
}

.cbp-section-title{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:16px;
    font-weight:700;
    color:var(--cbp-text);
    margin:0 0 22px;
    padding-bottom:14px;
    border-bottom:1px solid var(--cbp-border);
}
.cbp-section-title i{
    color:var(--cbp-primary);
    font-size:14px;
    width:34px;height:34px;
    background:linear-gradient(135deg, var(--cbp-primary-pale), var(--cbp-primary-tint));
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:inset 0 0 0 1px rgba(105,74,141,.1);
}

/* ── FIELDS ─────────────────────────────────── */
.cbp-field{ margin-bottom:16px;position:relative; }
.cbp-field:last-child{ margin-bottom:0; }

.cbp-row{ display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.cbp-col-6{ grid-column:span 1; }
.cbp-col-12{ grid-column:span 2; }

.cbp-label{
    display:flex;align-items:center;gap:7px;
    font-size:11px;
    font-weight:700;
    color:var(--cbp-text-2);
    margin-bottom:7px;
    text-transform:uppercase;
    letter-spacing:.7px;
}
.cbp-label i{ color:var(--cbp-primary);font-size:11px; }

.cbp-capacity-info{
    font-size:9.5px;
    color:var(--cbp-primary);
    font-weight:700;
    margin-left:5px;
    background:var(--cbp-primary-pale);
    padding:2px 7px;
    border-radius:20px;
    text-transform:none;
    letter-spacing:0;
}

/* inputs */
.cbp-form input[type=text],
.cbp-form input[type=email],
.cbp-form input[type=tel],
.cbp-form input[type=date],
.cbp-form input[type=time],
.cbp-form input[type=number],
.cbp-form select,
.cbp-form textarea{
    width:100%;
    padding:13px 16px;
    background:var(--cbp-input);
    border:1.5px solid var(--cbp-border);
    border-radius:var(--cbp-r-sm);
    color:var(--cbp-text);
    font-size:14.5px;
    font-family:inherit;
    font-weight:500;
    transition:all .25s var(--cbp-ease-smooth);
    outline:none;
    box-shadow:var(--cbp-shadow-sm);
}
.cbp-form input::placeholder,
.cbp-form textarea::placeholder{ color:var(--cbp-placeholder);font-weight:400; }

.cbp-form input:hover:not(:focus),
.cbp-form select:hover:not(:focus),
.cbp-form textarea:hover:not(:focus){
    border-color:var(--cbp-primary-light);
    background:var(--cbp-primary-mist);
}

.cbp-form input:focus,
.cbp-form select:focus,
.cbp-form textarea:focus{
    border-color:var(--cbp-primary);
    background:var(--cbp-card);
    box-shadow:
        0 0 0 4px rgba(105,74,141,.12),
        0 2px 8px rgba(105,74,141,.08);
}

.cbp-form select{
    cursor:pointer;
    appearance:none;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23694A8D' stroke-width='2.2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:16px;
    padding-right:38px;
}

.cbp-form textarea{ resize:vertical;min-height:80px;line-height:1.5; }
.cbp-form input[type=date],
.cbp-form input[type=time]{ color-scheme:light; }

/* ── AUTOCOMPLETE ────────────────────────────── */
.cbp-autocomplete{ position:relative; }
.cbp-loader{
    position:absolute;right:13px;top:50%;transform:translateY(-50%);
    color:var(--cbp-primary);display:none;font-size:13px;
}
.cbp-suggestions{
    position:absolute;top:calc(100% + 5px);left:0;right:0;
    background:var(--cbp-card);
    border:1px solid var(--cbp-border);
    border-radius:var(--cbp-r-sm);
    box-shadow:var(--cbp-shadow-md);
    max-height:260px;overflow-y:auto;z-index:99999;display:none;
}
.cbp-suggestions.active{ display:block;animation:cbp-up .2s ease; }

.cbp-suggestion{
    padding:11px 15px;cursor:pointer;
    color:var(--cbp-text);font-size:13.5px;
    border-bottom:1px solid var(--cbp-border);
    display:flex;align-items:flex-start;gap:9px;
    transition:background .15s ease;
}
.cbp-suggestion:last-child{ border-bottom:none; }
.cbp-suggestion:hover{
    background:var(--cbp-primary-pale);
    color:var(--cbp-primary-dark);
}
.cbp-suggestion i{ color:var(--cbp-primary);flex-shrink:0;margin-top:2px;font-size:11px; }
.cbp-suggestion span{ flex:1;line-height:1.45;font-weight:500; }

/* ── ROUTE INFO CARD ───────────────────────── */
.cbp-route-info-card{
    margin-top:16px;
    border-radius:var(--cbp-r);
    border:1px solid var(--cbp-border);
    background:linear-gradient(135deg, var(--cbp-primary-mist), var(--cbp-card));
    box-shadow:var(--cbp-shadow-sm);
    animation:cbp-in .4s ease;
    overflow:hidden;
}
.cbp-route-info{ display:flex; }
.cbp-route-item{
    flex:1;padding:14px 18px;
    display:flex;align-items:center;gap:12px;
    border-right:1px solid var(--cbp-border);
}
.cbp-route-item:last-child{ border-right:none; }
.cbp-route-item i{
    color:#fff;font-size:14px;
    width:36px;height:36px;
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    box-shadow:0 3px 8px rgba(105,74,141,.3);
}
.cbp-route-label{
    display:block;font-size:9.5px;
    color:var(--cbp-muted);
    text-transform:uppercase;letter-spacing:.6px;
    font-weight:700;margin-bottom:2px;
}
.cbp-route-value{ font-size:15px;font-weight:700;color:var(--cbp-text); }

/* ── SERVICE TABS ────────────────────────────── */
.cbp-service-tabs{
    display:grid;grid-template-columns:1fr 1fr;gap:5px;
    margin-bottom:18px;padding:4px;
    background:var(--cbp-panel);
    border:1px solid var(--cbp-border);
    border-radius:var(--cbp-r);
}
.cbp-service-tab{
    appearance:none;background:transparent;border:none;
    color:var(--cbp-text-2);
    padding:11px 10px;
    border-radius:var(--cbp-r-sm);
    font-size:13.5px;font-weight:600;cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:8px;
    transition:all .3s var(--cbp-ease);
    font-family:inherit;
}
.cbp-service-tab:hover{ color:var(--cbp-primary);background:var(--cbp-card); }
.cbp-service-tab.active{
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    color:#fff;
    box-shadow:0 4px 12px rgba(105,74,141,.32),inset 0 1px 0 rgba(255,255,255,.15);
}

.cbp-help-text{
    display:flex;align-items:center;gap:6px;
    margin-top:8px;
    color:var(--cbp-muted);font-size:11.5px;
    font-style:italic;
}
.cbp-help-text i{ color:var(--cbp-primary);font-style:normal; }

/* ── CAR CARDS ───────────────────────────────── */
.cbp-cars-grid{ display:grid;grid-template-columns:1fr;gap:12px; }

.cbp-car-card{
    background:var(--cbp-card);
    border:1.5px solid var(--cbp-border);
    border-radius:var(--cbp-r);
    padding:16px 40px 16px 22px;
    cursor:pointer;
    transition:all .3s var(--cbp-ease);
    display:flex;align-items:center;gap:16px;
    position:relative;overflow:hidden;
    animation:cbp-up .4s var(--cbp-ease) backwards;
}
.cbp-car-card:nth-child(1){ animation-delay:.04s; }
.cbp-car-card:nth-child(2){ animation-delay:.12s; }
.cbp-car-card:nth-child(3){ animation-delay:.20s; }
.cbp-car-card:nth-child(4){ animation-delay:.28s; }

/* Left side accent stripe — visible only when selected */
.cbp-car-card::before{
    content:'';
    position:absolute;left:0;top:0;bottom:0;width:4px;
    background:linear-gradient(180deg, var(--cbp-primary), var(--cbp-primary-dark));
    opacity:0;
    transition:opacity .3s ease;
}

.cbp-car-card:hover{
    border-color:var(--cbp-primary-light);
    transform:translateY(-3px);
    box-shadow:var(--cbp-shadow-md);
}
.cbp-car-card.selected{
    border-color:var(--cbp-primary);
    background:linear-gradient(135deg, var(--cbp-primary-pale) 0%, var(--cbp-card) 70%);
    box-shadow:0 8px 24px rgba(105,74,141,.18);
}
.cbp-car-card.selected::before{ opacity:1; }

/* Checkmark badge — real element, sits in the card's right-edge gutter (padding-right:40px) */
.cbp-car-check{
    position:absolute;
    top:50%;right:12px;
    transform:translateY(-50%);
    width:22px;height:22px;
    background:var(--cbp-card);
    border:1.5px solid var(--cbp-border-strong);
    color:transparent;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:10px;
    transition:all .35s var(--cbp-ease);
    pointer-events:none;
    z-index:2;
}
.cbp-car-card:hover .cbp-car-check{
    border-color:var(--cbp-primary-light);
}
.cbp-car-card.selected .cbp-car-check{
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    border-color:var(--cbp-primary);
    color:#fff;
    box-shadow:
        0 4px 12px rgba(105,74,141,.45),
        inset 0 1px 0 rgba(255,255,255,.2);
    transform:translateY(-50%) scale(1);
    animation:cbp-pop .4s var(--cbp-ease);
}

.cbp-car-image{
    width:88px;height:64px;
    border-radius:var(--cbp-r-sm);
    background:linear-gradient(135deg, var(--cbp-primary-pale), var(--cbp-primary-tint));
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    color:var(--cbp-primary);font-size:26px;
    border:1px solid var(--cbp-border);
}
.cbp-car-image img{ width:100%;height:100%;object-fit:cover; }

.cbp-car-info{ flex:1;min-width:0; }
.cbp-car-name{ font-size:15px;font-weight:700;color:var(--cbp-text);margin:0 0 3px;letter-spacing:-.2px; }
.cbp-car-desc{ font-size:11.5px;color:var(--cbp-muted);margin:0 0 8px;line-height:1.4; }
.cbp-car-features{ display:flex;gap:7px;flex-wrap:wrap; }
.cbp-car-feature{
    display:inline-flex;align-items:center;gap:5px;
    font-size:10.5px;color:var(--cbp-text-2);font-weight:600;
    background:var(--cbp-panel);
    padding:3px 9px;
    border-radius:20px;
    border:1px solid var(--cbp-border);
}
.cbp-car-feature i{ color:var(--cbp-primary);font-size:9px; }

.cbp-car-price{ text-align:right;flex-shrink:0; }
.cbp-car-price-amount{
    font-family:var(--cbp-font-display);
    font-size:24px;font-weight:700;
    letter-spacing:-.5px;
    color:var(--cbp-primary-dark);
    line-height:1;
}
.cbp-car-price-label{
    display:block;font-size:9px;color:var(--cbp-muted);
    margin-top:4px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;
}

.cbp-loading-cars{ text-align:center;padding:48px 20px;color:var(--cbp-muted); }
.cbp-loading-cars i{ font-size:28px;color:var(--cbp-primary);margin-bottom:12px;display:block; }

/* ── OPTIONAL (FLIGHT) TOGGLE ────────────────── */
.cbp-optional-section{
    margin-top:14px;
    background:var(--cbp-card);
    border:1px solid var(--cbp-border);
    border-radius:var(--cbp-r);
    overflow:hidden;
    box-shadow:var(--cbp-shadow-sm);
}
.cbp-toggle-section{ position:relative; }
.cbp-toggle{ position:absolute;opacity:0;pointer-events:none; }
.cbp-toggle-section label{
    display:flex;align-items:center;gap:10px;
    padding:13px 16px;
    cursor:pointer;
    background:var(--cbp-panel);color:var(--cbp-text);
    font-weight:600;font-size:13px;
    transition:background .2s ease;
}
.cbp-toggle-section label:hover{ background:var(--cbp-primary-pale); }
.cbp-toggle-section label > i:first-child{ color:var(--cbp-primary);font-size:14px; }
.cbp-toggle-section span{ flex:1; }
.cbp-toggle-arrow{ color:var(--cbp-primary);transition:transform .3s ease;font-size:10px; }
.cbp-toggle:checked ~ label .cbp-toggle-arrow,
.cbp-toggle-section.cbp-open .cbp-toggle-arrow{ transform:rotate(180deg); }
.cbp-collapsible{ max-height:0;overflow:hidden;transition:max-height .35s ease; }
.cbp-collapsible.cbp-open{ max-height:400px; }
.cbp-collapsible-inner{ padding:14px 16px; }

/* ── NAVIGATION ──────────────────────────────── */
.cbp-nav{ display:flex;justify-content:space-between;gap:12px;margin-top:24px; }
.cbp-nav:has(.cbp-next:only-child){ justify-content:flex-end; }

.cbp-btn{
    padding:13px 28px;
    border-radius:var(--cbp-r-sm);
    font-size:13.5px;font-weight:700;
    cursor:pointer;border:none;
    display:inline-flex;align-items:center;gap:8px;
    transition:all .3s var(--cbp-ease);
    font-family:inherit;text-decoration:none;
    position:relative;overflow:hidden;
    letter-spacing:.3px;
}
.cbp-btn::before{
    content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
    transition:left .6s ease;
}
.cbp-btn:hover::before{ left:100%; }

.cbp-btn-primary{
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    color:#fff;
    box-shadow:
        0 6px 18px rgba(105,74,141,.35),
        inset 0 1px 0 rgba(255,255,255,.2),
        inset 0 -2px 6px rgba(0,0,0,.1);
}
.cbp-btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:
        0 10px 24px rgba(105,74,141,.45),
        inset 0 1px 0 rgba(255,255,255,.25);
}
.cbp-btn-primary:active{ transform:translateY(0); }

.cbp-btn-secondary{
    background:var(--cbp-card);
    color:var(--cbp-text-2);
    border:1.5px solid var(--cbp-border-strong);
    box-shadow:var(--cbp-shadow-sm);
}
.cbp-btn-secondary:hover{
    background:var(--cbp-primary-tint);
    border-color:var(--cbp-primary);
    color:var(--cbp-primary);
}

.cbp-btn:disabled{ opacity:.5;cursor:not-allowed; }

/* ── SUMMARY ─────────────────────────────────── */
.cbp-summary{
    background:var(--cbp-panel);
    border-radius:var(--cbp-r);
    padding:5px;
    border:1px solid var(--cbp-border);
}
.cbp-summary-section{
    background:var(--cbp-card);
    border-radius:var(--cbp-r-sm);
    padding:14px 16px;
    margin-bottom:5px;
}
.cbp-summary-section:last-of-type{ margin-bottom:0; }
.cbp-summary-heading{
    display:flex;align-items:center;gap:8px;
    font-size:10.5px;font-weight:700;color:var(--cbp-primary);
    text-transform:uppercase;letter-spacing:.7px;
    margin-bottom:10px;padding-bottom:8px;
    border-bottom:1px solid var(--cbp-border);
}
.cbp-summary-row{
    display:flex;justify-content:space-between;align-items:flex-start;
    gap:12px;padding:5px 0;font-size:13px;
}
.cbp-summary-row span:first-child{
    color:var(--cbp-muted);font-weight:500;flex-shrink:0;
}
.cbp-summary-row span:last-child{
    color:var(--cbp-text);font-weight:600;text-align:right;
}

.cbp-summary-total{
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    padding:18px 22px;
    border-radius:var(--cbp-r);
    display:flex;justify-content:space-between;align-items:center;
    margin-top:14px;
    box-shadow:
        0 8px 22px rgba(105,74,141,.3),
        inset 0 1px 0 rgba(255,255,255,.15);
    position:relative;overflow:hidden;
}
.cbp-summary-total::before{
    content:'';position:absolute;
    top:-50%;right:-15%;
    width:200px;height:200px;
    background:radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 60%);
    pointer-events:none;
}
.cbp-summary-total-label{
    font-size:13px;font-weight:600;
    color:rgba(255,255,255,.85);
    text-transform:uppercase;letter-spacing:.7px;
    position:relative;z-index:1;
}
.cbp-summary-total-amount{
    font-family:var(--cbp-font-display);
    font-size:32px;font-weight:700;
    color:#fff;letter-spacing:-.5px;
    position:relative;z-index:1;
}

/* ── SUCCESS ─────────────────────────────────── */
.cbp-success{
    text-align:center;padding:44px 28px;
    background:var(--cbp-card);
    border-radius:var(--cbp-r);
    border:1px solid var(--cbp-border);
    animation:cbp-in .6s var(--cbp-ease);
    position:relative;overflow:hidden;
}
.cbp-success::before{
    content:'';position:absolute;
    top:-40%;left:50%;transform:translateX(-50%);
    width:360px;height:360px;
    background:radial-gradient(circle, rgba(105,74,141,.08) 0%, transparent 70%);
    pointer-events:none;
}
.cbp-success-icon{
    width:80px;height:80px;margin:0 auto 18px;
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:34px;color:#fff;
    box-shadow:
        0 12px 30px rgba(105,74,141,.4),
        inset 0 1px 0 rgba(255,255,255,.2);
    animation:cbp-check 2.5s ease-in-out infinite;
    position:relative;z-index:1;
}
.cbp-success h3{
    font-family:var(--cbp-font-display);
    font-size:26px;color:var(--cbp-text);
    margin:0 0 8px;font-weight:800;
    letter-spacing:-.4px;
    position:relative;z-index:1;
}
.cbp-success p{
    color:var(--cbp-muted);margin:0 0 18px;
    position:relative;z-index:1;font-size:13.5px;
}
.cbp-success-ref{
    background:var(--cbp-primary-pale);
    padding:14px 26px;border-radius:var(--cbp-r);
    display:inline-flex;flex-direction:column;gap:3px;
    margin-bottom:18px;
    border:1.5px solid var(--cbp-primary);
    position:relative;z-index:1;
}
.cbp-success-ref span{
    font-size:9.5px;color:var(--cbp-muted);
    text-transform:uppercase;letter-spacing:1.2px;font-weight:700;
}
.cbp-success-ref strong{
    font-family:var(--cbp-font-display);
    font-size:22px;color:var(--cbp-primary);
    letter-spacing:2px;font-weight:700;
}
.cbp-success-actions{ margin-top:6px;position:relative;z-index:1; }

/* ── ERRORS ──────────────────────────────────── */
.cbp-error-msg{
    background:var(--cbp-primary-pale);
    border:1px solid var(--cbp-primary-light);
    color:var(--cbp-primary-dark);
    padding:10px 14px;
    border-radius:var(--cbp-r-sm);
    font-size:12.5px;margin-bottom:12px;
    display:flex;gap:8px;align-items:flex-start;
}
.cbp-error-msg i{ color:var(--cbp-primary);flex-shrink:0;margin-top:1px; }

/* ── QUICK WIDGET (Hero / Homepage) ──────────── */
.cbp-quick-wrapper{
    font-family:var(--cbp-font);
    width:100%;max-width:520px;margin:0 auto;color:var(--cbp-text);
}
.cbp-quick-wrapper *,
.cbp-quick-wrapper *::before,
.cbp-quick-wrapper *::after{ box-sizing:border-box; }

.cbp-quick-card{
    background:var(--cbp-card);
    padding:26px;
    border-radius:18px;
    box-shadow:var(--cbp-shadow-lg);
    border:1px solid var(--cbp-border);
    position:relative;overflow:visible;
    animation:cbp-up .65s var(--cbp-ease);
}

.cbp-quick-header{ text-align:center;margin-bottom:18px; }
.cbp-quick-title{
    font-family:var(--cbp-font-display);
    font-size:25px;font-weight:800;
    margin:0 0 6px;
    letter-spacing:-.5px;line-height:1.1;
    color:var(--cbp-primary-dark);
}
.cbp-quick-subtitle{
    font-size:12px;color:var(--cbp-muted);
    margin:0;text-transform:uppercase;letter-spacing:.5px;
}

.cbp-quick-tabs{
    display:grid;grid-template-columns:1fr 1fr;gap:4px;
    margin-bottom:14px;padding:4px;
    background:var(--cbp-panel);
    border:1px solid var(--cbp-border);
    border-radius:var(--cbp-r);
}
.cbp-quick-tab{
    appearance:none;background:transparent;border:none;
    color:var(--cbp-text-2);
    padding:10px 8px;border-radius:var(--cbp-r-sm);
    font-size:12.5px;font-weight:600;cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:6px;
    transition:all .3s var(--cbp-ease);
    font-family:inherit;
}
.cbp-quick-tab:hover{ color:var(--cbp-primary);background:var(--cbp-card); }
.cbp-quick-tab.active{
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    color:#fff;box-shadow:0 4px 12px rgba(105,74,141,.3);
}

.cbp-quick-field{ margin-bottom:12px; }
.cbp-quick-field label{
    display:flex;align-items:center;gap:6px;
    font-size:10.5px;font-weight:700;
    text-transform:uppercase;letter-spacing:.7px;
    color:var(--cbp-text-2);margin-bottom:6px;
}
.cbp-quick-field label i{ color:var(--cbp-primary); }
.cbp-quick-autocomplete{ position:relative; }
.cbp-quick-field input[type=text]{
    width:100%;padding:12px 14px;
    background:var(--cbp-card);
    border:1.5px solid var(--cbp-border);
    border-radius:var(--cbp-r-sm);
    color:var(--cbp-text);font-size:14px;
    font-family:inherit;font-weight:500;
    transition:all .25s var(--cbp-ease-smooth);
    box-shadow:var(--cbp-shadow-sm);
}
.cbp-quick-field input[type=text]:hover:not(:focus){
    border-color:var(--cbp-primary-light);background:var(--cbp-primary-mist);
}
.cbp-quick-field input[type=text]::placeholder{ color:var(--cbp-placeholder); }
.cbp-quick-field input[type=text]:focus{
    outline:none;border-color:var(--cbp-primary);
    box-shadow:0 0 0 4px rgba(105,74,141,.12),0 2px 8px rgba(105,74,141,.08);
}
.cbp-quick-loader{
    position:absolute;right:12px;top:50%;transform:translateY(-50%);
    color:var(--cbp-primary);display:none;font-size:12px;
}
.cbp-quick-suggestions{
    position:absolute;top:calc(100% + 4px);left:0;right:0;
    background:var(--cbp-card);border:1px solid var(--cbp-border);
    border-radius:var(--cbp-r-sm);box-shadow:var(--cbp-shadow-md);
    max-height:240px;overflow-y:auto;z-index:99999;display:none;
}
.cbp-quick-suggestion{
    padding:10px 13px;cursor:pointer;
    color:var(--cbp-text);font-size:13px;
    border-bottom:1px solid var(--cbp-border);
    display:flex;align-items:flex-start;gap:8px;
    transition:background .15s ease;font-weight:500;
}
.cbp-quick-suggestion:last-child{ border-bottom:none; }
.cbp-quick-suggestion:hover{ background:var(--cbp-primary-pale);color:var(--cbp-primary-dark); }
.cbp-quick-suggestion i{ color:var(--cbp-primary);flex-shrink:0;margin-top:2px;font-size:11px; }
.cbp-quick-suggestion span{ flex:1;line-height:1.4; }

.cbp-quick-submit{
    width:100%;margin-top:8px;
    padding:14px 22px;
    background:linear-gradient(135deg, var(--cbp-primary), var(--cbp-primary-dark));
    color:#fff;border:none;
    border-radius:var(--cbp-r-sm);
    font-size:14.5px;font-weight:700;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:10px;
    box-shadow:0 8px 22px rgba(105,74,141,.32),inset 0 1px 0 rgba(255,255,255,.18);
    transition:all .3s var(--cbp-ease);
    font-family:inherit;letter-spacing:.3px;
    position:relative;overflow:hidden;
}
.cbp-quick-submit::before{
    content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
    transition:left .6s ease;
}
.cbp-quick-submit:hover::before{ left:100%; }
.cbp-quick-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(105,74,141,.42);
}

.cbp-quick-warning{
    padding:12px;
    background:var(--cbp-primary-pale);
    border:1px solid var(--cbp-primary-light);
    border-radius:var(--cbp-r-sm);
    color:var(--cbp-primary-dark);font-size:11.5px;
    display:flex;align-items:flex-start;gap:8px;
}
.cbp-quick-warning i{ color:var(--cbp-primary);margin-top:1px; }
.cbp-quick-warning code{
    background:rgba(105,74,141,.12);
    padding:1px 5px;border-radius:3px;font-size:10.5px;
}

.cbp-quick-style-compact .cbp-quick-form{
    display:grid;grid-template-columns:1fr 1fr auto;
    gap:8px;align-items:end;
}
.cbp-quick-style-compact .cbp-quick-tabs{ grid-column:1/-1; }
.cbp-quick-style-compact .cbp-quick-submit{
    margin-top:0;padding:12px 18px;white-space:nowrap;
}

/* ── MOBILE ──────────────────────────────────── */
@media (max-width:640px){
    .cbp-booking-wrapper{ padding:14px 8px; }
    .cbp-container{ border-radius:14px; }
    .cbp-header{ padding:20px 16px 16px;border-radius:14px 14px 0 0; }
    .cbp-header-inline{ gap:12px;flex-direction:row;flex-wrap:wrap;justify-content:center; }
    .cbp-header-icon{ width:42px;height:42px;font-size:18px; }
    .cbp-header-logo img{ max-height:42px;max-width:100px; }
    .cbp-title{ font-size:24px;text-align:center; }
    .cbp-subtitle{ font-size:11px; }

    .cbp-form{ padding:18px 14px 20px; }
    .cbp-section-title{ font-size:14px;margin-bottom:16px;padding-bottom:12px; }
    .cbp-section-title i{ width:30px;height:30px;font-size:12px; }

    .cbp-row{ grid-template-columns:1fr;gap:0; }
    .cbp-col-6,.cbp-col-12{ grid-column:span 1; }

    .cbp-service-tabs{ gap:3px;padding:3px; }
    .cbp-service-tab{ font-size:12.5px;padding:10px 6px; }

    .cbp-car-card{ flex-wrap:wrap;padding:13px 38px 13px 18px;gap:12px; }
    .cbp-car-image{ width:70px;height:52px;font-size:22px; }
    .cbp-car-info{ flex:1;min-width:0; }
    .cbp-car-price{ width:100%;text-align:right;padding-top:10px;border-top:1px solid var(--cbp-border); }
    .cbp-car-price-amount{ font-size:21px; }

    .cbp-nav{ flex-direction:column-reverse;gap:8px; }
    .cbp-btn{ justify-content:center;width:100%;padding:12px 18px; }

    .cbp-summary-total-amount{ font-size:26px; }
    .cbp-summary-total{ padding:14px 16px; }

    .cbp-quick-card{ padding:20px;border-radius:14px; }
    .cbp-quick-title{ font-size:22px; }
    .cbp-quick-style-compact .cbp-quick-form{ grid-template-columns:1fr; }
}

@media (min-width:641px) and (max-width:900px){
    .cbp-container{ border-radius:16px; }
    .cbp-form{ padding:20px 22px 22px; }
    .cbp-header{ padding:22px 20px 18px; }
    .cbp-title{ font-size:30px; }
}
