/* Parisian Agenda v2 : photos d'interface (complète js/photoart.js). Chargé APRÈS app.css, ne le modifie pas. */
.pp-ph{position:relative;display:block;width:100%;height:100%;aspect-ratio:3/2;overflow:hidden;
  background:radial-gradient(120% 90% at 78% 0%,rgba(var(--acc-rgb,200,162,74),.30),transparent 62%),linear-gradient(160deg,var(--bg2,var(--bg,#1b1813)),var(--bg,#12100d))}
.pp-ph>img,.pp-img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;border:0;-webkit-user-drag:none;user-select:none}
.art-box>.pp-ph{position:relative;width:100%;height:100%}
.art-box>img,.hero-art>img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.art-box:has(>.pp-ph){background:var(--card2,transparent)}
.state-card .art-box>.pp-ph{border-radius:inherit}
.itin-cover>.art-box>.pp-ph,.acc-banner>.pp-ph,.acc-art>.pp-ph{aspect-ratio:auto}
.ph>.pp-ph,.ph-art>.pp-ph{aspect-ratio:auto}
.pp-ph.pp-miss>img,.pp-hero.pp-miss>.pp-slide>img{display:none}
.pp-nophoto{background:radial-gradient(120% 90% at 78% 0%,rgba(var(--acc-rgb,200,162,74),.34),transparent 62%),linear-gradient(160deg,var(--bg2,var(--bg,#1b1813)),var(--bg,#12100d))}

/* carrousel d'accueil : fondu enchaîné CSS pur, ~7 s par photo */
.hero-art>.pp-hero,.pp-hero{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;
  background:radial-gradient(120% 90% at 78% 0%,rgba(var(--acc-rgb,200,162,74),.34),transparent 62%),linear-gradient(160deg,var(--bg2,var(--bg,#1b1813)),var(--bg,#12100d))}
.pp-slide{position:absolute;inset:0;display:block;opacity:0;animation-name:pp-x3;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;will-change:opacity}
.pp-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;max-width:none}
.pp-n1 .pp-slide,.pp-hero[data-n="1"] .pp-slide{opacity:1;animation:none}
.pp-n2 .pp-slide{animation-name:pp-x2}
.pp-n3 .pp-slide{animation-name:pp-x3}
.pp-n4 .pp-slide{animation-name:pp-x4}
.pp-n5 .pp-slide{animation-name:pp-x5}
.pp-n6 .pp-slide{animation-name:pp-x6}
@media (prefers-reduced-motion:reduce){
  .pp-slide{animation:none!important;opacity:0;will-change:auto}
  .pp-slide:first-child{opacity:1}
}

@keyframes pp-x2{0%{opacity:0}10.000%{opacity:1}50.000%{opacity:1}60.000%{opacity:0}100%{opacity:0}}
@keyframes pp-x3{0%{opacity:0}6.667%{opacity:1}33.333%{opacity:1}40.000%{opacity:0}100%{opacity:0}}
@keyframes pp-x4{0%{opacity:0}5.000%{opacity:1}25.000%{opacity:1}30.000%{opacity:0}100%{opacity:0}}
@keyframes pp-x5{0%{opacity:0}4.000%{opacity:1}20.000%{opacity:1}24.000%{opacity:0}100%{opacity:0}}
@keyframes pp-x6{0%{opacity:0}3.333%{opacity:1}16.667%{opacity:1}20.000%{opacity:0}100%{opacity:0}}
