/* ==========================================================
   Widget Elementor : Hero Screen — Maison Blondin
   ========================================================== */

/* ── Wrapper ── */
.mb-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center; /* valign par défaut — surchargé par Elementor */
  overflow: visible; /* le clip est géré par .mb-hero__bg pour ne pas couper le contenu */
}

/* ── Fond image + overlay ── */
.mb-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden; /* clip l'image de fond sans affecter le contenu textuel */
}

.mb-hero__img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.mb-hero__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(27, 14, 8, 0.45); /* surchargé par Elementor */
}

/* ── Zone de contenu ── */
.mb-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 120px 48px 80px;
}

.mb-hero__content {
  max-width: 760px; /* surchargé par Elementor */
}

/* ── Alignements horizontaux ── */
.mb-hero--align-left .mb-hero__content   { margin-right: auto; text-align: left; }
.mb-hero--align-center .mb-hero__content { margin: 0 auto;    text-align: center; }
.mb-hero--align-right .mb-hero__content  { margin-left: auto;  text-align: right; }

.mb-hero--align-left   .mb-hero__eyebrow { justify-content: flex-start; }
.mb-hero--align-center .mb-hero__eyebrow { justify-content: center; }
.mb-hero--align-right  .mb-hero__eyebrow { justify-content: flex-end; }

.mb-hero--align-left   .mb-hero__buttons { justify-content: flex-start; }
.mb-hero--align-center .mb-hero__buttons { justify-content: center; }
.mb-hero--align-right  .mb-hero__buttons { justify-content: flex-end; }

/* ── Eyebrow ── */
.mb-hero__eyebrow {
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 1.25rem;
}

/* ── Titre ── */
.mb-hero__title {
  font-family: var(--mb-font-heading, 'Playfair Display', Georgia, serif);
  color: var(--mb-white, #ffffff);
  font-size: clamp(40px, 6vw, 80px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.01em;
  margin: 0 0 1.25rem;
}

/* ── Texte ── */
.mb-hero__text {
  font-family: var(--mb-font-body, 'Open Sans', system-ui, sans-serif);
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
}

/* ── Boutons ── */
.mb-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

/* Variante claire : boutons blancs sur fond sombre */
.mb-hero__buttons--light .mb-btn-fill {
  background: var(--mb-white, #ffffff);
  color: var(--mb-brown, #572400);
  border: none;
}
.mb-hero__buttons--light .mb-btn-fill:hover {
  background: var(--mb-pink, #ff66c4);
  color: var(--mb-white, #ffffff);
  box-shadow: 0 8px 24px rgba(255, 102, 196, .28);
}

.mb-hero__buttons--light .mb-btn-out {
  color: var(--mb-white, #ffffff);
  border-color: var(--mb-white, #ffffff);
}
.mb-hero__buttons--light .mb-btn-out:hover {
  background: var(--mb-white, #ffffff);
  color: var(--mb-brown, #572400);
  border-color: var(--mb-white, #ffffff);
}

/* ── Tablet ── */
@media (max-width: 1024px) {
  .mb-hero {
    width: 100%;
    min-height: unset !important;
    aspect-ratio: 4 / 3; /* retiré par JS si le contenu dépasse */
  }

  /* Libère les conteneurs Elementor parents pour qu'ils suivent la hauteur du héro */
  .elementor-section:has(.mb-hero),
  .elementor-column:has(.mb-hero),
  .elementor-widget-wrap:has(.mb-hero),
  .elementor-widget-container:has(.mb-hero),
  .e-con:has(.mb-hero),
  .e-con-inner:has(.mb-hero) {
    height: auto !important;
    min-height: unset !important;
    overflow: visible !important;
  }
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .mb-hero {
    width: 100%;
    aspect-ratio: 4 / 3; /* retiré par JS si le contenu dépasse */
  }

  .mb-hero__inner {
    padding: 60px 20px 40px;
  }

  .mb-hero__title {
    font-size: clamp(32px, 8vw, 56px);
  }

  .mb-hero--align-left .mb-hero__buttons,
  .mb-hero--align-center .mb-hero__buttons,
  .mb-hero--align-right .mb-hero__buttons {
    justify-content: flex-start;
  }
}
