/* VTC Chauffeur Booking - Frontend Styles */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap');

:root {
    --vtc-bg-warm: #d4c4b0;
    --vtc-card-bg: #faf8f5;
    --vtc-text-primary: #2a2520;
    --vtc-text-secondary: #6b635a;
    --vtc-text-placeholder: #a09890;
    --vtc-border-color: #e8e4de;
    --vtc-accent-brown: var(--vtc-primary, #3d3530);
    --vtc-accent-green: #4a7c59;
    --vtc-accent-red: #c45c4a;
    --vtc-shadow: 0 25px 80px rgba(42, 37, 32, 0.15);
}

.vtc-booking-wrapper {
    font-family: 'DM Sans', sans-serif;
    background: linear-gradient(135deg, #c9b89d 0%, #d4c4b0 50%, #bfae96 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    margin: 0;
}

.vtc-booking-wrapper * { margin: 0; padding: 0; box-sizing: border-box; }

.vtc-booking-card {
    background: var(--vtc-card-bg);
    border-radius: 24px;
    padding: 48px 40px;
    width: 100%;
    max-width: 520px;
    box-shadow: var(--vtc-shadow);
    position: relative;
    overflow: hidden;
}

.vtc-booking-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--vtc-accent-brown), var(--vtc-text-secondary));
}

.vtc-icon-wrapper {
    width: 64px; height: 64px;
    background: var(--vtc-card-bg);
    border: 2px solid var(--vtc-border-color);
    border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 24px;
}

.vtc-icon-wrapper svg { width: 32px; height: 32px; color: var(--vtc-text-primary); }

.vtc-booking-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem; font-weight: 500;
    color: var(--vtc-text-primary);
    text-align: center;
    margin-bottom: 8px;
    letter-spacing: -0.02em;
}

.vtc-booking-subtitle {
    font-size: 0.875rem;
    color: var(--vtc-text-secondary);
    text-align: center;
    margin-bottom: 32px;
}

/* Steps */
.vtc-step {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--vtc-border-color);
}

.vtc-step:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.vtc-step-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.vtc-step-number {
    width: 28px;
    height: 28px;
    background: var(--vtc-accent-brown);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 600;
}

.vtc-step-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--vtc-text-primary);
}

.vtc-form-group { margin-bottom: 20px; }
.vtc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.vtc-label {
    display: flex; align-items: center; gap: 8px;
    font-size: 0.8125rem; font-weight: 500;
    color: var(--vtc-text-primary);
    margin-bottom: 8px;
}

.vtc-label .dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.vtc-label .dot.green { background: var(--vtc-accent-green); }
.vtc-label .dot.red { background: var(--vtc-accent-red); }

.vtc-input, .vtc-select, .vtc-textarea {
    width: 100%;
    padding: 14px 16px;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.9375rem;
    color: var(--vtc-text-primary);
    background: var(--vtc-card-bg);
    border: 1.5px solid var(--vtc-border-color);
    border-radius: 12px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.vtc-input::placeholder, .vtc-textarea::placeholder { color: var(--vtc-text-placeholder); }

.vtc-input:focus, .vtc-select:focus, .vtc-textarea:focus {
    border-color: var(--vtc-accent-brown);
    box-shadow: 0 0 0 3px rgba(61, 53, 48, 0.08);
}

.vtc-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b635a' stroke-width='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;
    padding-right: 40px;
}

.vtc-textarea { resize: vertical; min-height: 80px; }

