.elementor-6649 .elementor-element.elementor-element-72d72cc{margin-top:39px;margin-bottom:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* ==========================================================
   BEAUTYMOOD — AGENDA PREMIUM
   Shortcode : [beautymood_agenda]
   Remplace entièrement l'ancien CSS de l'agenda.
   ========================================================== */

/* 01 — IDENTITÉ VISUELLE ET BASE */

.beautymood-agenda {
  --bm-cream: #FAF8F2;
  --bm-white: #FFFFFF;
  --bm-rose: #DFCEC0;
  --bm-rose-light: #F5ECE6;
  --bm-rose-deep: #B9907F;
  --bm-taupe: #86695C;
  --bm-brown: #59483D;
  --bm-dark: #352B28;
  --bm-muted: #746A65;
  --bm-line: #EADDD4;
  --bm-green: #46633D;

  width: 100%;
  max-width: 1900px;
  margin: 0 auto;
  padding: 38px 22px 75px;

  color: var(--bm-dark);
  font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
  font-size: 15px;
  line-height: 1.55;
  text-transform: none;

  background:
    radial-gradient(
      ellipse 55% 25% at 100% 0%,
      rgba(223, 206, 192, 0.26),
      transparent 75%
    ),
    radial-gradient(
      ellipse 40% 30% at 0% 90%,
      rgba(223, 206, 192, 0.16),
      transparent 80%
    );
}

.beautymood-agenda,
.beautymood-agenda *,
.beautymood-agenda *::before,
.beautymood-agenda *::after {
  box-sizing: border-box;
}

.beautymood-agenda [hidden] {
  display: none !important;
}

.beautymood-agenda h2,
.beautymood-agenda h3,
.beautymood-agenda p,
.beautymood-agenda a,
.beautymood-agenda button,
.beautymood-agenda select,
.beautymood-agenda span,
.beautymood-agenda strong,
.beautymood-agenda label,
.beautymood-agenda time {
  font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none;
}

.beautymood-agenda button,
.beautymood-agenda select {
  cursor: pointer;
}

.beautymood-agenda button:focus-visible,
.beautymood-agenda select:focus-visible,
.beautymood-agenda a:focus-visible {
  outline: 3px solid var(--bm-taupe);
  outline-offset: 3px;
}

/* 02 — EN-TÊTE */

.beautymood-agenda__header {
  position: relative;
  margin: 0 0 32px;
  padding: 18px 6px 24px;
}

.beautymood-agenda__header::after {
  content: "";
  position: absolute;
  right: 2%;
  bottom: 0;
  width: min(300px, 32%);
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--bm-rose-deep),
    transparent
  );
}

.beautymood-agenda__eyebrow {
  margin: 0 0 10px !important;
  color: var(--bm-taupe) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
}

.beautymood-agenda__header h2 {
  margin: 0 0 10px !important;
  color: var(--bm-dark) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 3.6vw, 54px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}

