/* Direction éditoriale ton sur ton, réservée à la page d'accueil. */
:root {
  --papier: #fbfaf7;
  --bandeau-logo: #efe5d9;
  --bandeau-navigation: #f3f1ee;
  --brume: #e5d8c9;
  --filet: #d7c7b6;
  --encre: #55524f;
  --bouton-gris: #dedad5;
  --ldj-bg: var(--papier);
  --ldj-soft: var(--papier);
  --ldj-text: #5f5a54;
  --ldj-title: var(--encre);
  --ldj-border: var(--filet);
  --font-heading: Georgia, 'Times New Roman', serif;
}
/* Logo agrandi d'un tiers ; lecteurs audio exclus. */
html body > .container-fluid:first-of-type img[src*="logo-Lune.png"],
html body > footer img[src*="logo-Lune.png"] { width: 365px !important; max-width: 100% !important; max-height: none !important; height: auto !important; }
html body > .container-fluid:first-of-type img[width="274"],
html body .ldj-navigation .navbar-brand img[src*="logo-Lune.png"] { width: 117px !important; max-width: 100% !important; height: auto !important; }
html body .ldj-navigation .navbar-brand img[width="274"] { width: min(365px, 65vw) !important; }
/* Les pieds de page restent dans la largeur réelle du site. */
html body > footer { width: 100% !important; left: auto !important; right: auto !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
html { background: #d4d1cd; }
body {
  max-width: 1240px;
  margin: 36px auto;
  background: var(--papier);
  color: var(--ldj-text);
  font-size: 15px;
  line-height: 1.8;
}
body > .container-fluid:first-of-type { background: var(--brume); padding: 22px 0; }
body .bg-dark { background: var(--brume) !important; }
body > .container-fluid:first-of-type img,
.ldj-navigation .navbar-brand img,
footer img { filter: none; opacity: 1; }
body .text-secondary, body .text-white, footer .text-primary { color: var(--encre) !important; }

/* Menu clair, espacé, sans changer les rubriques ni leurs interactions. */
body > .container-fluid:first-of-type,
body > .container-fluid:first-of-type .bg-dark { background: var(--bandeau-logo) !important; }
body .ldj-navigation.bg-dark {
  background: var(--bandeau-navigation) !important;
  border-top: 1px solid #e4dfd9;
}
body .ldj-navigation .navbar-nav .nav-link,
body .ldj-navigation .navbar-nav button.nav-link:is(:focus, :active, :hover, .show),
body .navbar-dark .navbar-nav .nav-link:is(:hover, :focus-visible, .active, .show),
body .ldj-navigation .nav-link:is([aria-current], [aria-expanded="true"]) {
  color: var(--encre) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .09em;
}
.ldj-navigation .nav-link { padding: 23px 20px !important; }
body .ldj-navigation .nav-link:hover,
body .ldj-navigation .nav-link[aria-expanded="true"] {
  background: transparent;
  color: #302d2a !important;
}
body .ldj-navigation .navbar-nav .nav-link {
  font-weight: 500 !important;
  transform: none;
  transition: color .15s ease;
}
.ldj-nav-panel { background: var(--papier); border: 1px solid var(--filet); }
.ldj-navigation .ldj-nav-option { font-size: 14px; }
.ldj-navigation .ldj-nav-option:is(:hover, :focus-visible) { background: #dedad5; color: var(--encre); }
.navbar-dark .navbar-toggler { border-color: #aaa49e; }
.navbar-dark .navbar-toggler-icon { filter: invert(1); opacity: .65; }
body :is(a, button, input, select, textarea):focus-visible,
body .bg-dark :is(a, button):focus-visible { outline-color: #77716b !important; }

/* Une grande photographie aux couleurs atténuées, puis une légende aérée. */
#contenu > section:first-child { background: var(--papier) !important; }
#contenu > section:first-child picture { display: block; }
#contenu > section:first-child picture img {
  height: 470px !important;
  object-position: center 48%;
  filter: saturate(.5) contrast(.92) brightness(1.04);
}
#contenu > section:first-child br { display: none; }
.hero-overlay-text {
  position: static !important;
  transform: none !important;
  max-width: none !important;
  padding: 46px 24px 42px !important;
  border-bottom: 1px solid var(--filet);
}
body .hero-overlay-text h1 {
  color: var(--encre) !important;
  font-size: clamp(1.8rem, 3.6vw, 2.8rem) !important;
  font-weight: 400 !important;
  line-height: 1.25;
}
body .hero-overlay-text .hero-description {
  color: #716b65 !important;
  font-size: .72rem;
  letter-spacing: .15em;
  margin: 16px auto 0;
}
body :is(h2, h3, h4, h5, h6, .section-title, .premium-card-title, .editorial-card .card-title) {
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1.3;
}
.section-title { font-size: 1.85rem; }
.premium-card-title { font-size: 1.65rem; }
.journey-content > .container { width: 90%; max-width: 1120px; }
.journey-content > .container.my-5 { margin-top: 72px !important; margin-bottom: 72px !important; }
.section-intro { font-size: .95rem; max-width: 740px; }

/* Des cartes légères et des photos assorties à l'ambiance de la référence. */
body :is(.premium-card, .editorial-card) {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--filet);
  border-color: var(--filet) !important;
}
.premium-card:hover, .editorial-card:hover { transform: none; background: transparent; }
.premium-card-media img, #univers-jazz img {
  filter: saturate(.5) contrast(.92) brightness(1.04);
}
.premium-card-body { padding: 26px 12px 30px; }
.premium-card-text { font-size: .9rem; min-height: 0; }
.premium-card { display: flex; flex-direction: column; }
.premium-card-body { display: flex; flex: 1; flex-direction: column; }
.premium-card-body > .home-button-row { margin-top: auto; }
.editorial-card .card-body { height: 100%; padding: 28px 18px; }
#prestations-reelles .premium-card { background: #efede9; }
#prestations-reelles .home-button-row { margin-top: auto; padding-top: 12px; }
.video-frame { border-radius: 0; }
.review-visual, .references-visual { border-radius: 0; }
.review-visual img, .references-visual img { filter: grayscale(.5) saturate(.65); }

/* Boutons gris chauds, centrés, sans flèches ni soulignement. */
.journey-content .journey-primary,
body .btn-primary,
body .btn-primary:is(:hover, :focus, :active) {
  background: var(--bouton-gris) !important;
  border: 1px solid #c8c2bb !important;
  color: #514c47 !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: .82rem;
  font-weight: 600;
  padding: 12px 20px;
  text-decoration: none !important;
  transition: background-color .2s ease;
}
.journey-content .journey-primary:is(:hover, :focus),
body .btn-primary:is(:hover, :focus) {
  background: #ccc6bf !important;
  border-color: #b8b0a7 !important;
  color: #443f3a !important;
  outline: none;
}
body .premium-sub-links a { background: transparent; border-color: var(--filet); color: #65615d; font-size: .65rem; }
body .premium-sub-links a:is(:hover, :focus-visible) { background: var(--bouton-gris); border-color: #b8b0a7; color: #514c47; }
.cta-final-box { text-align: center !important; border: 1px solid var(--filet); }
#cta-final p { max-width: 740px; margin-left: auto; margin-right: auto; }
footer { margin-top: 72px !important; border-top: 1px solid var(--filet); }
footer h5 { font-size: 1.2rem; }
footer .footer-social .btn { padding: 0; }
footer .border-inner::before { border-color: #a49c93; }
@media (max-width: 991.98px) {
  body { margin: 0 auto; }
  .ldj-navigation .nav-link { padding: 14px 10px !important; }
  #contenu > section:first-child picture img { height: 380px !important; }
}
@media (max-width: 576px) {
  body { font-size: 14px; }
  #contenu > section:first-child picture img { height: 330px !important; }
  .hero-overlay-text { padding: 30px 20px !important; }
  .hero-overlay-text .hero-description { line-height: 1.9; }
  .journey-content > .container.my-5 { margin-top: 44px !important; margin-bottom: 44px !important; }
  .section-title { font-size: 1.55rem; }
  .premium-card-body { padding: 22px 8px; }
}
