.vehicle-page { background:var(--cream); }
.vehicle-main { min-height:calc(100vh - 92px); padding:56px 0 88px; }
.vehicle-shell { margin:0 auto; max-width:1160px; width:calc(100% - 48px); }
.vehicle-intro { margin:0 auto 34px; max-width:760px; text-align:center; }
.vehicle-intro h1 { font-family:'Manrope',sans-serif; font-size:clamp(36px,5vw,58px); letter-spacing:-.06em; line-height:1; margin-bottom:16px; }
.vehicle-intro p { color:var(--muted); margin:0; }
.enquiry-note { color:var(--muted); margin:-12px auto 24px; max-width:720px; text-align:center; }
.trip-panel { background:#fff; border-radius:5px; box-shadow:0 16px 42px rgba(16,43,66,.1); padding:28px; }
.trip-grid { display:grid; gap:16px; grid-template-columns:repeat(5,1fr); }
.vehicle-field label,.admin-field label { color:var(--ink); display:block; font-size:12px; font-weight:700; margin-bottom:7px; }
.vehicle-field input,.vehicle-field select,.admin-field input,.admin-field select { background:#fff; border:1px solid #b9c8cf; border-radius:3px; color:var(--ink); font:inherit; min-height:46px; padding:10px 12px; width:100%; }
.vehicle-field input:focus,.vehicle-field select:focus,.admin-field input:focus,.admin-field select:focus { border-color:var(--orange); outline:2px solid #ff713c33; }
.vehicle-submit { align-self:end; background:var(--orange); border:0; border-radius:3px; color:#fff; cursor:pointer; font:700 15px 'DM Sans',sans-serif; min-height:46px; padding:10px 18px; }
.vehicle-submit:hover { background:#e85f2e; }
.vehicle-notice { color:#b13a2d; font-size:14px; margin:16px 0 0; }
.results-toolbar { align-items:center; display:flex; gap:18px; justify-content:space-between; margin:42px 0 22px; }
.results-toolbar h2 { font-family:'Manrope',sans-serif; font-size:28px; letter-spacing:-.05em; margin:0; }
.filter-panel { background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 10px 30px rgba(16,43,66,.07); display:grid; gap:18px; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:14px; padding:24px; }
.filter-panel .vehicle-field { min-width:0; }
.clear-filters { align-self:end; background:#fff4ef; border:1px solid #ffd5c7; border-radius:5px; color:#bf4a2d; cursor:pointer; font:700 14px 'DM Sans',sans-serif; min-height:46px; padding:10px 16px; text-align:center; white-space:nowrap; }
.clear-filters:hover { background:#ffe9e0; }
.filter-actions { align-items:center; display:flex; gap:12px; justify-content:flex-end; margin-bottom:30px; }
.filter-actions .vehicle-submit { min-width:140px; width:auto; }
.vehicle-results { display:grid; gap:20px; }
.vehicle-card { background:#fff; border-radius:5px; box-shadow:0 12px 32px rgba(16,43,66,.09); display:grid; grid-template-columns:minmax(280px,1fr) 1fr; overflow:hidden; }
.vehicle-photo { align-items:center; background:#f5f5f5; display:flex; justify-content:center; min-height:300px; padding:24px; }
.vehicle-photo img { display:block; height:auto; max-height:290px; max-width:100%; object-fit:contain; }
.vehicle-card-body { padding:30px 34px; }
.vehicle-card h3 { font-family:'Manrope',sans-serif; font-size:27px; letter-spacing:-.05em; margin-bottom:22px; }
.vehicle-specs { display:grid; gap:18px 20px; grid-template-columns:repeat(2,1fr); margin:0 0 28px; }
.vehicle-spec { align-items:center; display:flex; gap:10px; min-width:0; }
.vehicle-spec svg { color:#505050; flex:0 0 auto; height:25px; width:25px; }
.vehicle-spec span { color:#4e4e4e; font-size:15px; }
.vehicle-cta { background:#2878bd; border:0; border-radius:2px; color:#fff; cursor:pointer; display:inline-flex; font:700 15px 'DM Sans',sans-serif; justify-content:center; padding:14px 20px; }
.vehicle-cta:hover { background:#1e659f; }
.no-results { background:#fff; color:var(--muted); padding:30px; text-align:center; }
.admin-grid { display:grid; gap:18px 22px; grid-template-columns:repeat(2,1fr); }
.admin-field.full { grid-column:1/-1; }
.admin-field.checkbox { align-items:center; display:flex; gap:10px; padding-top:26px; }
.admin-field.checkbox input { min-height:0; width:auto; }
.admin-actions { align-items:center; display:flex; gap:16px; justify-content:space-between; margin-top:24px; }
.admin-table { background:#fff; border-collapse:collapse; margin-top:28px; width:100%; }
.admin-table th,.admin-table td { border-bottom:1px solid var(--line); padding:14px; text-align:left; }
.admin-table th { color:var(--muted); font-size:12px; text-transform:uppercase; }
.admin-delete { background:none; border:0; color:#b13a2d; cursor:pointer; font-weight:700; }
.login-panel { margin:0 auto; max-width:480px; }
@media (max-width:900px) { .trip-grid { grid-template-columns:repeat(2,1fr); }.filter-panel { grid-template-columns:repeat(2,1fr); }.vehicle-card { grid-template-columns:1fr; } }
@media (max-width:600px) { .vehicle-main { padding-top:36px; }.vehicle-shell { width:calc(100% - 32px); }.trip-panel { padding:20px; }.trip-grid,.filter-panel,.admin-grid { grid-template-columns:1fr; }.vehicle-submit { width:100%; }.results-toolbar { align-items:flex-start; flex-direction:column; }.vehicle-card-body { padding:24px; }.vehicle-specs { grid-template-columns:1fr; }.admin-field.checkbox { padding-top:0; } }
