*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#edf2f7;font-family:Arial,sans-serif}
body{overflow-x:hidden;overflow-y:auto;padding:0 0 22px}
/* V4: compromise between V2 and V3. The mock-up remains large enough to read,
   while the browser may scroll vertically a little on ordinary laptop screens. */
.page{position:relative;display:block;line-height:0;width:min(100%,1400px);margin:0 auto;background:#fff;box-shadow:0 6px 30px rgba(0,30,70,.14)}
.page img{display:block;width:100%;height:auto}
.hot{position:absolute;display:block;z-index:5;line-height:normal}.hot:focus{outline:3px solid #0877ff;outline-offset:2px}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.modal{position:fixed;inset:0;background:rgba(0,25,60,.62);display:none;align-items:center;justify-content:center;padding:18px;z-index:50;line-height:normal}.modal.open{display:flex}.dialog{background:#fff;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:16px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.35);color:#06265b}.dialog h2{margin:0 0 8px;font-size:28px}.dialog p{margin:0 0 18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{font:inherit;padding:11px 12px;border:1px solid #b9c8dc;border-radius:7px}.field textarea{min-height:90px;resize:vertical}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.btn{border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.primary{background:#0877ff;color:#fff}.secondary{background:#eef4fb;color:#06265b}.notice{font-size:13px;color:#526b8c;margin-top:12px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#06265b;color:#fff;padding:12px 18px;border-radius:999px;z-index:80;display:none;line-height:normal}.toast.show{display:block}
@media(min-width:1100px){.page{width:min(92vw,1400px)}}
@media(max-width:650px){body{padding-bottom:0}.page{width:100%;box-shadow:none}.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.dialog{padding:18px}}

/* V5 - portrait chauffeur validé */
.driver-portrait{position:absolute!important;z-index:3;right:0;top:7.1%;width:29.5%!important;height:25.7%!important;object-fit:cover;object-position:48% 35%;border-radius:0;line-height:normal}
@media(max-width:650px){.driver-portrait{right:0;top:7.1%;width:29.5%!important;height:25.7%!important}}

/* V7 - page juridique complémentaire, sans modification des maquettes validées */
.legal-page{max-width:1200px;margin:0 auto;background:#fff;color:#06265b;box-shadow:0 6px 30px rgba(0,30,70,.14);line-height:1.55}.legal-head{padding:22px 5%;background:linear-gradient(120deg,#eef8ff,#d9efff);border-bottom:1px solid #cfe3f5}.legal-brand{font-weight:800;font-size:26px;letter-spacing:.4px}.legal-brand span{color:#0877ff}.legal-nav{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}.legal-nav a{color:#06265b;text-decoration:none;font-weight:700}.legal-nav a:hover{text-decoration:underline}.legal-content{padding:34px 6% 44px}.legal-content h1{font-size:36px;margin:0 0 6px}.legal-content h2{color:#0877ff;margin:30px 0 8px}.legal-content p,.legal-content li{font-size:16px}.legal-content a{color:#056fe0}.legal-note{background:#eef6ff;border-left:4px solid #0877ff;padding:14px 16px;border-radius:6px}.legal-footer{background:#06265b;color:#fff;padding:22px 6%;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}.legal-footer a{color:#fff}.legal-subnav{display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0 28px;padding:14px 0;border-top:1px solid #dce7f3;border-bottom:1px solid #dce7f3}.legal-subnav a{font-weight:700;text-decoration:none}@media(max-width:650px){.legal-content h1{font-size:28px}.legal-content{padding:26px 5% 36px}}
