/* Real photographs retain their source pixels; warmth is display-only. */

figure.pfa-real-photo{margin:0;min-width:0;width:100%;overflow:hidden;border:1px solid #d8d6c7;border-radius:24px;background:#efe8dc;box-shadow:0 10px 28px #35433112;align-self:start}

figure.pfa-real-photo>img,.pfa-real-photo .pfa-gallery-frame img{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;filter:sepia(.065) saturate(1.055) brightness(1.025);background:#e9e3d6}

figure.pfa-real-photo>img{height:auto;aspect-ratio:4/3}

.pfa-gallery-frame{position:relative;height:auto;aspect-ratio:4/3;width:100%;overflow:hidden;touch-action:pan-y}

figure.pfa-real-photo figcaption{padding:16px 22px;color:#3f5146;font-size:16px;line-height:1.55;background:#f8f2e8}

.hero-media:has(.pfa-real-photo){display:flex;flex-direction:column;gap:18px;min-height:0}.hero-media:has(.pfa-real-photo) .hero-card{position:relative;inset:auto;width:auto;max-width:none;margin:0}.hero-media:has(.pfa-real-photo) .hero-ribbon{position:relative;inset:auto;align-self:start;transform:none;order:-1}

.pfa-source-section{background:#eee8db}.pfa-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin-top:28px}.pfa-source-grid article{padding:28px;background:#faf5ec;border:1px solid #d9d4c7;border-radius:24px}.pfa-source-grid h3{color:#31543e}.pfa-source-grid p{color:#414f46;line-height:1.8}



.pfa-gallery-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pfa-gallery-frame:focus-visible{outline:3px solid #8b4960;outline-offset:-4px}

.pfa-gallery-dots{position:absolute;z-index:2;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:0;max-width:95%;padding:0 5px;border-radius:40px;background:#18281f70;backdrop-filter:blur(6px)}

.pfa-gallery-dots button{display:grid;place-items:center;appearance:none;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;width:36px;min-width:36px;height:40px;min-height:40px;cursor:pointer;border-radius:50%}

.pfa-gallery-dots button span{width:9px;height:9px;border:1px solid #fff;background:#ffffff65;border-radius:50%;transition:transform .2s,background .2s}.pfa-gallery-dots button[aria-current=true] span{background:white;transform:scale(1.35)}.pfa-gallery-dots button:focus-visible{outline:2px solid white;outline-offset:-4px}

figure.pfa-real-photo{max-width:1100px;margin-inline:auto}.location-card .pfa-real-photo,.location-detail__media .pfa-real-photo{border-radius:22px;box-shadow:none}.location-detail__media{min-height:0!important;background:transparent!important}.location-detail{align-items:start}.pfa-configurator img{filter:none!important}

:root{--marble:#96546d;--marble-700:#7d3d55;--marble-800:#683449;--marble-900:#512c3d;--marble-soft:#f0e1e6}

main>.section--marble,.marble-feature,.marble-hero{background:linear-gradient(120deg,#603748,#98576f)!important}.location-photo-section--marble{background:#f0e1e6!important}.nav-popover--marble{border-color:#cfabb8}.marble-hero .pfa-real-photo,.section--marble .pfa-real-photo{border-color:#d4b3bf}.marble-hero figcaption,.section--marble figcaption{background:#f5eaf0;color:#61384a}

@media(max-width:640px){.pfa-source-grid article{padding:23px}.pfa-gallery-dots{bottom:8px}.pfa-gallery-dots button{width:32px;min-width:32px}.pfa-gallery-frame{max-height:none}}

@media(prefers-reduced-motion:reduce){.pfa-gallery-dots span{transition:none}}



/* Editorial frames: stable geometry, full-height images, no slide-induced jumps. */

figure.pfa-real-photo .pfa-gallery-frame{height:auto!important;min-height:0!important;max-height:none!important;flex:none;isolation:isolate}

figure.pfa-real-photo .pfa-gallery-frame img{max-height:none!important;max-width:none!important;min-height:0!important;margin:0!important;border-radius:0!important;inset:auto;top:0;left:0;background:#ece3d6}

figure.pfa-real-photo{border-radius:22px;box-shadow:0 14px 36px #453a2610;background:#f8f2e8}

figure.pfa-real-photo figcaption{font-size:15px;line-height:1.5;padding:14px 20px;border-top:1px solid #d8cdbb70}

.location-card{display:flex;flex-direction:column}.location-card>.pfa-real-photo{flex:none}.location-card .pfa-gallery-frame{aspect-ratio:3/2!important}.location-card .pfa-real-photo figcaption{min-height:74px;display:flex;align-items:center}.location-card .location-card__body{flex:1}

.pfa-photo-grid{align-items:start;gap:28px!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important}



.pfa-photo-grid .pfa-real-photo{height:auto!important;min-height:0!important}

.hero-media:has(.pfa-real-photo){width:100%;max-width:660px;justify-self:center;align-self:center}.hero-media .pfa-real-photo{transform:none!important}

.hero-grid:not(:has(.hero-media)){grid-template-columns:1fr!important;max-width:1000px;margin-inline:auto}

.split:has(>.pfa-real-photo){align-items:center}.split:not(:has(img)){grid-template-columns:1fr!important}

:root{--marble:#9b103e;--marble-700:#850d35;--marble-800:#710b2c;--marble-900:#530b25;--marble-soft:#f6e7eb}

main>.section--marble,.marble-feature,.marble-hero{background:linear-gradient(115deg,#74243f 0%,#a00e40 52%,#790a30 100%)!important}

.location-photo-section--marble{background:#f6e7eb!important}.marble-hero figcaption,.section--marble figcaption{background:#f8edf0;color:#70223e}

@media(max-width:640px){figure.pfa-real-photo{border-radius:18px}.pfa-photo-grid{gap:20px!important}.hero-media:has(.pfa-real-photo){max-width:100%}.pfa-gallery-frame{max-width:100%}.location-card .pfa-real-photo figcaption{min-height:0}}



.pfa-photo-grid:has(>.pfa-salon-card){grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}.pfa-salon-card{display:flex;flex-direction:column}.pfa-salon-card .pfa-gallery-frame{aspect-ratio:3/2!important}.pfa-salon-card figcaption{min-height:74px;display:flex;align-items:center}.pfa-salon-card>a:last-child{margin-top:auto}.pfa-photo-grid:has(>.pfa-real-photo){align-items:center}@media(max-width:700px){.pfa-photo-grid:has(>.pfa-salon-card){grid-template-columns:1fr!important}}


/* Large editorial cards retain a generous image/text composition. */
.pfa-photo-grid:has(>.pfa-image-card){grid-template-columns:1fr!important}
.pfa-image-card:not(:has(figure)){grid-template-columns:1fr;background:linear-gradient(125deg,#f6eddf,#e5ecdd)}
#hommages .pfa-photo-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;align-items:stretch}
#hommages .pfa-image-card:has(figure){grid-column:1;grid-row:span 2;grid-template-columns:1fr}
#hommages .pfa-image-card:not(:has(figure)){display:flex;align-items:center;grid-column:2}
#hommages .pfa-image-card .copy{padding:30px}
@media(max-width:760px){#hommages .pfa-photo-grid{grid-template-columns:1fr!important}#hommages .pfa-image-card:has(figure),#hommages .pfa-image-card:not(:has(figure)){grid-column:auto;grid-row:auto}}

/* PFA-MARBLE-LAYOUT-001: editorial composition and collision-free galleries. */
.marble-body .page-hero .page-hero-grid,.marble-body .marble-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;align-items:center!important;gap:clamp(28px,4vw,64px)!important;max-width:1280px!important;margin-inline:auto}
.marble-body .page-hero-grid>div,.marble-body .page-hero-grid>figure{order:0!important;min-width:0;width:100%!important;max-width:none!important;margin:0!important}
.marble-body .page-hero-grid>figure .pfa-gallery-frame,.marble-body .marble-hero-grid .pfa-gallery-frame,.marble-body .split .pfa-gallery-frame{height:clamp(360px,37vw,530px)!important;aspect-ratio:auto!important;max-height:530px!important}
.marble-body .page-hero-grid>figure .pfa-gallery-frame img:not([style*="fill"]),.marble-body .marble-hero-grid .pfa-gallery-frame img:not([style*="fill"]),.marble-body .split .pfa-gallery-frame img:not([style*="fill"]){width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:contain!important;object-position:center!important;background:#eee5df}
.marble-body .page-hero{padding-block:48px!important;background:linear-gradient(115deg,#fbf4ea,#f3e4e8)!important}
.marble-body .gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:24px!important;align-items:start!important}
.marble-body .gallery-grid>*,.marble-body .gallery-grid>:first-child{grid-column:auto!important;grid-row:auto!important;min-width:0;height:auto!important;min-height:0!important}
.marble-body .gallery-grid .pfa-real-photo,.marble-body .pfa-photo-grid>.pfa-real-photo{height:100%!important;max-width:none;display:flex;flex-direction:column;margin:0!important}
.marble-body .gallery-grid .pfa-gallery-frame,.marble-body .pfa-photo-grid>.pfa-real-photo .pfa-gallery-frame{aspect-ratio:4/3!important;height:auto!important;flex:none!important}
.marble-body .gallery-grid .pfa-gallery-frame img:not([style*="fill"]),.marble-body .pfa-photo-grid>.pfa-real-photo .pfa-gallery-frame img:not([style*="fill"]){width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:contain!important;object-position:center!important;background:#eee5df}
.marble-body .pfa-photo-grid:has(>.pfa-real-photo){align-items:stretch!important;gap:24px!important}
.marble-body .gallery-grid figcaption,.marble-body .pfa-photo-grid>.pfa-real-photo figcaption{flex:1;min-height:70px;display:flex;align-items:center;background:#fcf5f1;color:#61384a;padding:14px 18px}
.marble-body .pfa-photo-gallery{padding-block:56px!important}
.marble-body .pfa-photo-gallery .section-head{margin-bottom:26px!important}
@media(max-width:1000px){.marble-body .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.marble-body .page-hero .page-hero-grid,.marble-body .marble-hero-grid{grid-template-columns:1fr!important;gap:26px!important}.marble-body .page-hero-grid>figure .pfa-gallery-frame,.marble-body .marble-hero-grid .pfa-gallery-frame,.marble-body .split .pfa-gallery-frame{height:390px!important;max-height:65vh!important}.marble-body .page-hero{padding-block:30px!important}.marble-body .gallery-grid{grid-template-columns:1fr!important}.marble-body .pfa-photo-gallery{padding-block:36px!important}}

/* Keep the editor crop, including exclusion of shelf labels. */
.marble-body #photo-plaques-funeraires-personnalisees-1 .pfa-gallery-frame{width:min(100%,480px)!important;height:auto!important;aspect-ratio:.910714!important;margin-inline:auto}
.marble-body #photo-plaques-funeraires-personnalisees-angle-1 .pfa-gallery-frame{aspect-ratio:1.682432!important}
.marble-body #photo-plaques-funeraires-personnalisees-angle-2 .pfa-gallery-frame{aspect-ratio:2.356589!important}
.marble-body .pfa-photo-grid>.pfa-real-photo{justify-content:center;background:#eee5df}
.marble-body .pfa-photo-grid>.pfa-real-photo figcaption{flex:0;margin-top:auto}
.marble-body .pfa-photo-grid>.pfa-real-photo:has(img[style*="fill"]){padding-top:0}

/* Portrait editorial: no wide empty side panels. */
#photo-verre-detail{width:min(100%,480px);border-radius:12px;border:1px solid #d3c8bd;padding:6px;background:#fffdf8;box-shadow:0 8px 20px #30221b0c}
#photo-verre-detail .pfa-gallery-frame{aspect-ratio:3/4!important;border-radius:7px}
#photo-verre-detail figcaption{background:transparent;padding:12px 10px 8px;font-size:15px;border:0}