.vtc-checkbox-wrapper {
    display: flex; align-items: center; gap: 12px;
    padding: 16px;
    background: rgba(232, 228, 222, 0.4);
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.vtc-checkbox-wrapper:hover { background: rgba(232, 228, 222, 0.7); }
.vtc-checkbox-wrapper input[type="checkbox"] { width: 20px; height: 20px; padding: 0; cursor: pointer; accent-color: var(--vtc-accent-brown); }
.vtc-checkbox-wrapper span { font-size: 0.875rem; color: var(--vtc-text-primary); display: flex; align-items: center; gap: 8px; }
.vtc-checkbox-wrapper svg { width: 18px; height: 18px; color: var(--vtc-text-secondary); }

.vtc-return-section {
    max-height: 0; overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease;
    opacity: 0; margin-top: 0;
}

.vtc-return-section.active { max-height: 200px; opacity: 1; margin-top: 16px; }

.vtc-return-fields {
    padding: 16px;
    background: rgba(74, 124, 89, 0.08);
    border-radius: 12px;
    border: 1px solid rgba(74, 124, 89, 0.2);
}

.vtc-return-fields .vtc-label { color: var(--vtc-accent-green); }

/* SÉLECTEUR DE VÉHICULE */
.vtc-vehicle-section { margin-bottom: 20px; }
.vtc-vehicle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.vtc-vehicle-card {
    position: relative;
    padding: 16px 14px;
    background: var(--vtc-card-bg);
    border: 2px solid var(--vtc-border-color);
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.25s ease;
    text-align: center;
}

.vtc-vehicle-card:hover {
    border-color: var(--vtc-accent-brown);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(42, 37, 32, 0.1);
}

.vtc-vehicle-card.selected {
    border-color: var(--vtc-accent-brown);
    background: rgba(61, 53, 48, 0.04);
}

.vtc-vehicle-card.selected::after {
    content: '✓';
    position: absolute; top: 8px; right: 8px;
    width: 20px; height: 20px;
    background: var(--vtc-accent-brown);
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    display: flex; align-items: center; justify-content: center;
}

.vtc-vehicle-card input[type="radio"] { display: none; }
.vtc-vehicle-emoji { font-size: 2rem; margin-bottom: 8px; display: block; }
.vtc-vehicle-name { font-weight: 600; font-size: 0.9375rem; color: var(--vtc-text-primary); margin-bottom: 2px; }
.vtc-vehicle-model { font-size: 0.75rem; color: var(--vtc-text-secondary); margin-bottom: 8px; }
.vtc-vehicle-specs { display: flex; justify-content: center; gap: 12px; font-size: 0.7rem; color: var(--vtc-text-secondary); margin-bottom: 10px; }
.vtc-vehicle-specs span { display: flex; align-items: center; gap: 3px; }
.vtc-vehicle-price { font-weight: 600; font-size: 1rem; color: var(--vtc-accent-brown); }
.vtc-vehicle-price small { font-weight: 400; font-size: 0.7rem; color: var(--vtc-text-secondary); }

/* CALCULATEUR */
.vtc-price-calculator {
    margin-top: 16px;
    padding: 20px;
    background: linear-gradient(135deg, rgba(61, 53, 48, 0.03) 0%, rgba(61, 53, 48, 0.08) 100%);
    border-radius: 14px;
    border: 1px solid var(--vtc-border-color);
    display: none;
}

.vtc-price-calculator.visible { display: block; animation: fadeSlideIn 0.3s ease; }

@keyframes fadeSlideIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.vtc-price-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.vtc-price-header h4 { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 500; color: var(--vtc-text-primary); }
.vtc-price-badge { padding: 4px 10px; background: var(--vtc-accent-green); color: #fff; font-size: 0.7rem; font-weight: 500; border-radius: 20px; }
.vtc-price-details { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.vtc-price-row { display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--vtc-text-secondary); }
.vtc-price-row.total { padding-top: 12px; border-top: 1px dashed var(--vtc-border-color); font-weight: 600; font-size: 1rem; color: var(--vtc-text-primary); }

.vtc-price-total {
    display: flex; align-items: baseline; justify-content: center; gap: 8px;
    padding: 16px;
    background: var(--vtc-accent-brown);
    border-radius: 10px;
    color: #fff;
}

.vtc-price-total .amount { font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 600; }
.vtc-price-total .currency { font-size: 1.25rem; }
.vtc-price-total .label { font-size: 0.75rem; opacity: 0.8; }
.vtc-price-note { margin-top: 12px; font-size: 0.7rem; color: var(--vtc-text-secondary); text-align: center; font-style: italic; }

.vtc-distance-input { margin-top: 12px; padding: 12px; background: rgba(255,255,255,0.6); border-radius: 10px; }
.vtc-distance-input label { font-size: 0.75rem; color: var(--vtc-text-secondary); margin-bottom: 6px; display: block; }
.vtc-distance-row { display: flex; gap: 8px; align-items: center; }
.vtc-distance-row input { flex: 1; padding: 10px 12px; font-size: 0.875rem; border: 1.5px solid var(--vtc-border-color); border-radius: 8px; background: #fff; }
.vtc-distance-row span { font-size: 0.875rem; color: var(--vtc-text-secondary); font-weight: 500; }

/* BOUTON */
.vtc-submit-btn {
    width: 100%;
    padding: 18px 24px;
    font-family: 'DM Sans', sans-serif;
    font-size: 1rem; font-weight: 500;
    color: #fff;
    background: linear-gradient(135deg, var(--vtc-accent-brown) 0%, #2a2520 100%);
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-top: 8px;
}

.vtc-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(42, 37, 32, 0.25); }
.vtc-submit-btn:active { transform: translateY(0); }
.vtc-submit-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

/* MESSAGES */
.vtc-success-message { display: none; text-align: center; padding: 40px 20px; }
.vtc-success-message.show { display: block; }
.vtc-success-message svg { width: 64px; height: 64px; color: var(--vtc-accent-green); margin-bottom: 16px; }
.vtc-success-message h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.75rem; color: var(--vtc-text-primary); margin-bottom: 8px; }
.vtc-success-message p { color: var(--vtc-text-secondary); font-size: 0.9375rem; }

.vtc-form.hidden { display: none; }

.vtc-error-message {
    background: rgba(196, 92, 74, 0.1);
    border: 1px solid rgba(196, 92, 74, 0.3);
    color: var(--vtc-accent-red);
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 0.875rem;
    display: none;
}

.vtc-error-message.show { display: block; }

/* BOUTON CALCULER */
.vtc-btn-calculate {
    width: 100%;
    padding: 16px 24px;
    font-family: 'DM Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--vtc-accent-green) 0%, #3a6147 100%);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-top: 8px;
}

.vtc-btn-calculate:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(74, 124, 89, 0.3);
}

.vtc-btn-calculate:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

/* RÉSUMÉ ITINÉRAIRE */
.vtc-route-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: linear-gradient(135deg, #f0ede8 0%, #e8e4de 100%);
    border-radius: 12px;
    margin-bottom: 20px;
}

.vtc-route-info {
    display: flex;
    gap: 16px;
}

.vtc-route-distance,
.vtc-route-duration {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--vtc-text-primary);
}

