/* NJANSANG — styles propres à la page Privatisation et événements. Chargé après styles.css (même ordre de couches). */
@layer pages {
  .page-head--nuit { padding-block-end: 0; }
  .page-head--nuit .page-head__band img { height: clamp(14rem, 10rem + 18vw, 30rem); }
  .spaces { display: grid; gap: var(--space-5); }
  @media (min-width: 48em) { .spaces { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 80em) { .spaces { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  .space-card { display: grid; grid-template-rows: auto 1fr; border-radius: var(--radius-m); overflow: hidden; background: var(--color-ivoire); border: 1px solid var(--color-sable); }
  .space-card__media { aspect-ratio: 3 / 2; overflow: hidden; }
  .space-card__media img { width: 100%; height: 100%; object-fit: cover; }
  .space-card__body { display: grid; gap: .55rem; padding: 1.25rem; align-content: start; }
  .space-card__name { font-size: 1.35rem; }
  .space-card__cap { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-weight: 650; font-size: .9rem; color: var(--color-foret); }
  .space-card__cap span { display: inline-flex; align-items: center; gap: .35rem; }
  .space-card__body > p:not(.space-card__cap) { font-size: .93rem; color: var(--color-encre-2); }
  .space-card__min { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding-block-start: .75rem; margin-block-start: auto; border-block-start: 1px solid var(--color-sable); }
  .space-card__min dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--color-encre-2); font-weight: 650; }
  .space-card__min dd { font-weight: 650; font-size: .9rem; }
  .formules__opt-title { margin-block: var(--space-6) var(--space-4); }
  .month-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-end: 1rem; }
  .ev-list { display: grid; gap: var(--space-4); margin-block-start: var(--space-4); }
  .ev-card { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem 1.25rem; padding: 1.25rem; border-radius: var(--radius-m); background: var(--color-ivoire); border: 1px solid var(--color-sable); scroll-margin-top: calc(var(--header-h) + 1rem); }
  .ev-card:target { box-shadow: 0 0 0 2px var(--color-terracotta); }
  .ev-card__date { display: grid; justify-items: center; align-content: center; line-height: 1; padding: .7rem .25rem; border-radius: var(--radius-arch); background: var(--color-nuit); color: var(--color-creme); align-self: start; }
  .ev-card__day { font-family: var(--font-display); font-size: 2rem; font-weight: 500; }
  .ev-card__month { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 650; color: var(--color-ocre); margin-block-start: .25rem; }
  .ev-card__body { display: grid; gap: .4rem; align-content: start; }
  .ev-card__body > p:not(.ev-card__meta):not(.ev-card__price) { color: var(--color-encre-2); font-size: .95rem; }
  .ev-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; font-size: .875rem; color: var(--color-encre-2); }
  .ev-card__title { font-size: 1.35rem; }
  .ev-card__price { font-weight: 650; }
  .ev-card__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
  .badge--full { background: var(--color-encre); color: var(--color-creme); }
  .badge--few { background: transparent; box-shadow: inset 0 0 0 1px var(--color-ligne); color: var(--color-encre-2); }
  @media (min-width: 64em) {
    .ev-card { grid-template-columns: 5rem minmax(0, 1fr) auto; align-items: center; }
    .ev-card__actions { grid-column: auto; flex-direction: column; align-items: stretch; }
  }
  .devis__grid { display: grid; gap: var(--space-6); }
  .devis__intro { display: grid; gap: var(--space-4); align-content: start; }
  .devis__intro p { color: var(--color-creme-attenue); }
  @media (min-width: 64em) { .devis__grid { grid-template-columns: .7fr 1.3fr; gap: var(--space-8); } .devis__intro { position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; } }
  .estimate { position: relative; padding: 1.25rem 1.4rem; border-radius: var(--radius-m); background: var(--color-nuit-2); border: 1px solid rgb(225 160 53 / .5); display: grid; gap: .5rem; }
  .estimate__label { font-size: var(--fs-label); text-transform: uppercase; letter-spacing: .12em; font-weight: 650; color: var(--color-ocre); }
  .estimate__value { font-size: 1.05rem; line-height: 1.5; color: var(--color-creme); }
  .estimate__value strong { font-family: var(--font-display); font-weight: 500; font-size: 1.6rem; color: var(--color-ocre); display: block; }
  .estimate__alerts { display: grid; gap: .5rem; }
  .estimate .alert { background: rgb(248 241 227 / .08); border-color: rgb(225 160 53 / .45); color: var(--color-creme); }
  .estimate .alert .icon { color: var(--color-ocre); }
  .estimate .alert .btn { margin-block-start: .25rem; }
  .form--dark .fieldset legend { color: var(--color-creme); }
  .form--dark .check { color: var(--color-creme); }
  .form--dark .check input { accent-color: var(--color-ocre); }
  .form--dark .form-errors { background: #3A1C14; color: var(--color-creme); border-color: #F4A58A; }
  .form--dark .form-errors a { color: #F4A58A; }
  .cases { display: grid; gap: var(--space-5); }
  @media (min-width: 48em) { .cases { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  .case { display: grid; gap: .5rem; align-content: start; }
  .case__media { aspect-ratio: 3 / 2; border-radius: var(--radius-m); overflow: hidden; margin-block-end: .5rem; }
  .case__media img { width: 100%; height: 100%; object-fit: cover; }
  .case h3 { font-size: 1.25rem; }
  .case p { color: var(--color-encre-2); font-size: .95rem; }
}