.beautymood-agenda__header > p:last-child {
  margin: 0 !important;
  color: var(--bm-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

/* 03 — STRUCTURE TROIS COLONNES */

.beautymood-agenda__layout {
  display: grid;
  grid-template-columns:
    minmax(230px, 0.9fr)
    minmax(0, 2.35fr)
    minmax(270px, 1.05fr);
  gap: 22px;
  align-items: start;
}

.beautymood-agenda__main {
  display: grid;
  grid-column: 1 / 3;
  grid-row: 1;
  grid-template-columns:
    minmax(230px, 0.9fr)
    minmax(0, 2.35fr);
  column-gap: 22px;
  align-items: start;
  min-width: 0;
}

/* 04 — FILTRES : COMPACTS ET STICKY */

.beautymood-agenda__filters {
  position: sticky;
  top: 24px;
  align-self: start;
  height: fit-content;
  min-height: 0;

  grid-column: 1;
  grid-row: 1 / span 4;

  display: flex;
  flex-direction: column;
  gap: 19px;

  min-width: 0;
  overflow: hidden;
  padding: 25px 24px 27px;

  background:
    radial-gradient(
      ellipse 90% 30% at 90% 105%,
      rgba(223, 206, 192, 0.5),
      transparent 75%
    ),
    radial-gradient(
      circle at 0% 0%,
      rgba(245, 236, 230, 0.75),
      transparent 48%
    ),
    linear-gradient(
      145deg,
      #FFFFFF 0%,
      #FFFCFA 62%,
      #F8F0EB 100%
    );

  border: 1px solid var(--bm-line);
  border-radius: 27px;

  box-shadow:
    0 22px 50px rgba(89, 72, 61, 0.055),
    0 2px 8px rgba(89, 72, 61, 0.025);
}

.beautymood-agenda__filters::before {
  content: "Filtres";
  display: block;
  margin: 0 0 -7px;
  color: var(--bm-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1.2;
}

.beautymood-agenda__filters::after {
  content: none !important;
  display: none !important;
}

.beautymood-agenda__filters label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
  margin: 0;
}

.beautymood-agenda__filters label span {
  color: var(--bm-taupe) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

.beautymood-agenda__filters select {
  width: 100%;
  min-width: 0;
  min-height: 49px;
  margin: 0;
  padding: 11px 34px 11px 14px;

  color: var(--bm-dark) !important;
  background-color: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid var(--bm-line) !important;
  border-radius: 14px !important;

  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;

  box-shadow: 0 4px 12px rgba(89, 72, 61, 0.025);

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.beautymood-agenda__filters select:hover,
.beautymood-agenda__filters select:focus {
  border-color: var(--bm-rose-deep) !important;
  box-shadow: 0 5px 18px rgba(185, 144, 127, 0.12);
}

/* 05 — ONGLETS */

.beautymood-agenda__periods {
  grid-column: 2;
  grid-row: 1;

  display: inline-flex;
  justify-self: start;
  flex-wrap: wrap;
  gap: 5px;
  max-width: 100%;

  margin: 0 0 26px;
  padding: 6px;

  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--bm-line);
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(89, 72, 61, 0.055);
}

.beautymood-agenda__period {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  min-height: 45px;
  margin: 0;
  padding: 10px 20px;

  color: var(--bm-brown) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.beautymood-agenda__period:hover {
  background: var(--bm-rose-light) !important;
}

.beautymood-agenda__period.is-active,
.beautymood-agenda__period.is-active:hover {
  color: #FFFFFF !important;
  background: linear-gradient(
    115deg,
    #A98270 0%,
    #806154 50%,
    #59483D 100%
  ) !important;
  box-shadow: 0 7px 17px rgba(89, 72, 61, 0.18) !important;
}

.beautymood-agenda__period span {
  display: inline-grid;
  place-items: center;

  min-width: 26px;
  min-height: 26px;
  padding: 2px 6px;

  color: var(--bm-brown) !important;
  background: var(--bm-rose-light);
  border-radius: 50%;

  font-size: 12px !important;
  font-weight: 800 !important;
}

.beautymood-agenda__period.is-active span {
  color: var(--bm-brown) !important;
  background: #FFFFFF;
}

/* 06 — COMPTEUR */

.beautymood-agenda__count {
  grid-column: 2;
  grid-row: 2;

  margin: 0 0 20px !important;
  color: var(--bm-dark) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* 07 — LISTE DES CARTES */

.beautymood-agenda__cards {
  grid-column: 2;
  grid-row: 3;

  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}

.beautymood-agenda__card {
  position: relative;
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);

  min-width: 0;
  min-height: 270px;
  overflow: hidden;

  background: linear-gradient(
    125deg,
    #FFFFFF 0%,
    #FFFFFF 65%,
    #FFFAF7 100%
  );

  border: 1px solid var(--bm-line);
  border-radius: 26px;

  box-shadow:
    0 22px 45px rgba(89, 72, 61, 0.065),
    0 4px 12px rgba(89, 72, 61, 0.025);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.beautymood-agenda__card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 29px 58px rgba(89, 72, 61, 0.105),
    0 5px 14px rgba(89, 72, 61, 0.035);
}

.beautymood-agenda__card::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -120px;

  width: 250px;
  height: 250px;
  pointer-events: none;

  background: radial-gradient(
    circle,
    rgba(223, 206, 192, 0.16),
    transparent 70%
  );
}

/* 08 — PAVÉ DE DATES : DU ... AU ... */

.beautymood-agenda__date {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 0;
  overflow: hidden;
  padding: 22px 10px;
  color: #FFFFFF;

  background:
    radial-gradient(
      ellipse 115% 70% at 15% 5%,
      rgba(255, 239, 226, 0.25),
      transparent 65%
    ),
    linear-gradient(
      155deg,
      #AD8977 0%,
      #896859 47%,
      #5A443B 100%
    );
}

.beautymood-agenda__date::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  left: -115px;
  bottom: -145px;
  border: 1px solid rgba(255, 255, 255, 0.23);
  border-radius: 50%;
  pointer-events: none;
}

.beautymood-agenda__date::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  top: -95px;
  right: -105px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  pointer-events: none;
}

.beautymood-agenda__date-inner {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;

  width: 100%;
  text-align: center;
}

.beautymood-agenda__date-label,
.beautymood-agenda__date-separator {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}

.beautymood-agenda__date-label {
  margin-bottom: 3px;
}

.beautymood-agenda__date-separator {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 85%;
  margin: 4px 0;
}

.beautymood-agenda__date-separator::before,
.beautymood-agenda__date-separator::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.45);
}

