:root{--noir: #0b0b0c;--noir-2: #1b1b1e;--gris: #8a8a90;--gris-clair: #ececec;--fond: #f5f5f4;--blanc: #ffffff;--texte: #1d1d1f;--texte-doux: #5f5f66;--bord: #e3e3e1;--vert: #1d6b3a;--rouge: #9b1c1c;--rayon: 14px;--ombre: 0 2px 8px rgba(15, 15, 16, .06), 0 8px 24px rgba(15, 15, 16, .06);--ombre-forte: 0 10px 30px rgba(15, 15, 16, .14);--transition: .25s cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--fond);color:var(--texte);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 12px;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,4vw,2.3rem)}p{margin:0 0 10px}input,textarea{width:100%;padding:11px 12px;margin:6px 0 14px;border:1px solid var(--bord);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--blanc);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,textarea:focus{outline:none;border-color:var(--noir);box-shadow:0 0 0 4px #0b0b0c1a}label{font-weight:600;font-size:.95rem}:focus-visible{outline:2px solid var(--gris);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.nav{position:sticky;top:0;z-index:50;background:#0b0b0cf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--blanc);border-bottom:1px solid rgba(255,255,255,.06)}.nav-inner{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.logo{display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--blanc);cursor:pointer;font-size:1.05rem;font-weight:800;letter-spacing:4px;padding:0}.logo img{height:34px;width:auto;display:block;transition:transform var(--transition)}.logo:hover img{transform:scale(1.06)}.nav-links{display:flex;gap:4px}.nav-links button{position:relative;background:transparent;color:#fffc;border:none;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:.97rem;transition:color var(--transition),background var(--transition)}.nav-links button:hover{color:var(--blanc);background:#ffffff0f}.nav-links button:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--blanc);border-radius:2px;transform:scaleX(0);transition:transform var(--transition)}.nav-links button.active{color:var(--blanc)}.nav-links button.active:after{transform:scaleX(1)}.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}.burger span{display:block;width:24px;height:2px;margin:5px 0;background:var(--blanc);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:28px 20px 40px}.page{animation:page-in .45s var(--transition) both}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page-title{margin-bottom:6px}.page-subtitle{color:var(--texte-doux);margin-bottom:24px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--transition),transform .7s var(--transition);transition-delay:calc(var(--i, 0) * 90ms)}.reveal.visible{opacity:1;transform:none}.hero{position:relative;overflow:hidden;color:var(--blanc);text-align:center;padding:clamp(48px,9vw,96px) 24px;border-radius:22px;margin-bottom:36px;background:radial-gradient(1000px 420px at 50% -10%,#2c2c30 0%,transparent 65%),linear-gradient(135deg,#0b0b0c,#1a1a1d 55%,#0e0e10);box-shadow:var(--ombre-forte)}.hero:before{content:"";position:absolute;top:-50%;right:-20%;bottom:-50%;left:-20%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);animation:reflet 7s ease-in-out infinite;pointer-events:none}@keyframes reflet{0%{transform:translate(-40%)}60%,to{transform:translate(40%)}}.hero-content{position:relative}.hero .badge{display:inline-block;padding:6px 14px;border:1px solid rgba(255,255,255,.3);color:#ffffffd9;border-radius:999px;font-size:.85rem;letter-spacing:1px;margin-bottom:18px;animation:hero-in .8s var(--transition) both}.hero h1{margin:0 0 22px}.hero-logo{height:clamp(150px,26vw,230px);width:auto;display:block;margin:0 auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5));animation:logo-in 1s .1s var(--transition) both}@keyframes logo-in{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hero p{color:#ffffffc7;font-size:clamp(1rem,2.4vw,1.2rem);max-width:560px;margin:0 auto 28px;animation:hero-in .8s .2s var(--transition) both}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:hero-in .8s .3s var(--transition) both}.hero-actions .btn{width:auto;margin:0;padding:13px 26px}@keyframes hero-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.section{margin-bottom:44px}.section-title{text-align:center;margin-bottom:6px}.section-subtitle{text-align:center;color:var(--texte-doux);margin-bottom:24px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.feature{background:var(--blanc);border:1px solid var(--bord);border-radius:var(--rayon);padding:24px;box-shadow:var(--ombre);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.feature:hover{transform:translateY(-4px);box-shadow:var(--ombre-forte);border-color:#0b0b0c59}.feature-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--gris-clair);color:var(--noir);transition:background var(--transition),color var(--transition);margin-bottom:14px}.feature:hover .feature-icon{background:var(--noir);color:var(--blanc)}.feature h3{font-size:1.1rem;margin-bottom:6px}.feature p{color:var(--texte-doux);margin:0}.step-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--noir);color:var(--blanc);font-weight:800;margin-bottom:12px}.cta{text-align:center;background:var(--noir);color:var(--blanc);border-radius:22px;padding:40px 24px}.cta p{color:#ffffffbf}.cta .btn{width:auto;padding:13px 28px}.box{background:var(--blanc);border:1px solid var(--bord);border-radius:var(--rayon);padding:24px;box-shadow:var(--ombre);margin-bottom:20px}.form-width{max-width:440px;margin:0 auto 20px}.filters{display:inline-flex;gap:4px;padding:4px;margin:0 auto 24px;background:var(--blanc);border:1px solid var(--bord);border-radius:999px;box-shadow:var(--ombre)}.filters-wrap{display:flex;justify-content:center}.filters button{padding:9px 18px;border:none;background:transparent;border-radius:999px;cursor:pointer;font-size:.95rem;color:var(--texte-doux);transition:background var(--transition),color var(--transition)}.filters button:hover{color:var(--texte)}.filters button.active{background:var(--noir);color:var(--blanc)}.vehicle-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.card{background:var(--blanc);border:1px solid var(--bord);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);display:flex;flex-direction:column;transition:transform var(--transition),box-shadow var(--transition);animation:page-in .5s var(--transition) both;animation-delay:calc(var(--i, 0) * 80ms)}.card:hover{transform:translateY(-6px);box-shadow:var(--ombre-forte)}.card-image{position:relative;overflow:hidden;aspect-ratio:16 / 10;background:#ddd}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--transition)}.card:hover .card-image img{transform:scale(1.06)}.tag{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:999px;background:#0f0f10bf;color:var(--blanc);font-size:.78rem;text-transform:capitalize;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-body{padding:18px;display:flex;flex-direction:column;flex:1}.card-body h2{font-size:1.2rem;margin-bottom:4px}.price{font-size:1.35rem;font-weight:800;margin:4px 0}.price small{font-size:.85rem;font-weight:400;color:var(--texte-doux)}.card-body .btn{margin-top:auto}.skeleton{border-radius:var(--rayon);height:340px;background:linear-gradient(90deg,#ebe9e4 25%,#f5f4f0,#ebe9e4 75%);background-size:200% 100%;animation:vague 1.3s ease-in-out infinite}@keyframes vague{0%{background-position:200% 0}to{background-position:-200% 0}}.btn{width:100%;padding:12px 18px;margin-top:10px;background:var(--noir);color:var(--blanc);border:1px solid var(--noir);border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;font-family:inherit;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition)}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #0f0f102e}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{background:#9a9a9f;border-color:#9a9a9f;cursor:not-allowed}.btn-light{background:var(--blanc);border-color:var(--blanc);color:var(--noir)}.btn-light:hover:not(:disabled){background:var(--gris-clair)}.btn-secondary{background:var(--blanc);color:var(--noir);border:1px solid var(--noir)}.btn-ghost{background:transparent;color:var(--blanc);border:1px solid rgba(255,255,255,.4)}.btn-ghost:hover:not(:disabled){background:#ffffff14}.btn-danger{background:var(--rouge);border-color:var(--rouge)}.btn-small{width:auto;margin-top:0;padding:7px 14px;font-size:.9rem}.link{background:none;border:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}.msg-ok,.msg-err{padding:12px 14px;border-radius:10px;margin:12px 0;animation:message-in .35s var(--transition) both}.msg-ok{background:#e7f5ec;color:var(--vert);border:1px solid #c4e6d0}.msg-err{background:#fdecec;color:var(--rouge);border:1px solid #f5c9c9}@keyframes message-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.small{font-size:.9rem;color:var(--texte-doux)}.small ul{margin:4px 0 8px;padding-left:18px}.checkbox{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-weight:400}.checkbox input{width:auto;margin:4px 0 0;accent-color:var(--noir)}.booking-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--bord)}.booking-line:last-child{border-bottom:none}.status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;background:#eee}.status-pending{background:#fff4d6;color:#7a5a00}.status-confirmed{background:#e7f5ec;color:var(--vert)}.status-refused,.status-cancelled{background:#f1f1f1;color:#777}.table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.table th,.table td{border:1px solid var(--bord);padding:10px;text-align:left;vertical-align:top;font-size:.9rem}.table th{background:#faf9f6}.footer{background:var(--noir);color:#ffffffb3;text-align:center;padding:26px 20px;font-size:.9rem}.footer-logo{height:46px;width:auto;display:block;margin:0 auto 12px;opacity:.9}.footer .link{color:#ffffffd9}@media (max-width: 700px){.main{padding:18px 14px 32px}.burger{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:8px 14px 16px;background:#0f0f10f7;border-bottom:1px solid rgba(255,255,255,.06);transform-origin:top;transform:scaleY(.6);opacity:0;pointer-events:none;transition:transform var(--transition),opacity var(--transition)}.nav-links.open{transform:none;opacity:1;pointer-events:auto}.nav-links button{text-align:left;padding:14px;font-size:1.05rem}.nav-links button:after{left:14px;right:auto;width:30px}.btn{padding:14px}.hero{border-radius:16px}.filters button{padding:10px 14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
