.cml-vtt-booking-wrapper{--cml-vtt-primary:#042C53;--cml-vtt-primary-dark:#021c38;--cml-vtt-primary-light:#1a4a7f;--cml-vtt-accent:#FAC775;--cml-vtt-accent-dark:#e8b25c;--cml-vtt-text:#1a1a1a;--cml-vtt-muted:#6b6b6b;--cml-vtt-bg:#ffffff;--cml-vtt-bg-alt:#f8f9fa;--cml-vtt-bg-soft:#fafbfc;--cml-vtt-border:#e0e4e8;--cml-vtt-success:#2e7d32;--cml-vtt-danger:#c62828;--cml-vtt-warning:#ed6c02;--cml-vtt-radius:8px;--cml-vtt-radius-lg:12px;--cml-vtt-shadow-sm:0 1px 3px rgba(4, 44, 83, 0.06);--cml-vtt-shadow:0 4px 12px rgba(4, 44, 83, 0.08);--cml-vtt-shadow-lg:0 10px 30px rgba(4, 44, 83, 0.12);--cml-vtt-font-heading:'Playfair Display', Georgia, serif;--cml-vtt-font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--cml-vtt-transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);font-family:var(--cml-vtt-font-body);color:var(--cml-vtt-text);max-width:960px;margin:0 auto;padding:30px 20px;position:relative;box-sizing:border-box}.cml-vtt-booking-wrapper *,.cml-vtt-booking-wrapper *::before,.cml-vtt-booking-wrapper *::after{box-sizing:border-box}.cml-vtt-title{font-family:var(--cml-vtt-font-heading);color:var(--cml-vtt-primary);text-align:center;margin:0 0 30px;font-size:32px;font-weight:700}.cml-vtt-stepper{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;position:relative;padding:0 20px}.cml-vtt-stepper::before{content:'';position:absolute;top:22px;left:40px;right:40px;height:2px;background:var(--cml-vtt-border);z-index:1}.cml-vtt-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;flex:1}.cml-vtt-step-num{width:44px;height:44px;border-radius:50%;background:var(--cml-vtt-bg);border:2px solid var(--cml-vtt-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:var(--cml-vtt-muted);transition:all var(--cml-vtt-transition);margin-bottom:8px}.cml-vtt-step-active .cml-vtt-step-num{background:var(--cml-vtt-primary);border-color:var(--cml-vtt-primary);color:#fff;box-shadow:0 0 0 6px rgb(4 44 83 / .1)}.cml-vtt-step-done .cml-vtt-step-num{background:var(--cml-vtt-accent);border-color:var(--cml-vtt-accent);color:var(--cml-vtt-primary);font-size:0}.cml-vtt-step-done .cml-vtt-step-num::after{content:'✓';font-size:20px}.cml-vtt-step-label{font-size:12px;color:var(--cml-vtt-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.cml-vtt-step-active .cml-vtt-step-label,.cml-vtt-step-done .cml-vtt-step-label{color:var(--cml-vtt-primary);font-weight:600}.cml-vtt-step-content{display:none;background:var(--cml-vtt-bg);border-radius:var(--cml-vtt-radius-lg);padding:30px;box-shadow:var(--cml-vtt-shadow);animation:cml-vtt-fade-in 0.4s ease}.cml-vtt-step-content-active{display:block}@keyframes cml-vtt-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cml-vtt-step-title{font-family:var(--cml-vtt-font-heading);color:var(--cml-vtt-primary);font-size:26px;margin:0 0 10px;font-weight:700}.cml-vtt-step-desc{color:var(--cml-vtt-muted);margin-bottom:25px;font-size:15px}.cml-vtt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}@media (max-width:600px){.cml-vtt-form-row{grid-template-columns:1fr}}.cml-vtt-form-field{display:flex;flex-direction:column}.cml-vtt-form-field label{font-size:14px;font-weight:600;color:var(--cml-vtt-primary);margin-bottom:8px}.cml-vtt-form-field input[type="text"],.cml-vtt-form-field input[type="email"],.cml-vtt-form-field input[type="tel"],.cml-vtt-form-field input[type="number"],.cml-vtt-form-field select,.cml-vtt-form-field textarea{padding:12px 14px;border:1.5px solid var(--cml-vtt-border);border-radius:var(--cml-vtt-radius);font-size:15px;font-family:inherit;color:var(--cml-vtt-text);background:var(--cml-vtt-bg);transition:border-color var(--cml-vtt-transition),box-shadow var(--cml-vtt-transition);width:100%}.cml-vtt-form-field input:focus,.cml-vtt-form-field select:focus,.cml-vtt-form-field textarea:focus{outline:none;border-color:var(--cml-vtt-accent);box-shadow:0 0 0 3px rgb(250 199 117 / .2)}.cml-vtt-form-field input[readonly]{background:var(--cml-vtt-bg-soft);cursor:pointer}.cml-vtt-btn{padding:13px 28px;border-radius:var(--cml-vtt-radius);font-size:15px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:all var(--cml-vtt-transition);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.cml-vtt-btn-primary{background:var(--cml-vtt-primary);color:#fff}.cml-vtt-btn-primary:hover{background:var(--cml-vtt-primary-dark);transform:translateY(-1px);box-shadow:var(--cml-vtt-shadow)}.cml-vtt-btn-secondary{background:#fff0;color:var(--cml-vtt-primary);border:1.5px solid var(--cml-vtt-border)}.cml-vtt-btn-secondary:hover{border-color:var(--cml-vtt-primary);background:var(--cml-vtt-bg-soft)}.cml-vtt-btn-large{padding:16px 36px;font-size:16px}.cml-vtt-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cml-vtt-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:25px;border-top:1px solid var(--cml-vtt-border)}.cml-vtt-period-summary{background:var(--cml-vtt-bg-soft);padding:12px 16px;border-radius:var(--cml-vtt-radius);border-left:3px solid var(--cml-vtt-accent);font-size:14px}.cml-vtt-bikes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-bottom:20px}.cml-vtt-bike-card{background:var(--cml-vtt-bg);border:2px solid var(--cml-vtt-border);border-radius:var(--cml-vtt-radius);overflow:hidden;cursor:pointer;transition:all var(--cml-vtt-transition);position:relative;display:flex;flex-direction:column}.cml-vtt-bike-card:hover{border-color:var(--cml-vtt-accent);transform:translateY(-2px);box-shadow:var(--cml-vtt-shadow)}.cml-vtt-bike-card.cml-vtt-bike-selected{border-color:var(--cml-vtt-primary);box-shadow:0 0 0 3px rgb(4 44 83 / .1),var(--cml-vtt-shadow)}.cml-vtt-bike-card.cml-vtt-bike-selected::after{content:'✓';position:absolute;top:12px;right:12px;background:var(--cml-vtt-primary);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;z-index:2}.cml-vtt-bike-photo{width:100%;height:180px;object-fit:cover;background:var(--cml-vtt-bg-soft);display:block}.cml-vtt-bike-body{padding:16px;flex:1;display:flex;flex-direction:column}.cml-vtt-bike-type{display:inline-block;background:var(--cml-vtt-accent);color:var(--cml-vtt-primary);font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;align-self:flex-start}.cml-vtt-bike-name{font-family:var(--cml-vtt-font-heading);color:var(--cml-vtt-primary);font-size:17px;font-weight:700;margin:0 0 4px;line-height:1.3}.cml-vtt-bike-meta{font-size:13px;color:var(--cml-vtt-muted);margin-bottom:12px}.cml-vtt-bike-price{margin-top:auto;padding-top:12px;border-top:1px solid var(--cml-vtt-border);font-family:var(--cml-vtt-font-heading);font-size:20px;font-weight:700;color:var(--cml-vtt-primary)}.cml-vtt-summary{background:var(--cml-vtt-bg-soft);border-radius:var(--cml-vtt-radius);padding:20px;margin-bottom:25px}.cml-vtt-summary-section{margin-bottom:20px}.cml-vtt-summary-section:last-child{margin-bottom:0}.cml-vtt-summary-section h4{font-family:var(--cml-vtt-font-heading);color:var(--cml-vtt-primary);margin:0 0 10px;font-size:16px;border-bottom:2px solid var(--cml-vtt-accent);padding-bottom:6px;display:inline-block}.cml-vtt-summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--cml-vtt-border)}.cml-vtt-summary-item:last-child{border-bottom:none}.cml-vtt-summary-item-name{color:var(--cml-vtt-text)}.cml-vtt-summary-item-meta{display:block;font-size:12px;color:var(--cml-vtt-muted);margin-top:2px}.cml-vtt-summary-item-price{color:var(--cml-vtt-primary);font-weight:600}.cml-vtt-summary-totals{margin-top:15px;padding-top:15px;border-top:2px solid var(--cml-vtt-border)}.cml-vtt-summary-total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:15px}.cml-vtt-summary-total-row.cml-vtt-grand-total{font-family:var(--cml-vtt-font-heading);font-size:22px;font-weight:700;color:var(--cml-vtt-primary);border-top:1px solid var(--cml-vtt-border);padding-top:10px;margin-top:8px}.cml-vtt-summary-total-row.cml-vtt-discount{color:var(--cml-vtt-success)}.cml-vtt-summary-total-row.cml-vtt-deposit-note{color:var(--cml-vtt-muted);font-size:13px;font-style:italic}.cml-vtt-payment-choice{margin:25px 0}.cml-vtt-payment-choice h4{font-family:var(--cml-vtt-font-heading);color:var(--cml-vtt-primary);margin:0 0 15px}.cml-vtt-radio-card{display:flex;align-items:flex-start;padding:16px;border:2px solid var(--cml-vtt-border);border-radius:var(--cml-vtt-radius);margin-bottom:10px;cursor:pointer;transition:all var(--cml-vtt-transition);gap:12px}.cml-vtt-radio-card:hover{border-color:var(--cml-vtt-accent);background:var(--cml-vtt-bg-soft)}.cml-vtt-radio-card input[type="radio"]{margin-top:3px}.cml-vtt-radio-card.cml-vtt-selected{border-color:var(--cml-vtt-primary);background:rgb(4 44 83 / .03)}.cml-vtt-radio-label{flex:1;display:flex;flex-direction:column;gap:4px}.cml-vtt-radio-amount{color:var(--cml-vtt-primary);font-family:var(--cml-vtt-font-heading);font-size:20px;font-weight:700}.cml-vtt-radio-label small{color:var(--cml-vtt-muted);font-size:13px}.cml-vtt-gdpr{margin:20px 0;padding:15px;background:var(--cml-vtt-bg-soft);border-radius:var(--cml-vtt-radius)}.cml-vtt-gdpr label{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer}.cml-vtt-gdpr input[type="checkbox"]{margin-top:3px;flex-shrink:0}.cml-vtt-gdpr a{color:var(--cml-vtt-primary);text-decoration:underline}.cml-vtt-errors{margin:15px 0}.cml-vtt-errors:empty{display:none}.cml-vtt-error-msg{background:#fef2f2;border-left:3px solid var(--cml-vtt-danger);color:var(--cml-vtt-danger);padding:10px 14px;border-radius:var(--cml-vtt-radius);margin-bottom:8px;font-size:14px}.cml-vtt-loader{position:absolute;inset:0;background:rgb(255 255 255 / .92);border-radius:var(--cml-vtt-radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(2px)}.cml-vtt-spinner{width:48px;height:48px;border:4px solid var(--cml-vtt-bg-soft);border-top-color:var(--cml-vtt-primary);border-radius:50%;animation:cml-vtt-spin 0.8s linear infinite;margin-bottom:12px}@keyframes cml-vtt-spin{to{transform:rotate(360deg)}}.cml-vtt-loader p{color:var(--cml-vtt-primary);font-weight:500}.cml-vtt-step-success{text-align:center;padding:50px 30px}.cml-vtt-success-icon{width:80px;height:80px;background:var(--cml-vtt-success);color:#fff;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;box-shadow:0 0 0 8px rgb(46 125 50 / .15)}.cml-vtt-success-ref{font-size:18px;margin:15px 0}.cml-vtt-success-ref strong{color:var(--cml-vtt-primary);font-family:var(--cml-vtt-font-heading);font-size:24px;letter-spacing:1px}.cml-vtt-success-msg{color:var(--cml-vtt-muted);font-size:15px;max-width:480px;margin:0 auto}.flatpickr-calendar.cml-vtt-flatpickr{box-shadow:var(--cml-vtt-shadow-lg);border-radius:var(--cml-vtt-radius);font-family:var(--cml-vtt-font-body)}.cml-vtt-flatpickr .flatpickr-day.selected,.cml-vtt-flatpickr .flatpickr-day.startRange,.cml-vtt-flatpickr .flatpickr-day.endRange{background:var(--cml-vtt-primary);border-color:var(--cml-vtt-primary)}.cml-vtt-flatpickr .flatpickr-day.inRange{background:rgb(4 44 83 / .1);border-color:rgb(4 44 83 / .1);box-shadow:-5px 0 0 rgb(4 44 83 / .1),5px 0 0 rgb(4 44 83 / .1)}.cml-vtt-flatpickr .flatpickr-day.today{border-color:var(--cml-vtt-accent)}@media (max-width:600px){.cml-vtt-booking-wrapper{padding:15px 10px}.cml-vtt-step-content{padding:20px 16px}.cml-vtt-stepper{padding:0}.cml-vtt-step-num{width:36px;height:36px;font-size:15px}.cml-vtt-step-label{font-size:10px}.cml-vtt-stepper::before{top:18px}.cml-vtt-step-title{font-size:20px}.cml-vtt-title{font-size:24px}.cml-vtt-step-actions{flex-direction:column-reverse}.cml-vtt-step-actions .cml-vtt-btn{width:100%}}.cml-vtt-duration-choice{margin:14px 0}.cml-vtt-duration-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.cml-vtt-duration-opt{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgb(4 44 83 / .20);border-radius:9px;cursor:pointer;font-size:14px;background:#fff;transition:border-color .15s,box-shadow .15s}.cml-vtt-duration-opt:has(input:checked){border-color:#d99a2b;box-shadow:0 0 0 2px rgb(217 154 43 / .18)}.cml-vtt-duration-opt input{margin:0}