:root{--pink:#ff286b;--green:#25ca8c;--red:#ff6075;--ink:#13151e;--muted:#767d90;--line:#e8eaf0;--dark:#0b0c13}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#f6f7fa;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{line-height:1.04;letter-spacing:-.055em;font-size:clamp(34px,7vw,52px)}h1 em{font-style:normal;color:var(--pink)}h2{font-size:21px;letter-spacing:-.025em}p{line-height:1.58}.shell{max-width:620px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 70px #10121e12;padding-bottom:98px}.top{background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px}.brand{display:flex;align-items:center;gap:11px;font-size:26px;font-weight:1000;letter-spacing:.06em;line-height:.88}.brand .mark{width:38px;height:38px;border:3px solid #fff;border-radius:8px;display:grid;place-items:center;color:var(--pink)}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:7px}.pink{color:var(--pink)}.top-actions{display:flex;align-items:center;gap:8px}.small-button{border:1px solid #7d8190;border-radius:30px;background:#242630;color:#fff;padding:9px 13px;font-weight:700;font-size:12px}.mode{font-size:10px;font-weight:900;color:#ffacc5;letter-spacing:.1em}.pilotbar{font-size:12px;color:#6b4052;background:#fff0f6;padding:10px 17px;border-bottom:1px solid #ffd4e3}.view{display:none;padding:0 18px 28px}.view.active{display:block}.intro{padding:28px 4px 14px}.intro.compact{padding-bottom:4px}.intro p{color:#6e7482;font-size:15px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--pink);font-weight:900}.sectionline{display:flex;justify-content:space-between;align-items:center;margin:12px 2px;gap:12px}.sectionline h2{margin:0}.sectionline span{font-size:12px;color:var(--muted)}.deckbox{position:relative;max-width:450px;margin:15px auto 10px;padding:6px}.deckbox:before{position:absolute;content:"";background:#dedee7;inset:19px 0 5px;border-radius:26px;transform:rotate(3deg)}.deckcard{height:495px;position:relative;touch-action:pan-y}.car-swipe{position:absolute;inset:0;border-radius:25px;overflow:hidden;background:#14151e;box-shadow:0 16px 44px #0003;touch-action:none;user-select:none;cursor:grab;transform-origin:50% 80%}.car-swipe.dragging{cursor:grabbing;transition:none}.car-swipe .photo{width:100%;height:100%;object-fit:cover}.car-swipe .wash{position:absolute;inset:0;background:linear-gradient(180deg,#0000 32%,#05060914 48%,#020307ee 99%)}.car-swipe .carbody{position:absolute;bottom:24px;left:24px;right:22px;color:#fff}.carbody .price{font-size:35px;font-weight:1000}.carbody h3{margin:0 0 6px;font-size:28px}.carbody .specs{display:flex;flex-wrap:wrap;gap:7px}.specs span{background:#ffffff26;padding:5px 8px;border-radius:8px;font-size:12px}.chips{position:absolute;top:17px;left:16px;right:16px;display:flex;justify-content:space-between;gap:9px;align-items:start}.chip{display:inline-flex;background:#fffffff0;color:#1c2030;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:800}.chip.demo{background:#1d1d26b0;border:1px solid #ffffff44;color:#fff}.swipestamp{position:absolute;top:85px;opacity:0;padding:3px 12px;border:4px solid;border-radius:8px;font-size:32px;font-weight:1000;letter-spacing:.06em}.swipestamp.like{left:23px;color:#39f5ac;transform:rotate(-13deg)}.swipestamp.pass{right:23px;color:#ff6d88;transform:rotate(13deg)}.buttons{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px}.round{width:74px;height:74px;border:2px solid #ddd;border-radius:50%;font-size:32px;background:#fff;box-shadow:0 7px 24px #15203824;display:grid;place-items:center;font-weight:800}.round.no{color:var(--red);border-color:#ffd2d9}.round.yes{color:var(--green);border-color:#a8ecd1}.round.info{width:55px;height:55px;color:#657087;font:900 24px Georgia,serif}.gesture{text-align:center;color:#8a90a1;font-size:12px;margin:11px 0 27px}.listinggrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:18px}.listing{border:1px solid #ebeef4;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 5px 18px #0c15200c;text-align:left;position:relative}.listing img{width:100%;height:130px;object-fit:cover}.listing .copy{padding:11px}.listing strong{display:block;font-size:19px}.listing h3{font-size:16px;margin:2px 0}.listing small{display:block;color:#697080;font-size:12px}.listing .sample{position:absolute;top:8px;right:8px;background:#10141de6;color:#fff;border-radius:20px;padding:3px 8px;font-size:9px;letter-spacing:.08em}.listing .open{position:absolute;inset:0;border:0;background:transparent;width:100%;height:100%;z-index:1}.listing .open:focus-visible{outline:3px solid var(--pink);outline-offset:-3px}.plain{border:0;background:none;color:var(--pink);font-weight:850;font-size:13px}.whitepanel,.notice,.form{border:1px solid var(--line);border-radius:20px;padding:19px;background:#fff;margin:12px 0}.notice{background:#fff3f7;border-color:#ffdae6;color:#743e53}.form{display:grid;gap:13px}.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:#404555}.form input,.form textarea,.form select,.auth-form input,.inlineform input,.inlineform textarea{width:100%;min-width:0;border:1px solid #d9dde6;border-radius:12px;padding:12px;background:#fff;color:#141720;outline-offset:3px}.form input:focus,.form textarea:focus,.auth-form input:focus{outline:2px solid #ff89ae}.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.previewgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.previewgrid img{width:100%;height:65px;border-radius:9px;object-fit:cover}.privacy{background:#f5f7fa;color:#687080;border-radius:12px;font-size:13px;padding:13px}.primary{border:0;border-radius:999px;padding:13px 19px;color:#fff;background:var(--pink);font-weight:900}.secondary{border:1px solid #d8dce5;border-radius:99px;padding:11px 15px;background:#fff;color:#161924;font-weight:850}.full{width:100%}.muted{font-size:12px;color:#818797}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);height:78px;width:min(620px,100%);display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--line);background:#fffffff6;backdrop-filter:blur(10px);z-index:10;padding-bottom:env(safe-area-inset-bottom)}.nav button{border:0;background:transparent;color:#7b8190;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:0;padding:7px 12px;font-weight:700}.nav button span{font-size:25px;line-height:1.3}.nav button.selected{color:var(--pink)}.overlay[hidden]{display:none}.overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}.backdrop{position:absolute;inset:0;background:#090b13a6}.modal{background:#fff;position:relative;z-index:1;border-radius:25px 25px 0 0;padding:24px 20px calc(28px + env(safe-area-inset-bottom));width:min(620px,100%);max-height:90vh;overflow:auto}.close{position:absolute;top:12px;right:14px;background:#f2f3f6;border:0;border-radius:50%;width:35px;height:35px}.modal h2{margin:8px 48px 12px 0;font-size:29px;letter-spacing:-.05em}.modal .heroimg{width:100%;height:230px;object-fit:cover;border-radius:16px}.modal .meta{color:#626b7c;font-size:13px;margin:9px 0}.modal .price{font-weight:1000;font-size:28px}.modal .actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.modal .actions>:only-child{grid-column:span 2}.modal .qr{display:flex;justify-content:center;padding:10px}.modal .qr img{display:block}.auth-form{display:grid;gap:11px}.auth-form label{display:grid;gap:5px;font-weight:750}.boxline{border:1px solid var(--line);border-radius:15px;padding:12px;margin:10px 0}.boxline small{display:block;color:var(--muted)}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.inlineform{display:grid;gap:9px;padding:12px;background:#f7f8fa;border-radius:13px;margin-top:10px}.thread{padding:12px;border:1px solid var(--line);border-radius:13px;margin:10px 0}.thread .message{padding:9px;border-radius:9px;margin-top:8px;background:#f4f5f8}.thread .reply{background:#fff1f7}.toast{position:fixed;bottom:95px;left:50%;transform:translate(-50%,15px);opacity:0;transition:.18s;background:#151823;color:#fff;border-radius:99px;padding:12px 18px;font-size:13px;font-weight:800;box-shadow:0 6px 30px #0003;pointer-events:none;max-width:95%;text-align:center;z-index:200}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{color:#838b9e;background:#f4f6fa;text-align:center;padding:24px;border-radius:15px}.pill{background:#fff1f5;color:#9f2855;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:850;display:inline-block}.link{color:#b01d53;text-decoration:underline;word-break:break-all}.hidden{display:none!important}@media(max-width:420px){.top{padding:14px 12px}.view{padding:0 12px 26px}.deckcard{height:455px}.fieldrow{gap:8px}.round{height:68px;width:68px}.carbody h3{font-size:25px}.previewgrid img{height:53px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Carte interactive, contact et photos non masquées */
.deckcard{height:clamp(420px,60dvh,520px)}.car-swipe{--panel-height:137px;background:#e9ebef}.car-swipe .photo{width:100%;height:calc(100% - var(--panel-height));object-fit:contain;object-position:center center;background:#eceef2}.car-swipe .wash{inset:0 0 var(--panel-height) 0;background:linear-gradient(180deg,#0003,transparent 35%,transparent)}.car-swipe .carbody{bottom:0;left:0;right:0;background:#161821;padding:16px 18px;min-height:var(--panel-height);display:flex;flex-direction:column;justify-content:center}.carbody .price{font-size:30px}.carbody h3{font-size:24px;margin:3px 0}.carbody .specs{gap:5px}.specs span{padding:5px 8px}.chips,.swipestamp{z-index:3}.swipestamp{top:70px}.listing img,.modal .heroimg{object-fit:contain;background:#edf0f3}
.nav{height:calc(70px + env(safe-area-inset-bottom));justify-content:space-around}.nav button{min-width:0;flex:1;padding:7px 0;font-size:10px}.nav button span{font-size:22px}
#doovyMap{height:340px;border-radius:19px;border:1px solid #e2e5ee;overflow:hidden;background:#eaf0e8;margin:13px 0;position:relative}.map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;color:#656c7e}.map-privacy{background:#eaf8f3;border:1px solid #bfe8d8;color:#245f4c;font-size:12px;line-height:1.5;padding:12px;border-radius:14px}.map-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.map-controls label{display:flex;align-items:center;gap:6px;font-weight:800;font-size:12px}.map-controls select{border:1px solid #dce2eb;border-radius:10px;padding:9px;background:#fff}.map-controls button{font-size:12px;padding:10px 12px}.map-foot{color:#808899;font-size:11px;line-height:1.45;margin-bottom:14px}.doovy-pin{width:39px;height:39px;background:#ff286b;color:white;border:3px solid white;border-radius:50% 50% 50% 7px;transform:rotate(-38deg);display:grid;place-items:center;font-size:18px;box-shadow:0 5px 17px #15172270}.doovy-pin::first-letter{transform:rotate(38deg)}.map-popup{min-width:120px;line-height:1.7}.map-popup button{background:#ff286b;color:white;border:0;border-radius:9px;padding:7px 11px;font-weight:800;margin-top:5px}.map-popup small{color:#6d788c}.map-toggle.enabled{color:#007e58;background:#e6f9f1;border-color:#a4dbcc}
.contact-card{border-radius:22px;background:#15151f;color:#fff;padding:26px 22px;text-align:center;margin:16px 0 22px}.support-symbol{height:60px;width:60px;display:grid;place-items:center;border-radius:50%;background:#ff286b;font-size:32px;margin:0 auto 12px}.contact-card small{display:block;font-size:11px;letter-spacing:.13em;color:#ff8cad;font-weight:900}.contact-card strong{display:block;font-size:clamp(28px,8vw,39px);letter-spacing:.02em;margin:12px 0}.contact-card p{font-size:13px;color:#c6c8d1;max-width:390px;margin:0 auto 14px}.support-pending{display:inline-block;background:#36303d;color:#ffbdcf;border-radius:99px;padding:7px 12px;font-weight:850;font-size:12px}.faq details{border-top:1px solid #e5e7ed;padding:13px 0}.faq details:first-of-type{border-top:0}.faq summary{font-weight:800;cursor:pointer}.faq p{margin:8px 0 0;color:#697083;font-size:13px}
@media(max-width:380px){.nav button{font-size:9px}.nav button span{font-size:20px}.map-controls{gap:6px}}


/* DOOVY — responsive advanced automotive search */
.df-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 17px}
.df-trigger{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #ff5a8e;border-radius:14px;background:#fff0f5;color:#cb1858;font-weight:900;font-size:14px;cursor:pointer}
.df-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:100px;background:#e82466;color:#fff;font-size:11px}
.df-summary{color:#9fa5b5;font-size:12px;max-width:210px;line-height:1.35}
.df-form{text-align:left;color:#23212c;width:100%}.df-form *{box-sizing:border-box}
.df-form .df-label{display:flex;flex-direction:column;gap:6px;font-weight:750;font-size:12px;margin:9px 0;color:#33313e}
.df-form select,.df-form input{border:1px solid #dcdde6;border-radius:10px;background:#fff;color:#272834;font-size:15px;padding:11px 10px;width:100%;min-height:45px;min-width:0;outline-color:#ff3d78}
.df-form .df-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px}
.df-sub{font-size:12px;color:#717382;line-height:1.5;margin:3px 0 12px}
.df-advanced{margin:16px 0;border:1px solid #e5e5eb;border-radius:13px;background:#faf9fc;padding:13px}
.df-advanced summary{cursor:pointer;font-weight:850;color:#ce1857;font-size:14px;list-style-position:inside}
.df-actions{position:sticky;bottom:-22px;padding:14px 0 8px;background:linear-gradient(180deg,#fff9,#fff 25%);display:flex;gap:10px;z-index:2;margin-top:12px}
.df-actions button{border:0;border-radius:12px;padding:13px 12px;font-size:14px;font-weight:850;cursor:pointer}.df-reset{background:#f0f0f5;color:#42434c;flex:1}.df-apply{background:#ff286c;color:#fff;flex:2}.df-apply span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;background:#fff3;border-radius:60px;margin-left:5px}
.df-empty{padding:20px;text-align:center;color:#4d4b5b;border-radius:14px;background:#fff7fb}
@media(max-width:370px){.df-trigger{padding:10px}.df-form .df-cols{gap:0 7px}.df-form select,.df-form input{padding:9px 6px}}


/* DOOVY — 2026-10 stabilisation map, photos, filter panel. */
html,body{max-width:100%;overflow-x:clip}
.shell,main,.view{min-width:0}
#doovyMap{position:relative;z-index:0;isolation:isolate;touch-action:pan-y!important;overscroll-behavior:contain;height:clamp(285px,40dvh,380px);max-width:100%}
#doovyMap.map-unlocked{touch-action:none!important}
#mapView .map-filterbar{position:sticky;top:0;z-index:60;padding:10px 0;margin:0;background:var(--bg,#f8f8fa);border-bottom:1px solid #e3e3eb}
#mapView .map-filterbar .df-trigger{min-height:46px;white-space:nowrap}
#mapView .map-controls{position:relative;z-index:3;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
#mapView .map-controls button{flex:1 1 110px;min-height:43px;font-weight:800;white-space:nowrap}
#mapView .map-controls label{flex:0 1 auto}
#mapView .map-controls select{max-width:112px}
#mapDragToggle{color:#bc1956;border:1px solid #ff6796;background:#fff0f4}
.overlay{z-index:6000!important;overscroll-behavior:contain}
.modal{max-height:calc(100dvh - 10px);min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.df-form .df-actions{position:sticky;bottom:-1px;z-index:15;background:#fff;padding:12px 0 max(12px,env(safe-area-inset-bottom,0px));box-shadow:0 -10px 18px #ffffffec}
.deckbox,.deckcard,.car-swipe{max-width:100%;min-width:0}
.car-swipe .photo,.listing img,.modal .heroimg,.previewgrid img{object-fit:contain!important;object-position:center center!important}
.car-swipe .carbody{overflow:hidden}.car-swipe .carbody h3{overflow-wrap:anywhere}
@media(max-width:375px){#mapView .map-controls button{font-size:11px;padding:8px 6px}#mapView .map-filterbar .df-summary{display:none}.df-form .df-cols{gap:0 7px}}
@media(max-height:700px){#doovyMap{height:265px}.deckcard{height:clamp(345px,54dvh,440px)}}


/* DOOVY 15 voitures · mobile full-car framing and detailed gallery */
.doovy-gallery{width:100%;margin:13px 0 8px;min-width:0}
.doovy-gallery-stage{position:relative;width:100%;height:clamp(225px,36dvh,340px);background:#eef0f4;border-radius:15px;overflow:hidden}
.doovy-gallery-stage>img{height:100%;width:100%;display:block;object-fit:contain!important;object-position:center center!important}
.doovy-gallery-control{position:absolute;left:12px;right:12px;bottom:9px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.doovy-gallery-control button{pointer-events:auto;min-width:40px;min-height:40px;border-radius:50%;border:1px solid #ffffffcc;background:#161923c9;color:white;font-size:30px;line-height:1;display:grid;place-items:center;padding:0}
.doovy-gallery-control span{font-weight:800;font-size:13px;background:#191b25c7;color:#fff;padding:6px 12px;border-radius:20px}
.doovy-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.doovy-gallery-thumbs button{border:2px solid transparent;background:#eff1f5;border-radius:12px;overflow:hidden;height:74px;padding:0;cursor:pointer;min-width:0}
.doovy-gallery-thumbs button.selected{border:3px solid #ff286b}
.doovy-gallery-thumbs img{width:100%;height:100%;object-fit:contain;background:#e6eaf0}
.doovy-gallery-caption{font-size:11px!important;color:#7b8190;line-height:1.5;margin:6px 0 13px}
.doovy-tech-title{margin:23px 0 11px;font-size:18px;letter-spacing:-.02em}
.doovy-tech{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 20px}
.doovy-tech>div{min-width:0;background:#f6f7f9;border:1px solid #edeef3;border-radius:11px;padding:11px}
.doovy-tech dt{font-size:11px;color:#747889;margin-bottom:5px}
.doovy-tech dd{font-size:14px;font-weight:900;margin:0;color:#171923;overflow-wrap:anywhere}
.doovy-equipment{display:flex;gap:8px;flex-wrap:wrap}
.doovy-equipment span{border-radius:10px;background:#eff9f4;color:#236746;padding:7px 10px;font-size:12px;font-weight:760}
@media(max-width:360px){.doovy-tech{gap:6px}.doovy-tech>div{padding:8px}.doovy-gallery-thumbs button{height:61px}}

.deckcard{height:clamp(420px,67dvh,560px)}
.car-swipe{--panel-height:115px}
.car-swipe .photo{height:calc(100% - var(--panel-height));object-fit:contain!important;object-position:center!important;background:#e6e8ec}
.car-swipe .wash{bottom:var(--panel-height);background:linear-gradient(180deg,#0003,transparent 27%,transparent)}
.car-swipe .carbody{min-height:var(--panel-height);padding:11px 17px}
.carbody .price{font-size:28px}.carbody h3{font-size:21px;margin:3px 0 6px}
@media(max-width:420px){.deckcard{height:clamp(420px,66dvh,540px)}}
@media(max-height:700px){.deckcard{height:clamp(395px,63dvh,485px)}.car-swipe{--panel-height:110px}}
