/* Min site height */
body,
.dialog-off-canvas-main-canvas,
.layout-container {
  min-height: 100dvh;
}
.layout-container {
  display: flex;
  flex-direction: column;
}
main {
  flex-grow: 1;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1;
  padding-inline: var(--p--layout--padding-sides);
  background-color: var(--p--theme--color--background);
}
.site-header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
  max-width: var(--p--layout--width--content);
  min-height: var(--p--layout--nav-height);
}

/* Footer */
.site-footer {
  padding: var(--p--layout--padding-section) var(--p--layout--padding-sides);
}
.site-footer > * {
  max-width: var(--p--layout--width--content);
  margin-inline: auto;
}
.site-footer .site-logo {
  display: block;
  width: fit-content;
  filter: invert(1) brightness(150%);
  margin-block-end: var(--p--spacing--1-2);
}
.site-footer .site-logo:hover {
  opacity: 0.8;
}

.site-footer .coordonnees {
  margin-block-end: var(--p--layout--spacing-section);
}
.site-footer .coordonnees p {
  margin-block-end: 0;
}
.site-footer .coordonnees a,
.site-footer .copyright a {
  text-decoration: none;
}
.site-footer .coordonnees a:hover,
.site-footer .copyright a:hover {
  text-decoration: underline;
}
.site-footer .copyright {
  margin-block-start: var(--p--layout--padding-section);
  padding-block-start: var(--p--layout--padding-section);
  border-block-start: 1px solid var(--p--theme--color--separator);
  font-size: var(--p--font-size--n1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site-footer .copyright p {
  margin-block-end: var(--p--spacing--1-2);
}
.footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-menu li:not(:last-child) {
  margin-block-end: var(--p--spacing--1-2);
}
@media (min-width: 36rem) {
  .site-footer > * {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 var(--p--layout--spacing-section);
  }
  .site-footer .coordonnees {
    margin-block-end: 0;
  }
  .site-footer .copyright {
    grid-column: span 2;
  }
}
@media (min-width: 48rem) {
  .site-footer > * {
    display: flex;
    justify-content: space-between;
  }
  .site-footer .copyright {
    grid-column: 3;
    padding-block-start: 0;
    margin-block-start: 0;
    border-block-start: 0;
    text-align: right;
    display: block;
  }
}

/* Contenu */
.page--content {
  overflow: hidden;
}
.page--content:first-child,
.page--header,
.view--header {
  padding-block-start: var(--p--layout--spacing-section);
}
.page--header,
/* .view--header, */
.page--main-content,
.main-list {
  margin-inline: var(--p--layout--padding-sides);
}
.page--header {
  margin-block-end: var(--p--layout--spacing-section);
}
.view--header > *,
.page--header > * {
  margin: var(--p--spacing--1-2) auto;
  max-width: var(--p--layout--width--text);
}
.page--featured-image {
  margin: var(--p--layout--spacing-section) auto;
  max-width: var(--p--layout--width--wide);
}
.teasers-list .view-content {
  margin: var(--p--layout--spacing-section-large) auto;
  max-width: var(--p--layout--width--content);

  --max-cols: 3;
  --grid-item--min-width: 20rem;
  --gap: var(--p--layout--spacing-list);

  --gap-count: calc(var(--max-cols) - 1);
  --total-gap-width: calc(var(--gap-count) * var(--gap));
  --grid-item--max-width: calc(
    (100% - var(--total-gap-width)) / var(--max-cols)
  );

  container-type: inline-size;
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(
      max(min(var(--grid-item--min-width), 100%), var(--grid-item--max-width)),
      1fr
    )
  );
  grid-gap: var(--grid-layout-gap);
  gap: var(--gap);
}
.teasers-list-large .view-content {
  --max-cols: 2;
}
.js-lpb-component-list > *,
.page--main-content > * {
  margin: var(--p--layout--spacing-section) auto;
  max-width: var(--p--layout--width--text);
  container-type: inline-size;
}
[data-width="wide"] {
  max-width: var(--p--layout--width--wide);
}
[data-width="widest"] {
  max-width: var(--p--layout--width--content);
}
[data-width="full"] {
  max-width: none;
  margin-inline: calc(-1 * var(--p--layout--padding-sides));
}
section {
  scroll-margin-block-start: calc(
    var(--p--layout--padding-section) + var(--p--layout--nav-height)
  );
}
section[data-theme] {
  padding: var(--p--layout--padding-section) var(--p--layout--padding-sides);
  margin-inline: calc(-1 * var(--p--layout--padding-sides));
}
@media (min-width: 32rem) {
  section[data-theme] {
    padding: var(--p--layout--padding-section);
    margin-inline: auto;
  }
}
section[data-width="full"] {
  max-width: none;
  margin-inline: calc(-1 * var(--p--layout--padding-sides));
  padding: var(--p--layout--spacing-section) var(--p--layout--padding-sides);
}
section[data-width="full"] > * {
  max-width: var(--p--layout--width--text);
  margin-inline: auto;
}
.page--main-content > :first-child,
section > :first-child {
  margin-block-start: 0;
}
.page--main-content > [data-width="full"]:last-child,
section > :last-child {
  margin-block-end: 0;
}

section[data-spacing="large"] {
  margin-block: var(--p--layout--spacing-section-large);
}
section[data-spacing="xlarge"] {
  margin-block: var(--p--layout--spacing-section-xlarge);
}

.block--colonnes .colonnes {
  display: grid;
  gap: var(--p--layout--spacing-list);
}
.block--colonnes .colonnes > div {
  container-type: inline-size;
  /* overflow: hidden; */
}
@media (min-width: 48rem) {
  .block--colonnes .colonnes {
    grid-template-columns: 1fr 1fr;
  }
  .block--colonnes .colonnes > div {
    overflow: hidden;
  }
}
@media (min-width: 64rem) {
  .block--colonnes.layout--33-67 .colonnes {
    grid-template-columns: 1fr 2fr;
  }
  .block--colonnes.layout--67-33 .colonnes {
    grid-template-columns: 2fr 1fr;
  }
}

.block--image img {
  width: 100%;
}

.block--cta {
  margin-inline: calc(-1 * var(--p--layout--padding-sides));
}
.cta--content {
  padding: var(--p--layout--padding-section);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
}
@media (min-width: 48rem) {
  .block--cta {
    margin-inline: auto;
  }
}
@container (min-width: 32rem) {
  .block--cta.has-image {
    display: grid;
    grid-template-columns: 1fr 12rem;
  }
  .cta--image {
    grid-area: 1 / 2;
    height: 100%;
  }
  .cta--image img {
    height: 100%;
  }
  .cta--content {
    grid-area: 1 / 1;
  }
}
.block--cta.stretch {
  height: 100%;
}

/* Voir aussi */
aside.voir-aussi {
  container-type: inline-size;
  padding-inline: var(--p--layout--padding-sides);
  overflow: hidden;
}
aside.voir-aussi > * {
  padding-block: var(--p--layout--spacing-section);
  max-width: var(--p--layout--width--wide);
  margin-inline: auto;
}
aside.voir-aussi .teasers-list {
  margin: 0;
}
.voir-aussi .view--header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto var(--p--spacing--3-4);
  padding: 0;
}
.voir-aussi .view--header > * {
  margin: 0;
  max-width: unset;
}
aside.voir-aussi .view-content {
  margin: 0 auto;
}
