:root{--pink:#ff2469;--pink-dark:#e50d51;--ink:#16171e;--deep:#101118;--muted:#777b88;--border:#e9e9ed;--bg:#f6f7fa;--mint:#21ce92;--red:#ff496a;--shadow:0 14px 42px #1d1b321e;--safeBottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:contain}body{font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);background:#eaebef}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff85ac;outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.app-shell{position:relative;background:var(--bg);min-height:100dvh;max-width:620px;margin:0 auto;box-shadow:0 12px 70px #15162230}.topbar{height:71px;background:var(--deep);color:white;position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:8px 20px 8px 18px;padding-top:calc(8px + env(safe-area-inset-top,0px));height:calc(71px + env(safe-area-inset-top,0px))}.logo{display:flex;align-items:center;gap:12px}.scanner-logo{position:relative;display:grid;place-items:center;width:39px;height:39px;background:linear-gradient(var(--deep),var(--deep)) padding-box,linear-gradient(130deg,#fff,#ffbbcc) border-box;border:4px solid transparent;border-radius:8px}.scanner-logo:before,.scanner-logo:after{content:"";position:absolute;background:var(--deep)}.scanner-logo:before{inset:8px -5px}.scanner-logo:after{inset:-5px 8px}.scanner-core{position:relative;z-index:1;color:var(--pink);font-size:21px;transform:rotate(45deg)}.logo-copy{display:flex;flex-direction:column;align-items:center}.logo-word{font-weight:1000;letter-spacing:.11em;font-size:25px;line-height:1}.logo-pink{color:var(--pink)}.logo-tag{font-weight:900;letter-spacing:.15em;font-size:9px;margin-top:3px}.header-actions{display:flex;gap:8px}.icon-btn{border:1px solid #41414a;background:#24242c;color:#fff;border-radius:15px;min-width:42px;height:42px;display:grid;place-items:center}.icon-btn svg{width:21px;height:21px}.icon-btn.scan-btn{background:var(--pink);border-color:var(--pink)}.demo-bar{height:30px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;letter-spacing:.08em;font-weight:850;background:#ffe5ec;color:#af2350}.demo-pulse{height:7px;width:7px;background:var(--pink);border-radius:50%}.main-scroll{min-height:calc(100dvh - 180px);padding-bottom:calc(104px + var(--safeBottom))}.view{display:none;animation:enter .2s ease;padding:20px 20px 22px}.view.active{display:block}@keyframes enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.discover-intro .small-kicker,.small-kicker{font-size:10px;letter-spacing:.16em;font-weight:950;color:var(--pink)}.discover-intro h1,.view-heading h1{font-size:clamp(30px,7.6vw,40px);line-height:1.09;margin:9px 0 7px;font-weight:1000}.discover-intro h1 span,.view-heading h1 span{color:var(--pink)}.discover-intro p,.view-heading p{color:#71717b;font-size:14px;margin:0}.view-heading{padding:9px 0 23px}.search-pills{display:flex;justify-content:space-between;align-items:center;gap:9px;margin:20px 0 17px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:white;box-shadow:0 3px 14px #2222  ;border-radius:30px;color:#252731;font-weight:780;font-size:12px;min-height:39px;padding:6px 12px}.pill svg{width:16px;height:16px;color:var(--pink)}.pill .chev{width:12px;color:#777}.location-pill{min-width:0}.location-pill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lite-pill{flex:none}.deck-area{position:relative;margin:0 auto;width:min(100%,415px);padding:0 6px 0;isolation:isolate}.deck{position:relative;height:clamp(355px,53dvh,520px);min-height:355px;max-height:520px}.deck-shadow{position:absolute;inset:11px 13px -8px 13px;background:white;border-radius:27px;box-shadow:0 7px 24px #24233315;transform:rotate(-2deg)}.deck-shadow.back-1{transform:translate(6px,4px) rotate(3deg);inset:8px 8px -5px}.deck-shadow.back-2{transform:translate(-5px,12px) rotate(-3deg);background:#e7e7ee}.car-swipe{position:absolute;inset:0;background:#111116;overflow:hidden;border-radius:26px;box-shadow:0 16px 45px #17151d38;touch-action:pan-y;user-select:none;cursor:grab;will-change:transform}.car-swipe.dragging{cursor:grabbing}.car-swipe .car-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#262731}.car-swipe .image-wash{position:absolute;inset:0;background:linear-gradient(180deg,#06050825 0%,#02020202 44%,#03040760 65%,#050608 100%)}.card-toprow{position:absolute;top:15px;left:15px;right:15px;display:flex;justify-content:space-between;gap:6px;align-items:center}.tag{border:1px solid #fff4;background:#11121ac7;color:white;border-radius:99px;font-size:10px;font-weight:870;padding:7px 10px;backdrop-filter:blur(7px)}.tag.demo{background:#fff;border-color:#fff;color:#333;font-size:9px;letter-spacing:.08em}.card-bottom{position:absolute;left:22px;right:20px;bottom:24px;color:white;text-shadow:0 1px 10px #0007}.card-bottom .card-price{font-size:35px;font-weight:1000;letter-spacing:-.045em;line-height:1}.card-bottom h2{font-size:23px;letter-spacing:-.03em;font-weight:880;margin:6px 0 10px}.card-specs{display:flex;flex-wrap:wrap;gap:6px}.card-specs span{border-radius:8px;background:#ffffff36;font-weight:700;font-size:10px;padding:5px 8px;backdrop-filter:blur(6px)}.swipe-stamp{position:absolute;top:88px;border:5px solid;font-size:42px;line-height:1;letter-spacing:.025em;font-weight:1000;padding:4px 14px;opacity:0;pointer-events:none;border-radius:10px;z-index:3}.swipe-stamp.left{right:24px;transform:rotate(13deg);color:#ff819e}.swipe-stamp.right{left:24px;transform:rotate(-13deg);color:#4ceeb7}.deck-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:28px;background:white;text-align:center;padding:25px;box-shadow:var(--shadow)}.deck-empty svg{width:54px;height:54px;color:var(--pink)}.deck-empty h3{font-size:26px;margin:16px 0 6px}.deck-empty p{color:var(--muted);font-size:13px}.deck-actions{display:flex;justify-content:center;align-items:center;gap:23px;margin:23px 0 12px}.round-action{width:68px;height:68px;border-radius:50%;background:#fff;box-shadow:0 8px 28px #15151a20;display:grid;place-items:center;border:2px solid transparent}.round-action svg{width:31px;height:31px;stroke-width:2.6}.round-action.pass{border-color:#ffc8d6;color:#ff456b}.round-action.detail{width:53px;height:53px;color:#717480;border-color:#e8e8ee}.round-action.detail svg{width:26px}.round-action.love{border-color:#b4f6dd;color:#0bbf83}.round-action.love svg{fill:#0bbf8312}.gesture-hint{display:flex;justify-content:space-between;align-items:center;max-width:360px;margin:auto;font-size:11px;font-weight:760;color:#8a8c96}.left-arr{color:#fc5678;font-size:18px}.right-arr{color:#00ad7b;font-size:18px}.mini-note{text-align:center;font-size:11px;color:#9a9ca7;margin:18px 0 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,620px);z-index:38;min-height:calc(73px + var(--safeBottom));display:grid;grid-template-columns:repeat(5,1fr);background:white;border-top:1px solid #e6e6ed;padding:8px 2px calc(7px + var(--safeBottom));box-shadow:0 -8px 25px #0d0e1510}.nav-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#989ba5;font-size:10px;font-weight:850;min-width:0}.nav-tab svg{height:24px;width:24px}.nav-tab.selected{color:var(--pink)}.nav-tab.sell-tab{margin-top:-20px;color:#7b7d86}.nav-tab.sell-tab.selected{color:var(--pink)}.plus-disc{display:grid;place-items:center;width:49px;height:49px;border:4px solid var(--bg);border-radius:50%;background:var(--pink);box-shadow:0 5px 12px #ff24693b;color:white}.plus-disc svg{width:24px;height:24px;stroke-width:3}.fav-badge{position:absolute;top:-4px;right:25%;background:var(--pink);color:white;border-radius:99px;font-size:9px;padding:2px 5px}.nav-tab.selected:after{content:"";position:absolute;bottom:-5px;width:20px;height:3px;background:var(--pink);border-radius:4px}.nav-tab.sell-tab.selected:after{display:none}
.map-warning,.warning-card{display:flex;gap:12px;border-radius:16px;border:1px solid #ffd4df;background:#fff2f6;padding:13px;color:#a22f56;font-size:12px;line-height:1.45}.map-warning svg,.warning-card svg{width:19px;height:19px;flex:none}.warning-card strong{display:block;font-size:13px}.warning-card p{margin:4px 0 0;color:#8b4961}.map-topline{display:flex;gap:10px;margin:16px 0}#realMap{height:310px;position:relative;border-radius:19px;overflow:hidden;border:1px solid #e2e6ed;background:linear-gradient(155deg,#edf2e5 12%,#cee4f0 55%,#f1eee6 56%,#e5eacc 90%)}.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:850;color:#374251}.map-fallback small{font-size:12px;max-width:210px;text-align:center;line-height:1.4;margin-top:6px;font-weight:500}.leaflet-container{font-family:inherit!important}.map-pin{border:3px solid white;background:var(--pink);width:35px;height:35px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);box-shadow:0 6px 14px #1116;display:grid;place-items:center}.map-pin span{color:#fff;font-size:15px;transform:rotate(45deg);font-weight:950}.map-caption{font-size:10px;color:#8f929d;line-height:1.45;margin-top:9px}.content-head{margin:25px 0 13px;display:flex;align-items:center;justify-content:space-between;gap:15px}.content-head h2{font-size:19px;margin:0}.count-tag{color:var(--pink);font-size:12px;font-weight:850}.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.listing-card{position:relative;background:white;border-radius:16px;overflow:hidden;box-shadow:0 7px 24px #1515150e;text-align:left;border:1px solid #e8e8eb}.listing-image{height:118px;width:100%;object-fit:cover}.listing-info{padding:10px 11px 11px}.listing-info h3{font-size:13px;letter-spacing:-.01em;margin:2px 0 4px}.listing-info .price{font-weight:960;font-size:17px}.listing-info small{color:var(--muted);display:block;font-size:10px;line-height:1.5}.listing-click{position:absolute;inset:0;z-index:1;background:none;border:0;cursor:pointer}.listing-heart{position:absolute;z-index:2;right:8px;top:8px;border:0;background:white;color:var(--pink);border-radius:50%;width:31px;height:31px;display:grid;place-items:center;box-shadow:0 2px 10px #0003}.listing-heart svg{width:18px;height:18px}.listing-heart.is-fav svg{fill:var(--pink)}.listing-demo{position:absolute;top:8px;left:8px;z-index:1;border-radius:99px;background:#111b;color:white;padding:4px 7px;font-weight:900;font-size:8px;letter-spacing:.05em}.empty-state{text-align:center;background:white;border:1px dashed #e1e2e7;border-radius:19px;padding:35px 18px;color:#737684;grid-column:1/-1}.empty-state svg{width:38px;height:38px;color:var(--pink)}.empty-state h3{color:#2a2d33;margin:10px 0 5px}.empty-state p{font-size:13px}
.seller-form{padding:5px 0 25px}.seller-form label{display:block;font-size:12px;font-weight:850;margin-bottom:13px;color:#41444d}.seller-form input,.seller-form select,.seller-form textarea,.filter-form input,.filter-form select{width:100%;margin-top:7px;padding:13px 12px;border:1px solid #dadce4;background:white;border-radius:12px;color:#20222a;min-height:47px;font-size:14px}.seller-form textarea{resize:vertical;min-height:98px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-upload{min-height:139px;display:grid!important;place-items:center;border:2px dashed #ffc0d3;border-radius:17px;background:#fff4f7;text-align:center;overflow:hidden;padding:12px;color:var(--pink)!important}.photo-upload svg{height:33px;width:33px;margin:0 auto 3px}.photo-upload strong,.photo-upload small{display:block}.photo-upload small{margin-top:3px;font-weight:600;color:#a1758a}.photo-upload img{max-height:185px;width:100%;object-fit:contain;border-radius:11px}.seller-privacy{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #e9e8ee;border-radius:15px;padding:13px;margin:6px 0 20px}.seller-privacy svg{color:var(--pink);width:21px}.seller-privacy p{margin:0;color:#6e707a;font-size:12px}.primary-btn{border:0;background:var(--pink);color:white;padding:14px 18px;border-radius:14px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:900;box-shadow:0 7px 17px #ff246933}.primary-btn svg{width:20px;height:20px}.primary-btn.full{width:100%}.outline-btn{background:white;color:var(--ink);border:1px solid #dcdee5;border-radius:13px;padding:11px 15px;font-weight:850;display:inline-flex;align-items:center;gap:7px}.outline-btn svg{width:19px}.profile-summary{background:#16171e;border-radius:19px;display:flex;align-items:center;gap:12px;padding:17px;color:#fff}.profile-icon{width:47px;height:47px;border-radius:15px;background:#ff24693b;display:grid;place-items:center;color:var(--pink)}.profile-summary strong{font-size:13px;display:block}.profile-summary small{display:block;color:#c8c8ce;font-size:11px;margin-top:3px}.profile-summary .subtle-link{margin-left:auto;color:#ffacc7}.subtle-link{border:0;background:transparent;color:var(--pink);font-size:12px;font-weight:850;white-space:nowrap}.menu-row{background:white;border:1px solid #eeeef1;display:flex;align-items:center;gap:14px;width:100%;min-height:65px;border-radius:14px;padding:12px;margin-bottom:9px;text-align:left}.menu-row svg{color:var(--pink);width:23px}.menu-row span{font-weight:870;flex:1}.menu-row small{display:block;color:#878a94;font-weight:500;margin-top:3px}.menu-row .chev{color:#777;width:17px}.profile-disclaimer{font-size:12px;color:#9a9da5;line-height:1.5;margin:24px 3px 10px}.myad{background:white;border:1px solid #e7e7ed;border-radius:16px;margin-bottom:12px;overflow:hidden}.myad-main{display:flex;gap:11px;align-items:center;padding:11px}.myad-photo{height:76px;width:86px;object-fit:cover;background:#f3f4f7;border-radius:11px}.myad h3{font-size:15px;margin:0 0 4px}.myad p{font-size:11px;color:#858794;margin:0 0 4px}.myad strong{font-size:14px}.myad-controls{padding:10px 12px 12px;border-top:1px solid #f0f0f2}.myad-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.myad-actions button{font-size:11px;border:1px solid #e1e2e8;background:#fafbfc;border-radius:10px;padding:8px 10px;font-weight:800}.myad-actions button.danger{color:#e33364}.visibility{display:flex;align-items:center;justify-content:space-between;gap:10px}.visibility strong{font-size:12px}.visibility small{font-size:11px;color:#8a8d99;display:block;margin-top:3px}.switch{width:47px;height:28px;border-radius:20px;border:0;background:#dadde3;padding:3px;display:flex;align-items:center;justify-content:flex-start}.switch:before{content:"";width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 2px 5px #0002;transition:transform .2s}.switch.on{background:var(--pink)}.switch.on:before{transform:translateX(19px)}
.overlay{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center}.overlay.open{display:flex}.shade{position:absolute;inset:0;background:#0b0b15a6;backdrop-filter:blur(4px)}.sheet{position:relative;width:min(100%,620px);max-height:91dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:10px 22px calc(25px + var(--safeBottom));border-radius:25px 25px 0 0;box-shadow:0 -10px 50px #0003}.sheet-handle{height:5px;width:42px;background:#dddde5;border-radius:20px;margin:1px auto 16px}.sheet-close{position:absolute;top:17px;right:17px;width:35px;height:35px;border:0;border-radius:50%;display:grid;place-items:center;background:#f2f3f5}.sheet-close svg{height:19px}.sheet h2{font-size:27px;margin:0 0 6px}.sheet h2 span{color:var(--pink)}.sheet p{color:#72757f;font-size:13px}.filter-form label{display:block;font-weight:850;font-size:12px;margin-top:14px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-actions{display:flex;gap:10px;margin-top:22px}.filter-actions button{flex:1}.sheet-hero-img{border-radius:17px;height:230px;width:100%;object-fit:cover;margin-bottom:14px}.sheet-summary{display:flex;justify-content:space-between;gap:10px;align-items:center}.sheet-summary h2{font-size:24px;margin:0}.sheet-summary strong{font-size:22px;color:var(--pink);white-space:nowrap}.sheet-stats{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 17px}.sheet-stats span{background:#f2f2f6;font-size:12px;border-radius:8px;padding:7px 10px;color:#3d404a;font-weight:800}.sheet-buttons{display:flex;gap:8px;margin:20px 0 5px}.sheet-buttons button{flex:1}.sheet-softbox{background:#fff2f6;border:1px solid #ffd3df;border-radius:12px;padding:11px;font-size:12px;color:#92506b}.qr-wrap{padding:17px 0;display:grid;place-items:center}.qr-wrap img{width:225px;image-rendering:pixelated}.install-steps{margin:22px 0;padding-left:24px}.install-steps li{margin:12px 0;font-size:15px}.toast{position:fixed;left:50%;bottom:calc(95px + var(--safeBottom));transform:translate(-50%,20px);padding:11px 16px;border-radius:15px;background:#16151eef;color:white;max-width:min(90%,440px);font-size:13px;font-weight:800;box-shadow:0 8px 25px #0003;z-index:140;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.scanner-video{width:100%;height:220px;background:#0e0e16;object-fit:cover;border-radius:16px}.map-demo-marker{display:flex;align-items:center;gap:7px;padding:5px}.leaflet-popup-content{font-size:12px}.leaflet-popup-content button{color:#e21052;border:0;background:transparent;font-weight:900;cursor:pointer}
@media(max-height:790px){.view{padding-top:14px}.discover-intro h1{font-size:28px}.discover-intro p{font-size:12px}.search-pills{margin:13px 0}.deck{height:clamp(305px,46dvh,440px);min-height:305px}.deck-actions{margin:15px 0 7px}.round-action{height:58px;width:58px}.round-action.detail{width:47px;height:47px}.mini-note{margin-top:8px}}
@media(max-width:350px){.view{padding-left:14px;padding-right:14px}.topbar{padding-left:12px;padding-right:12px}.round-action{height:58px;width:58px}.deck-actions{gap:13px}.logo-word{font-size:22px}.explore-grid{gap:8px}.listing-image{height:95px}.two-col{gap:7px}}
@media(min-width:900px){body{background:radial-gradient(circle at 20% 20%,#f9c5d8,transparent 38%),radial-gradient(circle at 80% 80%,#d3d5e0,transparent 40%),#e9eaf0}.app-shell{margin:20px auto;min-height:calc(100dvh - 40px);border-radius:28px;overflow:hidden}.bottom-nav{bottom:20px;border-radius:0 0 26px 26px}.overlay{align-items:center}.sheet{max-height:88vh;border-radius:24px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* DOOVY v2 : swipe central, gestes lisibles et commandes adulte/ludique. */
#view-discover{background:linear-gradient(180deg,#fbfbfe 0%,#f2f3f9 100%)}
.deck-area{padding-bottom:3px}
.next-peek{position:absolute;inset:12px 8px 0;z-index:-1;border-radius:26px;background:#101118;overflow:hidden;transform:scale(.966) translateY(5px);box-shadow:0 10px 32px #1115}
.next-peek img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.next-peek span{position:absolute;bottom:20px;left:16px;color:white;font-size:11px;font-weight:850}
.car-swipe{touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none;z-index:2}
.car-swipe .car-photo{pointer-events:none;-webkit-user-drag:none}
.swipe-stamp{background:rgba(0,0,0,.18);text-shadow:0 2px 12px #0006}
.swipe-stamp.right{color:#75ffc5}
.swipe-stamp.left{color:#ff7892}
.deck-actions{gap:30px;margin-top:21px;margin-bottom:10px;align-items:flex-start}
.decision{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:80px}
.decision strong{font-size:12px;font-weight:950;letter-spacing:.085em}
.decision:first-child strong{color:#ef4668}.decision:last-child strong{color:#079c6b}.detail-decision strong{color:#737985;font-size:10px}
.round-action{transition:transform .16s ease,box-shadow .16s ease;background:white}
.round-action:active{transform:scale(.90);box-shadow:0 2px 8px #15151a20}
.round-action.pass{border-color:#ffd4de;color:#ef496b}
.round-action.love{border-color:#b3f2d9;color:#00ab73}
.gesture-hint{max-width:400px;font-size:12px;font-weight:850}
.mini-note{margin-top:9px;font-size:11px}
@media(max-height:790px){.deck-actions{margin:13px 0 7px}.decision{gap:3px}.decision strong{font-size:10px}.deck{height:clamp(295px,46dvh,435px)}}
@media(max-width:360px){.deck-actions{gap:17px}.decision{min-width:70px}.swipe-stamp{font-size:34px}}


/* DOOVY: cadrage automobile complet, infos dans un panneau indépendant. */
.deck{height:clamp(380px,53dvh,520px)}
.car-swipe{--details-height:126px;background:#e9ebf0}
.car-swipe .car-photo{top:0;left:0;right:0;bottom:auto;width:100%;height:calc(100% - var(--details-height));object-fit:contain;object-position:center center;background:#edf0f3}
.car-swipe .image-wash{inset:0 0 var(--details-height) 0;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 18%,transparent 100%);pointer-events:none}
.car-swipe .card-bottom{left:0;right:0;bottom:0;min-height:var(--details-height);padding:15px 19px 16px;background:#13151e;color:#fff;text-shadow:none;display:flex;flex-direction:column;justify-content:center}
.car-swipe .card-bottom .card-price{font-size:clamp(25px,7.5vw,32px)}
.car-swipe .card-bottom h2{font-size:clamp(19px,5.7vw,23px);margin:4px 0 8px}
.car-swipe .card-specs{gap:5px}
.car-swipe .card-specs span{background:#ffffff25;font-size:10px;padding:5px 7px}
.car-swipe .card-toprow,.car-swipe .swipe-stamp{z-index:4}
.car-swipe .swipe-stamp{top:55px}
.sheet-hero-img,.listing-image,.myad-photo{object-fit:contain;background:#edf0f3}
@media(max-height:790px){.deck{height:clamp(340px,50dvh,450px)}}
@media(max-height:660px){.car-swipe{--details-height:118px}.car-swipe .card-bottom{padding:11px 15px}}

/* Contact et six onglets avec carte publique (annonces à visibilité volontaire). */
.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr));padding-left:0;padding-right:0}.nav-tab{font-size:9px;gap:1px}.nav-tab svg{width:21px;height:21px}.nav-tab.sell-tab{margin-top:-13px}.plus-disc{width:42px;height:42px}.plus-disc svg{width:21px;height:21px}
.hotline-card{background:#15161f;color:#fff;border-radius:22px;padding:26px 18px;text-align:center;box-shadow:0 14px 38px #15162218;margin:12px 0 24px}.hotline-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#ff286b;margin:0 auto 15px}.hotline-icon svg{width:30px;height:30px}.hotline-kicker{font-size:11px;letter-spacing:.13em;color:#ff95b5;font-weight:900}.hotline-card strong{font-size:clamp(30px,8vw,42px);display:block;margin:10px auto;letter-spacing:.015em}.hotline-card p{max-width:390px;margin:0 auto 15px;color:#d0d1dc;font-size:13px;line-height:1.6}.hotline-pending{background:#35303c;color:#ffb8ce;border-radius:99px;padding:8px 12px;display:inline-block;font-size:12px;font-weight:850}.faq-card{background:white;border-radius:19px;border:1px solid #e7e7ed;padding:19px;margin-bottom:18px}.faq-card h2{font-size:20px;margin:0 0 12px}.faq-card details{border-top:1px solid #eeeef1;padding:13px 0}.faq-card summary{font-weight:800;cursor:pointer}.faq-card p{font-size:13px;color:#71747e;margin:9px 0 0}.map-sync-status{font-size:12px;color:#8a7480;background:#fff2f6;border:1px solid #f5e0e8;border-radius:10px;padding:10px;margin:12px 0}.real-car-link{display:block;color:#e21a5d;font-weight:850;text-decoration:underline;margin-top:8px;font-size:12px}.map-pin span{font-size:15px}


/* 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 layout stabilisation on iPhone / Android / desktop */
html,body{max-width:100%;overflow-x:clip}
.app-shell,.main-scroll,.view{min-width:0}
#realMap{z-index:0;isolation:isolate;touch-action:pan-y!important;overscroll-behavior:contain;max-width:100%;height:clamp(280px,39dvh,365px)}
#realMap.map-unlocked{touch-action:none!important}
#realMap .leaflet-control-container{z-index:1}
#view-map .map-topline{position:sticky;top:calc(71px + env(safe-area-inset-top,0px));z-index:65;display:flex;flex-wrap:wrap;gap:7px;padding:10px 0;margin:0 0 10px;background:var(--bg);border-bottom:1px solid #e8e8ef}
#view-map .map-topline .pill{flex:1 1 auto;min-width:0;white-space:nowrap;padding:10px 9px;font-size:12px;justify-content:center;touch-action:manipulation}
#view-map .map-topline [data-action="filters"]{font-weight:900;color:#bf1957;border:1px solid #ff4e8c;background:#ffecf2}
.overlay{z-index:6000!important;overscroll-behavior:contain}
.sheet{max-height:calc(100dvh - env(safe-area-inset-top,0px) - 12px);min-height:0;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.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}
.deck-area,.deck,.car-swipe,.car-swipe .car-photo{max-width:100%}
.car-swipe .car-photo{object-fit:contain!important;object-position:center center!important;display:block}
.next-peek img,.listing-image,.sheet-hero-img,.myad-photo{object-fit:contain!important;object-position:center center!important}
.car-swipe .card-bottom{overflow:hidden}
.car-swipe .card-bottom h2{overflow-wrap:anywhere}
@media(max-width:375px){#view-map .map-topline{gap:5px}#view-map .map-topline .pill{font-size:11px;padding:9px 6px}.df-form .df-cols{gap:0 7px}}
@media(max-height:700px){#realMap{height:265px}.deck{height:clamp(315px,50dvh,405px)}.sheet{max-height:calc(100dvh - 8px)}}


/* 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}}

/* Increase useful photo area without cropping the vehicle */
.deck{height:clamp(405px,63dvh,545px);min-height:405px;max-height:545px}
.car-swipe{--details-height:115px}
.car-swipe .car-photo{top:0;bottom:auto;width:100%;height:calc(100% - var(--details-height));object-fit:contain!important;object-position:center!important;background:#e6e8ec}
.car-swipe .image-wash{bottom:var(--details-height);background:linear-gradient(180deg,#0004,transparent 22%,transparent)}
.car-swipe .card-bottom{left:0;right:0;bottom:0;min-height:var(--details-height);padding:11px 17px;background:#151820;display:flex;flex-direction:column;justify-content:center}
.car-swipe .card-bottom .card-price{font-size:30px;line-height:1}
.car-swipe .card-bottom h2{font-size:21px;margin:3px 0 7px}
.car-swipe .card-specs{gap:5px}.car-swipe .card-specs span{padding:4px 7px}
@media(max-height:700px){.deck{height:clamp(375px,60dvh,465px)}.car-swipe{--details-height:110px}}
@media(max-width:370px){.deck{height:clamp(385px,60dvh,500px)}}
