/* ==========================================================================
   catering.css — Event Catering page: photographic hero, event types card,
   dark "what you get" section, multi-step request form, confirmation.
   ========================================================================== */

/* ---------- Hero: full-bleed photo, dark glass title panel ---------- */
.sk-cat-hero {
  position: relative; overflow: hidden; isolation: isolate; background: var(--sk-forest); color: var(--sk-rice);
  min-height: clamp(520px, calc(var(--sk-screen) + var(--sk-nav-h) - 1.5rem), 780px); display: flex; align-items: flex-end;
  padding: calc(var(--sk-nav-h) + 2rem) 0 clamp(1.5rem, 5vh, 3.5rem);
  border-radius: 0 0 var(--sk-radius-xl) var(--sk-radius-xl);
}
.sk-cat-hero__photo { position: absolute; inset: -5% 0; z-index: -2; }
.sk-cat-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.sk-cat-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(3, 30, 15, .55) 0%, rgba(3, 30, 15, 0) 28%), var(--sk-photo-shade-side);
}
.sk-cat-hero__panel { max-width: 38rem; border-radius: var(--sk-radius-xl); padding: clamp(1.4rem, 1rem + 2vw, 2.5rem); }
.sk-cat-hero h1 { font-size: var(--sk-display); line-height: .98; margin: .9rem 0 1rem; color: #fff; letter-spacing: -.02em; }
.sk-cat-hero .sk-lead { color: rgba(252, 251, 246, .88); margin: 0; }

/* ---------- Event types: photo + overlapping glass card ---------- */
.sk-cat-events { background: radial-gradient(800px 500px at 100% 100%, rgba(169, 199, 154, .35), transparent 60%), var(--sk-rice); }
.sk-cat-events__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.sk-cat-events__photo { grid-column: 1 / span 7; grid-row: 1; aspect-ratio: 4 / 4.4; max-height: calc(var(--sk-screen) - 4rem); }
.sk-cat-events__card {
  grid-column: 6 / span 7; grid-row: 1; position: relative; z-index: 1;
  border-radius: var(--sk-radius-xl); padding: clamp(1.4rem, 1rem + 1.8vw, 2.5rem);
}
.sk-cat-events__card h2 { margin: 0 0 .5rem; }
.sk-events { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 1.75rem; list-style: none; padding: 0; margin: 1.25rem 0 0; }
.sk-events li { display: flex; gap: .8rem; padding: .75rem 0; border-top: 1px solid rgba(23, 35, 27, .1); }
.sk-events i { font-size: 1.3rem; color: var(--sk-green); flex: 0 0 auto; margin-top: .1rem; }
.sk-events h3 { font-size: 1.1rem; margin: 0 0 .2rem; }
.sk-events p { margin: 0; color: var(--sk-ink-2); font-size: var(--sk-text-xs); line-height: 1.5; }

/* ---------- What you get: dark green with glass cards ---------- */
.sk-cat-why { color: var(--sk-rice); background: radial-gradient(800px 600px at 100% 0%, rgba(11, 106, 44, .7), transparent 65%), radial-gradient(600px 400px at 0% 100%, rgba(232, 169, 58, .12), transparent 70%), var(--sk-forest); }
.sk-cat-why .sk-lead { color: rgba(252, 251, 246, .8); }
.sk-cat-why__photo { aspect-ratio: 4 / 3; max-height: 34vh; }
.sk-cat-why__label { left: 1rem; bottom: 1rem; }
.sk-why { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.sk-why > div { padding: 1.2rem 1.3rem; border-radius: var(--sk-radius-lg); }
.sk-why h3 { font-size: 1.15rem; margin: .6rem 0 .3rem; }
.sk-why p { margin: 0; color: rgba(252, 251, 246, .78); font-size: var(--sk-text-sm); }
.sk-why i { font-size: 1.5rem; color: var(--sk-gold); }

/* ---------- Booking form ---------- */
.sk-booking { border-radius: var(--sk-radius-xl); }
.sk-booking:not(.sk-panel) { background: var(--sk-white); padding: clamp(1.5rem, 1rem + 3vw, 3.25rem); box-shadow: var(--sk-shadow-md); }
.sk-booking__progress { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0 0 2rem; }
.sk-booking__progress li {
  flex: 1; font-size: var(--sk-text-xs); font-weight: 700; color: var(--sk-ink-3);
  padding-top: .7rem; border-top: 4px solid var(--sk-line); transition: border-color var(--sk-medium), color var(--sk-medium);
}
.sk-booking__progress li.is-active, .sk-booking__progress li.is-done { color: var(--sk-green); border-color: var(--sk-green); }
.sk-booking__step legend { font-family: var(--sk-font-display); font-size: var(--sk-h3); margin-bottom: 1.5rem; }
.sk-booking__nav { display: flex; gap: .75rem; justify-content: space-between; margin-top: 1rem; }
.sk-booking__nav .sk-btn:last-child { margin-left: auto; }
/* JS enhancement: only one step visible at a time */
.js-steps .sk-booking__step:not(.is-current) { display: none; }
.js-steps .sk-booking__step.is-current { animation: sk-step-in var(--sk-medium) var(--sk-ease); }
@keyframes sk-step-in { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }
.no-js-only { display: block; }
.js-steps .no-js-only { display: none; }
.sk-booking__aside { position: sticky; top: calc(var(--sk-nav-h) + 1.5rem); }

/* ---------- Confirmation ---------- */
.sk-confirm { max-width: 640px; margin-inline: auto; }
.sk-confirm dl { display: grid; grid-template-columns: auto 1fr; gap: .55rem 1.25rem; margin: 0; font-size: var(--sk-text-sm); }
.sk-confirm dt { color: var(--sk-ink-3); font-weight: 600; }
.sk-confirm dd { margin: 0; font-weight: 600; }
.sk-ref { font-family: var(--sk-font-display); font-size: 1.6rem; color: var(--sk-green); letter-spacing: .02em; }
