/* Petrini Catalogue : fiche de bien. Mobile d'abord, inspirée de la fiche des landings Ads (galerie 3:2 au doigt, pastilles de faits,
   action toujours à portée) ; sur ordinateur, histoire du bien à gauche, conseiller collé à droite. */
.pc-fiche .pf-top{padding-top:calc(96px + env(safe-area-inset-top,0px))}
.pc-fiche .g-crumbs ol{margin-bottom:14px}
/* galerie */
.pf-gal{position:relative;margin:0 calc(-1 * var(--gutter,16px));background:#fff}
.pf-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pf-track::-webkit-scrollbar{display:none}
.pf-sl{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:3/2;background:var(--paper2)}
.pf-sl{overflow:hidden}
.pf-sl::before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover;filter:blur(26px) saturate(1.1) brightness(.95)}
.pf-sl img{position:relative;width:100%;height:100%;object-fit:contain} /* jamais de bandes noires : le vide est rempli par la même photo floutée (règle du 08/10/2026) */
.pf-ctr,.pf-vid{position:absolute;bottom:14px;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;font:600 .78rem/1 var(--text);color:var(--ink);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-decoration:none}
.pf-sl{position:relative}.pf-ctr{right:14px}.pf-vid{left:14px;z-index:2}
.pf-det,.pf-tuile{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;font:600 .78rem/1 var(--text);color:#fff;background:rgba(42,20,17,.66);text-decoration:none}
.pf-tuile{z-index:2}
.pf-play{width:0;height:0;border-left:9px solid var(--terra-deep);border-top:6px solid transparent;border-bottom:6px solid transparent}
.pf-arr{display:none}
@media (min-width:900px){
 .pf-gal{margin:0;border-radius:24px;overflow:hidden}
 .pf-gal.seule .pf-sl{aspect-ratio:21/9}
 .pf-arr{display:grid;place-items:center;position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;border:0;border-radius:50%;background:rgba(255,255,255,.9);cursor:pointer;color:var(--ink)}
 .pf-arr::before{content:"";width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:-4px}
 .pf-arr.l{left:16px}.pf-arr.l::before{transform:rotate(-135deg);margin:0 -4px 0 0}.pf-arr.r{right:16px}
}
/* bloc d'état */
.pf-etat{display:grid;margin:18px 0 0;border-radius:24px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.pf-etat-i img{display:block;width:100%;height:100%;max-height:260px;object-fit:cover}
.pf-etat-t{padding:22px;color:var(--body);line-height:1.65}
.pf-etat-t .h3,.pf-om-titre{font:500 clamp(1.25rem,3.4vw,1.6rem)/1.25 var(--display);color:var(--ink);margin:0 0 10px}
.pf-etat-t p:empty{display:none}
.pf-etat-b{margin-top:8px;background:var(--ink);color:#fff!important}
@media (min-width:900px){.pf-etat{grid-template-columns:1fr 1.3fr}.pf-etat-i img{max-height:none}.pf-etat-t{padding:32px 40px}}
/* grille */
.pf-grid{display:grid;gap:28px;padding-top:24px;padding-bottom:40px}
@media (min-width:1000px){.pf-grid{grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}.pf-agent{position:sticky;top:110px}}
.pf-story>section,.pf-story>header{margin-bottom:30px}
.pf-kick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pf-k{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;font:600 .72rem/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--terra-deep);background:var(--rose,#FBEADF)}
.pf-head h1{margin:0 0 10px;font:500 clamp(1.6rem,5vw,2.6rem)/1.15 var(--display);color:var(--ink);text-wrap:balance}
.pf-prix{margin:0 0 16px;font:600 clamp(1.25rem,3.6vw,1.6rem)/1.2 var(--text);font-variant-numeric:tabular-nums;color:var(--ink)}
.pf-faits{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pf-faits li{display:inline-flex;align-items:baseline;gap:6px;padding:10px 14px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:.86rem;color:var(--muted)}
.pf-faits strong{font:600 1rem/1 var(--text);color:var(--ink)}
.pf-story h2,.pf-story .pf-desc-t{margin:0 0 12px;font:500 clamp(1.2rem,3.2vw,1.5rem)/1.3 var(--display);color:var(--ink)}
.pf-lead .lead{font-size:1.08rem;line-height:1.7;color:var(--body)}
.pf-caract{display:grid;grid-template-columns:1fr;margin:0;border-top:1px solid var(--line)}
.pf-caract div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.pf-caract dt{color:var(--muted)}.pf-caract dd{margin:0;font-weight:600;color:var(--ink);text-align:right}
@media (min-width:700px){.pf-caract{grid-template-columns:1fr 1fr;column-gap:32px}}
.pf-bro{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;margin-top:20px;padding:16px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.pf-bro img{width:96px;height:72px;border-radius:12px;object-fit:cover}
.pf-bro-t{margin:0 0 4px;font-weight:600;color:var(--ink)}.pf-bro p{margin:0 0 10px;font-size:.88rem}
.pf-bro-a{display:flex;flex-wrap:wrap;gap:8px}.pf-bro-a .btn{--h:40px;padding:0 16px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.pf-desc{max-width:none}
.pf-plan img{width:100%;height:auto;border-radius:18px;background:#fff}
.pf-loc{display:grid;gap:14px}
.pf-micro{margin:0 0 4px;font:600 .72rem/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--terra-deep)}
.pf-h{font:500 clamp(1.2rem,3.2vw,1.5rem)/1.3 var(--display);color:var(--ink);margin:0 0 6px}
.pf-carte{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:160px;padding:18px;border-radius:20px;text-decoration:none;color:var(--ink);background:linear-gradient(135deg,#f3e3d8,#fbf5f1);box-shadow:inset 0 0 0 1px var(--line)}
.pf-pin{font-weight:600}.pf-coord{font-size:.84rem;color:var(--muted)}
.pf-quartier{padding:22px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.pf-quartier .h2{font:500 clamp(1.2rem,3.2vw,1.5rem)/1.3 var(--display);color:var(--ink);margin:0 0 10px}
/* conseiller */
.pf-agent{padding:20px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 30px 60px -44px rgba(61,30,25,.55)}
.pf-agent-id{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.pf-agent-id img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.pf-agent-n{font:500 1.2rem/1.2 var(--display);color:var(--ink)}.pf-agent-id p{margin:2px 0 0;font-size:.84rem;color:var(--muted)}
.pf-agent-tel{display:flex;flex-direction:column;gap:2px;padding:12px 14px;margin-bottom:12px;border-radius:16px;background:var(--paper2);text-decoration:none;color:var(--ink)}
.pf-agent-tel span{font-size:.78rem;color:var(--muted)}
.pf-agent-p p{margin:4px 0 12px;font-size:.9rem}
.pf-form{display:grid;gap:9px}
.pf-form input:not([type=checkbox]),.pf-form textarea,.pf-form select{width:100%;box-sizing:border-box;border:0;border-radius:14px;padding:13px 16px;font:400 1rem var(--text);color:var(--ink);background:var(--paper2);box-shadow:inset 0 0 0 1px var(--line)}
.pf-form input:focus,.pf-form textarea:focus,.pf-form select:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--terra-deep)}
.pf-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a5a52' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.pf-form select:invalid{color:var(--muted,#8a7670)}
.pf-form .need{box-shadow:inset 0 0 0 1.5px #b3261e!important}
.g-consent a{color:inherit;text-decoration:underline}
/* carte off-market : la tuile « Need information ? » n'apparaît qu'à partir de 992 px, comme sur l'ancien site (d-none d-lg-flex) */
@media (max-width:991px){.pf-om .pf-tuile{display:none}}
.pf-switch{display:flex;gap:10px;align-items:center;font-size:.86rem}
.pf-wa{margin-top:10px;width:100%;justify-content:center}
.pf-agent-s{margin:12px 0 4px;font-size:.86rem;text-align:center}.pf-agent-s a{color:var(--ink)}
.pf-disc{margin:0;font-size:.74rem;color:var(--muted);text-align:center}
/* similaires */
.pc-main .pf-sim{padding:clamp(32px,5vw,64px) 0;background:#fff}
.pf-sim-r{margin-top:16px}
.pf-tout{margin:22px 0 0;text-align:center}.pf-tout a{font-weight:600;color:var(--ink)}

.pf-qliste{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.pf-qliste a{display:inline-flex;height:34px;align-items:center;padding:0 12px;border-radius:999px;font-size:.84rem;text-decoration:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.pf-qliste a[aria-current]{background:var(--ink);color:#fff}
.pf-modal{font-size:.84rem;color:var(--muted)}
.pf-quartier .btn{margin-top:10px;background:var(--ink);color:#fff!important;text-decoration:none!important}
.pf-qliste a[aria-current]{color:#fff!important}
.pf-bro-a .btn{text-decoration:none}
@media (min-width:900px){.pf-sl,.pf-gal.seule .pf-sl{aspect-ratio:auto;height:min(72vh,780px)}}
.pf-sl{min-width:0} /* une photo seule ne déborde jamais du cadre (21:9 + hauteur fixe donnait 1 820 px de large, 07/10/2026) */
/* pastille de contact de la galerie : traduite et redessinée (07/10/2026) */
.pf-tuile{gap:8px;height:38px;padding:0 16px 0 12px;background:rgba(255,255,255,.88);color:var(--ink);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);box-shadow:0 8px 24px -10px rgba(42,20,17,.45);font:600 .8rem/1 var(--text);transition:transform .2s ease,box-shadow .2s ease}
.pf-tuile svg{width:16px;height:16px;fill:none;stroke:var(--terra-deep);stroke-width:1.8;stroke-linejoin:round}
.pf-tuile:hover{transform:translateY(-1px);box-shadow:0 12px 28px -10px rgba(42,20,17,.55)}
/* titre de description ImmoToolBox déjà porté en H2 par une autre fiche : même dessin, sans balise Hn (garant anti-doublon, includes/h2.php, 26/10/2026) */
.pf-story .pf-desc-t{color:var(--ink);letter-spacing:-.012em}
