.galerie-page { overflow: clip; }
.galerie-page .button:hover { transform: none; }
.galerie-hero { position: relative; min-height: 620px; height: 66vh; display: grid; color: var(--color-mist-100); background: var(--color-night-950); }
.galerie-hero__media, .galerie-hero__media img, .galerie-hero__veil, .galerie-hero__container { grid-area: 1 / 1; }
.galerie-hero__media { width: 100%; height: 100%; min-width: 0; }
.galerie-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.galerie-hero__veil { background: linear-gradient(90deg, rgb(11 17 23 / 82%) 0%, rgb(11 17 23 / 46%) 43%, rgb(11 17 23 / 18%) 100%); pointer-events: none; }
.galerie-hero__container { width: min(100% - (var(--page-padding) * 2), var(--container-max)); margin-inline: auto; display: flex; min-width: 0; align-items: end; padding-block: clamp(3rem, 7vw, 6rem); }
.galerie-hero__copy { width: min(100%, 32.5rem); min-width: 0; }
.galerie-hero__copy h1 { margin-bottom: var(--space-5); font-size: var(--text-hero-title); line-height: var(--leading-display); }
.galerie-hero__copy .intro { margin-bottom: var(--space-6); }
.galerie-hero__action { width: max-content; }

.galerie-cuisine__head { width: min(100%, 38.125rem); min-width: 0; margin-bottom: var(--space-8); }
.galerie-cuisine__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: var(--grid-gap); align-items: start; }
.galerie-cuisine__grid > * { min-width: 0; width: 100%; }
.galerie-cuisine__figure--shared { margin-top: var(--space-8); }
.galerie-figure { margin-bottom: 0; }
.galerie-figure figcaption { padding-top: var(--space-4); }
.galerie-figure figcaption h3 { margin-bottom: var(--space-3); }
.galerie-figure figcaption p { max-width: 31rem; }
.galerie-cuisine__figure--detail figcaption { border-top: 1px solid var(--color-line-dark); }

.galerie-lightbox-trigger { display: block; width: 100%; min-width: 0; padding: 0; background: transparent; overflow: hidden; text-align: left; }
.galerie-lightbox-trigger img { width: 100%; max-width: 100%; height: auto; transition: transform var(--transition-image); }
.galerie-cuisine__figure--gesture img, .galerie-cuisine__figure--detail img { aspect-ratio: 4 / 5; object-fit: cover; }
.galerie-cuisine__figure--shared img { aspect-ratio: 3 / 2; object-fit: cover; }

.galerie-salle__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; }
.galerie-salle__layout > * { min-width: 0; }
.galerie-salle__visual { grid-column: 2; grid-row: 1; margin: 0; width: 100%; }
.galerie-salle__visual img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.galerie-salle__panel { grid-column: 1; grid-row: 1; z-index: 1; width: calc(100% + var(--space-7)); min-width: 0; padding: var(--space-7); border: 1px solid var(--color-line-night); background: var(--color-night-900); }
.galerie-salle__panel h2 { max-width: 24rem; }
.galerie-salle__panel p { max-width: 26.875rem; }
.galerie-salle__secondary { padding-top: var(--space-5); border-top: 1px solid var(--color-copper-500); }
.galerie-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-copper-300); font-size: var(--text-meta); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }

.galerie-bar__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
.galerie-bar__layout > * { min-width: 0; }
.galerie-bar__head { grid-column: 1 / span 6; width: 100%; }
.galerie-bar__head p { max-width: 35rem; }
.galerie-bar__visual { grid-column: 1 / span 8; margin: 0; width: 100%; }
.galerie-bar__visual img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.galerie-bar__visual figcaption { margin-top: var(--space-3); color: var(--color-mist-300); font-size: var(--text-meta); }
.galerie-bar__detail { grid-column: 9 / span 4; align-self: end; width: 100%; padding-top: clamp(2rem, 8vw, 8rem); }
.galerie-bar__detail p { max-width: 24.375rem; }

