/* Inscriptions Centris — compléments au design existant (site.css).
   Seulement ce qui n'existait pas encore : vraies photos dans la galerie et visionneuse. */

/* Accueil : les cartes remplacent les emplacements réservés dans .listings-grid */
.listings-grid .prop-card { min-width: 0; }

/* Fiche : photos réelles dans la galerie */
.gallery .g-btn { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none;
  cursor: zoom-in; position: relative; }
.gallery .g-btn img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .2s ease; }
.gallery .g-btn:hover img { opacity: .92; }
.gallery .g-btn:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 2px; }
.gallery .g-more { position: absolute; right: 14px; bottom: 14px; background: var(--ivory); color: var(--brown);
  font-family: var(--font-sans); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; padding: 9px 14px; }
.gallery.g-few { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.gallery.g-few .g.main { grid-row: auto; grid-column: auto; }
/* Fiche : titres et textes (mêmes valeurs que le gabarit d'origine) */
.centris-h3 { font-family: var(--font-display); font-style: normal; font-weight: 500; font-size: 28px; margin: 30px 0 14px; }
[data-slot="content"] > .centris-h3:first-child { margin-top: 8px; }
[data-slot="content"] .feature-list { padding: 0; margin: 14px 0 0; }
.detail p.desc.desc-sub { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--brown); margin: 22px 0 8px; line-height: 1.6; }
.detail p.desc.desc-note { font-size: 13px; line-height: 1.8; }
.centris-map-link { margin-top: 12px; }
.centris-box-text { font-size: 13px; color: var(--brown-soft); margin: 10px 0 14px; line-height: 1.7; }

/* Visionneuse plein écran */
.centris-viewer { position: fixed; inset: 0; z-index: 1000; background: rgba(58, 36, 24, .96);
  display: grid; grid-template-columns: 64px 1fr 64px; grid-template-rows: minmax(0, 1fr); align-items: center; padding: 56px 12px 24px; }
.centris-viewer[hidden] { display: none; }
.centris-viewer figure { margin: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; }
.centris-viewer figure img { max-width: 100%; max-height: calc(100vh - 120px); max-height: calc(100dvh - 120px); object-fit: contain; }
.centris-viewer figcaption { color: var(--ivory); font-family: var(--font-sans); font-size: 11px; letter-spacing: .22em; margin-top: 14px; }
.centris-viewer button { background: none; border: 0; color: var(--ivory); font-family: var(--font-sans); cursor: pointer; }
.centris-viewer .cv-nav { font-size: 28px; height: 64px; }
.centris-viewer .cv-close { position: absolute; top: 16px; right: 20px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; padding: 8px; }
.centris-viewer button:focus-visible { outline: 1px solid var(--ivory); }
@media (max-width: 600px) {
  .centris-viewer { grid-template-columns: 44px 1fr 44px; padding: 56px 0 24px; }
}

/* L'attribut hidden doit l'emporter sur les display: flex/grid du design */
[data-centris-fallback][hidden], [data-centris-similar][hidden], .gallery[hidden], .gallery .g[hidden] { display: none !important; }

/* Tablette/mobile : la 2e rangée « 1fr » du gabarit laissait un grand vide sous la photo principale */
@media (max-width: 920px) { .gallery[data-slot] { grid-template-rows: none; } }
