/* Le même bandeau photographique sur l’accueil et la commande. */
footer.footer.footer-photo {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 42px 0;
  border: 0;
  background: #00181e;
  color: #fff;
  font-family: Raleway, Arial, sans-serif;
}
footer.footer-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, #00181ee6, #00181e80 50%, #00181eb3);
}
footer.footer.footer-photo .footer-photo-background {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 45%;
}
footer.footer.footer-photo .footer-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 32px;
  width: 90.6%;
  max-width: 1305px;
  margin: 0 auto;
}
footer.footer.footer-photo .brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  font-family: 'Titan One', Titan, Georgia, serif;
  font-size: clamp(30px, 3.15vw, 45px);
  font-weight: 400;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
  text-shadow: 0 2px 14px #00181e;
}
footer.footer.footer-photo .brand img {
  width: clamp(52px, 5.3vw, 76px);
  height: auto;
  flex-shrink: 0;
  transform: none;
  filter: drop-shadow(0 2px 8px #00181e);
}
footer.footer.footer-photo nav {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  align-self: flex-end;
  margin-bottom: -12px;
}
footer.footer.footer-photo nav > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
}
footer.footer.footer-photo nav a,
footer.footer.footer-photo nav span,
footer.footer.footer-photo nav summary {
  color: #f4faf7;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  text-shadow: 0 1px 8px #00181e;
}
footer.footer.footer-photo nav a:hover { color: #9ed8ba; }
footer.footer.footer-photo .footer-tagline {
  flex: 1;
  align-self: flex-end;
  margin: 0 0 -12px;
  color: #f4faf7;
  font-size: 16px;
  text-shadow: 0 1px 8px #00181e;
}
footer.footer.footer-photo .footer-photo-wave {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  overflow: hidden;
  pointer-events: none;
  margin: 0;
}
footer.footer-photo .footer-photo-wave svg {
  position: absolute;
  top: calc(50% - 37px);
  left: 0;
  width: 100%;
  height: 74px;
  overflow: visible;
}
:is(footer.footer-photo, .site-masthead) .footer-photo-wave path { fill: none; stroke-linecap: round; }
:is(footer.footer-photo, .site-masthead) .footer-wave-halo { stroke: #94d2bd; stroke-width: 11; filter: blur(5px); opacity: .45; }
:is(footer.footer-photo, .site-masthead) .footer-wave-line { stroke: #82d6b2; stroke-width: 2.5; }
:is(footer.footer-photo, .site-masthead) .footer-wave-core { stroke: #e4fff0; stroke-width: .9; }
:is(footer.footer-photo, .site-masthead) .footer-wave-point { r: 4.5; fill: #fff; stroke: #9fe9c7; stroke-width: 1.5; filter: drop-shadow(0 0 5px #b4ffda) drop-shadow(0 0 10px #9eeec2); }
/* Une ligne bord à bord derrière le logo et la navigation, comme en pied de page. */
.site-masthead { position: relative; z-index: 3; isolation: isolate; width: 100%; }
.site-masthead .header-photo-wave {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.site-masthead .header-photo-wave svg {
  position: absolute;
  top: calc(50% - 37px);
  left: 0;
  width: 100%;
  height: 74px;
  overflow: visible;
}
.site-masthead .brand { text-shadow: 0 2px 14px #00181e; }
.site-masthead .brand-glasses { filter: drop-shadow(0 2px 8px #00181e); }
@media (max-width: 900px) {
  footer.footer.footer-photo .footer-inner { flex-wrap: wrap; gap: 26px; }
  footer.footer.footer-photo nav { flex-basis: 100%; margin-bottom: 0; }
  footer.footer.footer-photo .footer-tagline { align-self: center; margin-bottom: 0; }
}
@media (max-width: 620px) {
  footer.footer.footer-photo { padding: 32px 0 48px; }
  footer.footer.footer-photo .footer-inner { width: calc(100% - 40px); gap: 23px; }
  footer.footer.footer-photo .brand { font-size: 34px; gap: 10px; }
  footer.footer.footer-photo .brand img { width: 55px; }
  footer.footer.footer-photo nav { gap: 18px; }
  footer.footer.footer-photo nav > div { gap: 14px 21px; }
  footer.footer.footer-photo nav a,
  footer.footer.footer-photo nav span,
  footer.footer.footer-photo nav summary { font-size: 13px; }
  footer.footer.footer-photo .footer-tagline { flex-basis: 100%; }
}
