/* Galeries — identité visuelle reprise du site existant (pages "images") */

* { box-sizing: border-box; }

body {
    margin: 0;
    padding: 0;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    color: #2a2320;
}

.page {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}

/* Bandeau du haut, repris à l'identique du site actuel */
.site-header {
    text-align: center;
}
.site-header img {
    display: block;
    margin: 0 auto;
}
.site-nav {
    text-align: center;
    padding: 6px 0 10px;
}

/* Page gallery.php : menu du haut et pied de page toujours visibles,
   comme avec l'ancien frameset (haut/milieu/bas) — sauf qu'ici c'est un
   simple iframe qui occupe l'espace restant et défile pour son propre
   compte, au lieu d'une vraie frame HTML. */
.gallery-viewer {
    display: flex;
    flex-direction: column;
    height: 100vh;
}
.gallery-viewer .site-header,
.gallery-viewer .site-footer {
    flex: 0 0 auto;
}
.gallery-frame-wrap {
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
}
.gallery-frame-wrap iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Zone de contenu principal */
.content {
    position: relative;
    min-height: 420px;
    padding: 30px 30px 20px;
}

.content h1 {
    text-align: center;
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    color: #2a2320;
    margin: 0 0 30px;
}

/* Un bloc par activité (Aikido / Qi-Gong / Shiatsu), en "escalier" :
   chaque activité est un peu plus décalée vers la droite que la précédente,
   comme sur les pages actuelles du site. */
.activity-block {
    position: relative;
    z-index: 1;
    margin-bottom: 34px;
    margin-left: 0;
}
.activity-block.level-1 { margin-left: 130px; }
.activity-block.level-2 { margin-left: 240px; }

.activity-title {
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
}

/* Grille des vignettes de saisons, à l'intérieur d'un bloc d'activité */
.season-grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 18px 22px;
}

.season-tile,
.archives-tile {
    display: block;
    text-decoration: none;
    transition: transform 0.15s ease;
}
.season-tile:hover,
.archives-tile:hover {
    transform: translateY(-3px);
}
.season-tile img {
    display: block;
    width: 116px;
    height: 64px;
}

/* Grille des vignettes de galeries sur la page saison (season.php) :
   vignettes affichées à leur taille d'origine (200x166), avec plus
   d'espace entre elles que sur la page principale. */
.gallery-grid {
    gap: 34px 46px;
}
.gallery-grid .season-tile img {
    width: 200px;
    height: 166px;
}

.clearfix {
    clear: both;
}

/* L'espace libéré par l'escalier à gauche de Shiatsu accueille le
   filigrane puis, juste en dessous, la tuile Archives — le tout flottant
   dans le vide laissé par l'activité suivante. Comme chaque activité
   affiche toujours au maximum 5 saisons sur une seule ligne, cet
   emplacement reste stable même si le nombre de saisons archivées
   change. */
.corner-col {
    float: left;
    margin: 0 20px 20px 0;
}
.corner-watermark {
    width: 210px;
}
.archives-tile {
    display: block;
    margin-top: 14px;
}
.watermark {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
    user-select: none;
}
/* Variante utilisée seule (page saison) : affichée après le contenu, dans
   le flux normal (jamais en position absolue), pour ne jamais se
   retrouver sous une vignette ou un autre élément quelle que soit la
   hauteur du contenu au-dessus. */
.watermark-floating {
    display: block;
    width: 200px;
    height: auto;
    margin: 40px 0 0;
    pointer-events: none;
    user-select: none;
}

/* Pied de page, repris à l'identique du site actuel */
.site-footer {
    text-align: center;
    padding: 10px 0 20px;
}
.site-footer img {
    display: block;
    margin: 0 auto;
}

/* Encadré provisoire affiché à la place d'une vignette qui n'a pas encore
   été déposée (nouvelle saison / nouvelle galerie créée depuis l'admin,
   en attendant l'envoi de l'image définitive). */
.tile-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.68rem;
    line-height: 1.2;
    color: #8a7d6f;
    background: repeating-linear-gradient(45deg, #f3ede4, #f3ede4 8px, #ece4d5 8px, #ece4d5 16px);
    border: 1px dashed #cbbfa8;
    border-radius: 4px;
    padding: 4px;
}
.season-grid .tile-placeholder { width: 116px; height: 64px; }
.gallery-grid .tile-placeholder { width: 200px; height: 166px; }

/* Page view.php / photo.php : zone défilante contenant la grille Lightroom
   (voir assets/lr-gallery.css), dans l'espace laissé libre par le menu du
   haut / bas — comme pour gallery.php mais en contenu natif. */
.local-gallery-wrap {
    overflow-y: auto;
    padding: 24px 30px 40px;
}

/* Pages stub (saison / archives) */
.stub-box {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 20px;
}
.stub-box h1 {
    margin-bottom: 10px;
}
.stub-box p {
    color: #6b5f55;
}
.stub-box a.back {
    display: inline-block;
    margin-top: 24px;
    color: #25438f;
    text-decoration: none;
    font-size: 0.95rem;
}
.stub-box a.back:hover {
    text-decoration: underline;
}
