.c-offres {
  position: relative;
  overflow: clip;
  padding-block: var(--st-section-pt) var(--st-section-pb);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}

.c-offres__fond {
  position: absolute;
  inset: 0;
  clip-path: inset(0);
  pointer-events: none;
}

.c-offres__fond-fixe {
  position: fixed;
  inset: 0 0 auto;
  height: 100vh;
  height: 100lvh;
}

@media (prefers-reduced-motion: reduce) {
  .c-offres__fond-fixe {
    position: absolute;
    inset: 0;
    height: auto;
  }
}

.c-offres__fond-fixe img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(6px) saturate(0.65) brightness(0.85);
  transform: scale(1.04);
}

.c-offres__fond::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, var(--wp--preset--color--primary) 0%, color-mix(in srgb, var(--wp--preset--color--primary) 72%, transparent) 18%, color-mix(in srgb, var(--wp--preset--color--primary) 62%, transparent) 50%, color-mix(in srgb, var(--wp--preset--color--primary) 72%, transparent) 82%, var(--wp--preset--color--primary) 100%);
}

.c-offres__inner {
  position: relative;
}

.c-offres__pile {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1rem + 1.25vw, 1.875rem);
  margin: clamp(2rem, 1.5rem + 2.5vw, 3rem) 0 0;
  padding: 0;
  list-style: none;
}

.c-offres__carte {
  --offres-pad: clamp(1.5rem, 1.1429rem + 1.7857vw, 2.5rem);
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--offres-pad);
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--primary);
  box-shadow: 0 24px 60px rgb(0 0 0 / 0.22);
}

.c-offres__carte::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(1.25rem, 1rem + 1vw, 2rem);
  aspect-ratio: 1;
  background: var(--wp--preset--color--accent);
}

.c-offres__carte--nuit::before {
  top: -1px;
  left: -1px;
  background: var(--wp--preset--color--citron);
}

.c-offres__carte--nuit {
  background: var(--wp--preset--color--primary);
  border: 1px solid rgb(255 255 255 / 0.22);
  color: var(--wp--preset--color--white);
}

.c-offres__corps,
.c-offres__detail {
  display: contents;
}

.c-offres__titre {
  order: 1;
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--xxl);
  font-weight: var(--st-fw-bold);
  line-height: 1.2;
  color: inherit;
}

.c-offres__benefice {
  order: 2;
  margin: 1rem 0 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: var(--st-fw-bold);
  line-height: 1.4;
  color: var(--wp--preset--color--accent);
}

.c-offres__photo {
  order: 3;
  position: relative;
  height: clamp(11.25rem, 52vw, 16.25rem);
  margin: 1.25rem calc(-1 * var(--offres-pad)) 0;
  overflow: hidden;
}

.c-offres__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-offres__texte {
  order: 4;
  margin: 1rem 0 0;
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.55;
  color: var(--wp--preset--color--text-muted);
}

.c-offres__texte p {
  margin: 0;
}

.c-offres__texte a {
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.c-offres__action {
  order: 4;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--wp--preset--color--card-border);
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.6;
  color: var(--wp--preset--color--primary);
}

.c-offres__action p {
  margin: 0;
}

.c-offres__action p + p {
  margin-top: 0.75rem;
}

.c-offres__action-titre {
  margin: 0 0 0.5rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: var(--st-fw-bold);
  line-height: 1.3;
  color: var(--wp--preset--color--accent);
}

.c-offres__action a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.c-offres__carte--nuit .c-offres__action {
  border-color: rgb(255 255 255 / 0.18);
  color: var(--wp--preset--color--white);
}

.c-offres__carte--nuit .c-offres__action-titre {
  color: var(--wp--preset--color--citron);
}

.c-offres__prix {
  order: 5;
  margin: 1.375rem 0 0;
  font-size: var(--wp--preset--font-size--tile);
  font-weight: var(--st-fw-bold);
  line-height: 1.2;
  color: var(--wp--preset--color--accent);
}

.c-offres__note {
  order: 6;
  margin: 0.25rem 0 0;
  font-size: var(--wp--preset--font-size--xs);
  line-height: 1.45;
  color: var(--wp--preset--color--text-muted);
}

.c-offres__actions {
  order: 7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem 1.625rem;
  margin-top: 1rem;
}

.c-offres__actions .c-btn {
  align-self: stretch;
  white-space: normal;
}

.c-offres__points {
  order: 8;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.5;
  color: var(--wp--preset--color--text-muted);
}

.c-offres__points li {
  position: relative;
  padding: 0.75rem 0 0.75rem 1.375rem;
  border-top: 1px solid var(--wp--preset--color--card-border);
}

.c-offres__points li:last-child {
  border-bottom: 1px solid var(--wp--preset--color--card-border);
}

.c-offres__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(0.75rem + 0.5em);
  width: 0.5rem;
  height: 0.5rem;
  background: var(--wp--preset--color--accent);
}

.c-offres__carte--nuit .c-offres__benefice,
.c-offres__carte--nuit .c-offres__prix {
  color: var(--wp--preset--color--citron);
}

.c-offres__carte--nuit .c-offres__texte {
  color: rgb(255 255 255 / 0.88);
}

