/* Offer pages (saint-valentin, week-end-spa, bon-cadeau): same dark, photo-led look as portfolio.html.
   Photos are the original files, untouched. */
body.offer .offer-intro { margin-bottom: clamp(28px, 4vw, 48px); }
body.offer .offer-kicker { text-align: left; margin-bottom: 14px; }
body.offer .offer-intro h1 { font-size: clamp(2.6rem, 7vw, 5.6rem); }

body.offer .offer-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(36px, 5vw, 64px); }
body.offer .offer-tabs a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px;
  border: 1px solid rgba(239, 230, 218, 0.22); border-radius: 999px;
  color: rgba(239, 230, 218, 0.8); text-decoration: none;
  font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
body.offer .offer-tabs a:hover { border-color: rgba(239, 230, 218, 0.6); }
body.offer .offer-tabs a[aria-current="page"] { background: #efe6da; color: #14110e; border-color: #efe6da; }

body.offer .offer-hero {
  width: 100vw; margin-left: calc(50% - 50vw);
  height: 82vh; height: 82svh; min-height: 380px;
  overflow: hidden; overflow: clip; background: #0b0908;
}
body.offer .offer-hero img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }

body.offer .offer-sec {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(28px, 6vw, 96px); align-items: center;
  max-width: 1280px; margin: clamp(80px, 11vw, 160px) auto 0;
}
body.offer .offer-sec.is-flip .offer-txt { order: 2; }
body.offer .offer-txt h2 {
  margin: 0 0 18px; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.12; color: #f6efe5;
}
body.offer .offer-txt p { margin: 0; font-size: 1.02rem; font-weight: 300; line-height: 1.75; color: rgba(239, 230, 218, 0.84); max-width: 32em; }
body.offer .offer-img { margin: 0; overflow: hidden; overflow: clip; background: #1d1814; }
body.offer .offer-img img { width: 100%; height: auto; max-height: 82vh; object-fit: cover; display: block; }
body.offer .offer-end { margin-top: clamp(96px, 12vw, 170px); }

/* bon cadeau */
body.offer .gift-opts {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.4vw, 32px);
  max-width: 1080px; margin: clamp(64px, 8vw, 120px) auto 0;
}
body.offer .gift-card {
  padding: clamp(26px, 3vw, 44px); border: 1px solid rgba(239, 230, 218, 0.12);
  border-radius: 4px; background: rgba(239, 230, 218, 0.03);
}
body.offer .gift-card h2, body.offer .gift-how h2 {
  margin: 0 0 14px; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400;
  font-size: clamp(1.7rem, 2.8vw, 2.3rem); color: #f6efe5;
}
body.offer .gift-card p, body.offer .gift-how p { margin: 0; font-size: 1rem; font-weight: 300; line-height: 1.7; color: rgba(239, 230, 218, 0.84); }
body.offer .gift-how { max-width: 720px; margin: clamp(72px, 9vw, 130px) auto 0; text-align: center; }
body.offer .gift-how .pf-end-btns { margin-top: 36px; }

@media (max-width: 720px) {
  body.offer .offer-hero { height: 62svh; }
  body.offer .offer-sec { grid-template-columns: 1fr; gap: 22px; margin-top: 72px; }
  body.offer .offer-sec.is-flip .offer-txt { order: 0; }
  body.offer .offer-img { margin: 0 -18px; }
  body.offer .gift-opts { grid-template-columns: 1fr; }
}
body.offer .pf-intro .offer-kicker { font-family: inherit; font-style: normal; font-size: 0.7rem; letter-spacing: 0.24em; text-transform: uppercase; color: #c9a07a; margin: 0 0 14px; padding: 0; }
body.offer .pf-intro .offer-kicker::before, body.offer .pf-intro .offer-kicker::after { content: none; display: none; }