.beautymood-agenda__date time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  color: #FFFFFF;
}

.beautymood-agenda__date time strong {
  color: #FFFFFF !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
}

.beautymood-agenda__date time span {
  color: rgba(255, 255, 255, 0.97) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* 09 — CONTENU DES CARTES */

.beautymood-agenda__card-content {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  min-width: 0;
  padding: 29px 30px 27px;
}

.beautymood-agenda__category {
  display: inline-flex;
  align-items: center;

  min-height: 30px;
  margin: 0 0 15px;
  padding: 6px 13px;

  color: var(--bm-brown) !important;

  background: linear-gradient(
    115deg,
    #FAF3EE,
    #F1E5DC
  );

  border: 1px solid rgba(223, 206, 192, 0.48);
  border-radius: 999px;

  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

.beautymood-agenda__card-content h3 {
  margin: 0 0 17px !important;
  color: var(--bm-dark) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(23px, 1.9vw, 30px) !important;
  font-weight: 400 !important;
  line-height: 1.19 !important;
  letter-spacing: -0.025em !important;
  overflow-wrap: anywhere;
}

/* 10 — INFORMATIONS ET NOUVELLES ICÔNES */

/*
 * On utilise des SVG comme masques CSS :
 * tracés nets, couleur uniforme, aucune police d'icônes.
 */

.beautymood-agenda .beautymood-agenda__dates,
.beautymood-agenda .beautymood-agenda__hours,
.beautymood-agenda .beautymood-agenda__city {
  display: flex;
  align-items: flex-start;
  gap: 11px;

  width: 100%;
  margin: 0 0 10px !important;

  color: var(--bm-muted) !important;
  font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

.beautymood-agenda .beautymood-agenda__dates::before,
.beautymood-agenda .beautymood-agenda__hours::before,
.beautymood-agenda .beautymood-agenda__city::before {
  content: "" !important;
  display: block;

  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 2px;

  background-color: var(--bm-taupe);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Calendrier fin */

.beautymood-agenda .beautymood-agenda__dates::before {
  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E")
    center / contain no-repeat;

  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

/* Horloge fine */

.beautymood-agenda .beautymood-agenda__hours::before {
  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E")
    center / contain no-repeat;

  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

/* Épingle de localisation fine */

.beautymood-agenda .beautymood-agenda__city::before {
  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")
    center / contain no-repeat;

  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

/* Cache l'ancien symbole ⌖ ajouté dans le PHP.
   La nouvelle épingle est déjà affichée via ::before. */

.beautymood-agenda .beautymood-agenda__city > span[aria-hidden="true"] {
  display: none !important;
}

/* 11 — STATUTS, PLACES ET BOUTON */

.beautymood-agenda__card-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;

  width: 100%;
  margin-top: auto;
  padding-top: 19px;
}

.beautymood-agenda__status,
.beautymood-agenda__places {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 33px;
  padding: 7px 12px;

  border-radius: 999px;

  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.beautymood-agenda__status--ouvert {
  color: var(--bm-green) !important;

  background: linear-gradient(
    120deg,
    #F5F9EF,
    #EAF3E2
  );

  border: 1px solid #D9E5CE;
}

.beautymood-agenda__status--ouvert::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 7px;
  background: #648B4D;
  border-radius: 50%;
}

.beautymood-agenda__status--complet {
  color: var(--bm-brown) !important;
  background: var(--bm-rose-light);
  border: 1px solid var(--bm-line);
}

.beautymood-agenda__status--annule {
  color: #934A40 !important;
  background: #FCEDEA;
  border: 1px solid #EFCBC5;
}

.beautymood-agenda__places {
  color: var(--bm-brown) !important;

  background: linear-gradient(
    115deg,
    #FFFCF9,
    #F6EDE7
  );

  border: 1px solid var(--bm-line);
}

.beautymood-agenda__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  min-height: 44px;
  margin-left: auto;
  padding: 11px 18px;

  color: #FFFFFF !important;

  background: linear-gradient(
    115deg,
    #977464 0%,
    #59483D 100%
  ) !important;

  border: 1px solid rgba(89, 72, 61, 0.25) !important;
  border-radius: 999px !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-decoration: none !important;

  box-shadow: 0 8px 17px rgba(89, 72, 61, 0.14);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

.beautymood-agenda__link:hover {
  color: #FFFFFF !important;
  filter: brightness(0.95);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(89, 72, 61, 0.2);
}

.beautymood-agenda__link span {
  color: inherit !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

/* 12 — AUCUN RÉSULTAT */

.beautymood-agenda__empty {
  grid-column: 2;
  grid-row: 4;

  margin: 0 !important;
  padding: 26px;

  color: var(--bm-muted) !important;

  background: linear-gradient(
    120deg,
    #FFFFFF,
    #FAF2EC
  );

  border: 1px solid var(--bm-line);
  border-radius: 20px;

  font-size: 14px !important;
}

/* 13 — CALENDRIER : COMPACT ET STICKY */

.beautymood-agenda__sidebar {
  grid-column: 3;
  grid-row: 1;

  position: sticky;
  top: 24px;
  align-self: start;

  height: fit-content;
  min-width: 0;
}

.beautymood-agenda__calendar {
  position: relative;

  min-width: 0;
  min-height: 0;
  height: fit-content;
  overflow: hidden;

  padding: 25px 21px 28px;

  background:
    radial-gradient(
      ellipse 100% 35% at 100% 105%,
      rgba(223, 206, 192, 0.42),
      transparent 78%
    ),
    linear-gradient(
      155deg,
      #FFFFFF 0%,
      #FFFFFF 65%,
      #FFF9F5 100%
    );

  border: 1px solid var(--bm-line);
  border-radius: 27px;

  box-shadow:
    0 22px 50px rgba(89, 72, 61, 0.055),
    0 2px 8px rgba(89, 72, 61, 0.025);
}

.beautymood-agenda__calendar::after {
  content: "";
  position: absolute;
  right: -65px;
  bottom: -95px;

  width: 200px;
  height: 200px;

  border: 1px solid rgba(185, 144, 127, 0.18);
  border-radius: 50%;
  pointer-events: none;
}

.beautymood-agenda__calendar-header {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;

  margin-bottom: 24px;
}

.beautymood-agenda__calendar-header h3 {
  margin: 0 !important;

  color: var(--bm-dark) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-transform: capitalize !important;
}

.beautymood-agenda__calendar-header button {
  display: grid;
  place-items: center;

  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;

  margin: 0;
  padding: 0;

  color: var(--bm-brown) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid var(--bm-line) !important;
  border-radius: 50% !important;

  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  box-shadow: none !important;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.beautymood-agenda__calendar-header button:hover {
  background: var(--bm-rose-light) !important;
  transform: translateY(-1px);
}

.beautymood-agenda__calendar-days {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  align-items: center;

  width: 100%;
}

.beautymood-agenda__weekday {
  display: grid;
  place-items: center;

  min-width: 0;
  min-height: 30px;
  margin-bottom: 8px;

  color: var(--bm-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.beautymood-agenda__calendar-blank {
  min-width: 0;
  min-height: 38px;
}

.beautymood-agenda__calendar-day {
  position: relative;
  display: grid;
  place-items: center;

  width: 100%;
  min-width: 0;
  min-height: 37px;
  aspect-ratio: 1 / 1;

  margin: 0;
  padding: 4px;

  color: var(--bm-dark) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;

  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.beautymood-agenda__calendar-day:hover {
  color: var(--bm-brown) !important;
  background: var(--bm-rose-light) !important;
  transform: scale(1.05);
}

.beautymood-agenda__calendar-day.has-session {
  color: var(--bm-dark) !important;

  background: linear-gradient(
    145deg,
    #F8EEE7,
    #EEDFD4
  ) !important;

  font-weight: 700 !important;
}

.beautymood-agenda__calendar-day.has-session::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;

  width: 4px;
  height: 4px;

  background: var(--bm-taupe);
  border-radius: 50%;
  transform: translateX(-50%);
}

.beautymood-agenda__calendar-day.is-selected,
.beautymood-agenda__calendar-day.is-selected:hover {
  color: #FFFFFF !important;

  background: linear-gradient(
    135deg,
    #A27B69,
    #59483D
  ) !important;

  transform: none;
}

.beautymood-agenda__calendar-day.is-selected::after {
  background: #FFFFFF;
}

/* 14 — ÉCRANS INTERMÉDIAIRES */

@media (max-width: 1250px) {
  .beautymood-agenda__layout {
    grid-template-columns:
      minmax(215px, 0.85fr)
      minmax(0, 2fr);
    gap: 20px;
  }

  .beautymood-agenda__main {
    grid-column: 1 / -1;
    grid-template-columns:
      minmax(215px, 0.85fr)
      minmax(0, 2fr);
    column-gap: 20px;
  }

  .beautymood-agenda__sidebar {
    grid-column: 2;
    grid-row: 2;
    position: static;
  }

  .beautymood-agenda__calendar {
    max-width: 540px;
    min-height: 0;
  }
}

/* 15 — TABLETTE */

@media (max-width: 850px) {
  .beautymood-agenda {
    padding: 24px 12px 48px;
  }

  .beautymood-agenda__layout,
  .beautymood-agenda__main {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .beautymood-agenda__main,
  .beautymood-agenda__sidebar,
  .beautymood-agenda__filters,
  .beautymood-agenda__periods,
  .beautymood-agenda__count,
  .beautymood-agenda__cards,
  .beautymood-agenda__empty {
    width: 100%;
    max-width: none;
  }

  .beautymood-agenda__filters {
    order: 1;
    position: static;
    height: auto;
    min-height: 0;
  }

  .beautymood-agenda__periods {
    order: 2;
    width: auto;
    margin-bottom: 0;
  }

  .beautymood-agenda__count {
    order: 3;
    margin-bottom: 0 !important;
  }

  .beautymood-agenda__cards {
    order: 4;
  }

  .beautymood-agenda__empty {
    order: 5;
  }

  .beautymood-agenda__sidebar {
    order: 2;
    position: static;
    height: auto;
  }

  .beautymood-agenda__calendar {
    max-width: 100%;
    min-height: 0;
  }
}

/* 16 — MOBILE */

@media (max-width: 560px) {
  .beautymood-agenda {
    padding: 18px 8px 36px;
  }

  .beautymood-agenda__header {
    margin-bottom: 20px;
  }

  .beautymood-agenda__header h2 {
    font-size: 34px !important;
  }

  .beautymood-agenda__filters,
  .beautymood-agenda__calendar {
    padding: 22px 17px 25px;
    border-radius: 21px;
  }

  .beautymood-agenda__periods {
    display: flex;
    width: 100%;
    border-radius: 20px;
  }

  .beautymood-agenda__period {
    flex: 1 1 0;
    padding: 10px 8px;
    font-size: 12px !important;
  }

  .beautymood-agenda__card {
    grid-template-columns: 1fr;
    border-radius: 22px;
  }

  .beautymood-agenda__date {
    min-height: 115px;
    padding: 17px 14px;
  }

  .beautymood-agenda__date-inner {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 9px;
  }

  .beautymood-agenda__date time {
    flex-direction: row;
    gap: 5px;
  }

  .beautymood-agenda__date time strong {
    font-size: 32px !important;
  }

  .beautymood-agenda__date time span {
    font-size: 10px !important;
  }

  .beautymood-agenda__date-separator {
    width: auto;
    margin: 0;
  }

  .beautymood-agenda__date-separator::before,
  .beautymood-agenda__date-separator::after {
    display: none;
  }

  .beautymood-agenda__card-content {
    padding: 23px 20px;
  }

  .beautymood-agenda__card-content h3 {
    font-size: 25px !important;
  }

  .beautymood-agenda__link {
    width: 100%;
    margin: 8px 0 0;
  }

  .beautymood-agenda__calendar-days {
    gap: 3px;
  }

  .beautymood-agenda__calendar-day {
    min-height: 34px;
    font-size: 11px !important;
  }
}

/* 17 — ACCESSIBILITÉ */

@media (prefers-reduced-motion: reduce) {
  .beautymood-agenda *,
  .beautymood-agenda *::before,
  .beautymood-agenda *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ==========================================================
   18 — BADGES UNIFIÉS : CATÉGORIES + CERTIFICATION RS
   Même pastille premium pour les trois libellés.
   ========================================================== */

.beautymood-agenda .beautymood-agenda__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin: 0 0 17px;
}

/* Style identique pour Onglerie, Beauté du regard et RS. */
.beautymood-agenda .beautymood-agenda__category,
.beautymood-agenda .beautymood-agenda__certification {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 1 auto;
  max-width: 100%;
  min-height: 34px;
  margin: 0 !important;
  padding: 7px 13px !important;
  color: #59483D !important;
  background: linear-gradient(115deg, #FFFEFC 0%, #F6ECE3 58%, #EBD7C8 100%) !important;
  border: 1px solid #D8BBA7 !important;
  border-radius: 999px !important;
  box-shadow: 0 3px 11px rgba(89, 72, 61, 0.055), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.015em !important;
  text-transform: none !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Les catégories restent lisibles, sans tout mettre en capitales. */
.beautymood-agenda .beautymood-agenda__category {
  text-transform: none !important;
}

/* Icône de diplôme uniquement pour la certification RS. */
.beautymood-agenda .beautymood-agenda__certification-icon {
  display: inline-block !important;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background-color: #86695C;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 10 10-5 10 5-10 5-10-5Z'/%3E%3Cpath d='M6 12v5c3.5 2.5 8.5 2.5 12 0v-5M22 10v6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 10 10-5 10 5-10 5-10-5Z'/%3E%3Cpath d='M6 12v5c3.5 2.5 8.5 2.5 12 0v-5M22 10v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 560px) {
  .beautymood-agenda .beautymood-agenda__badges {
    gap: 7px;
    margin-bottom: 15px;
  }

  .beautymood-agenda .beautymood-agenda__category,
  .beautymood-agenda .beautymood-agenda__certification {
    padding: 7px 11px !important;
  }
}/* End custom CSS */