/*
 * Bellême Boutique - Pages Agenda + Actualités.
 * Cible uniquement :
 * - Actualités : .elementor-1827
 * - Agenda : .elementor-2935
 * Ne touche pas à la home, annuaire, footer, header ou fiches.
 */

/* =========================================================
   Variables communes
========================================================= */

.elementor-1827,
.elementor-2935 {
  --bb-page-black: #1F1F1F;
  --bb-page-yellow: #ffb20f;
  --bb-page-yellow-soft: #fff1c7;
  --bb-page-cream: #f7f4ee;
  --bb-page-paper: #fffaf2;
  --bb-page-border: rgba(31, 31, 31, .11);
  --bb-page-muted: rgba(31, 31, 31, .66);
  --bb-page-shadow: 0 16px 42px rgba(31, 31, 31, .08);
  --bb-page-shadow-hover: 0 26px 62px rgba(31, 31, 31, .14);

  background:
    radial-gradient(circle at 8% 2%, rgba(255, 178, 15, .12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7f4ee 44%, #ffffff 100%);
}

/* =========================================================
   Header page : Actualités + Agenda
========================================================= */

.elementor-1827 .elementor-element.elementor-element-a9323eb,
.elementor-2935 .elementor-element.elementor-element-575b292 {
  position: relative;
  padding: clamp(58px, 7vw, 96px) 18px clamp(34px, 5vw, 58px) !important;
  background: transparent !important;
  overflow: visible !important;
}

.elementor-1827 .elementor-element.elementor-element-a9323eb::before,
.elementor-2935 .elementor-element.elementor-element-575b292::before {
  content: "";
  position: absolute;
  right: clamp(28px, 6vw, 96px);
  top: clamp(34px, 5vw, 76px);
  width: clamp(170px, 17vw, 260px);
  height: clamp(170px, 17vw, 260px);
  border-radius: 999px;
  background:
    radial-gradient(circle at center,
      rgba(255, 178, 15, .16) 0%,
      rgba(255, 178, 15, .10) 38%,
      rgba(255, 178, 15, .04) 58%,
      transparent 70%
    );
  box-shadow:
    0 0 0 26px rgba(31, 31, 31, .025),
    0 0 0 58px rgba(255, 178, 15, .045);
  pointer-events: none;
  z-index: 0;
}

.elementor-1827 .elementor-element.elementor-element-a9323eb > .elementor-container,
.elementor-2935 .elementor-element.elementor-element-575b292 > .elementor-container {
  position: relative;
  z-index: 2;
  max-width: 1180px !important;
}

/* Titres */

.elementor-1827 .elementor-element.elementor-element-371f351,
.elementor-2935 .elementor-element.elementor-element-b71d11c {
  margin-bottom: 26px !important;
}

.elementor-1827 .elementor-element.elementor-element-371f351 .elementor-heading-title,
.elementor-2935 .elementor-element.elementor-element-b71d11c .elementor-heading-title {
  position: relative;
  max-width: 980px;
  margin: 0 !important;
  padding-left: 24px;
  color: var(--bb-page-black) !important;
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: .98 !important;
  letter-spacing: -.06em !important;
  font-weight: 950 !important;
}

.elementor-1827 .elementor-element.elementor-element-371f351 .elementor-heading-title::before,
.elementor-2935 .elementor-element.elementor-element-b71d11c .elementor-heading-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: .08em;
  width: 5px;
  height: .86em;
  border-radius: 999px;
  background: var(--bb-page-yellow);
}

/* Breadcrumb */

.elementor-1827 .rank-math-breadcrumb,
.elementor-2935 .rank-math-breadcrumb {
  margin-bottom: clamp(26px, 4vw, 42px) !important;
}

.elementor-1827 .rank-math-breadcrumb p,
.elementor-2935 .rank-math-breadcrumb p {
  margin: 0 !important;
  color: var(--bb-page-muted);
  font-size: 14px;
  font-weight: 650;
}

.elementor-1827 .rank-math-breadcrumb a,
.elementor-2935 .rank-math-breadcrumb a {
  color: #a36d00 !important;
  text-decoration: none !important;
  font-weight: 800;
}

.elementor-1827 .rank-math-breadcrumb a:hover,
.elementor-2935 .rank-math-breadcrumb a:hover {
  color: var(--bb-page-black) !important;
}

/* =========================================================
   Conteneurs des listings
========================================================= */

.elementor-1827 .elementor-element.elementor-element-bed5936,
.elementor-2935 .elementor-element.elementor-element-1c8ee85 {
  position: relative;
  padding: clamp(16px, 3vw, 30px) 18px clamp(70px, 8vw, 110px) !important;
  background: transparent !important;
}

.elementor-1827 .elementor-element.elementor-element-bed5936 > .e-con-inner,
.elementor-2935 .elementor-element.elementor-element-1c8ee85 > .e-con-inner {
  max-width: 1180px !important;
}

/* Petit cartouche intro visuel avant les cartes */
.elementor-1827 .elementor-element.elementor-element-bed5936::before,
.elementor-2935 .elementor-element.elementor-element-1c8ee85::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(1180px, calc(100% - 36px));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(31, 31, 31, .12), transparent);
  transform: translateX(-50%);
  pointer-events: none;
}

