:root{--black:#0a0a0b;--charcoal:#141416;--red:#e30613;--white:#f7f7f5;--grey:#a6a6a8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif}h1,h2,h3,.brand{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0}h1{font-size:clamp(4rem,9vw,8.5rem);line-height:.83;letter-spacing:-.035em}h2{font-size:clamp(3rem,5vw,5.25rem);line-height:.88;letter-spacing:-.025em}h3{font-size:2rem;line-height:1}.eyebrow{color:#e9e9e9;font-size:.68rem;letter-spacing:.19em;font-weight:800;margin:0 0 1.2rem}.eyebrow:before{content:'// ';color:var(--red)}em{color:var(--red);font-style:normal}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #27272a;position:absolute;top:0;width:100%;z-index:3;background:linear-gradient(#050505cc,transparent)}.brand{display:flex;gap:8px;align-items:center;font-size:1.75rem;font-weight:800;text-decoration:none;color:white;letter-spacing:.03em}.brand b{color:var(--red)}.brand img{width:43px;height:43px;border-radius:50%;object-fit:cover}.topbar nav{display:flex;align-items:center;gap:2.2rem}.topbar nav a,footer a{color:#eee;text-decoration:none;font-size:.75rem;font-weight:700}.outline{background:transparent;border:1px solid #777;color:white;padding:.7rem 1rem;font:700 .7rem Manrope;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.menu-btn{display:none}.hero{min-height:780px;padding:190px 12vw 80px;position:relative;overflow:hidden;background:linear-gradient(90deg,#070708 25%,#07070890 60%,#07070800),url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=2200&q=85') center/cover}.hero:after{content:'';position:absolute;inset:auto -10% -100px 45%;height:270px;background:var(--red);filter:blur(130px);opacity:.18}.hero-content{max-width:780px;position:relative;z-index:1}.hero-copy{max-width:485px;line-height:1.7;color:#d3d3d4;margin:1.8rem 0 2.1rem;font-size:.94rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;background:var(--red);color:white;border:0;padding:1.1rem 1.4rem;font:bold .72rem Manrope;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;cursor:pointer}.button span{font-size:1.25rem;line-height:.6}.hero-stat{position:absolute;z-index:1;bottom:6rem;right:11vw;display:flex;gap:1rem;align-items:center;border-left:2px solid var(--red);padding-left:1rem}.hero-stat strong{font:800 4rem 'Barlow Condensed';color:var(--red)}.hero-stat span{font-size:.7rem;text-transform:uppercase;line-height:1.5;font-weight:bold}.quick-search{margin:-1px 7vw 0;padding:2rem 3.5vw;display:flex;justify-content:space-between;gap:2rem;background:#1c1c1f;border-top:2px solid var(--red);position:relative;z-index:1}.quick-search h2{font-size:2.2rem}.quick-search form{display:flex;align-items:center;gap:1rem}.quick-search label,.contact-form label,#addVehicleForm label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:bold;color:#b6b6b7;display:flex;flex-direction:column;gap:.5rem}.quick-search select{background:#28282b;color:white;border:1px solid #414145;padding:.85rem;width:150px;font:500 .75rem Manrope}.section{padding:8rem 7vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:2.8rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter{padding:.65rem .85rem;border:1px solid #3d3d40;background:transparent;color:#ccc;text-transform:uppercase;font:700 .64rem Manrope;cursor:pointer}.filter.active,.filter:hover{border-color:var(--red);background:var(--red);color:white}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.vehicle-card{background:#18181a;cursor:pointer;transition:transform .25s}.vehicle-card:hover{transform:translateY(-6px)}.vehicle-photo{height:230px;background-position:center;background-size:cover;position:relative}.status{position:absolute;top:14px;left:14px;color:white;background:var(--red);padding:.4rem .65rem;text-transform:uppercase;font:800 .58rem Manrope;letter-spacing:.08em}.status.vendu{background:#252528}.vehicle-info{padding:1.35rem}.vehicle-title{display:flex;justify-content:space-between;gap:1rem;align-items:start}.vehicle-title h3{font-size:1.7rem}.price{font:800 1.15rem 'Barlow Condensed';color:var(--red);white-space:nowrap}.specs{display:flex;gap:.75rem;margin-top:1rem;color:#aaa;font-size:.63rem;font-weight:700;text-transform:uppercase}.specs span+span:before{content:'•';padding-right:.75rem;color:var(--red)}.view-all{display:block;margin:3rem auto 0;background:transparent;border:0;color:white;text-transform:uppercase;font:800 .72rem Manrope;letter-spacing:.1em;cursor:pointer}.services{background:#e8e8e5;color:#101012}.services .eyebrow{color:#37373a}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid #b5b5b2}.service-grid article{padding:1.8rem 2.4rem 1rem 0;border-right:1px solid #b5b5b2;min-height:250px}.service-grid article+article{padding-left:2.4rem}.service-grid article:last-child{border:0}.service-grid span{color:var(--red);font:800 .75rem Manrope}.service-grid h3{margin:2.5rem 0 .8rem}.service-grid p,.garage-copy>p,.contact>div>p{color:#5e5e60;font-size:.83rem;line-height:1.8;max-width:460px}.text-button{border:0;background:none;padding:0;color:var(--red);font:bold .68rem Manrope;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-decoration:none}.service-grid .text-button{margin-top:1rem}.garage{display:grid;grid-template-columns:1fr 1fr;min-height:580px}.garage-image{background:url('https://images.unsplash.com/photo-1492144534655-ae79c964c9d7?auto=format&fit=crop&w=1200&q=85') center/cover}.garage-copy{padding:7vw}.values{display:grid;gap:1rem;margin-top:2rem;color:#ddd;font-size:.75rem;font-weight:700}.values span{border-bottom:1px solid #333;padding-bottom:1rem}.values span::first-letter{color:var(--red)}.contact{padding:8rem 12vw;display:grid;grid-template-columns:1.1fr .9fr;gap:8rem;background:linear-gradient(105deg,#18181a,#0b0b0c)}.contact-details{display:grid;gap:.65rem;margin-top:2.5rem}.contact-details a{color:white;font:700 1.15rem 'Barlow Condensed';text-decoration:none}.contact-details span{font-size:.72rem;color:#999;margin-top:.5rem}.contact-form{display:grid;gap:1.2rem}.contact-form input,.contact-form textarea,#addVehicleForm input,#addVehicleForm select{background:transparent;border:0;border-bottom:1px solid #555;color:white;padding:.7rem 0;font:500 .85rem Manrope;outline-color:var(--red)}textarea{resize:vertical;min-height:80px}.contact-form .button{justify-self:start;margin-top:.5rem}footer{padding:2.3rem 7vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #29292b;color:#888;font-size:.65rem}footer div{display:flex;gap:1.5rem}dialog{color:white;background:#1b1b1e;border:1px solid #3c3c40;max-width:min(940px,92vw);padding:0;box-shadow:0 20px 80px #000}dialog::backdrop{background:#000b}.close{position:absolute;right:12px;top:8px;z-index:3;background:#101012;color:white;border:0;width:35px;height:35px;font-size:1.7rem;cursor:pointer}.modal-vehicle{display:grid;grid-template-columns:1.15fr .85fr}.modal-vehicle .modal-image{min-height:400px;background-size:cover;background-position:center}.modal-details{padding:3rem}.modal-details h2{font-size:3.4rem}.modal-price{color:var(--red);font:800 2rem 'Barlow Condensed';margin:1.4rem 0}.modal-specs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid #444;padding-top:1.5rem;font-size:.75rem;color:#aaa}.modal-specs b{color:white;display:block;margin-top:.2rem}.form-modal{padding:3rem;min-width:min(570px,90vw)}.form-modal h2{font-size:3rem;margin-bottom:1.8rem}.form-modal form{display:grid;gap:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,90px);background:#e30613;color:white;padding:1rem 1.5rem;font-size:.75rem;font-weight:700;transition:.3s;z-index:10}#toast.show{transform:translate(-50%,0)}
@media(max-width:800px){.topbar{height:70px;padding:0 5vw}.topbar nav{display:none}.topbar nav.open{display:flex;position:absolute;flex-direction:column;align-items:stretch;gap:1rem;top:70px;left:0;right:0;background:#111;padding:1.5rem 5vw}.menu-btn{display:block;background:transparent;border:0;color:white;font-size:1.4rem}.hero{min-height:650px;padding:155px 7vw 60px;background-position:62% center}.hero-stat{bottom:2rem;right:7vw}.quick-search,.section-heading,.contact{display:block}.quick-search form{margin-top:1.5rem;flex-wrap:wrap}.quick-search select{width:135px}.section{padding:5rem 7vw}.filters{margin-top:1.5rem}.vehicle-grid{grid-template-columns:1fr}.vehicle-photo{height:250px}.service-grid,.garage{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:1.5rem 0;border-right:0;border-bottom:1px solid #b5b5b2;min-height:0}.garage-image{min-height:320px}.garage-copy{padding:5rem 7vw}.contact{padding:5rem 7vw}.contact-form{margin-top:3rem}footer{flex-direction:column;gap:1.2rem;text-align:center}.modal-vehicle{grid-template-columns:1fr}.modal-vehicle .modal-image{min-height:270px}.modal-details{padding:2rem}.form-modal{padding:2rem;min-width:0}.form-row{grid-template-columns:1fr}}


/* ===== ADMIN DASHBOARD ===== */
.admin-modal {
  width: min(1040px, 94vw);
  max-width: 1040px;
  max-height: 92vh;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding: 0;
  background: #101012;
  border: 1px solid #303034;
  border-radius: 18px;
}
.admin-modal::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.admin-modal > .close {
  position: sticky;
  float: right;
  top: 20px; right: 22px; z-index: 20;
  width: 38px; height: 38px;
  border: 1px solid #3b3b40; border-radius: 50%;
  background: #19191c; color: #fff;
  margin-bottom: -38px;
}
.admin-modal > .close:hover { background: var(--red); border-color: var(--red); }
.admin-heading {
  margin: 0; padding: 30px 64px 26px 34px;
  border-bottom: 1px solid #2b2b2f;
  background: linear-gradient(135deg,#18181b,#101012 70%);
}
.admin-heading h2 { font-size: clamp(2.5rem, 5vw, 4.2rem); margin: .25rem 0 0; }
.admin-heading .eyebrow { margin-bottom: 0; color: #a7a7aa; }
.logout {
  align-self: center; padding: .65rem .9rem;
  border: 1px solid #3b3b40; border-radius: 7px;
  text-decoration: none; color: #c7c7c9;
  transition: .2s;
}
.logout:hover { color:#fff; border-color:#666; background:#222225; }
.admin-modal > #addVehicleForm {
  margin: 0; padding: 26px 34px 30px;
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px;
  border-bottom: 1px solid #2b2b2f;
  background: #151517;
}
.admin-modal > #addVehicleForm > .form-row { display: contents; }
.admin-modal > #addVehicleForm > label,
.admin-modal > #addVehicleForm > .vehicle-details-fields { min-width: 0; }
.admin-modal > #addVehicleForm > label:nth-of-type(3),
.admin-modal > #addVehicleForm > .vehicle-details-fields,
.admin-modal > #addVehicleForm > .button { grid-column: 1 / -1; }
.admin-modal label { color:#aaa; }
.admin-modal input, .admin-modal select, .admin-modal textarea {
  width:100%; margin-top: 2px;
  background:#202023; color:#f5f5f5;
  border:1px solid #35353a; border-radius:7px;
  padding:.85rem .9rem;
  font:500 .78rem Manrope; outline:none;
  transition:border-color .2s, background .2s, box-shadow .2s;
}
.admin-modal input:focus, .admin-modal select:focus, .admin-modal textarea:focus {
  border-color: var(--red); background:#242427; box-shadow:0 0 0 3px rgba(227,6,19,.1);
}
.admin-modal textarea { min-height:105px; resize:vertical; }
.admin-modal .vehicle-details-fields { display:grid; gap:18px; }
.admin-modal .vehicle-details-fields fieldset {
  margin:0; padding:15px; border:1px solid #343438; border-radius:9px;
}
.admin-modal .vehicle-details-fields legend {
  padding:0 7px; color:#777; font:800 .62rem Manrope; text-transform:uppercase; letter-spacing:.12em;
}
.admin-modal .options-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.admin-modal .options-grid label {
  display:flex; flex-direction:row; align-items:center; gap:7px;
  padding:9px 10px; border:1px solid #303035; border-radius:6px;
  background:#1a1a1d; color:#bdbdc0; font-size:.65rem; text-transform:none; letter-spacing:0;
}
.admin-modal .options-grid input { width:auto; margin:0; accent-color:var(--red); }
.admin-modal #addVehicleForm small { color:#707075; margin-top:-10px; }
.admin-modal #addVehicleForm > .button { justify-self:start; margin-top:2px; }
.admin-list { margin:0; padding:28px 34px; border-top:0; border-bottom:1px solid #29292d; }
.admin-list .eyebrow { color:#777; margin-bottom:16px; }
.admin-vehicles-panel { background:#101012; }
.admin-vehicle {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px;
  padding:13px 0; border-bottom:1px solid #29292d;
}
.admin-vehicle:last-child { border-bottom:0; }
.admin-vehicle > div { font-size:.82rem; line-height:1.35; }
.admin-vehicle span { display:inline-block; margin-top:3px; color:#777; font-size:.68rem; }
.admin-vehicle-actions { display:flex; gap:8px; }
.edit-vehicle, .delete-vehicle { border-radius:6px; transition:.2s; }
.edit-vehicle { background:#e9e9eb; color:#111; }
.delete-vehicle { border-radius:6px; transition:.2s; }
.admin-garage-panel, .admin-services-panel { background:#151517; }
.admin-garage-panel form, .admin-services-panel form { display:grid; gap:16px; }
.admin-garage-panel .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.admin-services-panel form { grid-template-columns:1fr 1fr; }
.admin-services-panel form > *:nth-child(2),
.admin-services-panel form > *:nth-child(4) { grid-column:1 / -1; }
.admin-services-panel .button, .admin-garage-panel .button { justify-self:start; }
.admin-modal > .admin-list:last-child { border-bottom:0; }
@media (max-width:800px) {
  .admin-modal { width:94vw; max-height:94vh; border-radius:14px; }
  .admin-heading { padding:24px 58px 22px 22px; }
  .admin-heading h2 { font-size:2.5rem; }
  .admin-modal > #addVehicleForm, .admin-list { padding-left:22px; padding-right:22px; }
  .admin-modal > #addVehicleForm { grid-template-columns:1fr; }
  .admin-modal > #addVehicleForm > .form-row { display:grid; grid-template-columns:1fr; gap:18px; }
  .admin-modal > #addVehicleForm > label:nth-of-type(3), .admin-modal > #addVehicleForm > .vehicle-details-fields, .admin-modal > #addVehicleForm > .button { grid-column:auto; }
  .admin-modal .options-grid { grid-template-columns:1fr 1fr; }
  .admin-garage-panel .form-row, .admin-services-panel form { grid-template-columns:1fr; }
  .admin-services-panel form > * { grid-column:auto !important; }
}
@media (max-width:480px) {
  .admin-heading { display:block; }
  .logout { margin-top:16px; }
  .admin-modal .options-grid { grid-template-columns:1fr; }
  .admin-vehicle { grid-template-columns:1fr; }
  .admin-vehicle-actions { justify-self:start; }
}

/* Admin login */
.form-modal #loginForm label { font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:#b6b6b7; display:flex; flex-direction:column; gap:.5rem; }
.form-modal #loginForm input { background:transparent; border:0; border-bottom:1px solid #555; border-radius:0; color:white; padding:.7rem 0; font:500 .85rem Manrope; outline:none; }
.form-modal #loginForm input:focus { border-bottom-color:var(--red); box-shadow:none; background:transparent; }
.form-error { margin:0; color:#ff656c; font-size:.72rem; }

/* Contact simplifié et aperçu des photos */
.contact { display:block; }
.modal-vehicle .modal-image { cursor:zoom-in; }
.photo-modal { background:#09090a; border:0; max-width:96vw; max-height:96vh; }
.photo-modal img { display:block; max-width:92vw; max-height:90vh; object-fit:contain; }
