/* ══════════════════════════════════════════════
   style-accueil.css
   Feuille de style unique pour la page d'accueil :
   - Hero vidéo (ex style-index.css)
   - Rail de vignettes cliquables (ex style-thumbrail.css)
   - Nouvelles sections (accroche, grille, photos, tournages, sélections)
   ⚠️ Contient une balise PHP (background hero) — ce fichier doit être
      interprété par PHP côté serveur, pas servi comme .css statique pur.
   ══════════════════════════════════════════════ */

/* ───────── HERO VIDÉO (ex style-index.css) ───────── */

.bkg-video {
    background: url("../img/img-site/acc-fond-intro-mer.jpg");
    height: 100%;
    width: 100%;
}
.vimeo-wrapper {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
}
.vimeo-wrapper iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ───────── RAIL DE VIGNETTES (ex style-thumbrail.css) ───────── */

#thumbrail, #thumbrail * { box-sizing: border-box; }
#thumbrail { user-select: none; margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 100px; }
#thumbrail .viewport {
    height: 202px;
    overflow: hidden;
    position: relative;
    cursor: grab;
    touch-action: none;
}
#thumbrail.dragging .viewport { cursor: grabbing; }

#thumbrail .track {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 3px;
    will-change: transform;
    transform: translate3d(0,0,0);
}

#thumbrail .item {
    position: relative;
    flex: 0 0 auto;
    height: 202px;
    width: auto;
    overflow: hidden;
    background: #000;
}
#thumbrail .item img {
    display: block;
    height: 100%;
    width: auto;
    -webkit-user-drag: none; user-drag: none;
    user-select: none; pointer-events: none;
}

#thumbrail .label {
    position: absolute; left: 0; right: 0; bottom: 0;
    display: block;
    padding: 6px 10px;
    color: #fff; text-decoration: none; font-weight: 600;
    font-size: clamp(12px, 2.1vw, 15px);
    line-height: 1.2;
    background: linear-gradient(transparent, rgba(0,0,0,.65));
    text-shadow: 0 1px 2px rgba(0,0,0,.6);
    pointer-events: auto;
}
#thumbrail .label:hover { text-decoration: underline; }

/* ───────── NOUVELLES SECTIONS ───────── */

.ac-home-section { padding: 96px 48px; max-width: 960px; margin: 0 auto; text-align: center; }
.ac-home-options { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #0a2c40; text-align: left; margin-top: 36px; }
.ac-home-options > div { background: #f5f6f7; padding: 40px 36px; display: flex; flex-direction: column; gap: 12px; }
.ac-home-label { font-family: 'Raleway', sans-serif !important; font-style: italic; font-weight: 400; font-size: 13px; letter-spacing: .02em; color: rgba(10,44,64,.55); text-transform: uppercase; }
.ac-home-h3 { margin: 0; font-family: 'Raleway', sans-serif !important; font-weight: 400; font-size: 23px; line-height: 1.3; color: #0a2c40; }
.ac-home-p { margin: 0; font-family: 'Raleway', sans-serif !important; font-weight: 400; font-size: 17px; line-height: 1.7; color: rgba(10,44,64,.75); }

.ac-grid-wrap { padding: 0 48px 0; }
.ac-grid-title { margin: 0 0 28px; font-family: 'Raleway', sans-serif !important; font-weight: 400; font-size: 22px; line-height: 1; color: #0a2c40; text-align: center; }
.ac-grid { display: grid; grid-template-columns: repeat(5,1fr); grid-auto-rows: 150px; gap: 2px; background: #0a2c40; }
.ac-grid-item { position: relative; background-size: cover; background-position: center; display: flex; flex-direction: column; justify-content: flex-end; padding: 14px; }
.ac-grid-item::before { content:''; position:absolute; inset:0; background: linear-gradient(180deg, transparent 50%, rgba(10,44,64,.75) 100%); }
.ac-grid-item span { position: relative; font-family: 'Raleway', sans-serif !important; font-weight: 500; font-size: 16px; line-height: 1.2; color: #fff; z-index: 1; }
.ac-grid-vedette { grid-column: span 2; }

/* Espace uniquement si la grille est directement suivie de Photos (rail désactivé).
   Si le rail est réactivé, c'est sa propre margin-bottom qui fait l'espacement. */
.ac-grid-wrap + .ac-photos-wrap { margin-top: 100px; }

.ac-photos-wrap { padding: 0 48px 100px; max-width: 760px; margin: 0 auto; text-align: center; }
.ac-photos-img { aspect-ratio: 16/7; background-size: cover; background-position: center; }

.ac-tournages-wrap { padding: 80px 48px; background: #0a2c40; color: #fff; text-align: center; }
.ac-tournages-h3 { margin: 0 0 16px; font-family: 'Raleway', sans-serif !important; font-weight: 400; font-size: 22px; line-height: 1.2; color: #fff !important; }
.ac-tournages-wrap p { margin: 0 auto; max-width: 640px; font-family: 'Raleway', sans-serif !important; font-weight: 400; font-size: 17px; line-height: 1.75; color: rgba(255,255,255,.8) !important; }

.ac-sel-wrap { padding: 100px 48px; }
.ac-sel-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; max-width: 1080px; margin: 0 auto; }
.ac-sel-item { display: flex; gap: 12px; align-items: center; border: 1px solid rgba(10,44,64,.15); padding: 8px; text-decoration: none; }
.ac-sel-thumb { width: 52px; height: 52px; flex: none; background-size: cover; background-position: center; background-color: #eee; }
.ac-sel-label { font-family: 'Raleway', sans-serif !important; font-weight: 400; font-size: 15px; line-height: 1.3; color: #0a2c40; }

@media (max-width: 900px) {
    .ac-grid { grid-template-columns: repeat(2,1fr); }
    .ac-grid-vedette { grid-column: span 2; }
    .ac-home-options { grid-template-columns: 1fr; }
    .ac-sel-grid { grid-template-columns: repeat(2,1fr); }
}
