/* Homepage : sections plein écran et pied de page — 10 septembre 2026. */
html:has(body.home-cine) {
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  scroll-padding-top: 0;
}
/* Keep the viewport as the nearest scroll container. overflow-x:hidden
   implicitly made body overflow-y:auto and isolated its snap descendants. */
body.home-cine {
  overflow-x: clip;
  overflow-y: visible;
}
body.home-cine .hp-sec {
  box-sizing: border-box;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: calc(65px + env(safe-area-inset-top, 0px) + clamp(24px, 4vh, 48px)) clamp(32px, 5vh, 64px);
  scroll-snap-align: start;
  scroll-margin-top: 0;
}
body.home-cine .hp-sec > .hp-wrap { width: 100%; box-sizing: border-box; }
body.home-cine .hp .rv { opacity: 1; transform: none; }
body.home-cine .hp .rv.is-in { animation: home-arrive .65s cubic-bezier(.22,1,.36,1) both; animation-delay: min(var(--d, 0s), .15s); }
@keyframes home-arrive { from { opacity: .7; transform: translateY(12px); } to { opacity: 1; transform: none; } }
body.home-cine #lectures .hp-offres { margin-top: clamp(20px, 3vh, 36px); }
body.home-cine #lectures .hp-offre { padding-block: clamp(14px, 2vh, 24px); }
body.home-cine .footer {
  box-sizing: border-box;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: calc(65px + env(safe-area-inset-top, 0px) + 40px) clamp(24px, 5vw, 64px) max(40px, env(safe-area-inset-bottom, 0px));
  scroll-snap-align: start;
  scroll-margin-top: 0;
  font-family: var(--c-sans);
}
body.home-cine .footer-inner { width: 100%; max-width: 1240px; margin-inline: auto; min-width: 0; }
body.home-cine .footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));
  gap: 48px clamp(32px, 4.5vw, 72px);
  margin: 0;
  padding: 0;
  border: 0;
  align-items: start;
}
body.home-cine .footer-grid > * { min-width: 0; }
body.home-cine .footer-brand-block { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
body.home-cine .footer .brand-lockup { display: inline-flex; align-items: center; gap: 8px; font-family: var(--c-serif); font-size: 24px; line-height: 1.2; white-space: nowrap; }
body.home-cine .footer .brand-sep { display: inline-block; height: .8em; width: 1px; background: currentColor; opacity: .4; }
body.home-cine .footer .footer-tagline { font-size: 15px; line-height: 1.75; max-width: 28ch; margin: 0; text-align: left; }
body.home-cine .footer .footer-meta { margin: 0; font-size: 12px; }
body.home-cine .footer-instagram { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; text-decoration: none; }
body.home-cine .footer-instagram svg { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
body.home-cine .footer .footer-col-label { margin: 0 0 20px; font-size: 14px; font-weight: 600; line-height: 1.5; text-align: left; color: var(--c-cream) !important; }
body.home-cine .footer .footer-col ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; text-align: left; }
body.home-cine .footer .footer-col li { margin: 0; padding: 0; text-align: left; }
body.home-cine .footer .footer-col a { display: inline-flex; align-items: center; min-height: 32px; padding: 0; font-size: 14px; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
body.home-cine .footer .footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; margin-top: 56px; padding-top: 28px; border-top: 1px solid rgba(246,242,232,.16); font-size: 12px; line-height: 1.6; text-align: left; }
body.home-cine .footer-bottom-legal { display: flex; flex-wrap: wrap; gap: 12px 24px; }
body.home-cine .footer-bottom-legal a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: none; }
body.home-cine .footer a:focus-visible { outline: 2px solid var(--c-gold); outline-offset: 5px; }
@media (min-width: 1025px) and (pointer: fine) {
  html:has(body.home-cine) { scroll-snap-type: y mandatory; }
  body.home-cine .hp-sec,
  body.home-cine .footer { scroll-snap-stop: always; }
}
@media (max-width: 1024px) {
  body.home-cine .footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 40px; }
}
@media (max-width: 600px) {
  body.home-cine .hp-sec { padding-block: calc(65px + env(safe-area-inset-top, 0px) + 24px) 40px; }
  body.home-cine .hp-appr { gap: 28px; }
  body.home-cine .hp-diag { max-width: 240px; }
  body.home-cine .footer .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  body.home-cine .footer .footer-col a { min-height: 36px; }
  body.home-cine .footer .footer-bottom { align-items: flex-start; margin-top: 44px; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.home-cine) { scroll-behavior: auto; scroll-snap-type: none; }
  body.home-cine .hp .rv.is-in { animation: none; }
  body.home-cine .hp-sec,
  body.home-cine .footer { scroll-snap-stop: normal; }
}
/* Retire l’espacement générique entre blocs pour joindre les écrans. */
body.home-cine { padding-top: 0; }
body.home-cine .hp-sec { margin: 0; }
