.booking{padding:2rem 0 4rem;background:var(--color-gray-50);min-height:100vh}.booking h2,.booking h3,.booking h4{font-family:var(--font-sans)}.booking__header{text-align:center;margin-bottom:4rem;margin-top:2rem}.booking__header h1{margin-bottom:1rem}.booking__steps{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.booking__step{display:flex;align-items:center;gap:.5rem;color:var(--color-gray-400);font-weight:500}.booking__step span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-gray-200);border-radius:50%;font-size:.875rem}.booking__step--active{color:var(--color-primary)}.booking__step--active span{background:var(--color-primary);color:white}.booking__step--done{color:var(--color-emerald)}.booking__step--done span{background:var(--color-emerald);color:white}.booking__content{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}.booking__main{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.booking__section{padding:2rem}.booking__section h2{margin-bottom:1.5rem;font-size:1.25rem}.booking__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.booking__field{display:flex;flex-direction:column}.booking__field--full{grid-column:span 2}.booking__field-label{font-size:.875rem;font-weight:600;color:var(--color-gray-700);margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem}.booking__field-hint{font-size:.75rem;color:var(--color-gray-400);margin-top:.25rem}.booking__field input,.booking__field select,.booking__field textarea{padding:.75rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:1rem;background-color:white;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:auto}.booking__field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem;cursor:pointer}.booking__field input:focus,.booking__field select:focus,.booking__field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(26,54,93,.1)}.booking__addons-title{font-size:1rem;margin:1.5rem 0 1rem;font-weight:600}.booking__addon-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:1.25rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:.75rem;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.booking__addon-toggle:hover{border-color:var(--color-primary)}.booking__addon-toggle--active{border-color:var(--color-emerald);background:rgba(16,185,129,.04)}.booking__addon-toggle input[type=checkbox]{width:1.25rem;height:1.25rem;margin-top:.125rem;accent-color:var(--color-emerald);flex-shrink:0}.booking__addon-toggle-info{flex:1}.booking__addon-toggle-name{font-weight:600;font-size:1rem;color:var(--color-gray-800);display:flex;align-items:center;gap:.5rem}.booking__addon-toggle-desc{font-size:.8125rem;color:var(--color-gray-500);line-height:1.5;margin-top:.25rem}.booking__child-seat{display:flex;align-items:center;gap:.75rem;padding:1.25rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:1rem}.booking__child-seat-label{font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.5rem}.booking__child-seat input[type=number]{width:80px;padding:.5rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:1rem;text-align:center}.booking__buttons{display:flex;gap:1rem;margin-top:1.5rem}.booking__form-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.booking__terms{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.9375rem;cursor:pointer}.booking__terms input{width:1.125rem;height:1.125rem;accent-color:var(--color-primary)}.booking__terms a{color:var(--color-primary);font-weight:600;text-decoration:none}.booking__payment-options{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.booking__payment-select{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;background:var(--color-gray-100);color:var(--color-gray-700);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%23444' d='M5 7L0 2h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding:.75rem 2rem .75rem 1.25rem}.booking__payment-select--currency{background:var(--color-navy-dark);color:white;border-color:var(--color-navy-dark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%23fff' d='M5 7L0 2h10z'/%3E%3C/svg%3E")}.booking__pay-btn{flex:1;padding:.875rem 2rem;background:var(--color-navy);color:white;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;transition:background var(--transition-base)}.booking__pay-btn:hover:not(:disabled){background:var(--color-navy-dark)}.booking__pay-btn:disabled{opacity:.5;cursor:not-allowed}.booking__sidebar{position:sticky;top:7rem}.booking__summary{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);background:white}.booking__summary-header{background:var(--color-navy);color:white;padding:.875rem 1.25rem;font-weight:700;font-size:.9375rem}.booking__summary-image{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover}.booking__summary-image-placeholder{width:100%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gray-100),var(--color-gray-200));color:var(--color-gray-400)}.booking__summary-car{padding:1.25rem;text-align:center;border-bottom:1px solid var(--color-gray-100)}.booking__summary-car h3{font-size:1.125rem;font-weight:700;color:var(--color-gray-800);margin-bottom:.125rem}.booking__summary-car .deductible{color:var(--color-gray-600);font-size:.875rem}.booking__summary-car .category{color:var(--color-gray-400);font-size:.8125rem;margin-top:.25rem}.booking__summary-section{padding:1rem 1.25rem;border-bottom:1px solid var(--color-gray-100)}.booking__summary-section h4{font-weight:700;font-size:.875rem;color:var(--color-gray-800);margin-bottom:.25rem}.booking__summary-section .date{color:var(--color-gray-500);font-size:.8125rem}.booking__summary-section .loc-label{font-weight:600;font-size:.75rem;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.04em;margin-top:.375rem}.booking__summary-section .loc-value{font-size:.875rem;color:var(--color-gray-600)}.booking__summary-pricing{padding:1.25rem}.booking__summary-pricing .row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-gray-600);margin-bottom:.375rem}.booking__summary-pricing .row.label{color:var(--color-primary);font-weight:600;margin-top:.5rem}.booking__summary-pricing .formula{font-size:.8125rem;color:var(--color-primary);margin-top:.75rem}.booking__summary-pricing .total{font-size:1.75rem;font-weight:800;color:#e67e22;margin-top:.25rem}@media (max-width:900px){.booking__content{grid-template-columns:1fr}.booking__sidebar{position:static}}@media (max-width:600px){.booking__form-grid{grid-template-columns:1fr}.booking__field--full{grid-column:auto}.booking__payment-options{flex-direction:column}.booking__pay-btn{width:100%}}