/* Page « Le Gîte » */

.groupe-titre { text-align: center; margin: clamp(2rem, 5vw, 3rem) 0 1.25rem; }
.groupe-titre::after {
    content: "";
    display: block;
    width: 70px;
    height: 4px;
    margin: 0.6rem auto 0;
    border-radius: 2px;
    background: var(--bois);
}

.bloc {
    display: grid;
    gap: 1.25rem;
    align-items: center;
    margin-bottom: 1.5rem;
}
@media (min-width: 820px) {
    .bloc { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .bloc--inverse .photo { order: -1; }
}
@media (max-width: 819px) { .bloc .photo { order: -1; } }
.bloc__texte h3 { margin-bottom: 0.6rem; }
.bloc__texte ul { list-style: disc; padding-left: 1.2rem; }
.bloc__texte li + li { margin-top: 0.25rem; }
.bloc--sans-photo { grid-template-columns: 1fr; }
.bloc--sans-photo .bloc__texte { max-width: 70ch; }

.bloc__icones { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 0.75rem; }
.bloc__icones span { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 700; }
.bloc__icones i { font-size: 1.8rem; }
.bloc__icones img { width: 2rem; }

/* Photos cliquables */
.photo {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.2);
    cursor: zoom-in;
}
.photo img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.4s;
}
@media (hover: hover) { .photo:hover img { transform: scale(1.04); } }

/* Visionneuse */
.lightbox {
    width: 100%;
    max-width: 100vw;
    height: 100%;
    max-height: 100vh;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, 0.92);
    color: #fff;
}
.lightbox[open] { display: grid; place-items: center; }
.lightbox::backdrop { background: rgba(0, 0, 0, 0.85); }
.lightbox figure { max-width: min(92vw, 1100px); text-align: center; }
.lightbox img { max-height: 78vh; width: auto; margin-inline: auto; border-radius: 8px; }
.lightbox figcaption { margin-top: 0.75rem; font-weight: 600; }
.lightbox button {
    position: absolute;
    width: 3rem;
    height: 3rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}
.lightbox button:hover { background: #fff; color: #000; }
.lightbox__fermer { top: 1rem; right: 1rem; }
.lightbox__prec { left: 0.75rem; top: 50%; transform: translateY(-50%); }
.lightbox__suiv { right: 0.75rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
    .lightbox__prec, .lightbox__suiv { top: auto; bottom: 1rem; transform: none; }
}

/* À proximité */
.proximite { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.proximite .carte-info { align-items: flex-start; text-align: left; }
.proximite__pdf { margin-top: 1.25rem; text-align: center; }
