/* One header layout for the home page and every interior page. */
@media screen {
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
    z-index: 20;
    width: 88%;
    max-width: 1360px;
    height: 96px;
    min-height: 0;
    gap: 28px;
    padding: 0;
    margin-inline: auto;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .brand {
    flex: 0 0 205px;
    width: 205px;
    padding: 0;
    background: transparent;
    box-sizing: border-box;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .brand img {
    display: block;
    width: 100%;
    height: auto;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap > nav {
    margin-left: auto;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
  }
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .header-price {
    justify-content: center;
    min-height: 48px;
    padding: 13px 20px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
  }
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .header-price
    > .icon {
    display: none;
  }
}
@media screen and (min-width: 951px) and (max-width: 1150px) {
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap {
    gap: 18px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .brand {
    flex-basis: 170px;
    width: 170px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap > nav {
    gap: 6px;
    font-size: 12px;
  }
}
@media screen and (max-width: 950px) {
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap {
    height: 86px;
    gap: 18px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .brand {
    flex-basis: 170px;
    width: 170px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap > nav {
    top: calc(100% - 8px);
    font-size: 16px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .mobile-menu,
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .mobile-menu[open] {
    flex: none;
    width: auto;
    order: 3;
  }
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .mobile-menu
    nav {
    position: absolute;
    top: calc(100% - 8px);
    left: 0;
    right: 0;
    margin: 0;
    align-items: stretch;
    font-size: 16px;
  }
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .mobile-menu
    summary {
    justify-content: center;
    width: 44px;
    min-height: 44px;
    height: 44px;
    padding: 0;
    font-size: 0;
  }
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .menu-toggle {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }
}
@media screen and (max-width: 700px) {
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap {
    width: calc(100% - 32px);
    height: 72px;
    gap: 10px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .brand {
    flex-basis: 124px;
    width: 124px;
  }
  :is(body, .ouvrali[data-layout])
    :is(.header, .site-header).wrap
    .header-price {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 12px;
  }
}
@media screen and (max-width: 360px) {
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap {
    gap: 8px;
  }
  :is(body, .ouvrali[data-layout]) :is(.header, .site-header).wrap .brand {
    flex-basis: 100px;
    width: 100px;
  }
}

.mobile-opening-breadcrumbs { display: none; }

/* Sur mobile, les bannières commencent au bord supérieur, comme l’accueil. */
@media screen and (max-width: 700px) {
  body:has(#contenu > .scenic-hero:first-child),
  html[data-site] body[data-page="article"] {
    --mobile-cover-height: 65vw;
  }
  body:has(#contenu > .scenic-hero:first-child) .site-header.wrap,
  html[data-site] body[data-page="article"] .site-header.wrap {
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    margin: 0;
  }
  body:has(#contenu > .scenic-hero:first-child) .breadcrumbs {
    position: absolute;
    top: var(--mobile-cover-height);
    left: 0;
    right: 0;
    margin-inline: auto;
    padding-block: 12px 0;
    font-size: 12px;
    line-height: 1.6;
    z-index: 3;
  }
  body:has(#contenu > .scenic-hero:first-child) .scenic-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-top: 0;
  }
  body:has(#contenu > .scenic-hero:first-child) .hero-backdrop {
    height: var(--mobile-cover-height);
    min-height: 0;
    width: 100%;
    flex: none;
    position: relative;
    inset: auto;
  }
  body:has(#contenu > .scenic-hero:first-child) .hero-backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    height: auto;
    background: linear-gradient(180deg, #faf7efed, #faf7ef00 75px, #faf7ef00 80%, var(--cream));
    pointer-events: none;
  }
  body:has(#contenu > .scenic-hero:first-child) .hero-scene-copy {
    width: calc(100% - 40px);
    margin-inline: auto;
    padding: 54px 0 30px;
  }
  html[data-site] body[data-page="article"] .article-reading .shell {
    padding-top: 0;
    padding-inline: 18px;
  }
  html[data-site] body[data-page="article"] .article-reading :is(.opening, .article-opening) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    margin-inline: -18px;
    border-radius: 0;
    min-height: 0;
    overflow: visible;
  }
  html[data-site] body[data-page="article"] .article-reading :is(.cover, .article-cover) {
    position: relative;
    inset: auto;
    order: -1;
    z-index: 0;
    margin: 0;
    height: var(--mobile-cover-height);
    width: 100%;
  }
  html[data-site] body[data-page="article"] .article-reading :is(.cover, .article-cover)::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #faf7efed, #faf7ef00 75px, #faf7ef00 80%, #faf7ef);
    pointer-events: none;
  }
  html[data-site] body[data-page="article"] .article-reading .opening-copy {
    width: 100%;
    padding: 0 18px 25px;
  }
  html[data-site] body[data-page="article"] > .breadcrumbs {
    display: none;
  }
  html[data-site] body[data-page="article"] .mobile-opening-breadcrumbs {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 0 20px;
    font-size: 12px;
    line-height: 1.6;
  }
  html[data-site] body[data-page="article"] .article-reading :is(.opening, .article-opening)::before {
    display: none;
  }
}

/* Sans JavaScript, garder la navigation étendue dans le flux de lecture. */
@media screen and (max-width: 700px) {
  html:not([data-enhanced]) body:has(#contenu > .scenic-hero:first-child) .site-header.wrap,
  html:not([data-enhanced]) body[data-page="article"] .site-header.wrap {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin-inline: auto;
    height: auto;
    flex-wrap: wrap;
    padding-block: 16px;
  }
  html:not([data-enhanced]) body:has(#contenu > .scenic-hero:first-child) .breadcrumbs,
  html:not([data-enhanced]) body[data-page="article"] > .breadcrumbs {
    position: relative;
    top: auto;
    padding-block: 8px 14px;
  }
  html:not([data-enhanced]) body:has(#contenu > .scenic-hero:first-child) .hero-scene-copy {
    padding-top: 25px;
  }
  html:not([data-enhanced]) body[data-page="article"] > .breadcrumbs {
    display: block;
  }
  html:not([data-enhanced]) body[data-page="article"] .mobile-opening-breadcrumbs {
    display: none;
  }
  html:not([data-enhanced]) body[data-page="article"] .article-reading .opening-copy {
    padding-top: 26px;
  }
}