.c-offres__carte--nuit .c-offres__texte a {
  color: var(--wp--preset--color--white);
}

.c-offres__carte--nuit .c-offres__note {
  color: rgb(255 255 255 / 0.78);
}

.c-offres__carte--nuit .c-offres__points {
  color: rgb(255 255 255 / 0.88);
}

.c-offres__carte--nuit .c-offres__points li {
  border-color: rgb(255 255 255 / 0.18);
}

.c-offres__carte--nuit .c-offres__points li::before {
  background: var(--wp--preset--color--citron);
}

.c-offres__fin {
  margin-top: clamp(2.5rem, 2rem + 2.5vw, 3.5rem);
  text-align: center;
}

.c-offres__fin-titre {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--xl);
  font-weight: var(--st-fw-bold);
  line-height: 1.25;
  color: var(--wp--preset--color--white);
}

.c-offres__fin-texte {
  max-width: 42.5rem;
  margin: 0.5rem auto 0;
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.55;
  color: rgb(255 255 255 / 0.88);
}

.c-offres__fin .c-btn {
  margin-top: 1rem;
  white-space: normal;
}

.c-offres__fin-note {
  margin: 0.75rem 0 0;
  font-size: var(--wp--preset--font-size--xs);
  color: rgb(255 255 255 / 0.8);
}

.c-offres--clair {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--primary);
}

.c-offres.c-offres--clair.u-fond-clair {
  padding-top: var(--st-section-pt);
}

.c-offres--clair .c-offres__carte {
  box-shadow: none;
}

.c-offres--clair .c-offres__carte:not(.c-offres__carte--nuit) {
  background: var(--wp--preset--color--sky);
}

.c-offres--clair .c-offres__fin-titre {
  color: var(--wp--preset--color--primary);
}

.c-offres--clair .c-offres__fin-texte,
.c-offres--clair .c-offres__fin-note {
  color: var(--wp--preset--color--text-muted);
}

@media (min-width: 30rem) {
  .c-offres__actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }

  .c-offres__actions .c-btn {
    align-self: auto;
  }
}

@media (min-width: 48rem) {
  .c-offres__carte {
    flex-direction: row;
    align-items: stretch;
    gap: clamp(2.25rem, 1rem + 2.5vw, 3.5rem);
  }

  .c-offres__corps,
  .c-offres__detail {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .c-offres__corps {
    flex: 1 1 0;
  }

  .c-offres__detail {
    flex: 0 0 38%;
    justify-content: center;
  }

  .c-offres__actions {
    margin-top: 1.625rem;
  }

  .c-offres__points {
    margin-top: 1.125rem;
  }

  .c-offres__points li {
    padding-block: 1rem;
  }

  .c-offres__points li::before {
    top: calc(1rem + 0.5em);
  }

  .c-offres__carte:not(.c-offres__carte--photo) .c-offres__prix {
    margin-top: 0;
  }

  .c-offres__carte--photo {
    gap: clamp(1.875rem, 0.5893rem + 2.6786vw, 3rem);
  }

  .c-offres__carte--photo:nth-child(even) {
    flex-direction: row-reverse;
  }

  .c-offres__carte--photo:nth-child(even)::before {
    right: 0;
    left: auto;
  }

  .c-offres__carte--photo.c-offres__carte--nuit:nth-child(even)::before {
    right: -1px;
  }

  .c-offres__carte--photo .c-offres__detail {
    flex-basis: 42%;
    justify-content: flex-start;
  }

  .c-offres__photo {
    flex: 1 1 auto;
    height: auto;
    min-height: 13.75rem;
    margin: 0;
  }

  .c-offres__carte--photo .c-offres__points li {
    padding-block: 0.75rem;
  }

  .c-offres__carte--photo .c-offres__points li:first-child {
    border-top: 0;
  }

  .c-offres__carte--photo .c-offres__points li:last-child {
    border-bottom: 0;
  }

  .c-offres__carte--photo .c-offres__points li::before {
    top: calc(0.75rem + 0.5em);
  }
}

@media (min-width: 64rem) {
  .c-offres__detail {
    flex-basis: 34%;
  }

  .c-offres__carte--photo .c-offres__detail {
    flex-basis: 40%;
  }

  .c-offres--clair .c-offres__corps {
    align-self: center;
  }
}

@media (min-width: 64rem) and (min-height: 50rem) {
  .c-offres__carte {
    --offres-collage: calc(var(--st-layout-header-h-shrunk) + 1.875rem + var(--i, 0) * 1.5rem);
    position: sticky;
    top: var(--offres-collage);
  }

  .c-offres--clair .c-offres__carte {
    box-shadow: 0 2px 0 var(--wp--preset--color--white);
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .c-offres__carte {
      animation-name: c-offres-glisse;
      animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
      animation-fill-mode: both;
      animation-timeline: view();
      animation-range: cover 0% cover 40vh;
    }
  }
}

@media (min-width: 64rem) and (min-height: 50rem) and (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .c-offres__carte {
      animation-range: cover 0% cover calc(100svh - var(--offres-collage) - 0.75rem);
    }
  }
}

@keyframes c-offres-glisse {
  from {
    transform: translateY(clamp(3rem, 2rem + 4vw, 6rem));
  }

  to {
    transform: none;
  }
}