/* =========================================================
   Grilles Elementor posts
========================================================= */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-posts-container,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-posts-container {
  gap: 24px !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post {
  overflow: visible !important;
}

/* Carte */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__card,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__card {
  position: relative;
  height: 100%;
  border: 1px solid var(--bb-page-border) !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: var(--bb-page-shadow) !important;
  overflow: hidden !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__card:hover,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__card:hover {
  transform: translateY(-6px);
  border-color: rgba(31, 31, 31, .20) !important;
  box-shadow: var(--bb-page-shadow-hover) !important;
}

/* Filet haut de carte */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__card::before,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__card::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 0;
  z-index: 5;
  width: 54px;
  height: 5px;
  border-radius: 0 0 999px 999px;
  background: var(--bb-page-yellow);
}

/* Variation douce pour les catégories d'articles */
.elementor-1827 .elementor-post.category-evenements .elementor-post__card::before {
  background: #244b39;
}

.elementor-1827 .elementor-post.category-actualites-belleme .elementor-post__card::before {
  background: #a95532;
}

/* =========================================================
   Images
========================================================= */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__thumbnail__link,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__thumbnail__link {
  display: block !important;
  overflow: hidden !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__thumbnail,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__thumbnail {
  height: 255px !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
  background: #f1eee7 !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__thumbnail img,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__thumbnail img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(.98) contrast(1.02) !important;
  transition: transform .28s ease, filter .28s ease !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__card:hover .elementor-post__thumbnail img,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__card:hover .elementor-post__thumbnail img {
  transform: scale(1.045);
  filter: saturate(1.05) contrast(1.04) !important;
}

/* Images très horizontales ou fit-height : on évite l'écrasement */
.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__thumbnail.elementor-fit-height img,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__thumbnail.elementor-fit-height img {
  object-fit: cover !important;
  padding: 0 !important;
}

/* =========================================================
   Textes des cartes
========================================================= */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__text,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__text {
  display: flex !important;
  min-height: 210px !important;
  flex-direction: column !important;
  padding: 26px !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__title,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__title {
  margin: 0 !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__title a,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__title a {
  color: var(--bb-page-black) !important;
  font-size: clamp(21px, 1.75vw, 27px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__title a:hover,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__title a:hover {
  color: #a36d00 !important;
}

/* Extraits / dates */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__excerpt,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__excerpt {
  margin: 13px 0 20px !important;
  color: var(--bb-page-muted) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__excerpt p,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__excerpt p {
  margin: 0 !important;
}

/* Agenda : les dates doivent ressortir un peu plus */
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__excerpt {
  color: #a36d00 !important;
  font-weight: 850 !important;
}

/* Boutons */

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__read-more,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__read-more {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin-top: auto !important;
  padding: 9px 15px !important;
  border-radius: 999px !important;
  background: var(--bb-page-black) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

.elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__read-more:hover,
.elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__read-more:hover {
  transform: translateY(-1px);
  background: var(--bb-page-yellow) !important;
  color: var(--bb-page-black) !important;
}

/* =========================================================
   Spacers inutiles de fin
========================================================= */

.elementor-1827 .elementor-element.elementor-element-43d0b7c,
.elementor-2935 .elementor-element.elementor-element-e241802,
.elementor-2935 .elementor-element.elementor-element-a3af538 {
  display: none !important;
}

/* =========================================================
   Responsive
========================================================= */

@media (max-width: 1024px) {
  .elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__thumbnail,
  .elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__thumbnail {
    height: 235px !important;
  }

  .elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__text,
  .elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__text {
    min-height: 190px !important;
  }
}

@media (max-width: 767px) {
  .elementor-1827 .elementor-element.elementor-element-a9323eb,
  .elementor-2935 .elementor-element.elementor-element-575b292 {
    padding: 42px 14px 28px !important;
  }

  .elementor-1827 .elementor-element.elementor-element-a9323eb::before,
  .elementor-2935 .elementor-element.elementor-element-575b292::before {
    right: -48px;
    top: 22px;
    width: 150px;
    height: 150px;
    opacity: .75;
  }

  .elementor-1827 .elementor-element.elementor-element-371f351 .elementor-heading-title,
  .elementor-2935 .elementor-element.elementor-element-b71d11c .elementor-heading-title {
    padding-left: 18px;
    font-size: clamp(34px, 11vw, 48px) !important;
  }

  .elementor-1827 .elementor-element.elementor-element-bed5936,
  .elementor-2935 .elementor-element.elementor-element-1c8ee85 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__thumbnail,
  .elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__thumbnail {
    height: 225px !important;
  }

  .elementor-1827 .elementor-element.elementor-element-4837c4b .elementor-post__text,
  .elementor-2935 .elementor-element.elementor-element-e9c89ca .elementor-post__text {
    min-height: auto !important;
    padding: 22px !important;
  }
}