/* Mixed narrative gallery. Width is editorial; the visible frames share one height. */
@font-face { font-display: swap; font-family: "Inter"; font-style: normal; font-weight: 400; src: url("/sites/d-monstration-mybnbhub-publication/assets/fr/8909904ab6c872eb994093482a88a28eca2cd95912d7b6fecd72103b0dc07edc.woff2") format('woff2'); }
@font-face { font-display: swap; font-family: "Inter"; font-style: normal; font-weight: 500; src: url("/sites/d-monstration-mybnbhub-publication/assets/fr/f3779f1efccc4bdcdf9c0a02ab95bf6bd092ed09c48c08cedc725889edd1d19f.woff2") format('woff2'); }
@font-face { font-display: swap; font-family: "Inter"; font-style: normal; font-weight: 700; src: url("/sites/d-monstration-mybnbhub-publication/assets/fr/6f56409fd3d64bb85f7d070bce20749db2d66b6d63cec586cc22d1c761be2491.woff2") format('woff2'); }
@font-face { font-display: swap; font-family: "Cormorant Garamond"; font-style: normal; font-weight: 700; src: url("/sites/d-monstration-mybnbhub-publication/assets/fr/21a0fc1c5c22708cf4aa0c147fd32982e25bf9e21efec0ca31a4495ba41753eb.woff2") format('woff2'); }
.generated-gallery-story {
  --gallery-tile-height: 182px;
  padding: 34px 0 176px;
  color: var(--text, #1f1a17);
  font-family: "Inter", sans-serif;
  background: radial-gradient(circle at top right, rgba(162,70,52,.12), transparent 32%), linear-gradient(180deg,#f8f4ef 0%,#f7f2ec 100%);
}
/* One continuous page background, including the header and spaces between modules. */
.generated-site.gallery-page {
  background: radial-gradient(circle at top right, rgba(162,70,52,.12), transparent 32%), linear-gradient(180deg,#f8f4ef 0%,#f7f2ec 100%);
}
.gallery-page .generated-gallery-story { background: transparent; }
/* Storage batches and migrated grids keep their identities without large empty seams. */
.generated-gallery-story:has(+ .generated-gallery-story) { padding-bottom: 0; }
.generated-gallery-story + .generated-gallery-story { padding-top: 10px; }
@media (max-width: 760px) {
  .gallery-page .header-inner { gap: 12px; }
  .gallery-page .brand { flex: 0 1 auto; min-width: 0; max-width: 45%; }
  .gallery-page .brand-name { max-width: none; overflow-wrap: anywhere; }
  .gallery-page .header-right { flex: 1 1 0; min-width: 0; gap: 8px; }
  .gallery-page .lang-switcher { min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .gallery-page .lang-switcher a { flex: 0 0 auto; }
  .gallery-page .nav-toggle { flex: 0 0 46px; }
  .generated-gallery-story { padding-bottom: 150px; }
  .generated-gallery-story:has(+ .generated-gallery-story) { padding-bottom: 0; }
}
.generated-gallery-story .gallery-story-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 10px 18px;
  width: min(100% - 32px, 1200px);
  margin: 0 auto;
}
.generated-gallery-story .gallery-story-tile {
  position: relative;
  box-sizing: border-box;
  flex: 0 0 auto;
  min-width: 0;
  height: var(--gallery-tile-height);
  min-height: var(--gallery-tile-height);
  margin: 0;
  padding: 0;
  border-radius: 24px;
}
.generated-gallery-story .gallery-story-tile[data-size="landscape"] { width: min(100%, 432px); }
.generated-gallery-story .gallery-story-tile[data-size="medium"] { width: min(100%, 286px); }
.generated-gallery-story .gallery-story-tile[data-size="portrait"] { width: min(100%, 172px); }
.generated-gallery-story .gallery-story-note[data-size="portrait"] { width: min(100%, 208px); padding: 16px 16px 14px; }
.generated-gallery-story .gallery-story-photo { height: calc(var(--gallery-tile-height) + 7.6px); }
.generated-gallery-story .gallery-story-photo-button {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: var(--gallery-tile-height);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  overflow: hidden;
  background: #d8d2cc;
  box-shadow: 0 16px 34px rgba(31,26,23,.09);
  cursor: zoom-in;
  text-decoration: none;
  color: inherit;
}
.generated-gallery-story .gallery-story-photo-button:focus-visible { outline: 3px solid var(--accent, #a24634); outline-offset: 4px; }
.generated-gallery-story .gallery-story-photo-button::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 50%;
  background: linear-gradient(180deg,rgba(16,12,10,0) 0%,rgba(16,12,10,.68) 100%);
  z-index: 1;
  pointer-events: none;
}
.generated-gallery-story .gallery-story-photo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease, filter 320ms ease;
}
.generated-gallery-story .gallery-story-photo:hover img { transform: scale(1.032); filter: saturate(1.03); }
.generated-gallery-story .gallery-story-photo-caption {
  position: absolute;
  bottom: 12px;
  z-index: 2;
  max-width: calc(100% - 24px);
  margin: 0;
  color: rgba(255,255,255,.96);
  font-size: .58rem;
  line-height: 1.26;
  font-weight: 500;
  text-wrap: balance;
  white-space: pre-line;
  text-shadow: 0 2px 14px rgba(0,0,0,.3);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.generated-gallery-story .gallery-story-photo-caption.is-left { left: 12px; text-align: left; }
.generated-gallery-story .gallery-story-photo-caption.is-right { right: 12px; text-align: right; }
.generated-gallery-story .gallery-story-photo[data-size="portrait"] .gallery-story-photo-caption { font-size: .54rem; line-height: 1.22; -webkit-line-clamp: 5; max-width: calc(100% - 20px); }
.generated-gallery-story .gallery-story-photo[data-size="medium"] .gallery-story-photo-caption { font-size: .6rem; }
.generated-gallery-story .gallery-story-note {
  --gallery-title-scale: 1;
  --gallery-body-scale: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px 18px 14px;
  overflow: auto;
  scrollbar-width: thin;
  background: linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,244,239,.94));
  border: 1px solid rgba(223,211,199,.95);
  box-shadow: 0 12px 30px rgba(31,26,23,.06);
}
.generated-gallery-story .gallery-story-note-copy { display: flex; flex-direction: column; flex: 0 0 auto; min-width: 0; width: 100%; }
/* Measure the full text width before deciding whether a scroll fallback is needed. */
.generated-gallery-story .gallery-story-note[data-gallery-overflow="0"] { overflow: hidden; }
.generated-gallery-story .gallery-story-note[data-gallery-overflow="1"] { justify-content: flex-start; }
.generated-gallery-story .gallery-story-eyebrow {
  margin: -7px 0 1px;
  color: var(--accent, #a24634);
  font-size: .62rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.generated-gallery-story .gallery-story-note h2 {
  margin: 0 0 3px;
  padding: 0 0 .18em;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: max(17px, calc(clamp(1.22rem, 1.46vw, 1.72rem) * var(--gallery-title-scale)));
  line-height: 1.06;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.generated-gallery-story .gallery-story-body {
  margin: 0;
  font-weight: 400;
  color: var(--muted, #6f655d);
  font-size: max(11.5px, calc(.72rem * var(--gallery-body-scale)));
  line-height: 1.28;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.generated-gallery-story .gallery-story-note[data-size="portrait"] h2 { font-size: max(17px, calc(clamp(1.08rem,1.18vw,1.36rem) * var(--gallery-title-scale))); line-height: 1.05; padding-bottom: .08em; }
.generated-gallery-story .gallery-story-note[data-size="portrait"] .gallery-story-eyebrow { margin-bottom: 6px; font-size: .6rem; }
.generated-gallery-story .gallery-story-note[data-size="medium"] h2 { font-size: max(17px, calc(clamp(1.28rem,1.5vw,1.72rem) * var(--gallery-title-scale))); }
.generated-gallery-story .gallery-story-dialog {
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 24px 90px;
  border: 0;
  background: rgba(13,11,10,.97);
  color: #fff;
}
.generated-gallery-story .gallery-story-dialog[open] { display: flex; align-items: center; justify-content: center; }
.generated-gallery-story .gallery-story-dialog::backdrop { background: rgba(13,11,10,.94); }
.generated-gallery-story .gallery-story-stage { width: min(1180px,100%); max-height: 100%; display: flex; flex-direction: column; gap: 16px; }
.generated-gallery-story .gallery-story-lightbox-figure { margin: 0; min-height: 0; }
.generated-gallery-story .gallery-story-lightbox-image { display: block; width: 100%; height: min(68vh,860px); object-fit: contain; touch-action: pan-y; }
.generated-gallery-story .gallery-story-lightbox-figure figcaption { display: grid; gap: 4px; padding: 12px 0 0; }
.generated-gallery-story [data-story-position] { margin: 0; font-size: .75rem; color: rgba(255,255,255,.65); }
.generated-gallery-story [data-story-caption-text] { margin: 0; white-space: pre-line; font-size: .94rem; line-height: 1.6; max-height: 15vh; overflow: auto; }
.generated-gallery-story .gallery-story-close,
.generated-gallery-story .gallery-story-nav { position: absolute; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; background: rgba(255,255,255,.12); cursor: pointer; line-height: 1; z-index: 2; }
.generated-gallery-story .gallery-story-close { top: 20px; right: 20px; width: 48px; height: 48px; font-size: 2rem; }
.generated-gallery-story .gallery-story-nav { top: 50%; width: 56px; height: 56px; font-size: 2.4rem; transform: translateY(-50%); }
.generated-gallery-story .gallery-story-nav.is-prev { left: 18px; }
.generated-gallery-story .gallery-story-nav.is-next { right: 18px; }
.generated-gallery-story .gallery-story-thumbs { display: flex; gap: 10px; overflow: auto; padding: 6px 2px 10px; min-height: 88px; scrollbar-width: thin; }
.generated-gallery-story .gallery-story-thumb { flex: 0 0 auto; width: 92px; height: 72px; margin: 0; padding: 0; border: 2px solid transparent; border-radius: 14px; background: transparent; overflow: hidden; opacity: .55; cursor: pointer; }
.generated-gallery-story .gallery-story-thumb[aria-current="true"] { border-color: #fff; opacity: 1; }
.generated-gallery-story .gallery-story-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.generated-gallery-story .gallery-story-dialog button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.generated-gallery-story [hidden] { display: none !important; }
@media(max-width:1200px) {
  .generated-gallery-story { --gallery-tile-height: 184px; }
  .generated-gallery-story .gallery-story-items { max-width: 1120px; gap: 12px 18px; }
  .generated-gallery-story .gallery-story-tile[data-size="landscape"],.generated-gallery-story .gallery-story-tile[data-size="medium"] { width: min(100%,420px); }
  .generated-gallery-story .gallery-story-tile[data-size="portrait"] { width: min(100%,170px); }
  .generated-gallery-story .gallery-story-note[data-size="portrait"] { width: min(100%,240px); }
}
@media(max-width:900px) {
  .generated-gallery-story { --gallery-tile-height: 176px; }
  .generated-gallery-story .gallery-story-items { gap: 16px; }
  .generated-gallery-story .gallery-story-tile[data-size="landscape"],.generated-gallery-story .gallery-story-tile[data-size="medium"] { width: 100%; }
  .generated-gallery-story .gallery-story-tile[data-size="portrait"] { width: calc(50% - 8px); }
  .generated-gallery-story .gallery-story-photo-caption { font-size: .9rem; line-height: 1.32; }
}
@media(max-width:720px) {
  .generated-gallery-story .gallery-story-dialog { padding: 64px 44px 12px; }
  .generated-gallery-story .gallery-story-nav { width: 34px; height: 44px; font-size: 2rem; }
  .generated-gallery-story .gallery-story-nav.is-prev { left: 4px; }
  .generated-gallery-story .gallery-story-nav.is-next { right: 4px; }
  .generated-gallery-story .gallery-story-lightbox-image { height: 55vh; }
  .generated-gallery-story .gallery-story-close { width: 40px; height: 40px; top: 12px; right: 12px; }
}
@media(max-width:640px) {
  .generated-gallery-story { --gallery-tile-height: 172px; }
  .generated-gallery-story .gallery-story-items { gap: 14px; }
  .generated-gallery-story .gallery-story-tile[data-size="portrait"] { width: 100%; }
  .generated-gallery-story .gallery-story-tile { border-radius: 20px; }
  .generated-gallery-story .gallery-story-note,.generated-gallery-story .gallery-story-note[data-size="portrait"] { padding: 10px 20px 8px; }
  .generated-gallery-story .gallery-story-note h2 { font-size: max(17px,calc(clamp(1.32rem,6vw,1.9rem) * var(--gallery-title-scale))); }
  .generated-gallery-story .gallery-story-note[data-size="medium"] h2 { font-size: max(17px,calc(clamp(1.28rem,1.5vw,1.72rem) * var(--gallery-title-scale))); }
  .generated-gallery-story .gallery-story-photo-caption { font-size: .88rem; }
}
@media(prefers-reduced-motion:reduce) { .generated-gallery-story .gallery-story-photo img { transition: none; } }
@media(max-width:360px) {
  .generated-gallery-story .gallery-story-note,.generated-gallery-story .gallery-story-note[data-size="portrait"] { padding: 12px; }
}
