/*
 * banner.css — Gabarits de banners partagés Loft Thai /test/
 * ----------------------------------------------------------
 * .page-banner               Bannière standard — 84svh (= même que spa-menu)
 * .page-banner--slim         Bannière slim   — 42svh (pages utilitaires : privacy, mentions, etc.)
 *
 * Usage dans head.php via $page_css = ['banner.css', 'ma-page.css']
 */

/* ── Variables ── */
:root {
  --banner-tall:  84svh;
  --banner-slim:  42svh;
  --banner-bg:    #0b0906;
  --banner-gold:  #c9a86c;
  --banner-gold-soft: #ead9a2;
}

/* ── Base commune ── */
.page-banner {
  position: relative;
  overflow: hidden;
  min-height: var(--banner-tall);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--banner-bg);
  text-align: center;
  color: #fff;
  margin-top: 92px; /* hauteur header fixe */
}

/* Variante slim */
.page-banner--slim {
  min-height: var(--banner-slim);
}

/* ── Image de fond + overlay ── */
.page-banner__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(0.72) sepia(0.15) saturate(0.9);
  transform: scale(1.02);
  transition: transform 8s ease;
}
.page-banner:hover .page-banner__bg {
  transform: scale(1.0);
}
.page-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.55) 0%,
    rgba(0,0,0,0.38) 50%,
    rgba(0,0,0,0.62) 100%
  );
}
/* Trait doré en bas */
.page-banner::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(201,168,108,0.28);
}

/* ── Contenu ── */
.page-banner__inner {
  position: relative;
  z-index: 2;
  width: min(780px, calc(100% - 48px));
  padding: 60px 0;
}

/* Kicker (ex : "ABOUT LOFT THAI SPA") */
.page-banner__kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 20px;
  color: var(--banner-gold-soft);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.page-banner__kicker::before,
.page-banner__kicker::after {
  content: "";
  flex: 0 0 44px;
  height: 1px;
  background: rgba(201,168,108,0.5);
}

/* Titre principal */
.page-banner__title {
  margin: 0 0 18px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.01em;
  color: #fff;
}
.page-banner__title em {
  font-style: italic;
  color: var(--banner-gold-soft);
}

/* Sous-titre */
.page-banner__sub {
  max-width: 560px;
  margin: 0 auto;
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.65;
  color: rgba(255,255,255,0.72);
}

/* ── Slim : typographie légèrement réduite ── */
.page-banner--slim .page-banner__inner {
  padding: 40px 0;
}
.page-banner--slim .page-banner__title {
  font-size: clamp(28px, 3.5vw, 48px);
}

/* ── Responsive ── */
@media (max-width: 760px) {
  .page-banner {
    min-height: calc(var(--banner-tall) * .78);
    margin-top: 68px;
  }
  .page-banner--slim {
    min-height: calc(var(--banner-slim) * .85);
  }
  .page-banner__title {
    font-size: clamp(30px, 7vw, 44px);
  }
}
