/* Accueil, mise en page unique (#366) : médias pleine largeur de colonne, rangées pleines, hauteurs égales, rythme 16 / 24 px. Même grammaire que vivre-sur-place. */

html.da27 .da-mag .da-home-in > * { margin-block: 0; }
html.da27 .da-mag .da-home-in > * + * { margin-block-start: 24px; }
html.da27 .da-mag .da-home-in > .da-tete { margin-block-end: 24px; }
html.da27 .da-mag .da-home-in > .da-tete + * { margin-block-start: 0; }
html.da27 .da-mag .da-videos-piece:empty { display: none; }

/* vidéos : cartes bordées, toutes de la largeur de leur colonne, hauteurs égales */
html.da27 .da-mag .da-video { height: 100%; gap: 0; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--r-xl); box-shadow: none; }
html.da27 .da-mag .da-video__corps { flex: 1 1 auto; padding: clamp(16px, 2vw, 24px); }
html.da27 .da-mag .da-video__yt { margin-block-start: auto; }
html.da27 .da-mag .da-video__titre { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
html.da27 .da-mag .da-video__desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
html.da27 .da-mag .da-videos-piece--grand { max-width: none; margin-inline: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
html.da27 .da-mag .da-videos-piece--moyen, html.da27 .da-mag .da-videos-piece--vignette { max-width: none; margin-inline: 0; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
html.da27 .da-mag .da-videos-piece--vignette { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 639.98px) { html.da27 .da-mag .da-video__desc, html.da27 .da-mag .da-video__meta { display: none; } html.da27 .da-mag .da-video--vignette .da-video__corps { padding: 12px; } html.da27 .da-mag .da-video--vignette .da-video__titre { font-size: .9375rem; } }
@media (min-width: 640px) {
  html.da27 .da-mag .da-videos-piece--moyen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  html.da27 .da-mag .da-videos-piece--vignette { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  html.da27 .da-mag .da-videos-piece--vignette:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  html.da27 .da-mag .da-videos-piece--vignette { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  html.da27 .da-mag .da-videos-piece--vignette:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html.da27 .da-mag .da-videos-piece--vignette:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.da27 .da-mag .da-video--grand { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: stretch; }
  html.da27 .da-mag .da-video--grand .da-video__corps { justify-content: center; gap: 8px; }
  html.da27 .da-mag .da-video--grand .da-video__yt { margin-block-start: 8px; }
}

/* photos : toutes en 4/3, même hauteur dans une rangée ; 3 photos = 3 colonnes, 2 photos = 2 colonnes */
html.da27 .da-mag__duo { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; margin-block: 0; }
html.da27 .da-mag__duo > * { min-width: 0; }
html.da27 .da-mag__grande .vz-grande, html.da27 .da-mag__cote .vz-regard { margin: 0; max-width: none; width: 100%; display: flex; flex-direction: column; gap: 8px; }
html.da27 .da-mag__grande .ui-figure, html.da27 .da-mag__cote .vz-regard__cadre { aspect-ratio: 4 / 3; border-radius: var(--r-lg); overflow: hidden; width: 100%; height: auto; margin: 0; }
html.da27 .da-mag__grande .ui-figure img, html.da27 .da-mag__cote .vz-regard__cadre img, html.da27 .da-mag__galerie .vz-vignette__cadre img { width: 100%; height: 100%; object-fit: cover; display: block; }
html.da27 .da-mag__cote { display: contents; }
html.da27 .da-mag__duo--inverse .da-mag__cote { display: block; }
@media (min-width: 640px) {
  html.da27 .da-mag__duo:has(.da-mag__cote > :only-child):not(.da-mag__duo--inverse) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.da27 .da-mag__duo:has(.da-mag__cote > :nth-child(2)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  html.da27 .da-mag__duo--inverse { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html.da27 .da-mag__duo--inverse .da-mag__galerie { grid-column: span 2; }
}

/* carrousels de vignettes : 4/3, mêmes largeurs ; 3 visibles (6 photos = 2 écrans pleins), 2 dans le duo */
html.da27 .da-mag__galerie .vz-vignette__cadre { aspect-ratio: 4 / 3; border-radius: var(--r-lg); overflow: hidden; }
html.da27 .da-mag__galerie .vz-vignette { height: 100%; }
html.da27.js .da-mag .da-mag__galerie .vz-vignettes.vz-vignettes { --fx-v: 1.15; }
@media (min-width: 600px) { html.da27.js .da-mag .da-mag__galerie .vz-vignettes.vz-vignettes { --fx-v: 2; } }
@media (min-width: 900px) {
  html.da27.js .da-mag .da-mag__galerie .vz-vignettes.vz-vignettes { --fx-v: 3; }
  html.da27.js .da-mag .da-mag__duo--inverse .da-mag__galerie .vz-vignettes.vz-vignettes { --fx-v: 2; }
}
@media (min-width: 600px) and (max-width: 899.98px) { html.da27 .da-mag__galerie .vz-vignettes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { html.da27 .da-mag__galerie .vz-vignettes { grid-template-columns: repeat(3, minmax(0, 1fr)); } html.da27 .da-mag__duo--inverse .da-mag__galerie .vz-vignettes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* graphiques : panneau brand-50 sans bordure, 2 colonnes (3 si trois), hauteurs égales, svg borné */
html.da27 .da-mag__graphes { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: stretch; margin-block: 0; }
html.da27 .da-mag__graphe { display: flex; min-width: 0; }
html.da27 .da-mag__graphe > * { flex: 1 1 auto; min-width: 0; }
html.da27 .da-mag__graphe .ui-chart { display: flex; flex-direction: column; height: 100%; margin: 0; padding: clamp(20px, 2.6vw, 32px); background: var(--brand-50); border: 0; border-radius: var(--r-lg); box-shadow: none; }
html.da27 .da-mag__graphe .ui-chart svg { max-height: 340px; }
html.da27 .da-mag__graphe .ui-chart .ui-chart__donnees { margin-block-start: auto; padding-block-start: 12px; }
@media (min-width: 900px) {
  html.da27 .da-mag__graphes, html.da27 .da-mag__graphes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.da27 .da-mag__graphes:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html.da27 .da-mag__graphes:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
}

/* 2 photos côte à côte : 16/9 (la rangée reste basse) */
@media (min-width: 640px) {
  html.da27 .da-mag__duo:has(.da-mag__cote > :only-child):not(.da-mag__duo--inverse) .da-mag__grande .ui-figure, html.da27 .da-mag__duo:has(.da-mag__cote > :only-child):not(.da-mag__duo--inverse) .da-mag__cote .vz-regard__cadre { aspect-ratio: 16 / 9; }
}

/* rythme vertical : une bande = 2 x moitié de --da-section (48 px de chaque côté en bureau) */
html.da27 .home--da > .da-bande:not([data-home-news]) { padding-block: calc(var(--da-section) / 2); }
html.da27 .home--da > .home-map.da-bande { padding-block: 24px calc(var(--da-section) / 2); }
html.da27 .home--da .da-tete { margin-block-end: 24px; }
