/* perf.css — optimisations de fluidité. À charger EN DERNIER (après tous les autres CSS). */

/* 1. Les sections lointaines ne sont rendues qu'à l'approche de l'écran (scroll plus léger).
      #destinations est volontairement exclue : le livre StPageFlip mesure sa taille au chargement. */
#customization, #contact, .site-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 900px;
}
.site-footer { contain-intrinsic-size: auto 220px; }

/* 2. Le slider ne repeint que sa propre zone, sur sa propre couche GPU */
.hero-slider { contain: layout paint; }
.hero-track { will-change: transform; backface-visibility: hidden; }

/* 3. Images : jamais de décalage de mise en page, décodage hors du thread principal */
img { height: auto; }
.hero-photo, .tile img, .itinerary-thumb img, .map-pin-img img, .slide-duo img { height: 100%; }

/* 4. Défilement tactile plus fluide, pas de rebond sur le slider */
.hero-slider, .itinerary-list-container { touch-action: pan-y; }
.dest-list { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

/* 5. Cartes avec beaucoup d'ombres : isolées pour éviter de repeindre toute la page */
.itinerary-card, .service-card, .tile { contain: layout style; }

/* 6. Mobile : on retire les effets les plus coûteux */
@media (max-width: 768px) {
    .slide-gold .hero-photo { -webkit-mask-image: none; mask-image: none; }
    .itinerary-thumb { box-shadow: 4px 6px 10px rgba(0, 0, 0, .22); }
    .ab-article::before { display: none; }   /* grand 旅 en filigrane (about) */
}

/* 7. Texte visible immédiatement pendant le chargement des polices */
html { text-rendering: optimizeSpeed; }