/* SN GROUP — FICHE COMPLÈTE d'un bien (envoi 41, 20.10.2026 ; includes/fiche-complete.php). Compléments SEULEMENT : mêmes couleurs,
   polices et cadres que la fiche (assets/css/sn-plus.css : .sng-sur, .sng-desc, .sng-carac, .sng-galerie), rien d'autre ne change.
   Aucun mot coupé (pas de césure, pas de coupure au milieu d'un mot) ; téléphone : une colonne, sans défilement horizontal. */

/* Galerie : toutes les photos ; 5 vignettes à l'écran (3 sur téléphone), « +N photos » ouvre l'agrandissement sur toutes */
.sng-galerie a { position: relative; display: block; overflow: hidden; }
.sng-galerie .sng-gal-cachee { display: none; }
.sng-gal-plus { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 8px;
  background: rgba(25, 19, 11, .62); color: #fff; font-size: 18px; letter-spacing: .08em; white-space: nowrap; pointer-events: none; }
.sng-gal-plus-mobile { display: none; }
@media (min-width: 821px) {
  .sng-galerie-1 { grid-template-columns: 1fr; }
  .sng-galerie-1 a:first-child { grid-row: auto; }
  .sng-galerie-1 img { aspect-ratio: 16 / 10; max-height: 560px; }
  .sng-galerie-2 { grid-template-columns: 1fr 1fr; }
  .sng-galerie-2 a:first-child { grid-row: auto; }
  .sng-galerie-3 { grid-template-columns: 2fr 1fr; }
  .sng-galerie-4 { grid-template-columns: 2fr 1fr; }
  .sng-galerie-4 a:first-child { grid-row: span 3; }
}

/* Description + « Caractéristiques » : les deux colonnes de la fiche (photos | encadré du prix) */
.sng-fc { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; margin: 48px 0 0; align-items: start; }
.sng-fc-sans-texte { grid-template-columns: minmax(0, 1fr); }
.sng-fc .sng-sur, .sng-fc-plus .sng-sur { margin: 0 0 16px; }
.sng-fc-texte .sng-desc { max-width: 46rem; }
.sng-desc ul, .sng-desc ol { margin: 0 0 1em 1.25em; padding: 0; }
.sng-desc li { margin: .2em 0; }
.sng-desc h3 { font-family: var(--font-serif, serif); font-weight: 400; font-size: 22px; line-height: 1.25; color: #19130B; margin: 1.2em 0 .4em; }
.sng-desc a { color: #6C5836; text-decoration: underline; }
.sng-fc-carac dl { margin: 0; }
.sng-fc-carac dt, .sng-fc-carac dd, .sng-fc-dist dt, .sng-fc-dist dd, .sng-fc-comm li, .sng-desc { hyphens: none; word-break: normal; overflow-wrap: normal; }
.sng-fc-carac dd { line-height: 1.45; }

/* Commodités (groupes) et distances */
.sng-fc-plus { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; margin: 40px 0 0; align-items: start; }
.sng-fc-plus > .sng-fc-groupe:only-child { grid-column: 1 / -1; }
.sng-fc-comm { columns: 2 15rem; column-gap: 40px; }
.sng-fc-comm-g { break-inside: avoid; margin: 0 0 20px; }
.sng-fc-comm-g h3 { font-size: 14px; letter-spacing: .14em; text-transform: uppercase; font-weight: 400; color: #6B6560; margin: 0 0 6px; }
.sng-fc-comm-g ul { list-style: none; margin: 0; padding: 0; font-size: 17px; line-height: 1.6; color: #3d352d; }
.sng-fc-comm-g li::before { content: "·"; color: #8a6f45; margin-right: .5em; }
.sng-fc-dist { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin: 0; font-size: 14px; background: #fff; padding: 26px; border-top: 2px solid #C4A87C; }
.sng-fc-dist dt { color: #6B6560; }
.sng-fc-dist dd { margin: 0; text-align: right; color: #19130B; }

@media (max-width: 820px) {
  .sng-fc, .sng-fc-plus { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 32px; }
  .sng-galerie .sng-gal-ordi { display: none; }
  .sng-gal-plus-ordi { display: none; }
  .sng-gal-plus-mobile { display: flex; }
  .sng-galerie-1, .sng-galerie-2 { grid-template-columns: 1fr; }
  .sng-galerie-2 a:first-child { grid-column: auto; }
  .sng-fc-comm { columns: 1; }
}

/* Relecture de l'envoi 41 : bien sans photo — le visuel neutre du site, sans agrandissement au clic */
.sng-gal-neutre { display: block; }
