/* Fiche de bien, deuxième version (Paolo, 07/10/2026)
   - téléphone (≤ 899 px) : EXACTEMENT la fiche des pages Ads Acheter / Louer (petrini-landing, assets/buy.css « .f-sheet ») :
     panneau qui monte du bas (coins de 24 px, poignée), galerie 3:2 sur fond flouté, compteur et vignettes, sur-titre, titre, prix,
     faits sur deux colonnes, description repliée, barre d'action collée ; se ferme en le tirant vers le bas (assets/fiche-panneau.js).
   - ordinateur (≥ 900 px) : gabarit de l'ancien www.petrini.mc modernisé : mosaïque grande photo + 2 alignée sur les colonnes
     (68 / 32 %), histoire du bien dans une carte, prix à droite du titre, conseiller collant à droite, quartier en carte séparée. */

@keyframes pf-monte{from{transform:translateY(100%)}to{transform:none}}
@keyframes pf-fond{from{opacity:0}to{opacity:1}}

/* ---------- Téléphone : la fiche des pages Ads ---------- */
@media (max-width:899px){
 /* derrière le panneau : la page Petrini (motif, mot PETRINI) sous un voile léger, jamais un aplat sombre (Paolo, 08/10/2026) */
 body.pc-fiche-page{background:#EFE6E0 url(img/motif-p-1200.webp) center top/cover no-repeat fixed}
 body.pc-fiche-page::before{content:"";position:fixed;inset:0;z-index:0;background:rgba(42,20,17,.18)}
 body.pc-fiche-page::after{content:"";position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);z-index:0;width:132px;height:26px;transform:translateX(-50%);background:url(img/logo-petrini.svg) center/contain no-repeat} /* le vrai logo du site (wordmark.svg), jamais du texte */
 body.pc-fiche-page .ps-nav,body.pc-fiche-page .sticky,html[data-v=b] body.pc-fiche-page .sticky{display:none!important}
 body.pc-fiche-page{padding-bottom:0!important}
 .pc-main.pc-fiche{padding:0;background:transparent}
 .pc-main.pc-fiche{position:relative;z-index:1}
 .pf-panel{position:relative;display:flex;flex-direction:column;margin-top:calc(58px + env(safe-area-inset-top,0px));min-height:calc(100vh - 58px);background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -20px 50px -20px rgba(42,20,17,.5);animation:pf-monte .45s var(--ease,cubic-bezier(.2,.7,.2,1)) both}
 .pf-panel.pf-drag{animation:none;transition:none}
 .pf-panel.pf-back{animation:none;transition:transform .28s var(--ease,ease)}
 .pf-poignee{position:sticky;top:0;z-index:6;height:0}
 .pf-grab{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:44px;height:5px;padding:0;border:0;border-radius:9px;background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:grab}
 .pf-grab::before{content:"";position:absolute;inset:-14px -60px}
 .pf-x{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);font:400 1.25rem/1 var(--text);color:var(--ink);text-decoration:none}
 .pf-panel>*{min-width:0;width:100%;max-width:none}
 .pf-panel>.pf-media.inner{order:1;padding:0}
 .pf-top{order:6;padding:4px 18px 0!important}
 .pc-fiche .pf-top .g-crumbs ol{margin:0;font-size:.78rem}
 .pf-grid{order:3;padding:0 18px 8px;gap:20px}
 .pc-main .pf-sim{order:4;background:var(--paper2)}
 .pf-barre{order:7}
 .pc-fiche > .pf-panel > .inner:not(.pf-top):not(.pf-media):not(.pf-grid){order:2}
 /* galerie : cadre 3:2, la photo entière, le vide rempli par la même photo floutée */
 .pf-gal{margin:0;border-radius:24px 24px 0 0;overflow:hidden;background:#fff}
 .pf-sl{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--paper2)}
 .pf-sl::before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover;filter:blur(26px) saturate(1.1) brightness(.92)}
 .pf-sl img{position:relative;background:transparent!important;object-fit:contain}
 .pf-vsl{position:relative;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:3/2;overflow:hidden;background:var(--bg) center/cover}
 .pf-vsl video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 .pf-vsl.complete video{object-fit:contain;background:#F3ECE7}
 .pf-n{position:absolute;right:12px;bottom:12px;z-index:2;padding:5px 10px;border-radius:999px;font:600 .74rem var(--text);font-variant-numeric:tabular-nums;color:#fff;background:rgba(42,20,17,.6);pointer-events:none}
 .pf-ctr,.pf-det{display:none}
 .pf-vid{left:12px;bottom:12px}
 .pf-thumbs{display:flex;gap:6px;padding:10px 16px 0;overflow-x:auto;scrollbar-width:none}
 .pf-thumbs::-webkit-scrollbar{display:none}
 .pf-thumbs button{position:relative;flex:0 0 auto;width:68px;height:48px;padding:0;border:0;border-radius:8px;overflow:hidden;opacity:.55;background:var(--paper2);cursor:pointer}
 .pf-thumbs .tv span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(42,20,17,.28)}
 .pf-thumbs .tv svg{width:18px;height:18px;fill:#fff}
 .pf-thumbs button img{width:100%;height:100%;object-fit:cover}
 .pf-thumbs button.on{opacity:1}
 .pf-thumbs button.on::after{content:"";position:absolute;inset:0;border-radius:8px;box-shadow:inset 0 0 0 2.5px var(--terra-deep)}
 /* corps : sur-titre, titre, prix, faits sur deux colonnes */
 .pf-histoire{padding-top:18px}
 .pf-eb{margin:0 0 4px;font:600 .7rem var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--terra-deep)}
 .pf-head h1{margin:8px 0 4px;font:500 1.6rem/1.15 var(--display);letter-spacing:-.018em}
 .pf-prix{margin:6px 0 0;font:600 1.45rem var(--text)}
 .pf-faits{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:18px 0 6px;border-top:1px solid var(--line)}
 .pf-faits li{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:3px;padding:12px 12px 12px 0;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--line)}
 .pf-faits li span{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
 .pf-faits strong{font:600 1rem var(--text);font-variant-numeric:tabular-nums}
 .pf-story h2,.pf-story .pf-desc-t{font:500 1.15rem var(--display);margin:22px 0 8px}
 .pf-desc[data-replie]{max-height:13.5em;overflow:hidden;-webkit-mask:linear-gradient(#000 70%,transparent);mask:linear-gradient(#000 70%,transparent)}
 .pf-plus{margin:6px 0 22px;padding:0;border:0;background:none;font:600 .9rem var(--text);color:var(--terra-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
 .pf-agent{box-shadow:inset 0 0 0 1px var(--line)}
 /* barre d'action collée en bas de la fiche, comme la fiche Ads */
 .pf-barre{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%)}
 .pf-barre .btn{--h:52px;justify-content:center;min-width:0;padding:0 22px;font-size:.92rem;text-decoration:none;white-space:nowrap}
 .pf-barre .btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .pf-b-wa{gap:8px;background:#fff!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line)}
 .pf-av{display:inline-flex;flex:none}.pf-av img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid #fff}.pf-av img+img{margin-left:-9px}
 .pf-mos,.pf-gal-x{display:none}
 /* fiche ouverte depuis une liste : même panneau, par-dessus la liste */
 .pc-sheet{position:fixed;inset:0;z-index:90}
 .pc-sheet-fond{position:absolute;inset:0;background:rgba(42,20,17,.55);animation:pf-fond .3s both;transition:opacity .28s}
 .pc-sheet .pf-panel{position:absolute;left:0;right:0;bottom:0;top:calc(58px + env(safe-area-inset-top,0px));margin:0;min-height:0;overflow:auto;overscroll-behavior:contain}
 .pc-sheet .pf-attente{aspect-ratio:3/2;background:var(--paper2) center/cover;border-radius:24px 24px 0 0;position:relative}
 .pc-sheet .pf-attente::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:200% 100%;animation:pf-reflet 1.2s infinite}
 .pc-sheet .inner{padding-left:18px;padding-right:18px;box-sizing:border-box}
 .pc-sheet .pf-media.inner{padding:0}
 .pc-sheet .pf-sim{order:4;padding:32px 0;background:var(--paper2)}
 .pc-sheet .pf-panel{scroll-behavior:auto}
 body.pf-lock{overflow:hidden}
}
@keyframes pf-reflet{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.pf-panel,.pc-sheet-fond{animation:none!important}}

/* ---------- Ordinateur : l'ancien gabarit, modernisé ---------- */
@media (min-width:900px){
 .pf-poignee,.pf-barre,.pf-thumbs,.pf-n,.pf-plus{display:none}
 .pc-fiche .inner{max-width:1360px}
 /* mosaïque : grande photo + 2, alignée sur les colonnes du contenu (68 / 32 %) */
 .pf-mos{position:relative;display:grid;grid-template-columns:minmax(0,68fr) minmax(0,32fr);gap:22px;height:clamp(380px,58vh,560px)}
 .pf-mos .pf-mos-h,.pf-mos .pf-mos-p{display:block;width:100%;height:100%;padding:0;border:0;border-radius:20px;overflow:hidden;background:var(--paper2);cursor:zoom-in}
 .pf-mos img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease,ease)}
 .pf-mos-h:hover img,.pf-mos-p:hover img{transform:scale(1.03)}
 .pf-mos-s{display:grid;grid-template-rows:1fr 1fr;gap:22px;min-height:0}
 .pf-mos-n{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:600 .82rem var(--text);color:var(--ink);pointer-events:none}
 .pf-mos-n svg{width:17px;height:17px;fill:none;stroke:var(--terra-deep);stroke-width:1.7}
 .pf-gal.avec-mos{display:none}
 .pf-gal.avec-mos.ouverte{display:block;position:fixed;inset:0;z-index:100;margin:0;border-radius:0;background:rgba(20,10,8,.96)}
 .pf-gal.ouverte .pf-sl{height:100vh;aspect-ratio:auto}
 .pf-gal.ouverte .pf-sl img{background:transparent;object-fit:contain}
 .pf-gal.ouverte .pf-ctr,.pf-gal.ouverte .pf-det,.pf-gal.ouverte .pf-tuile{display:none}
 .pf-gal-x{position:absolute;right:24px;top:20px;z-index:3;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font:400 1.5rem/1 var(--text);color:var(--ink);cursor:pointer}
 body.pf-lock{overflow:hidden}
 /* colonnes de l'ancien site : histoire du bien 68 %, conseiller collant 32 % */
 .pf-grid{grid-template-columns:minmax(0,68fr) minmax(320px,32fr)!important;gap:22px!important;padding-top:22px}
 .pf-histoire{padding:clamp(28px,3.4vw,48px) clamp(28px,3.6vw,52px);border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 30px 60px -48px rgba(61,30,25,.45)}
 .pf-histoire>section,.pf-histoire>header{margin-bottom:34px}
 .pf-histoire>section:last-child{margin-bottom:0}
 .pf-story>.pf-quartier,.pf-story>.pf-etat{margin-top:22px}
 /* en-tête : badges, titre à gauche, prix à droite, barre de faits */
 .pf-head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:end}
 .pf-eb,.pf-kick{grid-column:1/-1}
 .pf-eb{margin:0 0 8px;font:600 .72rem var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--terra-deep)}
 .pf-head h1{grid-column:1;margin:4px 0 0;font-size:clamp(2rem,3.2vw,2.9rem)}
 .pf-prix{grid-column:2;margin:0;text-align:right;font:600 clamp(1.5rem,2.2vw,2rem)/1.15 var(--text);color:var(--terra-deep);white-space:nowrap}
 .pf-faits{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0;margin:26px 0 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .pf-faits li{padding:4px 22px;border-radius:0;background:none;box-shadow:none;border-left:1px solid var(--line)}
 .pf-faits li:first-child{padding-left:0;border-left:0}
 .pf-faits strong{font-size:1.1rem}
 .pf-agent{top:96px}
 .pf-sim-r{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1200px){.pf-sim-r{grid-template-columns:repeat(4,1fr)!important}}

/* ---------- v3 (08/10/2026), retours de Paolo ---------- */
/* pastille « Visite vidéo » : aperçu en boucle déjà lancé, la visite complète au toucher */
.pf-vid{border:0;cursor:pointer;gap:10px;height:38px;padding:0 18px 0 8px;font:600 .8rem/1 var(--text);white-space:nowrap;box-shadow:0 8px 22px -10px rgba(42,20,17,.5)}
.pf-vid .pf-play{width:24px;height:24px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--terra-deep)}
.pf-vid .pf-play svg{width:12px;height:12px;fill:#fff;margin-left:2px}
/* quartier : carte de la Principauté, le quartier du bien en terracotta */
.pf-qcarte{position:relative;margin:0 0 18px;padding:12px;border-radius:20px;background:linear-gradient(160deg,#FBF1EA,#FFF9F5);box-shadow:inset 0 0 0 1px var(--line)}
.pf-qcarte svg{display:block;width:100%;height:auto;max-height:260px}
.pf-qcarte polygon{fill:#F6DCCD;stroke:#FFFDFB;stroke-width:2;stroke-linejoin:round}
.pf-qcarte polygon.on{fill:var(--terra,#CB735D);filter:drop-shadow(0 6px 10px rgba(189,86,61,.35))}
.pf-qnom{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 16px 0 12px;border-radius:999px;background:#fff;box-shadow:0 6px 18px -10px rgba(42,20,17,.4);font:600 .76rem/1 var(--text);color:var(--terra-deep);white-space:nowrap}
.pf-qnom::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--terra-deep)}
.pf-qnom::after{content:attr(data-nom)}
@media (min-width:900px){.pf-quartier.avec-carte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:8px 40px;align-items:center}.pf-quartier.avec-carte .pf-qcarte{margin:0;grid-row:span 2}.pf-quartier.avec-carte .pf-qliste{grid-column:1/-1}}
/* module de contact */
.pf-agent-p strong{display:block;font:500 1.05rem/1.3 var(--display);color:var(--ink)}
.pf-agent .pf-form .btn{justify-content:space-between;padding-left:24px}
/* bloc vendu / off-market : la photo remplit toujours son cadre */
.pf-gal.seule .pf-sl img{object-fit:cover}
.pf-gal.seule .pf-sl::before{display:none}
@media (max-width:899px){
 .pf-agent{margin:0 0 8px}
 .pf-mos-v{display:none}
}
@media (min-width:900px){
 /* page large : peu de bords (Paolo préfère le rendu 1280 au 1440 serré, 08/10/2026) */
 .pc-fiche .inner{max-width:none;width:min(100% - 2 * clamp(28px,3.4vw,56px),1500px);padding-left:0;padding-right:0}
 .pf-mos{height:clamp(400px,36vw,600px)}
 /* respiration : rien de collé aux photos */
 .pf-grid{padding-top:clamp(40px,3.6vw,56px)!important;gap:clamp(28px,2.6vw,40px)!important;grid-template-columns:minmax(0,1fr) clamp(340px,27vw,400px)!important}
 .pf-story>.pf-om,.pf-story>.pf-etat{margin-top:0}
 .pf-story>.pf-quartier{margin-top:32px}
 .pf-agent{position:sticky;top:104px;align-self:start;padding:24px}
 .pf-mos .pf-vid{position:absolute;left:16px;bottom:16px;z-index:2}
 .pf-mos.avec-v .pf-mos-n{left:auto;right:16px}
 .pf-mos-h{position:relative}
 .pf-mos-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
 .pf-mos-v.on{opacity:1}
 .pf-gal.ouverte .pf-vsl{height:100vh;aspect-ratio:auto;flex:0 0 100%;scroll-snap-align:start;position:relative}
 .pf-gal.ouverte .pf-vsl video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
 .pf-gal.avec-mos:not(.ouverte) .pf-vsl{display:none}
 .pc-fiche .pf-top{padding-top:calc(92px + env(safe-area-inset-top,0px))}
 .pc-fiche .g-crumbs ol{margin-bottom:18px}
}
/* off-market (proposition du 08/10/2026) : héros en deux parties, la photo floutée remplit sa moitié, le message et le formulaire l'autre ;
   jamais de bandes noires, plus de second bloc */
.pf-om-hero .pf-etat.om{margin:0;border-radius:0;box-shadow:none;background:#fff}
.pf-om-hero .pf-gal .pf-sl{aspect-ratio:4/3}
.pf-om-hero .pf-gal .pf-sl img{object-fit:cover}
.pf-om-hero .pf-tuile{display:none}
@media (max-width:899px){
 .pf-om-hero{display:flex;flex-direction:column}
 .pf-om-hero .pf-etat.om{position:relative;z-index:2;margin:-28px 0 0;border-radius:24px 24px 0 0;padding-top:4px}
 .pf-om-hero .pf-etat-t{padding:22px 18px 8px}
}
@media (min-width:900px){
 .pf-om-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,1fr);border-radius:28px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
 .pf-om-hero .pf-gal{border-radius:0;height:100%}
 .pf-om-hero .pf-gal .pf-track,.pf-om-hero .pf-gal .pf-sl{height:100%;min-height:560px;aspect-ratio:auto}
 .pf-om-hero .pf-etat.om{display:block;align-self:center}
 .pf-om-hero .pf-etat-t{padding:clamp(32px,3.4vw,52px)}
 .pf-om .pf-grid:has(.pf-story:empty){grid-template-columns:1fr!important}
}
.pc-main .btn.sm,.pc-sheet .btn.sm{padding-left:22px;padding-right:22px;white-space:nowrap} /* règle des pilules (08/10/2026) */
.pc-main .pf-quartier{max-width:none}
/* adresse : plus de faux plan vide (dégradé), un lien net vers la carte, la vraie carte du quartier est juste en dessous */
.pf-carte{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 12px;min-height:0;width:fit-content;max-width:100%;padding:12px 20px 12px 16px;border-radius:999px;background:#fff}
.pf-carte::after{content:"↗";margin-left:2px;color:var(--terra-deep);font-weight:600}
.pf-carte .pf-pin{display:inline-flex;align-items:center;gap:8px}
.pf-carte .pf-pin::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--terra-deep)}
.pf-carte:hover{box-shadow:inset 0 0 0 1.5px var(--terra-deep)}
.pf-tout a{display:inline-flex;align-items:center;height:46px;padding:0 24px;border-radius:999px;background:var(--ink);color:#fff!important;text-decoration:none}
.pf-tout a{display:inline;height:auto;padding:0;border-radius:0;background:none;color:var(--ink)!important;font-weight:600;text-decoration:underline!important;text-underline-offset:4px;text-decoration-color:var(--terra)!important}
.pf-tout a::after{content:" →";color:var(--terra-deep)}
/* le conseiller suit la lecture (Paolo, 08/10/2026) : carte collante, jamais plus haute que l'écran (elle défile en elle-même) */
@media (min-width:900px){.pf-agent{max-height:calc(100vh - 124px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}}
.pf-carte .pf-pin::before{content:none}
@media (min-width:900px){.pf-quartier.avec-carte{align-items:start}.pf-quartier.avec-carte .pf-qcarte{position:sticky;top:110px}}

/* ---------- 2e reprise du 08/10/2026 (retours de Paolo) ---------- */
/* module de contact : composants du site (g-cb, g-rdv), rien d'inventé */
.pf-agent-tel{display:none}
.pf-agent .pf-agent-p{margin:6px 0 14px}
.pf-agent .pf-agent-p strong{display:block;margin-bottom:4px;font:500 1.05rem/1.3 var(--display);color:var(--ink)}
.pf-canaux{display:grid!important;grid-template-columns:1fr;gap:8px!important;margin:0 0 18px}
.pf-canaux .g-cb{min-height:52px;padding-right:20px}
.pf-rdv{width:min(620px,calc(100vw - 24px));height:min(760px,calc(100vh - 48px))}
.pf-rdv-vide{margin:auto;padding:32px 24px;text-align:center;color:var(--muted)}
@media (min-width:900px){
 /* même grille que l'en-tête et les pages du site : largeur --max, marges --gutter (Paolo : « les choses ne sont pas alignées ») */
 .pc-fiche .inner{width:auto!important;max-width:calc(var(--max,1200px) + 2 * var(--gutter,16px))!important;padding-left:var(--gutter,16px)!important;padding-right:var(--gutter,16px)!important;margin-left:auto;margin-right:auto;box-sizing:border-box}
 /* mosaïque large et basse ; colonnes du contenu = colonnes de la mosaïque (68 / 32 %, même écart) : tout tombe d'aplomb */
 .pf-mos{height:auto;aspect-ratio:2.75/1;gap:20px}
 .pf-mos-s{gap:20px}
 .pf-grid{grid-template-columns:minmax(0,68fr) minmax(0,32fr)!important;gap:20px!important;padding-top:48px!important}
 .pf-agent{top:100px}
}
/* coins : la galerie qui défile porte elle-même l'arrondi du panneau (téléphone) et des cadres (ordinateur) */
@media (max-width:899px){.pf-gal,.pf-gal .pf-track{border-radius:24px 24px 0 0;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}}
.pf-mos .pf-mos-h,.pf-mos .pf-mos-p{-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}
.pf-thumbs button{border-radius:10px}.pf-thumbs button img{border-radius:10px}
.pf-thumbs button.on::after{border-radius:10px}
/* panneau de contact de la barre (téléphone, 08/10/2026) : même geste que le panneau des pages Ads (monte du bas, poignée, voile) */
.pf-cs{position:fixed;inset:0;z-index:120}
.pf-cs[hidden]{display:none}
.pf-cs-fond{position:absolute;inset:0;background:rgba(42,20,17,.45);opacity:0;transition:opacity .28s}
.pf-cs.ouvert .pf-cs-fond{opacity:1}
.pf-cs-p{position:absolute;left:0;right:0;bottom:0;max-height:calc(100% - 72px);overflow:auto;overscroll-behavior:contain;padding:30px 18px calc(18px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -20px 50px -20px rgba(42,20,17,.5);transform:translateY(100%);transition:transform .32s var(--ease,cubic-bezier(.2,.7,.2,1));display:grid;gap:14px}
.pf-cs.ouvert .pf-cs-p{transform:none}
.pf-cs-grab{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:44px;height:5px;padding:0;border:0;border-radius:9px;background:var(--line);cursor:grab}
.pf-cs-grab::before{content:"";position:absolute;inset:-14px -60px}
.pf-cs-id{display:flex;align-items:center;gap:14px}
.pf-cs-id img{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 8px 18px -10px rgba(61,30,25,.5)}
.pf-cs-id strong{display:block;font:500 1.25rem/1.2 var(--display);color:var(--ink)}
.pf-cs-id small{font-size:.84rem;color:var(--muted)}
.pf-cs .g-cb{min-height:56px;width:100%}
.pf-cs-f{display:grid;gap:10px}
.pf-cs-f input[type=text]{height:52px;border:0;border-radius:999px;padding:0 20px;font:400 1rem var(--text);color:var(--ink);background:var(--paper2,#FBF5F1);box-shadow:inset 0 0 0 1px var(--line)}
.pf-cs-f input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--terra-deep)}
.pf-cs-f .btn{--h:52px;justify-content:center;width:100%}
.pf-cs-f .need{box-shadow:inset 0 0 0 1.5px #b3261e!important}
.pf-cs-tel{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 6px;padding:6px 0 2px;font-size:.88rem;color:var(--muted);text-decoration:none}
.pf-cs-tel strong{color:var(--ink);font-weight:600}
@media (min-width:900px){.pf-cs{display:none!important}}
@media (prefers-reduced-motion:reduce){.pf-cs-p,.pf-cs-fond{transition:none}}
/* panneau de contact, 2e version (Paolo, 08/10/2026) : messageries et formulaire court des pages Ads (sheet.css, classe pl-sh) */
.pf-cs-msgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pf-cs-msgs .a-btn{width:100%;height:52px;padding:0 16px 0 8px;white-space:nowrap}
.pf-cs-ou{display:flex;align-items:center;justify-content:center;gap:12px;margin:2px 0 -2px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pf-cs-ou::before,.pf-cs-ou::after{content:none}  /* jamais de trait de séparation (Paolo, 27/10/2026) : le mot seul */
.pf-cs .a-form .a-btn{color:#fff;background:var(--terra-deep)}
.pf-cs .pc-om-ok{margin:0;font-weight:600;color:var(--terra-deep)}
.pf-cs .a-msg,.pf-cs .a-msg span{text-decoration:none!important}
.pf-cs .a-legal{margin:2px 2px 0;font-size:.76rem;line-height:1.45;color:var(--muted)}
.pf-cs-h{margin:4px 0 0;font:500 1.35rem/1.2 var(--display);color:var(--ink);text-wrap:balance}
.pf-cs-intro{margin:-6px 0 2px;font-size:.92rem;line-height:1.5;color:var(--body)}
/* tous les boutons du panneau à la même hauteur que « Appel de 15 min » (Paolo, 08/10/2026) */
.pf-cs .g-cb,.pf-cs .g-cb-rdv,.pf-cs .pf-cs-msgs .a-btn,.pf-cs .a-form .a-btn{height:56px;min-height:56px;box-sizing:border-box}
.pf-cs .pf-cs-msgs .a-btn .wa-dot{width:40px;height:40px}
.pf-cs .pf-cs-msgs .a-btn .wa-dot svg{width:19px;height:19px}
.pf-cs .a-form .a-btn .a-pip{width:42px;height:42px}
.pf-cs .a-err{margin:0 4px;font-size:.86rem;font-weight:600;color:var(--terra-deep)}
/* une messagerie par ligne, pleine largeur comme l'appel de 15 min : jamais de débordement à droite (« WhatsApp de Romain » ne tient pas en demi-largeur) */
.pf-cs .pf-cs-msgs{grid-template-columns:minmax(0,1fr)}
.pf-cs .pf-cs-msgs .a-btn{justify-content:flex-start;gap:12px;padding:0 20px 0 8px}
.pf-cs-p>*{min-width:0;max-width:100%}
.pf-cs-p{max-height:calc(100% - 112px)}
/* en-tête du panneau : photo, nom, titre, puis la phrase (Paolo, 08/10/2026) */
.pf-cs-id{gap:16px;margin-top:4px}
.pf-cs-id small{display:block;margin-top:4px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--terra-deep)}
.pf-cs-intro{margin:2px 0 4px;font-size:.98rem;line-height:1.55;color:var(--body)}
/* une seule page, sans défilement (Paolo, 08/10/2026 : « le lead peut ne pas convertir s'il ne comprend pas le scroll ») :
   appel de 15 min seul, WhatsApp et Telegram côte à côte, espacements resserrés ; tient sur un iPhone de 390 × 844 */
.pf-cs-p{max-height:calc(100% - 64px);padding:26px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:10px}
.pf-cs .pf-cs-msgs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pf-cs .pf-cs-msgs .a-btn{justify-content:flex-start;gap:12px;padding:0 14px 0 8px} /* pastille dans le creux de la pilule (Paolo, 08/10/2026) */
.pf-cs-id img{width:56px;height:56px}
.pf-cs-id strong{font-size:1.15rem}
.pf-cs-intro{margin:0;font-size:.9rem;line-height:1.45}
.pf-cs .a-form{gap:8px}
.pf-cs .a-form input:not([type=checkbox]){height:46px}
.pf-cs .a-legal{margin:0 2px;font-size:.72rem;line-height:1.35}
.pf-cs-ou{margin:0}
.pf-cs-tel{padding:0;font-size:.82rem}
body.pf-cs-ouvert .pf-poignee{visibility:hidden}
@media (max-height:700px){.pf-cs-intro{display:none}.pf-cs .a-legal{font-size:.68rem}}

/* Revue de Paolo du 08/10/2026, fiche ouverte depuis la liste (téléphone) */
@media (max-width:899px){
 /* « Vente » se lit déjà dans la page : l'étiquette de transaction reste dans le texte (comme l'ancien site) mais ne s'affiche plus ;
    « Exclusivité » ressort en terracotta */
 .pf-kick .pf-k:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .pf-kick .pf-k:not(:first-child){background:var(--terra-deep);color:#fff;box-shadow:none}
 /* prix comme la fiche des Ads */
 .pf-prix{margin:6px 0 0;font:600 1.45rem/1.2 var(--text);font-variant-numeric:tabular-nums;color:var(--ink)}
 .pf-prn{margin:2px 0 6px;font-size:.76rem;color:var(--muted)}
 /* coins du panneau : pas de fond blanc derrière la photo (il formait un liseré clair dans l'arrondi) */
 .pf-panel{background:linear-gradient(to bottom,transparent 0,transparent 48px,#fff 48px);background-attachment:local}
 .pf-gal{background:transparent} /* le fond blanc de la galerie apparaissait dans l'arrondi des coins (liseré clair) */ /* local : le dégradé suit le contenu quand le panneau défile */
 /* photo du négociateur dans le creux du bouton (bouton de 52 px, photo de 36 px : 8 px de retrait) */
 .pf-barre .btn.pf-b-wa{justify-content:flex-start;gap:10px;padding:0 18px 0 8px}
 .pf-barre .btn.pf-b-wa .pf-av img{width:36px;height:36px;border:0}
}

/* prix sur demande = un seul lien vers le contact (Paolo, 09/10/2026 : « combiner le CTA demande de prix et prix sur demande »,
   puis « il faut le souligner et que ce soit en terracotta ») : texte du prix en terracotta, souligné, suivi d'une flèche ; téléphone et ordinateur */
.pf-prix.pf-prix-d{margin-top:12px}
.pf-prix-d .pf-askp{display:inline-flex;align-items:center;gap:8px;color:var(--terra-deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;-webkit-tap-highlight-color:transparent}
.pf-askp-i{display:inline-flex;flex:none;color:var(--terra-deep);transition:transform .2s}
.pf-askp-i svg{width:22px;height:22px}
.pf-prix-d .pf-askp:hover .pf-askp-i,.pf-prix-d .pf-askp:focus-visible .pf-askp-i{transform:translateX(3px)}
/* revue de Paolo du 09/10/2026, fiche ouverte directement (téléphone) : « on voit un fond aux bords alors qu'il ne devrait rien y avoir,
   comme sur les autres pages de ce genre ». Cause : la marge haute du panneau traversait la page (fusion des marges), si bien que le fond
   de la page (crème, motif aux P) ne commençait qu'au haut du panneau ; au-dessus, le blanc du document sous le voile formait une bande
   grise, et les coins arrondis laissaient voir l'autre fond. La page commence maintenant en haut de l'écran : un seul fond derrière le
   panneau, bande du logo et coins compris */
@media (max-width:899px){.pc-main.pc-fiche{display:flow-root}html:has(body.pc-fiche-page){background:#EFE6E0}}
/* revue de Paolo du 09/10/2026, fiche ouverte directement (téléphone) : « ce n'est pas le header correct ». Au-dessus du panneau, le vrai
   en-tête du site (logo, favoris, langues, menu), comme derrière l'aperçu ouvert depuis la liste (page 6, validée), au lieu du seul mot
   PETRINI. Il reste derrière le panneau : le panneau le recouvre quand on fait défiler */
@media (max-width:899px){
 body.pc-fiche-page .ps-nav{display:grid!important;position:absolute;z-index:0}
 body.pc-fiche-page::after{content:none}
 /* fiche ouverte directement : le panneau est en place dès l'affichage (pas de montée animée), pour que la photo s'affiche tout de suite
    et reste l'élément principal du chargement (LCP) ; la montée reste pour l'aperçu ouvert depuis la liste */
 body.pc-fiche-page .pc-main>.pf-panel{animation:none}
}

/* ===== revue de Paolo du 09/10/2026, fiche entière (téléphone) ===== */
/* 1-2. dossier de présentation : photo sur toute la largeur, bloc « Petrini » blanc vers crème, boutons à icône (Télécharger en premier) */
.pf-bro{display:block;margin-top:24px;padding:0;overflow:hidden;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#FBF0E8 100%);box-shadow:inset 0 0 0 1px rgba(178,90,69,.16),0 24px 50px -36px rgba(61,30,25,.45)}
.pf-bro img{display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:0;object-fit:cover}
.pf-bro>div{padding:20px 20px 22px}
.pf-bro-t{margin:0 0 6px;font:500 1.3rem/1.25 var(--display);color:var(--ink)}
.pf-bro>div>p:not(.pf-bro-t){margin:0 0 18px;font-size:.92rem;line-height:1.55;color:var(--body)}
.pf-bro-a{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-bro-a .btn{--h:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:0 14px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);font:600 .9rem/1 var(--text);letter-spacing:0;text-transform:none}
.pf-bro-a .btn:first-child{grid-column:1/-1;background:var(--terra-deep);color:#fff;box-shadow:0 12px 26px -14px rgba(178,90,69,.75)}
.pf-bro-a .btn:hover{box-shadow:inset 0 0 0 1px rgba(178,90,69,.5)}.pf-bro-a .btn:first-child:hover{filter:brightness(1.06)}
.pf-bro-a .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-bro-a .btn[aria-pressed="true"] .icon{fill:currentColor}
@media (min-width:900px){.pf-bro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.pf-bro img{height:100%;aspect-ratio:auto}.pf-bro>div{padding:24px 26px}}
/* 3. adresse : une carte sur deux lignes (pastille du repère, quartier, coordonnées, flèche), plus une pilule */
.pf-carte{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:14px;row-gap:2px;width:100%!important;max-width:none;box-sizing:border-box;min-height:0;padding:14px 18px 14px 14px!important;border-radius:20px!important;background:#fff!important;box-shadow:inset 0 0 0 1px var(--line)}
.pf-carte::before{content:"";grid-row:1/3;grid-column:1;width:44px;height:44px;border-radius:50%;background:var(--rose,#FBEADF) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B25A45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.5a7 7 0 0 1 14 0C19 14.9 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/20px no-repeat}
.pf-carte .pf-pin{grid-column:2;grid-row:1;font:600 1rem/1.25 var(--text);color:var(--ink)}
.pf-carte .pf-coord{grid-column:2;grid-row:2;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pf-carte.sans .pf-pin{grid-row:1/3}
.pf-carte::after{grid-column:3;grid-row:1/3;margin:0!important;font-size:1.1rem}
/* 4-5. quartier : texte replié avec « Lire la suite », puis le lien du quartier, puis « Découvrir d'autres quartiers » au-dessus des pilules */
.pf-q-plus::before{content:attr(data-l)}
.pf-quartier>.btn.sm{margin-top:14px}
.pf-qliste::before{content:attr(data-l);flex-basis:100%;margin:10px 0 4px;font:600 .72rem/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--terra-deep)}
@media (max-width:899px){.pf-q-t[data-replie]{max-height:15em;overflow:hidden;-webkit-mask:linear-gradient(#000 65%,transparent);mask:linear-gradient(#000 65%,transparent)}.pf-q-plus{margin:8px 0 0}}
/* 6. contact dans la page (téléphone) : le module validé du panneau (formulaire d'abord, puis « ou directement ») ; l'ordinateur garde le bloc complet */
.pf-cs-in{display:grid;gap:12px}
.pf-cs-in .g-cb{min-height:56px;width:100%}
.pf-cs-in .a-form .a-btn{color:#fff;background:var(--terra-deep)}
.pf-cs-in .pc-om-ok{margin:0;font-weight:600;color:var(--terra-deep)}
.pf-cs-in .a-msg,.pf-cs-in .a-msg span{text-decoration:none!important}
.pf-cs-in .a-legal{margin:2px 2px 0;font-size:.76rem;line-height:1.45;color:var(--muted)}
.pf-cs-in .g-cb,.pf-cs-in .g-cb-rdv,.pf-cs-in .pf-cs-msgs .a-btn,.pf-cs-in .a-form .a-btn{height:56px;min-height:56px;box-sizing:border-box}
.pf-cs-in .pf-cs-msgs .a-btn .wa-dot{width:40px;height:40px}
.pf-cs-in .pf-cs-msgs .a-btn .wa-dot svg{width:19px;height:19px}
.pf-cs-in .a-form .a-btn .a-pip{width:42px;height:42px}
.pf-cs-in .a-err{margin:0 4px;font-size:.86rem;font-weight:600;color:var(--terra-deep)}
.pf-cs-in .pf-cs-msgs{grid-template-columns:minmax(0,1fr)}
.pf-cs-in .pf-cs-msgs .a-btn{justify-content:flex-start;gap:12px;padding:0 20px 0 8px}
.pf-cs-in .pf-cs-msgs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pf-cs-in .pf-cs-msgs .a-btn{justify-content:flex-start;gap:12px;padding:0 14px 0 8px} /* pastille dans le creux de la pilule (Paolo, 08/10/2026) */
.pf-cs-in .a-form{gap:8px}
.pf-cs-in .a-form input:not([type=checkbox]){height:46px}
.pf-cs-in .a-legal{margin:0 2px;font-size:.72rem;line-height:1.35}
@media (max-width:899px){.pf-agent-d{display:none}.pf-agent{padding:24px 18px 20px;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#FBF0E8 100%);box-shadow:inset 0 0 0 1px rgba(178,90,69,.16),0 24px 50px -36px rgba(61,30,25,.45)}}
@media (min-width:900px){.pf-agent-m{display:none}}
.pf-bro-a .btn,.pf-bro-a .btn span{text-transform:none;letter-spacing:0;font-size:.92rem}
/* le repère de l'ancien site (« ● Anse du Portier ») garde son texte, mais son point est remplacé par la pastille de la carte */
.pf-bro .pf-bro-t{margin:0 0 6px;font:500 1.3rem/1.25 var(--display);color:var(--ink)}
.pf-bro>div>p:not(.pf-bro-t){font-size:.92rem}
.pf-carte .pf-dot{display:none}
/* revue de Paolo du 09/10/2026 (fiche entière, téléphone, suite) */
@media (max-width:899px){
 /* 1. fil d'Ariane en bas de fiche : retiré de l'affichage (il reste dans la page et dans les données enrichies pour Google) */
 .pc-fiche .pf-top{display:none}
 /* 2. ombre du bloc contact jamais coupée par la section suivante */
 .pc-fiche .pf-grid{padding-bottom:44px}
 /* 4-5. de l'air : sous le dossier de présentation, entre l'adresse et la carte du quartier */
 .pf-bro{margin-bottom:28px}
 .pf-loc{margin-bottom:22px}
 /* 6. fin de fiche : plus de changement de fond entre les biens similaires et la barre du bas (une seule surface blanche),
    et le panneau se termine en carte arrondie avant le pied de page */
 .pc-fiche .pf-sim{padding-bottom:28px;background:#fff;box-shadow:inset 0 1px 0 var(--line)}
 body.pc-fiche-page .pc-fiche>.pf-panel{margin-bottom:24px;border-radius:24px;overflow:clip}
}
/* 3. lien vers les biens du quartier : un vrai bouton qui dit où il mène */
.pf-quartier>.btn.sm{display:inline-flex;align-items:center;gap:10px;padding:0 18px 0 22px}
.pf-quartier>.btn.sm .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ===================================================================================================================================
   Fiche ordinateur « brochure » (piste C choisie par Paolo le 10/10/2026). Une vraie page à son adresse (référencement intact) :
   - .pf-hero : la première photo bord à bord (copie 2 560 px depuis l'original, net en Retina), la fiche et le conseiller viennent
     se poser dessus ; vidéo d'aperçu en boucle dans la photo quand elle existe ;
   - .pf-cadre : sans grande photo assez nette (original < 2 560 px), off-market, vendu, loué, moins de 3 photos ou aucune photo :
     les photos restent dans un cadre à la largeur du contenu, jamais étirées ;
   - partout : module de contact validé sur téléphone, barre « Prendre RDV / WhatsApp » collée en bas, étiquettes comme sur téléphone.
   Le téléphone (< 1000 px) ne change pas.
   =================================================================================================================================== */
@media (min-width:1000px){
 /* étiquettes (validé sur téléphone) : « Vente / Location » dans le texte seulement, Exclusivité / Co-exclusivité en terracotta plein */
 .pf-kick .pf-k:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .pf-kick .pf-k:not(:first-child){background:var(--terra-deep);color:#fff;box-shadow:none}
 /* module de contact validé : formulaire d'abord, puis « ou directement » */
 .pc-fiche .pf-agent-d{display:none}.pc-fiche .pf-agent-m{display:grid}
 .pc-fiche .pf-agent{padding:26px 24px;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#FBF0E8 100%);box-shadow:inset 0 0 0 1px rgba(178,90,69,.16),0 30px 60px -40px rgba(61,30,25,.45)}
 /* barre d'action des Ads, collée en bas */
 .pc-fiche .pf-barre{display:flex;align-items:center;justify-content:flex-end;gap:12px;position:sticky;bottom:0;z-index:20;padding:14px clamp(28px,3.4vw,56px);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -1px 0 var(--line)}
 .pc-fiche .pf-barre .btn{--h:52px;height:52px;padding:0 26px;flex:none}
 .pc-fiche .pf-barre .pf-b-wa{padding-left:8px}
 .pc-fiche .pf-barre .pf-b-wa .pf-av img{width:36px;height:36px;border-radius:50%}
 /* ordre des blocs */
 .pc-fiche>.pf-panel{position:relative;display:flex;flex-direction:column}
 .pc-fiche .pf-media{order:1}.pc-fiche .pf-top{order:0}
 .pc-fiche>.pf-panel>.inner:not(.pf-top):not(.pf-media):not(.pf-grid){order:2;margin-top:24px}
 .pc-fiche .pf-grid{order:3}.pc-fiche .pf-sim{order:4}.pc-fiche .pf-barre{order:5}
 /* 2 ou 3 photos : côte à côte (pas de diaporama à flèches pour si peu) ; 1 photo : seule, dans son cadre */
 .pf-gal:not(.avec-mos):not(.seule) .pf-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;overflow:hidden;border-radius:24px}
 .pf-gal:not(.avec-mos):not(.seule) .pf-sl{aspect-ratio:auto;height:clamp(380px,36vw,560px)}
 .pf-gal:not(.avec-mos):not(.seule) .pf-sl img{width:100%;height:100%;object-fit:cover}
 .pf-gal:not(.avec-mos):not(.seule) .pf-arr,.pf-gal:not(.avec-mos):not(.seule) .pf-ctr,.pf-gal:not(.avec-mos):not(.seule) .pf-n{display:none}
 .pf-gal.seule .pf-sl{max-height:72vh}
 /* aucune photo : carte du quartier et « Photos sur demande » */
 .pf-gal.seule:not(:has(img)){display:none}
 .pf-sans{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;min-height:clamp(320px,28vw,440px);padding:40px 56px;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#FBF0E8 100%);box-shadow:inset 0 0 0 1px rgba(178,90,69,.16)}
 .pf-sans p{margin:0 0 10px;font:600 .74rem/1.3 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--terra-deep)}
 .pf-sans strong{display:block;margin:0 0 20px;font:500 clamp(1.7rem,2.3vw,2.3rem)/1.2 var(--display);color:var(--ink)}
 .pf-sans .btn{--h:52px;padding:0 26px}
 .pf-sans .pf-qcarte{margin:0}

 /* ---------- avec grande photo (.pf-hero) ---------- */
 .pc-fiche.pf-hero{padding-top:0}
 .pc-fiche.pf-hero .pf-media{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;position:relative}
 .pc-fiche.pf-hero .pf-mos{height:86vh;min-height:560px;grid-template-columns:minmax(0,1fr);gap:0}
 .pf-hero .pf-mos-s{display:none}
 .pf-hero .pf-mos .pf-mos-h{border-radius:0;cursor:zoom-in}
 .pf-hero .pf-mos-h:hover img{transform:none}
 .pf-hero .pf-mos::before{content:"";position:absolute;inset:0 0 auto;height:200px;z-index:1;pointer-events:none;background:linear-gradient(rgba(251,246,242,.92),rgba(251,246,242,0))}
 .pf-hero .pf-mos::after{content:"";position:absolute;inset:auto 0 0;height:340px;z-index:1;pointer-events:none;background:linear-gradient(rgba(20,10,8,0),rgba(20,10,8,.55))}
 .pf-hero .pf-mos .pf-vid{left:max(56px,calc((100vw - 1200px) / 2));bottom:200px;z-index:3}
 .pf-hero .pf-mos .pf-mos-n{left:auto;right:max(56px,calc((100vw - 1200px) / 2));bottom:200px;z-index:3}
 .pf-hero .pf-top{position:absolute;left:max(56px,calc((100vw - 1200px) / 2));right:auto;top:calc(86vh - 262px);z-index:3;width:auto;margin:0;padding:0!important}
 .pf-hero .g-crumbs :is(ol,a,li){color:rgba(255,255,255,.92)!important}
 .pf-hero .pf-grid{position:relative;z-index:4;margin-top:-170px;padding-top:0!important}
 .pf-hero .pf-histoire{box-shadow:0 50px 90px -50px rgba(42,20,17,.6)}

 /* ---------- photos dans un cadre (.pf-cadre) ---------- */
 .pf-cadre .pf-top{padding-top:calc(var(--haut-page,104px) + 4px)!important}
 .pf-cadre .pf-grid{padding-top:40px!important}
}
@media (max-width:999px){.pf-sans{display:none}}
@media (min-width:1000px){
 /* la grande photo (2 560 px) ne doit jamais élargir la page */
 .pc-main.pc-fiche{overflow-x:clip}
 .pc-fiche>.pf-panel,.pc-fiche .pf-media,.pc-fiche .pf-mos,.pc-fiche .pf-mos-h{min-width:0;max-width:100%}
 .pc-fiche.pf-hero .pf-mos-h img,.pc-fiche.pf-hero .pf-mos-v{width:100%;max-width:100%}
}