.galerie-soiree__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.galerie-soiree__layout > * { min-width: 0; }
.galerie-soiree__copy { grid-column: 1; grid-row: 1; width: 100%; }
.galerie-soiree__copy > p { max-width: 31.25rem; }
.galerie-soiree__visual { grid-column: 2; grid-row: 1; margin: 0; width: 100%; }
.galerie-soiree__visual img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.galerie-soiree__notice { width: min(100%, 28.75rem); min-width: 0; margin: var(--space-6) 0; padding: var(--space-5); border-top: 1px solid var(--color-copper-500); border-bottom: 1px solid var(--color-copper-500); outline: 1px solid var(--color-line-dark); outline-offset: 4px; }
.galerie-soiree__notice h3 { margin-bottom: var(--space-3); }
.galerie-soiree__notice p { margin-bottom: 0; font-size: var(--text-meta); line-height: var(--leading-meta); }

.galerie-fragments { position: relative; min-height: 440px; display: grid; color: var(--color-mist-100); background: var(--color-night-950); }
.galerie-fragments__media, .galerie-fragments__veil, .galerie-fragments__container { grid-area: 1 / 1; }
.galerie-fragments__media, .galerie-fragments__media button, .galerie-fragments__media img { width: 100%; height: 100%; }
.galerie-fragments__media img { object-fit: cover; object-position: center; }
.galerie-fragments__veil { background: linear-gradient(90deg, rgb(11 17 23 / 62%), rgb(11 17 23 / 20%)); pointer-events: none; }
.galerie-fragments__container { width: min(100% - (var(--page-padding) * 2), var(--container-max)); margin-inline: auto; display: flex; min-width: 0; align-items: end; padding-block: var(--space-8); }
.galerie-fragments__copy { width: min(100%, 33.75rem); min-width: 0; }
.galerie-fragments__copy blockquote { margin-bottom: var(--space-4); padding: 0; border: 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; }
.galerie-fragments__copy p { margin: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-copper-500); color: var(--color-mist-300); font-size: var(--text-micro); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

.galerie-routes__head { width: min(100%, 36.875rem); min-width: 0; margin-inline: auto; margin-bottom: var(--space-8); text-align: center; }
.galerie-routes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.galerie-routes__grid > * { min-width: 0; width: 100%; }
.galerie-route-card { display: flex; min-width: 0; min-height: 100%; flex-direction: column; align-items: stretch; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-line-night); color: var(--color-mist-100); text-decoration: none; transition: border-color var(--transition-control), background-color var(--transition-control); }
.galerie-route-card:hover { border-color: var(--color-copper-300); background: var(--color-night-900); color: var(--color-mist-100); }
.galerie-route-card h3, .galerie-route-card p { margin: 0; }
.galerie-route-card__number { color: var(--color-copper-300); font-size: var(--text-micro); font-weight: 600; letter-spacing: .12em; }
.galerie-route-card__link { margin-top: auto; color: var(--color-copper-300); font-size: var(--text-meta); font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }

.galerie-final__container { display: flex; min-width: 0; justify-content: center; }
.galerie-final__panel { width: min(100%, 47.5rem); min-width: 0; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); padding: var(--space-8); border: 1px solid var(--color-line-night); background: var(--color-night-900); text-align: center; }
.galerie-final__panel > * { margin: 0; }
.galerie-final__panel > p { width: min(100%, 32.5rem); }
.galerie-final__actions { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
.galerie-final__actions > * { min-width: 0; width: auto; }

.galerie-lightbox[hidden] { display: none; }
.galerie-lightbox { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: var(--space-5); }
.galerie-lightbox__backdrop { position: absolute; inset: 0; background: rgb(11 17 23 / 94%); }
.galerie-lightbox__dialog { position: relative; z-index: 1; width: min(100%, 75rem); min-width: 0; display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; align-items: center; gap: var(--space-3); }
.galerie-lightbox__figure { min-width: 0; margin: 0; }
.galerie-lightbox__figure img { width: 100%; max-height: calc(100vh - 10rem); object-fit: contain; }
.galerie-lightbox__figure figcaption { margin-top: var(--space-3); color: var(--color-mist-100); font-size: var(--text-meta); text-align: center; }
.galerie-lightbox__close, .galerie-lightbox__control { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--color-copper-300); background: var(--color-night-900); color: var(--color-mist-100); font-size: 1.5rem; }
.galerie-lightbox__close { position: absolute; top: -3.25rem; right: 0; }

