/* ALLO212 V287 — fiche d'annonce (photo, visionneuse, apporteur d'affaires, similaires), petits messages */
/* la photo de l'annonce revient en tête de la fiche */
html.v287-fiche body .gallery-card{display:block!important;padding:0!important;overflow:hidden;border-radius:20px!important;margin-bottom:12px}
html.v287-fiche body .gallery-card #mainPhoto{display:block;width:100%;aspect-ratio:4/3;height:auto!important;object-fit:cover;cursor:zoom-in;-webkit-touch-callout:none;user-select:none;border-radius:0!important}
html.v287-fiche body .gallery-card img{-webkit-touch-callout:none;user-select:none}
html.v287-fiche body .gallery-card .photo-badge{position:absolute;right:10px;top:10px}
/* visionneuse plein écran */
.v287-view{position:fixed;inset:0;z-index:2147483600;background:#05070D;display:grid;place-items:center;touch-action:pan-y}
.v287-view img{max-width:100vw;max-height:100dvh;object-fit:contain;-webkit-touch-callout:none;user-select:none;pointer-events:none}
.v287-view .x{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font:700 20px/1 system-ui;z-index:2}
.v287-view .nv{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:60px;border:0;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;font:700 30px/1 system-ui;z-index:2}
.v287-view .p{left:10px}.v287-view .n{right:10px}
.v287-view .ct{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#fff;font:700 13px Montserrat,sans-serif}
html.v287-lock,html.v287-lock body{overflow:hidden!important}
/* apporteur d'affaires */
.v287-app{margin:0 0 12px;padding:16px;border-radius:20px;background:linear-gradient(150deg,#2A1B10,#1A1424);border:1px solid rgba(255,138,61,.4);color:#fff;font-family:Montserrat,system-ui,sans-serif}
.v287-app-h{display:flex;gap:12px;align-items:flex-start}
.v287-app-h .ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,#FFB547,#E07A00)}
.v287-app-h b{display:block;font:800 16px/1.25 Montserrat,sans-serif;color:#fff}
.v287-app-h small{display:block;margin-top:4px;font:500 13px/1.45 Montserrat,sans-serif;color:rgba(241,245,249,.85)}
.v287-sh{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.v287-sh button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font:700 12px Montserrat,sans-serif;cursor:pointer}
.v287-sh i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 15px Montserrat,sans-serif;font-style:normal}
/* l'ancienne grille de partage, en double, est rangée (le compteur de partages continue de fonctionner) */
html.v287-fiche body .sh69 .sh69-row,html.v287-fiche body .sh69 .sh69-p{display:none!important}
/* invitation */
.v287-pop{position:fixed;left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:2147483000;max-width:460px;margin:0 auto;padding:16px 16px 14px;border-radius:20px;background:#0E1220;color:#fff;box-shadow:0 20px 50px -12px rgba(0,0,0,.6);border:1px solid rgba(255,138,61,.45);transform:translateY(20px);opacity:0;transition:.25s;font-family:Montserrat,system-ui,sans-serif}
.v287-pop.on{transform:none;opacity:1}
.v287-pop b{display:block;font:800 15.5px/1.3 Montserrat,sans-serif;padding-right:30px}
.v287-pop p{margin:6px 0 12px;font:500 13px/1.45 Montserrat,sans-serif;color:rgba(241,245,249,.85)}
.v287-pop .go{width:100%;height:46px;border:0;border-radius:999px;background:linear-gradient(120deg,#FF7A2E,#E8400C);color:#fff;font:800 14.5px Montserrat,sans-serif}
.v287-pop .x{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:15px}
@media(min-width:900px){.v287-pop{left:auto;right:24px;bottom:24px}}
/* similaires / près de vous */
.v287-rails{grid-column:1/-1;display:grid;gap:18px;margin:6px 0 20px}
.v287-rail h2{margin:0 0 10px;font:800 18px/1.2 Montserrat,sans-serif;color:#fff}
.v287-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(44vw,210px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;align-items:start}
.v287-row::-webkit-scrollbar{display:none}
.v287-row>i{aspect-ratio:3/4;border-radius:18px;background:rgba(255,255,255,.06)}
.v287-row .c2-ac{scroll-snap-align:start;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#141C33;border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}
.v287-row .c2-ac .ph{aspect-ratio:4/3;background:#E9ECF1;display:grid;place-items:center;overflow:hidden}
.v287-row .c2-ac .ph img{width:100%;height:100%;object-fit:cover}
.v287-row .c2-ac b{padding:9px 10px 2px;font:800 13.5px/1.3 Montserrat,sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.v287-row .c2-ac small{padding:0 10px;font:600 11.5px Montserrat,sans-serif;color:#94A3B8}
.v287-row .c2-ac em{padding:4px 10px 10px;font:800 14px Montserrat,sans-serif;font-style:normal;color:#FF8A3D}
.v287-toast{position:fixed;left:16px;right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:2147483601;max-width:460px;margin:0 auto;background:#0E1220;color:#fff;border-radius:16px;padding:12px 14px;font:600 13.5px/1.35 Montserrat,sans-serif;box-shadow:0 14px 30px -10px rgba(0,0,0,.5);opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}
.v287-toast.on{opacity:1;transform:none}
/* rangées d'annonces : les cartes ne s'étirent plus jusqu'en bas (carte SEAT Ateca géante) */
@media (max-width:820px){
  html:not(#m286) body :is(.grid,.job-grid,.property-grid,.vehicle-grid,.listing-grid,.c2-ann,.x-results){align-items:start!important}
  html:not(#m286) body :is(.grid,.job-grid,.property-grid,.vehicle-grid,.listing-grid,.c2-ann,.x-results)>*{height:auto!important;min-height:0!important;align-self:start!important}
  html:not(#m286) body :is(a.vehicle,a.property-card,a.job-card) :is(.body,.property-body,.job-body){flex:0 0 auto!important;min-height:0!important}
}
/* champs : exemples (placeholders) toujours lisibles, sur fond clair comme sur fond sombre */
html body input::placeholder,html body textarea::placeholder{opacity:1}
html body .tw-in::placeholder,html body .h74-f input::placeholder{color:#64748B!important}
/* volet ouvert en plein écran depuis sa barre grise */
.pm-sheet-card.pm-full{height:100dvh!important}
html.v287-fiche body .hero-grid,html.v287-fiche body .hero-grid>*{min-width:0!important;max-width:100%}
html.v287-fiche body .hero-grid{grid-template-columns:minmax(0,1fr)!important}
@media(min-width:900px){html.v287-fiche body .hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)!important}}
.v287-rails,.v287-rail,.v287-app{min-width:0;max-width:100%}
html.v287-fiche body .sh69{display:none!important}
/* Annuaire des pros en bas des pages (Garages et services auto-moto, Immo…) : même tenue que les cartes d'annonces,
   titre blanc lisible sur les pages sombres (avant : titre noir sur fond sombre, cartes blanches). */
html body.pm .a2x h2,html body.c2 .a2x h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.pm .a2x .a2x-sub,html body.c2 .a2x .a2x-sub{color:#CBD5E1!important}
html body.pm-light:not(.c2) .a2x h2{color:#0E1220!important;-webkit-text-fill-color:#0E1220!important}
html body:is(.pm,.c2):not(.pm-light) .a2x .a2x-card{background:#141C33!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 10px 24px -16px rgba(0,0,0,.6)!important}
html body:is(.pm,.c2):not(.pm-light) .a2x .a2x-name{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:13.5px!important}
html body:is(.pm,.c2):not(.pm-light) .a2x .a2x-cat{color:#94A3B8!important}
html body:is(.pm,.c2):not(.pm-light) .a2x .a2x-tel{background:rgba(255,255,255,.08)!important;color:#E2E8F0!important}
html body:is(.pm,.c2):not(.pm-light) .a2x .a2x-wa{background:rgba(37,211,102,.16)!important;color:#4ADE80!important}
@media (max-width:820px){
  .a2x .a2x-grid{grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:min(44vw,210px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px!important;margin:0 -16px;padding:2px 16px 8px;align-items:start}
  .a2x .a2x-grid::-webkit-scrollbar{display:none}
  .a2x .a2x-card{scroll-snap-align:start}
  .a2x .a2x-body{min-height:0!important;padding:9px 10px 2px!important}
  .a2x .a2x-actions{padding:8px 10px 10px!important}
  .a2x .a2x-btn span{display:none}
  .a2x h2{font-size:19px!important}
}

/* ===== ALLO212 V303 — téléphone : lisibilité (sans changer le design) ===== */
/* Sélecteur FR / MA de « Que cherchez-vous ? » : toujours lisible, quelle que soit la couleur de la rubrique */
.h74 .h74-seg, html[data-c2s] .h74 .h74-seg{background:rgba(255,255,255,.94)!important}
.h74 .h74-seg button, html[data-c2s] .h74 .h74-seg button{color:#2A1A10!important;-webkit-text-fill-color:#2A1A10!important;background:transparent!important}
.h74 .h74-seg button[aria-pressed=true], html[data-c2s] .h74 .h74-seg button[aria-pressed=true]{background:#2A1A10!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Volet « Tous les services » : icônes Messages / Connexion / MRE visibles sur fond sombre */
.h74-sheet .mb-me-i svg{stroke:#FF9A5C!important;color:#FF9A5C!important}
.h74-sheet .mb-me-i.mb-me-mre svg{stroke:#4ADE80!important;color:#4ADE80!important}
/* Accueil téléphone : titres posés sur le fond brun */
@media (max-width:700px){
  body.a18-app #x-results-title, body.a18-app .x-feed-head h2{color:#F8FAFC!important;-webkit-text-fill-color:#F8FAFC!important}
  body.a18-app .x-feed-controls>span{color:rgba(248,250,252,.72)!important;-webkit-text-fill-color:rgba(248,250,252,.72)!important}
}
@media (max-width:700px){
  .a-header.v303h{background:var(--v303h)!important;border-bottom-color:transparent!important;box-shadow:none!important}
  .a-header.v303h .a-brand span,.a-header.v303h .a-brand b{color:#fff!important;-webkit-text-fill-color:#fff!important}
  .a-header.v303h .a-brand small{color:rgba(255,255,255,.7)!important}
  html .h74-sheet .b212-tile .b212-name{color:#F1F5F9!important}
}

/* V309 : bandeau d’étape clair des volets (« Où se trouvent les travaux ? », « Étape 2/6 ») : textes foncés, toujours lisibles */
.tw-hd:not(.p212-hd) .tw-q{color:#2A1A10!important;-webkit-text-fill-color:#2A1A10!important}
.tw-hd .tw-q em{color:#C25717!important;-webkit-text-fill-color:#C25717!important}
.tw-hd .tw-h{color:#6B5646!important;-webkit-text-fill-color:#6B5646!important}
.tw-hd .tw-n{color:#8A5A3A!important;-webkit-text-fill-color:#8A5A3A!important}
.tw-hd .tw-code{color:#C25717!important;-webkit-text-fill-color:#C25717!important}