.vtc-route-duration {
    color: var(--vtc-text-secondary);
}

.vtc-btn-modify {
    padding: 8px 16px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--vtc-accent-brown);
    background: #fff;
    border: 1px solid var(--vtc-border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vtc-btn-modify:hover {
    background: var(--vtc-accent-brown);
    color: #fff;
}

/* LISTE DES VÉHICULES */
.vtc-vehicles-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vtc-vehicle-option {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border: 2px solid var(--vtc-border-color);
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.vtc-vehicle-option:hover {
    border-color: var(--vtc-accent-brown);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.vtc-vehicle-option.selected {
    border-color: var(--vtc-accent-brown);
    background: linear-gradient(135deg, rgba(61, 53, 48, 0.03) 0%, rgba(61, 53, 48, 0.06) 100%);
}

.vtc-vehicle-option .vtc-vehicle-icon {
    font-size: 2rem;
    width: 56px;
    height: 56px;
    background: var(--vtc-card-bg);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vtc-vehicle-option .vtc-vehicle-details {
    flex: 1;
}

.vtc-vehicle-option .vtc-vehicle-name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--vtc-text-primary);
    margin-bottom: 2px;
}

.vtc-vehicle-option .vtc-vehicle-model {
    font-size: 0.8rem;
    color: var(--vtc-text-secondary);
    margin-bottom: 4px;
}

.vtc-vehicle-option .vtc-vehicle-capacity {
    font-size: 0.75rem;
    color: var(--vtc-text-placeholder);
}

.vtc-vehicle-option .vtc-vehicle-pricing {
    font-size: 0.7rem;
    color: var(--vtc-text-placeholder);
    margin-top: 4px;
}

.vtc-vehicle-option .vtc-vehicle-price-box {
    text-align: right;
    flex-shrink: 0;
}

.vtc-vehicle-option .vtc-vehicle-total {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--vtc-accent-brown);
}

.vtc-vehicle-option .vtc-vehicle-note {
    font-size: 0.7rem;
    color: var(--vtc-text-secondary);
}

.vtc-vehicle-option .vtc-vehicle-check {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    background: var(--vtc-accent-brown);
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
}

.vtc-vehicle-option .vtc-vehicle-check svg {
    width: 14px;
    height: 14px;
    color: #fff;
}

.vtc-vehicle-option.selected .vtc-vehicle-check {
    display: flex;
}

/* RÉSUMÉ SÉLECTION */
.vtc-selected-vehicle-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: linear-gradient(135deg, var(--vtc-accent-brown) 0%, #2a2520 100%);
    border-radius: 12px;
    margin-bottom: 24px;
    color: #fff;
}

.vtc-summary-vehicle {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vtc-summary-icon {
    font-size: 1.5rem;
}

.vtc-summary-name {
    font-weight: 600;
}

.vtc-summary-price {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.5rem;
    font-weight: 600;
}

/* LOADER */
.vtc-loader {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: vtc-spin 0.8s linear infinite;
}

@keyframes vtc-spin {
    to { transform: rotate(360deg); }
}

/* RESPONSIVE */
@media (max-width: 520px) {
    .vtc-booking-wrapper { padding: 20px 16px; }
    .vtc-booking-card { padding: 36px 24px; }
    .vtc-booking-title { font-size: 1.75rem; }
    .vtc-form-row { grid-template-columns: 1fr; gap: 16px; }
    .vtc-vehicle-grid { grid-template-columns: 1fr; }
    .vtc-vehicle-option { flex-wrap: wrap; }
    .vtc-vehicle-option .vtc-vehicle-price-box { width: 100%; text-align: left; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--vtc-border-color); }
}


.vtc-return-line{margin-top:4px;font-size:12px;color:#6b7280;}


/* ===========================
   Onglets type de lieu (Départ / Arrivée)
   =========================== */
.vtc-place-type-group { margin-bottom: 10px; }
.vtc-place-tabs{
    display: inline-flex;
    gap: 6px;
    padding: 6px;
    border-radius: 999px;
    background: var(--vtc-tabs-inactive-bg, #f3f4f6);
    border: 1px solid var(--vtc-border-color);
    flex-wrap: wrap;
}
.vtc-place-pill{
    border: none;
    background: transparent;
    color: var(--vtc-tabs-inactive-text, #111827);
    padding: 10px 14px;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    letter-spacing: .2px;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.vtc-place-pill:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(42, 37, 32, 0.12);
}
.vtc-place-pill.active{
    background: var(--vtc-tabs-active-bg, #111827);
    color: var(--vtc-tabs-active-text, #ffffff);
}
.vtc-pill-ic{ font-size: 16px; line-height: 1; }
.vtc-pill-tx{ font-size: 13px; line-height: 1; }

@media (max-width: 600px){
    .vtc-place-tabs{ width: 100%; justify-content: space-between; }
    .vtc-place-pill{ flex: 1; justify-content: center; padding: 12px 10px; }
}

/* Typographie légèrement modernisée (sans changer l'aspect global) */
.vtc-label{
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    letter-spacing: .2px;
}



/* === MVTC amélioration UX conversion - style premium original === */
.vtc-booking{max-width:780px;margin:0 auto;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--mvtc-gold:#d59a20;--mvtc-gold-2:#c38a12;--mvtc-panel:#17172d;--mvtc-panel-2:#24244a;--mvtc-text:#0d0b08;--mvtc-cream:#fffaf1;--mvtc-border:rgba(255,255,255,.78);}
.vtc-card{background:#e8dfc8!important;border-radius:20px!important;box-shadow:0 12px 40px rgba(30,60,120,.14)!important;padding:28px 24px!important;border:none!important;}
.vtc-title,.vtc-subtitle{display:none;}
.vtc-info-banner{background:transparent!important;border:0!important;color:#080806!important;text-align:center;display:block!important;padding:0 10px 22px!important;margin:0!important;font-size:15px;line-height:1.55;}
.vtc-info-banner .icon{display:none;}
.vtc-info-banner a{display:inline-block;color:#080806!important;text-decoration:none!important;font-weight:800;margin-top:8px;font-size:16px;}
.vtc-form-group{margin-bottom:18px;}
.vtc-label{color:#0b0907!important;text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:13px;margin-bottom:8px;}
.vtc-dot{display:none!important;}
.vtc-input,.vtc-select{background:var(--mvtc-panel)!important;color:#fff!important;border:2px solid transparent!important;border-radius:10px!important;min-height:50px;padding:14px 18px!important;font-size:16px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);}
.vtc-input::placeholder,.vtc-textarea::placeholder{color:#aaa6b8!important;}
.vtc-input:focus,.vtc-select:focus{border-color:#fff!important;box-shadow:0 0 0 4px rgba(255,255,255,.22)!important;outline:none!important;}
.vtc-select{background-image:linear-gradient(45deg,transparent 50%,#d59a20 50%),linear-gradient(135deg,#d59a20 50%,transparent 50%)!important;background-position:calc(100% - 18px) 22px,calc(100% - 12px) 22px!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important;}
.vtc-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.vtc-place-tabs{display:flex!important;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.vtc-place-pill{width:56px;height:56px;border-radius:11px;border:2px solid transparent;background:var(--mvtc-panel)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s ease;box-shadow:0 7px 18px rgba(0,0,0,.10);}
.vtc-place-pill.active{border-color:#fff!important;background:var(--mvtc-panel-2)!important;transform:translateY(-1px);}
.vtc-pill-ic{font-size:23px;line-height:1;}
.vtc-pill-tx{display:none;}
.vtc-calc-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:-4px;}
.vtc-btn-calculate,.vtc-btn{width:100%;background:var(--mvtc-panel)!important;color:#fff!important;border:0!important;border-radius:10px!important;min-height:52px;padding:14px 18px!important;font-weight:900!important;font-size:15px!important;letter-spacing:.02em;box-shadow:0 14px 28px rgba(23,23,45,.18);transition:.18s ease;}
.vtc-btn-calculate:hover,.vtc-btn:hover{background:#0f0f22!important;transform:translateY(-1px);}
.vtc-btn:disabled,.vtc-btn-calculate:disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important;}
.vtc-mini-note{font-size:12px;color:#18110a;text-align:center;font-weight:600;}
.vtc-return-toggle{display:flex!important;align-items:center;gap:10px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:13px 14px;margin:4px 0 18px;color:#0b0907;font-weight:700;cursor:pointer;}
.vtc-return-toggle input{width:18px;height:18px;accent-color:var(--mvtc-panel);}
#vtc-return-fields{display:none;margin-bottom:12px;}
#vtc-return-fields.show{display:block;}
.vtc-vehicles-section,.vtc-client-section{display:none;margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.32);}
.vtc-vehicles-section.show,.vtc-client-section.show{display:block;}
.vtc-vehicles-title{color:#0b0907!important;font-size:18px;font-weight:900;margin-bottom:14px;}
.vtc-distance-info{background:rgba(255,255,255,.20)!important;border:1px solid rgba(255,255,255,.32);border-radius:10px;padding:12px 14px;color:#0b0907;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-weight:800;}
.vtc-distance-info strong{color:var(--mvtc-panel)!important;font-size:18px;}
.vtc-vehicles-list{display:grid;gap:12px;}
.vtc-vehicle-card{background:rgba(23,23,45,.95)!important;color:#fff!important;border:2px solid transparent!important;border-radius:14px!important;padding:16px!important;box-shadow:0 14px 30px rgba(23,23,45,.16);}
.vtc-vehicle-card:hover,.vtc-vehicle-card.selected{border-color:#fff!important;transform:translateY(-1px);}
.vtc-vehicle-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.vtc-vehicle-name{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap;}
.vtc-vehicle-name .icon{font-size:22px!important;}
.vtc-vehicle-name .name{color:#fff!important;font-weight:900!important;font-size:16px!important;}
.vtc-vehicle-name .model{color:#cac6d4!important;font-size:12px!important;}
.vtc-vehicle-price .price{color:#f6c65d!important;font-size:22px!important;font-weight:900!important;}
.vtc-vehicle-price .label{color:#cfcbd8!important;font-size:12px!important;}
.vtc-vehicle-details,.vtc-tarif-info{color:#d8d5df!important;font-size:12px!important;}
.vtc-tarif-info{margin-top:8px;line-height:1.35;}
.vtc-summary{background:rgba(255,255,255,.20)!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:12px!important;padding:16px!important;color:#0b0907!important;margin-top:10px;}
.vtc-summary-title{font-weight:900;margin-bottom:10px;}
.vtc-summary-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed rgba(0,0,0,.18);}
.vtc-summary-row.total{border-bottom:0;font-size:18px;font-weight:900;}
.vtc-message{border-radius:10px;padding:12px 14px;margin-bottom:14px;font-weight:800;}
.vtc-message.error{background:#fff0f0;color:#8d1717;border:1px solid #ffb6b6;}
.vtc-message.success{background:#edfff4;color:#0f6a32;border:1px solid #9ce2b4;}
#vtc-success{background:rgba(255,255,255,.22);border-radius:14px;border:1px solid rgba(255,255,255,.30);}
@media (max-width:720px){.vtc-booking{max-width:100%;}.vtc-card{border-radius:16px!important;padding:22px 16px!important;}.vtc-info-banner{font-size:14px!important;padding-bottom:18px!important;}.vtc-form-row{grid-template-columns:1fr!important;gap:0;}.vtc-place-tabs{gap:8px;}.vtc-place-pill{width:52px;height:52px;}.vtc-input,.vtc-select{font-size:16px!important;min-height:52px;}.vtc-vehicle-header{align-items:flex-start;}.vtc-vehicle-price{text-align:right;min-width:88px;}.vtc-btn,.vtc-btn-calculate{position:relative;min-height:54px;}.vtc-summary-row.total{font-size:17px;}}


/* Distance Google API : message de calcul automatique */
.vtc-route-message {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  background: rgba(255,255,255,0.78);
  border: 1.5px solid rgba(255,255,255,0.65);
  color: #17162f;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}
.vtc-route-message.error {
  background: #fff5f5;
  border-color: #fecaca;
  color: #991b1b;
}
.vtc-route-message:not(.error) {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #14532d;
}
#vtc-manual-distance { display: none !important; }

/* v2.2.3 Final stable: urgence, téléphone, retour, anti-conflits */
.vtc-urgent-phone{display:inline-flex!important;color:#fff!important;background:#071833!important;min-width:220px!important;gap:10px!important;opacity:1!important;visibility:visible!important;font-size:17px!important;letter-spacing:.2px!important;}
.vtc-urgent-phone::after{content:'07 81 55 54 81';color:#fff!important;font-weight:900!important;display:inline!important;}
.vtc-urgent-phone{font-size:0!important;}
.vtc-urgent-phone::before{content:'📞';font-size:17px!important;color:#fff!important;display:inline!important;}
.vtc-urgent-whatsapp{display:inline-flex!important;color:#fff!important;background:#20c766!important;opacity:1!important;visibility:visible!important;}
.vtc-return-toggle{display:flex!important;align-items:center!important;gap:14px!important;background:#f8fbff!important;border:1px solid #dbe6f2!important;border-radius:18px!important;padding:16px 18px!important;margin:20px 0!important;color:#071833!important;font-weight:900!important;cursor:pointer!important;}
.vtc-return-toggle input{appearance:none!important;-webkit-appearance:none!important;width:48px!important;height:28px!important;border-radius:999px!important;border:1px solid #d7e1ee!important;background:#fff!important;position:relative!important;cursor:pointer!important;box-shadow:inset 0 1px 2px rgba(7,24,51,.06)!important;flex:0 0 auto!important;}
.vtc-return-toggle input:before{content:''!important;position:absolute!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#fff!important;border:1px solid #d7e1ee!important;top:2px!important;left:2px!important;box-shadow:0 2px 6px rgba(7,24,51,.16)!important;transition:.2s!important;}
.vtc-return-toggle input:checked{background:#071833!important;border-color:#071833!important;}
.vtc-return-toggle input:checked:before{left:22px!important;border-color:#fff!important;}
.vtc-btn-calculate[disabled]{background:#7e8797!important;cursor:not-allowed!important;}
.vtc-address-wrap{position:relative!important;}
