:root{--bg:#120d0f;--panel:#211719;--panel2:#2b1c1e;--red:#b92e33;--red2:#f05a5e;--cream:#fff9f4;--muted:#c1aaab;--border:#513137}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.55 system-ui,-apple-system,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 42px));margin:auto}.top{position:sticky;top:0;z-index:10;background:#130c0df2;border-bottom:1px solid #5b292e;backdrop-filter:blur(10px)}.nav{min-height:78px;display:flex;align-items:center;gap:24px;justify-content:space-between}.logo{font-size:26px;letter-spacing:-1px;font-weight:1000;font-style:italic;white-space:nowrap}.logo span{color:var(--red2)}.logo small{font-size:12px;letter-spacing:2px;display:block;margin-top:-10px;font-style:normal}.nav nav{display:flex;gap:17px;flex-wrap:wrap}.nav nav a{font-size:13px;font-weight:750;color:#e8d9d9}.nav nav a:hover{color:var(--red2)}.steam{display:inline-flex;align-items:center;background:#2b6890;border:1px solid #65a6c9;border-radius:7px;padding:10px 13px;font-size:13px;font-weight:850;white-space:nowrap}.steam:hover{background:#397ca8}.account{font-size:12px}.userbox{display:flex;gap:8px;align-items:center}.userbox img{width:34px;height:34px;border-radius:50%;object-fit:cover}.mini{background:transparent;border:1px solid #a35b5d;color:white;border-radius:5px;padding:6px 9px;font-size:12px}.hero{background:radial-gradient(ellipse at 80% 20%,#752025 0%,#3e161a 36%,#130d0f 74%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.25fr .72fr;gap:64px;align-items:center;padding:74px 0 80px}.eyebrow{font-weight:950;font-size:12px;letter-spacing:3px;color:#f57979;margin-bottom:16px}.hero h1,h2{font-weight:1000;font-style:italic;letter-spacing:-2px;line-height:1.06}.hero h1{font-size:clamp(42px,6.4vw,83px);margin:0 0 24px;text-shadow:5px 5px 0 #0e0809}.hero h1 em{font-style:inherit;color:#ff686e}.hero p{max-width:570px;color:#e6cece;font-size:19px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{border:1px solid #f37578;background:var(--red);border-radius:7px;color:#fff;font-weight:950;padding:12px 19px;display:inline-block;text-align:center}.btn:hover{background:#d83e44}.btn.outline{background:transparent;border-color:#aa7274}.btn.outline:hover{background:#4e262a}.btn:disabled{opacity:.5;cursor:not-allowed}.hero-meta{display:flex;gap:17px;flex-wrap:wrap;margin-top:35px;color:#e6c6c7;font-size:12px;font-weight:700}.poster{justify-self:center;width:min(100%,320px);transform:rotate(2deg);border:6px solid #160b0d;box-shadow:0 25px 70px #0009}.poster img{display:block;width:100%}.checkers{height:20px;background:repeating-conic-gradient(#f7eded 0 25%,#1b1011 0 50%) 0 0/24px 24px}.section{padding:76px 0 24px;scroll-margin-top:100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.section-head p{color:var(--muted)}h2{font-size:clamp(31px,4vw,47px);margin:0 0 25px}h2 span{color:#ef666b}h3{font-size:19px;margin:0 0 18px}.muted{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.service{background:linear-gradient(155deg,#302023,#1e1517);border:1px solid var(--border);border-top:4px solid var(--red);border-radius:10px;padding:22px;display:flex;flex-direction:column;min-height:225px}.service .number{font-size:12px;letter-spacing:2px;color:#bba3a4;font-weight:800}.service h3{margin:13px 0 8px;flex:1}.service .price{font-size:30px;font-weight:1000;color:#ff7679}.service p{font-size:13px;color:var(--muted);margin:3px 0 13px}.service a{font-size:13px;font-weight:900;color:#f87a7f}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:25px;margin-bottom:20px}.booking{max-width:850px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}label{display:block;font-weight:800;font-size:13px;margin-bottom:16px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;background:#120d0f;border:1px solid #775056;border-radius:6px;color:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:#f07377;box-shadow:0 0 0 2px #a62d3338}.info{border-left:3px solid #f36a70;background:#392427;padding:12px 14px;margin:8px 0 18px;font-size:13px;color:#eed4d4}.entry{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:15px;margin:10px 0}.entry strong{font-size:16px}.entry small{display:block;color:var(--muted);font-size:12px}.entry .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.entry select,.entry input{width:auto;min-width:120px;margin:0}.tag{display:inline-block;background:#683138;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:900;margin-left:6px}.needlogin{background:#2d2022;border:1px dashed #7e5356;padding:15px;border-radius:7px;color:#d4b8b9;margin-bottom:15px}.hidden{display:none!important}footer{margin-top:90px;background:#1c1214;border-top:3px solid #6d252b;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;color:#bfa5a5;font-size:12px}.footer-inner .logo{color:white}.toast{position:fixed;bottom:25px;right:25px;z-index:30;max-width:min(450px,calc(100% - 30px));background:#26442f;border:1px solid #79c78a;color:white;padding:14px 18px;border-radius:8px;box-shadow:0 12px 50px #0009;display:none}.toast.error{background:#682b30;border-color:#e76d73}.toast.show{display:block}@media(max-width:900px){.nav{flex-wrap:wrap;padding:15px 0}.nav nav{order:3;width:100%;justify-content:center}.hero-grid{grid-template-columns:1fr .55fr;gap:22px}.hero h1{font-size:clamp(40px,6vw,65px)}}@media(max-width:650px){.hero-grid{grid-template-columns:1fr;padding:50px 0}.poster{width:240px}.two,.formgrid{grid-template-columns:1fr}.section-head,.footer-inner{display:block}.nav{justify-content:center}.nav nav{gap:12px}.nav nav a{font-size:12px}.section{padding-top:55px}.entry{align-items:start}}

/* Identité PIT STOP V2 */
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:#fff;white-space:nowrap;font-size:clamp(16px,1.8vw,24px);font-weight:950;font-style:italic;letter-spacing:.5px}.brand span,.hero-identity h2 span{color:#ff626b}.brand img{height:74px;width:84px;object-fit:contain;flex-shrink:0}.hero-identity{text-align:center;align-self:center;padding:28px 12px}.hero-identity img{display:block;max-width:min(100%,310px);max-height:330px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 12px 18px #0009)}.hero-identity h2{font-size:clamp(25px,3vw,42px);margin:12px 0 0;font-style:italic;color:#fff}.hero-identity p{color:#e9c5c7}.opening-indicator{display:inline-block;border:1px solid #e34c58;padding:10px 18px;border-radius:10px;font-weight:800;background:#1c1114;color:#fff}.opening-indicator.open{border-color:#47ba7a;color:#86edaa}.opening-indicator.closed{border-color:#ff626b;color:#ff858b}.booking.is-closed form{opacity:.6}.booking.is-closed button[type=submit]{pointer-events:none;opacity:.5}@media(max-width:800px){.brand img{height:56px;width:60px}.brand{font-size:16px}.hero-identity img{max-width:220px}.hero-identity{padding:12px}}

/* V5 : partenaire et tarifs */
.partner{padding:28px 0}.partner-link{display:flex;align-items:center;gap:22px;background:#f7f7f7;color:#1d3155;padding:18px 26px;border-radius:14px;border:2px solid #d7dce5;max-width:760px;margin:auto}.partner-link img{width:155px;max-height:90px;object-fit:contain}.partner-link strong{display:block;font-size:21px}.partner-link small{display:block;font-size:13px;color:#596478}.tariff-switch{max-width:390px;margin:18px 0}.service .price small{font-size:12px;color:#e9c9ca}.tariff-editor{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.tariff-editor label{width:145px;margin:0}.tariff-editor input{min-width:0;width:100%}.tariff-editor button{margin-bottom:3px}@media(max-width:650px){.partner-link{flex-direction:column;text-align:center}.partner-link img{width:180px}}

/* Paiement USB Pay intégré */
.usbpay-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.usbpay-modal.hidden{display:none}
.usbpay-window{background:#241619;border:1px solid #a44751;border-radius:14px;width:min(100%,760px);height:min(90vh,850px);display:flex;flex-direction:column;padding:18px;color:#fff}
.usbpay-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.usbpay-window iframe{width:100%;flex:1;min-height:350px;border:0;background:#fff;border-radius:8px}

/* Parcours guidé client */
.quickstart{padding-top:44px}.quicksteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.quickstep{display:flex;flex-direction:column;gap:12px;min-height:235px;padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:12px;transition:border-color .2s,transform .2s}
.quickstep:hover,.quickstep:focus-visible{border-color:var(--red2);transform:translateY(-2px)}
.step-number{font-size:30px;font-weight:950;color:var(--red2);line-height:1}
.quickstep strong{font-size:19px;line-height:1.3}.quickstep>span:not(.step-number):not(.step-action){font-size:14px;color:var(--muted)}
.step-action{margin-top:auto;font-weight:800;color:#ff898d}.guide-progress{border-left:4px solid var(--red2);background:var(--panel2);padding:14px 18px;border-radius:5px;font-weight:700}
#bookingPrerequisite a{text-decoration:underline;color:#ff999d}
.section{scroll-margin-top:105px}
@media(max-width:760px){.quicksteps{grid-template-columns:1fr}.quickstep{min-height:auto;padding:19px}.quickstart{padding-top:25px}}

/* PIT STOP RACING — graphite, acier et rouge performance */
:root{--bg:#101114;--panel:#1c1e23;--panel2:#25282e;--red:#d92f3c;--red2:#ff5a63;--cream:#f5f6f8;--muted:#aeb5c1;--border:#363a43}
body{background:var(--bg);color:var(--cream)}
.top{background:#111318f5;border-bottom:1px solid #353941}
.top:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--red);pointer-events:none}
.nav nav a{color:#d7dce5}.nav nav a:hover{color:#ff727b}
.hero{background:radial-gradient(ellipse at 85% 25%,#30343d 0%,#191c22 45%,#101114 80%);position:relative}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(115deg,transparent 0,transparent 60px,#5b626e 61px,transparent 62px)}
.hero-grid{position:relative;z-index:1}.hero h1{text-shadow:4px 5px 0 #0a0b0d}.hero h1 em{color:#ff5a63}
.hero p,.hero-meta{color:#c4c9d2}
.eyebrow{color:#ff6a73}
.btn{background:var(--red);border-color:#ef4d57;border-radius:6px;box-shadow:0 3px 0 #751720}
.btn:hover{background:#ee3e4a}.btn.outline{box-shadow:none;border-color:#606774}.btn.outline:hover{background:#292d35}
.panel{background:#1c1e23;border-color:#363a43;box-shadow:0 9px 28px #00000020}
.service{background:linear-gradient(155deg,#252930,#191b20);border-color:#363a43;border-top-color:var(--red)}
.service .number{color:#a9b1be}.service .price,.service a{color:#ff727b}
.entry{background:#25282e;border-color:#3b404a}
input,select,textarea{background:#121419;border-color:#515763;color:#f5f6f8}
input:focus,select:focus,textarea:focus{border-color:#ff646e;box-shadow:0 0 0 3px #e6394633}
.mini{border-color:#646c79}.mini:hover{background:#343941}
.quickstep{background:#1c1e23;border-color:#383d46;border-top:3px solid #d92f3c}
.guide-progress{background:#25282e}
:focus-visible{outline:2px solid #ff727b;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.quickstep{transition:none}.quickstep:hover{transform:none}}

.legal-footer-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px}.legal-footer-links a,.privacy-inline a,.admin-legal-links a{color:#ff8991;text-decoration:underline}.privacy-inline{font-size:12px;color:var(--muted);line-height:1.5}.admin-legal-links{padding:24px;text-align:center;color:var(--muted);font-size:13px}

/* Tableau de bord et fidélité : accès direct, hiérarchie simple, style racing. */
.client-dashboard{margin:36px 0 0;padding:24px;border:1px solid var(--border);border-left:4px solid var(--red);border-radius:12px;background:linear-gradient(135deg,#23262d,#17191e)}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.dashboard-heading h2{font-size:clamp(24px,3vw,36px);margin:6px 0;letter-spacing:-1px}.dashboard-heading p{margin:4px 0 15px}
.dashboard-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.dashboard-card{display:flex;flex-direction:column;gap:7px;padding:20px;border-radius:9px;background:#17191f;border:1px solid #3b4049;transition:border-color .15s,transform .15s}.dashboard-card:hover{border-color:#f36a73;transform:translateY(-2px)}.dashboard-card>span{font-size:11px;letter-spacing:1.3px;color:#b4bdc9;font-weight:900}.dashboard-card>strong{font-size:clamp(25px,3vw,35px);line-height:1.2;color:#fff;overflow-wrap:anywhere}.dashboard-card>small{font-size:12px;color:#b7bfcb}.dashboard-loyalty{border-top:3px solid #d6a956}.dashboard-loyalty>strong{color:#f0cb83}
.loyalty-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:20px 0}.loyalty-home-tier{display:flex;flex-direction:column;gap:7px;padding:19px;background:#1d2026;border:1px solid #3c424c;border-top:3px solid #c58c58;border-radius:9px}.loyalty-home-tier:nth-child(2){border-top-color:#b8c4ce}.loyalty-home-tier:nth-child(3){border-top-color:#e0b552}.loyalty-home-tier>span{font-size:12px;letter-spacing:1.3px;font-weight:900;color:#d0d5dd}.loyalty-home-tier>strong{font-size:24px}.loyalty-home-tier>small{color:#b4bdc9;font-size:13px}
@media(max-width:720px){.dashboard-cards,.loyalty-home-grid{grid-template-columns:1fr}.client-dashboard{padding:17px}.dashboard-card{padding:15px}.dashboard-heading .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.dashboard-card{transition:none}.dashboard-card:hover{transform:none}}

.pricing-explainer{padding:16px 19px;border-left:3px solid #d92f3c;background:#22262d;border-radius:6px;color:#cbd2dc;line-height:1.6;margin:14px 0 22px}

/* Parcours tarifs personnalisés : sélection visible, lecture immédiate et mobile. */
.vehicle-pricing-panel{margin:20px 0 22px;padding:24px;background:linear-gradient(135deg,#252a32,#191c22);border:1px solid #4b515c;border-left:4px solid #e0434f;border-radius:12px}
.vehicle-pricing-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.vehicle-pricing-header h3{margin:5px 0 8px;font-size:clamp(21px,3vw,28px);letter-spacing:.02em}
.vehicle-pricing-header p{color:#c1c9d3;margin:0;max-width:680px;line-height:1.55}
.vehicle-pricing-icon{font-size:35px}
.vehicle-pricing-panel label{display:block;font-weight:750;margin-bottom:7px}
.vehicle-pricing-panel select{display:block;width:100%;max-width:650px;background:#101319;border:1px solid #666e7b;border-radius:7px;padding:13px;color:#fff;font-size:16px}
.vehicle-pricing-panel select:focus-visible{outline:3px solid #f27780;outline-offset:2px}
.vehicle-pricing-context{margin:15px 0 9px;padding:13px 16px;background:#151a20;border-radius:7px;border:1px solid #404852;color:#e3e8ef;line-height:1.5}
.vehicle-pricing-cta{display:inline-block;margin-top:6px;color:#ff8790;text-decoration:underline;font-weight:750}
.service-price-context{font-size:12px;font-weight:750;color:#d9ac6c;margin:6px 0 10px}
@media(max-width:700px){.vehicle-pricing-panel{padding:17px}.vehicle-pricing-header{align-items:flex-start}.vehicle-pricing-icon{display:none}}

.repair-help{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#211719;border:1px solid #684045;border-left:4px solid #f05a5e;border-radius:10px;padding:19px 22px;margin:18px 0 22px}.repair-help strong{font-size:18px;color:#fff9f4}.repair-help p{color:#c1aaab;margin:7px 0 0}.repair-help .btn{white-space:normal}@media(max-width:600px){.repair-help .btn{width:100%}}

/* Cartes prestations : lecture simple, prix et boutons parfaitement alignés. */
.services{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:14px}
.service.service-clean{display:grid;grid-template-rows:20px 68px 48px 22px minmax(80px,1fr) auto;gap:10px;min-width:0;min-height:345px;padding:20px}
.service-clean .number{align-self:center}
.service-clean h3{margin:0;align-self:start;font-size:18px;line-height:1.35;min-height:0}
.service-clean .price{font-size:clamp(21px,2.2vw,30px);line-height:1.2;white-space:nowrap;align-self:center}
.service-clean .price small{display:block;font-size:11px;font-weight:700;color:#c1aaab;margin-top:3px}
.service-clean .service-price-context{margin:0;font-size:11px;line-height:1.35;align-self:start}
.service-clean .service-description{margin:0;color:#c9c5c8;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.service-clean .service-fees{font-size:11px;color:#c1aaab;margin:-8px 0 0}
.service-clean a{margin-top:auto;display:block;align-self:end;line-height:1.4}
@media(max-width:1120px){.services{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.services{grid-template-columns:1fr}.service.service-clean{min-height:0;grid-template-rows:auto auto auto auto auto auto;gap:9px}.service-clean h3{min-height:0}.service-clean .price small{display:inline;margin-left:6px}}

/* Alignement strict des lignes : les frais import ne décalent plus la description. */
.service.service-clean{grid-template-rows:20px 68px 50px 54px minmax(100px,1fr) 42px;row-gap:10px}
.service-clean .service-meta{min-height:54px;display:flex;flex-direction:column;gap:5px;align-self:start}
.service-clean .service-meta .service-price-context{margin:0}
.service-clean .service-meta .service-fees{margin:0;line-height:1.35}
.service-clean .service-description{align-self:start}
.service-clean a{align-self:end;display:flex;align-items:end;margin:0;min-height:42px}
@media(max-width:520px){.service.service-clean{grid-template-rows:20px auto 50px 54px minmax(65px,auto) 42px}}

.fi-line{display:grid;grid-template-columns:minmax(170px,3fr) minmax(80px,1fr) minmax(110px,1fr) auto;gap:10px;align-items:end;margin:12px 0;padding:12px;background:#211719;border:1px solid #513137;border-radius:8px}.fi-line label{margin:0}.fi-line input{width:100%}.fi-total{font-size:20px;font-weight:700;margin:18px 0}.fi-history{padding:12px;border-bottom:1px solid #513137;line-height:1.7}.fi-history button{margin-left:10px}.fi-matches{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}@media(max-width:680px){.fi-line{grid-template-columns:1fr 1fr}.fi-line label:first-child{grid-column:1/-1}}

/* Sélection guidée des prestations et des clients inscrits. */
.fi-service{position:relative;min-width:0}.fi-service-search{width:100%}.fi-service-results{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:240px;overflow:auto;background:#211719;border:1px solid #684045;border-radius:7px;padding:6px;box-shadow:0 10px 25px #0008}.fi-service-results[hidden],#fiRegistered[hidden],#fiVisitor[hidden]{display:none!important}.fi-service-results .fi-choice{display:block;width:100%;text-align:left;margin:3px 0;padding:9px}.fi-service-results .fi-choice:hover,.fi-service-results .fi-choice:focus{background:#513137}#fiMatches .fi-client{margin:3px}

/* Estimation RP : compacte, lisible, sans encombrer le formulaire */
.booking-estimate{display:flex;flex-direction:column;gap:5px;margin:18px 0;padding:16px 20px;background:#24262c;border:1px solid #46414a;border-left:3px solid #f2475c;border-radius:12px}
.booking-estimate>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#ff7b8b}
.booking-estimate>strong{font-size:clamp(17px,2.5vw,24px);line-height:1.4;color:#fff}
.booking-estimate>small{font-size:12px;line-height:1.5;color:#b9bac2}

.client-quote{margin:12px 0;border:1px solid #55545c;border-radius:10px;overflow:hidden}.client-quote summary{padding:13px 15px;cursor:pointer;font-weight:700;color:#fff}.client-quote[open] summary{border-bottom:1px solid #55545c}.client-quote-body{padding:14px 16px}.client-quote-body p{margin:8px 0}.client-quote-body small{color:#b9bac2}
