/* ===== Festival de Sagonne 2026 — header / édito ===== */

header.masthead.festival-hero-2026 {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: auto;
  padding-top: 76px;
  padding-bottom: 86px;
  text-align: center;
  color: #ffffff;
  background: none;
}

header.masthead.festival-hero-2026 .festival-hero-2026-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 29%;
  z-index: 0;
}

header.masthead.festival-hero-2026 .festival-hero-2026-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 214, 54, 0.03), transparent 24%),
    linear-gradient(to bottom, rgba(18, 16, 56, 0.03), rgba(11, 24, 70, 0.24));
}

header.masthead.festival-hero-2026 .festival-hero-2026-logo {
  position: absolute;
  top: 26px;
  left: 28px;
  z-index: 4;
  display: block;
  width: 126px;
  height: auto;
  opacity: 0.90;
  pointer-events: none;
}

header.masthead.festival-hero-2026 .festival-hero-2026-violin {
  position: absolute;
  top: clamp(235px, 18.8vw, 300px);
  right: clamp(-10px, 2vw, 42px);
  width: min(440px, 25.5vw);
  height: auto;
  opacity: 0.50;
  z-index: 2;
  pointer-events: none;
  transform: rotate(11deg);
  transform-origin: center center;
  filter: drop-shadow(0 18px 34px rgba(7, 20, 60, 0.24));
}

header.masthead.festival-hero-2026 .container {
  position: relative;
  z-index: 3;
  max-width: 1180px;
}

header.masthead.festival-hero-2026 .festival-hero-2026-inner {
  position: relative;
  z-index: 3;
  display: block;
  max-width: 1060px;
  margin: 0 auto;
}

header.masthead.festival-hero-2026 .festival-hero-2026-title-image {
  display: block;
  width: min(610px, 72%);
  height: auto;
  margin: 0 auto;
}

header.masthead.festival-hero-2026 .festival-hero-2026-date {
  position: relative;
  z-index: 3;
  display: block;
  width: fit-content;
  max-width: calc(100% - 40px);
  margin: 0 auto 20px;
}

header.masthead.festival-hero-2026 .festival-hero-2026-editorial-wrap {
  position: relative;
  width: min(840px, 78%);
  margin: clamp(62px, 7.2vw, 102px) auto 0;
  padding: clamp(42px, 4.2vw, 52px) clamp(52px, 5.4vw, 74px) clamp(38px, 3.6vw, 44px);
  color: #172b47;
  text-align: left;
  isolation: isolate;
  z-index: 3;
}

header.masthead.festival-hero-2026 .festival-hero-2026-editorial-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("../img/edito-papier-musique.png") center center / 100% 100% no-repeat;
  filter: drop-shadow(0 22px 48px rgba(8, 18, 54, 0.22));
}

header.masthead.festival-hero-2026 .festival-hero-2026-edito,
header.masthead.festival-hero-2026 .festival-hero-2026-note,
header.masthead.festival-hero-2026 .festival-hero-2026-signature {
  position: relative;
  z-index: 1;
}

header.masthead.festival-hero-2026 .edito-date {
  font-family: "Quicksand", sans-serif;
  font-size: clamp(1.55rem, 2.25vw, 2.04rem);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: 0.038em;
  color: rgba(255, 248, 238, 0.95);
  text-align: center;
  text-transform: none;
  text-shadow: 0 2px 10px rgba(10, 18, 46, 0.18);
}

header.masthead.festival-hero-2026 .edito-title,
header.masthead.festival-hero-2026 .edito-text,
header.masthead.festival-hero-2026 .edito-signature {
  font-family: "Newsreader", Georgia, serif;
  font-weight: 300;
}

header.masthead.festival-hero-2026 .festival-hero-2026-edito {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 18px;
  font-size: 1.02rem;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #213a5b;
}

header.masthead.festival-hero-2026 .festival-hero-2026-edito::before,
header.masthead.festival-hero-2026 .festival-hero-2026-edito::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  background: rgba(33, 58, 91, 0.26);
}

header.masthead.festival-hero-2026 .festival-hero-2026-note {
  margin: 0 auto;
  padding: 0;
  text-align: left;
}

header.masthead.festival-hero-2026 .festival-hero-2026-note p {
  margin: 0 0 0.68rem;
  font-family: "Newsreader", Georgia, serif;
  font-size: 0.96rem;
  font-weight: 300;
  line-height: 1.48;
  color: #203754;
}

header.masthead.festival-hero-2026 .festival-hero-2026-note em {
  font-style: italic;
}

header.masthead.festival-hero-2026 .festival-hero-2026-note sup {
  font-size: 0.62em;
  line-height: 0;
  vertical-align: 0.55em;
}

header.masthead.festival-hero-2026 .festival-hero-2026-note p:last-child {
  margin-bottom: 0;
}

header.masthead.festival-hero-2026 .festival-hero-2026-signature {
  margin: 18px 0 0;
  font-size: 0.96rem;
  line-height: 1.32;
  color: #29415d;
  text-align: right;
}

@media (max-width: 1180px) {
  header.masthead.festival-hero-2026 .festival-hero-2026-title-image {
    width: min(575px, 74%);
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-editorial-wrap {
    width: min(820px, 82%);
    padding: clamp(40px, 4vw, 50px) clamp(50px, 5vw, 70px) clamp(36px, 3.4vw, 44px);
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-violin {
    top: clamp(230px, 20.5vw, 292px);
    right: clamp(-18px, 1vw, 26px);
    width: min(380px, 25vw);
    opacity: 0.46;
  }
}

@media (max-width: 991px) {
  header.masthead.festival-hero-2026 {
    padding-top: 72px;
    padding-bottom: 56px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-bg {
    object-position: center 27%;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-violin {
    display: none;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-inner {
    max-width: 760px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-title-image {
    width: min(500px, 82%);
    margin-bottom: 0;
  }

  header.masthead.festival-hero-2026 .edito-date {
    font-size: 1.30rem;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-editorial-wrap {
    width: min(720px, 92%);
    margin-top: 38px;
    padding: 38px 38px 34px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-note p {
    font-size: 0.93rem;
    line-height: 1.44;
  }
}

@media (max-width: 767px) {
  header.masthead.festival-hero-2026 .festival-hero-2026-logo {
    top: 14px;
    left: 12px;
    width: 82px;
    opacity: 0.88;
  }

header.masthead.festival-hero-2026 {
    padding-top: 78px;
    padding-bottom: 40px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-bg {
    object-position: center 22%;
  }
header.masthead.festival-hero-2026 .festival-hero-2026-overlay {
    background:
      radial-gradient(circle at 50% 30%, rgba(255, 214, 54, 0.03), transparent 25%),
      linear-gradient(to bottom, rgba(16, 20, 54, 0.03), rgba(16, 20, 54, 0.28));
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-title-image {
    width: min(340px, 86%);
    margin-bottom: 0;
  }

  header.masthead.festival-hero-2026 .edito-date {
    font-size: 1.08rem;
    letter-spacing: 0.034em;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-editorial-wrap {
    width: min(95%, 560px);
    margin-top: 30px;
    padding: 30px 24px 28px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-edito {
    margin-bottom: 16px;
    font-size: 0.92rem;
    letter-spacing: 0.15em;
    gap: 10px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-edito::before,
  header.masthead.festival-hero-2026 .festival-hero-2026-edito::after {
    width: 34px;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-note p {
    font-size: 0.88rem;
    line-height: 1.42;
    margin-bottom: 0.64rem;
  }

  header.masthead.festival-hero-2026 .festival-hero-2026-signature {
    margin-top: 15px;
    font-size: 0.84rem;
  }
}