@media (hover: hover) and (pointer: fine) { .galerie-lightbox-trigger:hover img { transform: scale(1.02); } }

@media (max-width: 61.24rem) {
  .galerie-cuisine__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .galerie-cuisine__figure--shared { grid-column: 1 / -1; grid-row: 2; margin-top: 0; }
  .galerie-cuisine__figure--shared img { aspect-ratio: 3 / 2; }
  .galerie-salle__layout { grid-template-columns: 1fr; gap: 0; }
  .galerie-salle__visual { grid-column: 1; grid-row: 1; }
  .galerie-salle__panel { grid-column: 1; grid-row: 2; width: 100%; padding: var(--space-6); }
  .galerie-bar__head { grid-column: 1 / -1; }
  .galerie-bar__visual { grid-column: 1 / -1; }
  .galerie-bar__detail { grid-column: 1 / -1; padding-top: 0; }
  .galerie-bar__detail p { max-width: 38rem; }
  .galerie-soiree__layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .galerie-soiree__visual { grid-column: 1; grid-row: 1; }
  .galerie-soiree__copy { grid-column: 1; grid-row: 2; width: min(100%, 38.75rem); }
  .galerie-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .galerie-routes__grid > :nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 43.74rem) {
  .galerie-hero { height: auto; min-height: 0; display: block; }
  .galerie-hero__media { height: auto; }
  .galerie-hero__media img { aspect-ratio: 4 / 5; object-position: center; }
  .galerie-hero__veil { display: none; }
  .galerie-hero__container { width: 100%; display: block; padding: 0; }
  .galerie-hero__copy { width: 100%; padding: var(--space-6) var(--page-padding) var(--space-7); background: var(--color-night-950); }
  .galerie-hero__copy h1 { font-size: clamp(2.5rem, 12vw, 2.75rem); }
  .galerie-hero__action { width: 100%; }
  .galerie-cuisine__head { margin-bottom: var(--space-6); }
  .galerie-cuisine__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .galerie-cuisine__figure--shared { grid-column: 1; grid-row: auto; }
  .galerie-figure figcaption p { max-width: none; }
  .galerie-salle__panel { padding: var(--space-5); }
  .galerie-salle__panel p { max-width: none; }
  .galerie-salle__visual img { aspect-ratio: 4 / 5; }
  .galerie-bar__layout { grid-template-columns: 1fr; gap: var(--space-5); }
  .galerie-bar__head, .galerie-bar__visual, .galerie-bar__detail { grid-column: 1; }
  .galerie-bar__visual img { aspect-ratio: 4 / 5; }
  .galerie-soiree__visual img { aspect-ratio: 4 / 5; }
  .galerie-soiree__notice { width: calc(100% - .5rem); margin-left: .25rem; }
  .galerie-soiree__copy .button { width: 100%; }
  .galerie-fragments { min-height: 0; display: block; }
  .galerie-fragments__media { height: auto; }
  .galerie-fragments__media img { aspect-ratio: 4 / 5; object-position: 62% center; }
  .galerie-fragments__veil { display: none; }
  .galerie-fragments__container { width: 100%; display: block; padding: 0; }
  .galerie-fragments__copy { width: 100%; padding: var(--space-6) var(--page-padding); background: var(--color-night-950); }
  .galerie-fragments__copy blockquote { font-size: clamp(2rem, 9vw, 2.125rem); }
  .galerie-routes__head { margin-bottom: var(--space-6); }
  .galerie-routes__grid { grid-template-columns: 1fr; }
  .galerie-routes__grid > :nth-child(3) { grid-column: 1; }
  .galerie-route-card { padding: var(--space-5); }
  .galerie-final__panel { padding: var(--space-6) var(--space-5); }
  .galerie-final__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .galerie-final__actions > * { width: 100%; }
  .galerie-lightbox { padding: var(--space-3); }
  .galerie-lightbox__dialog { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .galerie-lightbox__control { position: absolute; top: calc(50% - 1.375rem); z-index: 2; }
  .galerie-lightbox__control--previous { left: 0; }
  .galerie-lightbox__control--next { right: 0; }
  .galerie-lightbox__figure img { max-height: calc(100vh - 12rem); }
}

@media (prefers-reduced-motion: reduce) { .galerie-lightbox-trigger img { transition: none; } }
