/* VIP Page Styles - minimal, leveraging base.css */
:root {
  --vip-bg: #0a0a0c;
  --vip-elevated: #121218;
  --vip-gold: #c8a44d;
  --vip-amber: #d6a15b;
  --vip-red: #7c1b1b;
  --vip-text: #f5f3ef;
  --vip-muted: #cfcac1;
  --vip-outline: rgba(200,164,77,.35);
}

.vip-container {
  width: min(1120px, 92%);
  margin-inline: auto;
}

/* Hero */
.vip-hero { position: relative; background: var(--vip-bg); color: var(--vip-text); }
.vip-hero__media { position: relative; max-height: 68vh; overflow: hidden; }
.vip-hero__media img { width: 100%; height: clamp(360px, 60vh, 720px); object-fit: cover; filter: saturate(0.9) contrast(1.05); }
.vip-hero__overlay { position: relative; margin-top: -4rem; }
.vip-hero__title { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 .5rem; }
.vip-hero__subtitle { max-width: 60ch; margin: 0 0 1.25rem; color: var(--vip-muted); }
.vip-cta-group { display: flex; gap: .75rem; flex-wrap: wrap; }

/* Sections */
.vip-section { background: var(--vip-bg); color: var(--vip-text); padding: clamp(2.5rem, 4vw, 4rem) 0; border-top: 1px solid #0e0e12; }
.vip-section:nth-of-type(even) { background: var(--vip-elevated); }
.vip-section h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 .75rem; color: var(--vip-text); }
.vip-section p { color: var(--vip-muted); }

/* Grid */
.vip-grid-2 { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .vip-grid-2 { grid-template-columns: repeat(2, 1fr); } }
.vip-grid-2--middle { align-items: center; }

/* Media wrap */
.vip-media-wrap { border-radius: 12px; overflow: hidden; outline: 1px solid var(--vip-outline); background: #0e0e12; }
.vip-media-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Lists */
.vip-list { display: grid; gap: .5rem; padding-left: 1rem; }
.vip-list li { list-style: disc; color: var(--vip-text); }

/* Cards */
.vip-cards { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .vip-cards { grid-template-columns: repeat(3, 1fr); } }
.vip-card { background: #121218; border: 1px solid var(--vip-outline); border-radius: 12px; padding: 1rem; }
.vip-card h3 { margin: 0 0 .5rem; font-size: 1.125rem; color: var(--vip-text); }
.vip-card p { margin: 0; color: var(--vip-muted); }

/* Buttons */
.vip-btn { --_bg: transparent; --_fg: var(--vip-text); --_bd: var(--vip-outline); display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1rem; border-radius: 999px; border: 1px solid var(--_bd); color: var(--_fg); background: var(--_bg); text-decoration: none; cursor: pointer; transition: transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.vip-btn:hover { transform: translateY(-1px); }
.vip-btn:focus-visible { outline: 2px solid var(--vip-amber); outline-offset: 2px; }
.vip-btn--primary { --_bg: linear-gradient(135deg, var(--vip-gold), var(--vip-amber)); --_fg: #100c07; --_bd: transparent; font-weight: 700;  color: #100c07!important; }
.vip-btn--ghost { --_bg: rgba(255,255,255,0.02); }
.vip-btn--link { border-color: transparent; padding-left: 0; }

/* Inline CTA spacing */
.vip-cta-inline { margin-top: .75rem; }

/* Testimonials */
.vip-testimonial { background: #101015; border-left: 3px solid var(--vip-amber); border-radius: 8px; padding: 1rem; color: var(--vip-text); }
.vip-testimonial p { margin: 0 0 .75rem; color: var(--vip-text); }
.vip-testimonial footer { color: var(--vip-muted); font-size: .95rem; }

/* Booking form */
.vip-section--booking { position: relative; }
.vip-form { display: grid; gap: 1rem; }
.vip-form__row { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .vip-form__row { grid-template-columns: repeat(2, 1fr); } }
.vip-form__field { display: grid; gap: .35rem; }
.vip-form__field label { color: var(--vip-text); font-weight: 600; }
.vip-form__field input,
.vip-form__field select,
.vip-form__field textarea { background: #0f0f14; color: var(--vip-text); border: 1px solid var(--vip-outline); border-radius: 10px; padding: .65rem .8rem; }
.vip-form__field input::placeholder,
.vip-form__field textarea::placeholder { color: #9a9486; }
.vip-form__actions { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
.vip-form__status { min-height: 1.25rem; color: var(--vip-amber); font-weight: 600; }

/* Subtle separation */
.vip-section + .vip-section { box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); }
