/* ── GIFT VOUCHER CTA ───────────────────────────────────────────────────────
   The gift card artwork doubles as the button. Every placement so far sits on
   a dark backdrop — the Home booking band (teal), the Food & Drink hero (photo
   over navy) and the Find Us gift band (deep teal) — so the colours below all
   assume dark. A light-section variant would need its own modifier. */

.gv-btn {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 10px 24px 10px 10px;
  background: rgba(13, 26, 38, 0.72);
  border: 1px solid rgba(201, 169, 110, 0.55);
  border-radius: 16px;
  text-decoration: none;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.gv-btn:hover,
.gv-btn:focus-visible {
  background: var(--near-black);
  border-color: var(--gold);
  transform: translateY(-3px);
}
.gv-btn-card {
  display: block;
  width: 104px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}
.gv-btn-label {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
}

/* ---- panel: eyebrow, heading and blurb above the card button ---- */
.gv-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid rgba(243, 239, 230, 0.18);
}
/* Standing on its own in a section of its own — no hairline, no gap to close. */
.gv-panel.gv-plain {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.gv-align-center { align-items: center; text-align: center; }
.gv-align-left   { align-items: flex-start; text-align: left; }

.gv-eyebrow {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}
.gv-heading {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 2.4vw, 2.05rem);
  font-weight: 700;
  color: var(--cream);
  line-height: 1.15;
}
.gv-body {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(243, 239, 230, 0.85);
  max-width: 54ch;
}
.gv-panel .gv-btn { margin-top: 8px; }

/* ---- card only: no label, so the artwork carries it and goes bigger ---- */
.gv-btn.gv-card-only { padding: 8px; gap: 0; }
.gv-btn.gv-card-only .gv-btn-card { width: 200px; border-radius: 10px; }

/* ---- lockup: the wide transparent gift-card mark, no box around it ---- */
.gv-lockup { display: inline-block; line-height: 0; text-decoration: none;
  transition: transform 0.25s ease, filter 0.25s ease; }
.gv-lockup-img { display: block; width: 320px; max-width: 100%; height: auto;
  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.55)); }
.gv-lockup:hover, .gv-lockup:focus-visible { transform: scale(1.03); filter: brightness(1.08); }

@media (max-width: 560px) {
  .gv-btn { gap: 12px; padding: 8px 18px 8px 8px; }
  .gv-btn-card { width: 78px; }
  .gv-btn-label { font-size: 0.72rem; white-space: normal; }
  .gv-panel { margin-top: 36px; padding-top: 30px; }
  .gv-btn.gv-card-only .gv-btn-card { width: 160px; }
  .gv-lockup-img { width: 240px; }
}
