:root {
  --vlep-ink: #14221d;
  --vlep-ink-soft: #435149;
  --vlep-forest: #143b2c;
  --vlep-forest-deep: #0c2a20;
  --vlep-sage: #86a68e;
  --vlep-cream: #f7f2e8;
  --vlep-paper: #fffdf8;
  --vlep-gold: #c69043;
  --vlep-coral: #b95d48;
  --vlep-line: rgba(20, 59, 44, .14);
  --vlep-shadow: 0 28px 80px rgba(19, 45, 35, .13);
  --vlep-display: "Bodoni 72", Didot, "Iowan Old Style", "Palatino Linotype", serif;
  --vlep-body: "Avenir Next", "Gill Sans Nova", "Trebuchet MS", sans-serif;
}

body.vlep-worldclass-page .wp-block-post-title {
  display: none;
}

body.vlep-worldclass-page {
  overflow-x: hidden;
  overflow-x: clip;
}

body.vlep-worldclass-page .wp-block-post-content {
  padding-right: 0;
  padding-left: 0;
}

/*
 * The production FlyCoffee Additional CSS targets every semantic <header>.
 * Keep that navigation rule from darkening or compressing booking headers.
 */
/* VLEP PRODUCTION HEADER SCOPE FIX - canonical source */
body.vlep-worldclass-page .entry-header {
  min-height: 0 !important;
  padding-top: 2rem !important;
  padding-bottom: 1.5rem !important;
  background-color: transparent !important;
}

body.vlep-worldclass-page .vlep-wc header {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}

body.vlep-worldclass-page .vlep-wc .vlep-wc__hero {
  padding-top: clamp(3.25rem, 6vw, 5.75rem) !important;
  padding-bottom: clamp(3.5rem, 6vw, 6rem) !important;
}

body.vlep-worldclass-page .vlep-wc header .vlep-wc__manage-link {
  color: var(--vlep-forest) !important;
}

body.vlep-worldclass-page .vlep-wc.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-block-start: 0;
  margin-block-end: 0;
}

.vlep-wc,
.vlep-wc * {
  box-sizing: border-box;
}

.vlep-wc {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  color: var(--vlep-ink);
  background:
    radial-gradient(circle at 12% 0%, rgba(198, 144, 67, .16), transparent 27rem),
    radial-gradient(circle at 98% 30%, rgba(134, 166, 142, .22), transparent 32rem),
    linear-gradient(160deg, #f9f5ed 0%, #f4efe5 52%, #fbf8f1 100%);
  font-family: var(--vlep-body);
  line-height: 1.5;
}

.vlep-wc button,
.vlep-wc input,
.vlep-wc textarea {
  font: inherit;
}

.vlep-wc button {
  color: inherit;
}

.vlep-wc svg {
  width: 1.15em;
  height: 1.15em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vlep-wc__ambient {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(198, 144, 67, .17);
  border-radius: 50%;
  pointer-events: none;
}

.vlep-wc__ambient--one {
  top: 14rem;
  left: -22rem;
  width: 46rem;
  height: 46rem;
}

.vlep-wc__ambient--two {
  top: 52rem;
  right: -15rem;
  width: 35rem;
  height: 35rem;
}

.vlep-wc__hero {
  max-width: 1340px;
  margin: 0 auto;
  padding: clamp(3.25rem, 6vw, 5.75rem) clamp(1.25rem, 4vw, 4rem) clamp(3.5rem, 6vw, 6rem);
  text-align: center;
}

.vlep-wc__brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  margin-bottom: .55rem;
  color: var(--vlep-forest-deep);
}

.vlep-wc__brand img {
  width: auto;
  height: clamp(4.2rem, 7vw, 6.4rem);
  object-fit: contain;
}

.vlep-wc__brand div {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding-left: .9rem;
  border-left: 1px solid rgba(198, 144, 67, .55);
  text-align: left;
}

.vlep-wc__brand strong {
  font-family: var(--vlep-display);
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.025em;
}

.vlep-wc__brand span {
  margin-top: .4rem;
  color: var(--vlep-gold);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.vlep-wc__eyebrow,
.vlep-wc__section-head > span,
.vlep-wc__subhead > div > span {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--vlep-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.vlep-wc__eyebrow span {
  width: 2.5rem;
  height: 1px;
  background: currentColor;
}

.vlep-wc__hero h1 {
  max-width: 920px;
  margin: 1.1rem auto 1.4rem;
  color: var(--vlep-forest-deep);
  font-family: var(--vlep-display);
  font-size: clamp(3.25rem, 7vw, 7.7rem);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
}

.vlep-wc__hero h1 em,
.vlep-wc__section-head h2 em,
.vlep-wc__success h2 em {
  color: var(--vlep-gold);
  font-weight: 400;
}

.vlep-wc__hero > p {
  max-width: 610px;
  margin: 0 auto;
  color: var(--vlep-ink-soft);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.vlep-wc__hero-meta {
  display: flex;
  justify-content: center;
  gap: 1.75rem;
  margin-top: 2.25rem;
  color: var(--vlep-forest);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vlep-wc__hero-meta span {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}

.vlep-wc__hero-meta span:not(:last-child)::after {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--vlep-gold);
  content: "";
}

.vlep-wc__manage-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  padding: .72rem 1.1rem;
  border: 1px solid rgba(31, 90, 70, .24);
  border-radius: 999px;
  color: var(--vlep-forest);
  background: rgba(255, 255, 255, .62);
  box-shadow: 0 .75rem 2rem rgba(23, 32, 28, .08);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .025em;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.vlep-wc__manage-link:hover,
.vlep-wc__manage-link:focus-visible {
  transform: translateY(-2px);
  border-color: var(--vlep-gold);
  color: var(--vlep-forest);
  background: #fff;
}

.vlep-wc__shell {
  width: min(1440px, calc(100% - clamp(1rem, 4vw, 4rem)));
  margin: 0 auto clamp(5rem, 10vw, 10rem);
}

.vlep-wc__app {
  min-height: 46rem;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 2rem;
  background: rgba(255, 253, 248, .9);
  box-shadow: var(--vlep-shadow);
  backdrop-filter: blur(16px);
}

.vlep-wc__loading,
.vlep-wc__fatal {
  display: flex;
  min-height: 44rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .6rem;
  padding: 3rem;
  text-align: center;
}

.vlep-wc__loading strong,
.vlep-wc__fatal h2 {
  margin-top: 1rem;
  color: var(--vlep-forest);
  font-family: var(--vlep-display);
  font-size: 2rem;
  font-weight: 400;
}

.vlep-wc__loading small,
.vlep-wc__fatal p {
  color: var(--vlep-ink-soft);
}

.vlep-wc__loader,
.vlep-wc__button-loader {
  width: 2.25rem;
  height: 2.25rem;
  border: 2px solid rgba(20, 59, 44, .14);
  border-top-color: var(--vlep-gold);
  border-radius: 50%;
  animation: vlep-spin .85s linear infinite;
}

@keyframes vlep-spin {
  to { transform: rotate(360deg); }
}

.vlep-wc__progress {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding: 1.35rem clamp(1rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--vlep-line);
  background: rgba(247, 242, 232, .58);
}

.vlep-wc__progress-step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-width: 0;
  padding: .35rem;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.vlep-wc__progress-step::before,
.vlep-wc__progress-step::after {
  position: absolute;
  top: 50%;
  width: calc(50% - 1.6rem);
  height: 1px;
  background: var(--vlep-line);
  content: "";
}

.vlep-wc__progress-step::before { left: 0; }
.vlep-wc__progress-step::after { right: 0; }
.vlep-wc__progress-step:first-child::before,
.vlep-wc__progress-step:last-child::after { display: none; }

.vlep-wc__progress-step > span {
  z-index: 1;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--vlep-line);
  border-radius: 50%;
  background: var(--vlep-paper);
  color: #7c867f;
  font-size: .72rem;
  font-weight: 800;
}

.vlep-wc__progress-step small {
  color: #778078;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.vlep-wc__progress-step.is-current > span,
.vlep-wc__progress-step.is-complete > span {
  border-color: var(--vlep-forest);
  background: var(--vlep-forest);
  color: white;
}

.vlep-wc__progress-step.is-current small,
.vlep-wc__progress-step.is-complete small {
  color: var(--vlep-forest);
}

.vlep-wc__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  align-items: start;
}

.vlep-wc__stage {
  min-width: 0;
  padding: clamp(2rem, 5vw, 5rem);
}

.vlep-wc__summary {
  position: sticky;
  top: 1rem;
  min-height: 40rem;
  margin: 1.15rem 1.15rem 1.15rem 0;
  padding: 2rem;
  border-radius: 1.4rem;
  background:
    linear-gradient(160deg, rgba(255, 255, 255, .05), transparent 40%),
    var(--vlep-forest-deep);
  color: #fff;
  box-shadow: 0 18px 44px rgba(12, 42, 32, .2);
}

.vlep-wc__summary-top,
.vlep-wc__summary-lines > div,
.vlep-wc__summary-total,
.vlep-wc__minimum > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.vlep-wc__summary-top {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: #d7e0d9;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.vlep-wc__summary-top small { color: #8fac9a; font-size: .63rem; }

.vlep-wc__summary-event {
  padding: 1.65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.vlep-wc__summary-event small {
  color: #cfa665;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.vlep-wc__summary-event h3 {
  margin: .25rem 0 .45rem;
  color: white;
  font-family: var(--vlep-display);
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.05;
}

.vlep-wc__summary-event p {
  margin: 0;
  color: #aebdb3;
  font-size: .78rem;
}

.vlep-wc__summary-lines {
  padding: 1.5rem 0 1.2rem;
}

.vlep-wc__summary-lines > div {
  margin-bottom: .75rem;
  color: #b8c4bc;
  font-size: .78rem;
}

.vlep-wc__summary-lines strong {
  color: #f6f0e7;
  font-size: .78rem;
}

.vlep-wc__summary-lines .is-saving strong { color: #a8d8b8; }

.vlep-wc__summary-total {
  padding: 1.1rem 0;
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.vlep-wc__summary-total span { font-size: .8rem; font-weight: 700; }
.vlep-wc__summary-total strong {
  color: #f6d39c;
  font-family: var(--vlep-display);
  font-size: 2rem;
  font-weight: 400;
}

.vlep-wc__minimum {
  padding: 1.4rem 0 1rem;
}

.vlep-wc__minimum > div:first-child {
  color: #b8c4bc;
  font-size: .72rem;
}

.vlep-wc__minimum > div:first-child strong { color: #fff; }

.vlep-wc__minimum-track {
  height: 5px;
  margin: .75rem 0 .55rem;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255, 255, 255, .12);
}

.vlep-wc__minimum-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vlep-gold), #e7c78f);
  transition: width .35s ease;
}

.vlep-wc__minimum small { color: #91a698; font-size: .68rem; }

.vlep-wc__completion {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: .7rem;
  padding: .8rem .9rem;
  border: 1px solid rgba(236, 181, 93, .3);
  border-radius: .8rem;
  background: rgba(198, 144, 67, .11);
  color: #f0c987;
  font-size: .72rem;
  font-weight: 700;
}

.vlep-wc__completion.is-complete {
  border-color: rgba(129, 195, 153, .28);
  background: rgba(94, 157, 116, .12);
  color: #a7d4b6;
}

.vlep-wc__summary-note {
  margin: 1.25rem 0 0;
  color: #84978b;
  font-size: .65rem;
}

.vlep-wc__section-head {
  max-width: 740px;
  margin-bottom: 2.5rem;
}

.vlep-wc__section-head h2,
.vlep-wc__success h2 {
  margin: .6rem 0 .75rem;
  color: var(--vlep-forest-deep);
  font-family: var(--vlep-display);
  font-size: clamp(2.5rem, 4.5vw, 4.65rem);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.04em;
}

.vlep-wc__section-head p {
  max-width: 620px;
  margin: 0;
  color: var(--vlep-ink-soft);
  font-size: .96rem;
}

.vlep-wc__choice-grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.vlep-wc__choice-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.vlep-wc__choice {
  position: relative;
  display: flex;
  min-height: 8rem;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.45rem;
  border: 1px solid var(--vlep-line);
  border-radius: 1rem;
  background: var(--vlep-paper);
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vlep-wc__choice:hover,
.vlep-wc__choice.is-selected {
  transform: translateY(-2px);
  border-color: var(--vlep-forest);
  box-shadow: 0 12px 28px rgba(20, 59, 44, .08);
}

.vlep-wc__choice-check {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid var(--vlep-line);
  border-radius: 50%;
  color: white;
}

.vlep-wc__choice.is-selected .vlep-wc__choice-check {
  border-color: var(--vlep-forest);
  background: var(--vlep-forest);
}

.vlep-wc__choice strong { margin: .65rem 0 .25rem; color: var(--vlep-forest); font-size: 1rem; }
.vlep-wc__choice small { max-width: 85%; color: var(--vlep-ink-soft); font-size: .78rem; }

.vlep-wc__outlets { margin-top: 1.8rem; }

.vlep-wc__outlet {
  position: relative;
  min-height: 11rem;
  overflow: hidden;
  padding: 1.5rem;
  border: 0;
  border-radius: 1rem;
  background:
    linear-gradient(145deg, rgba(12, 42, 32, .35), rgba(12, 42, 32, .86)),
    radial-gradient(circle at 100% 0, #8eaa94, var(--vlep-forest));
  color: white;
  text-align: left;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

.vlep-wc button.vlep-wc__outlet { color: white; }

.vlep-wc__outlet.has-photo {
  background-position: center;
  background-size: cover;
}

.vlep-wc__outlet:nth-child(2) {
  background:
    linear-gradient(145deg, rgba(54, 35, 19, .16), rgba(62, 41, 21, .8)),
    radial-gradient(circle at 100% 0, #cba06b, #5b4631);
}

.vlep-wc__outlet:hover,
.vlep-wc__outlet.is-selected {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(20, 42, 33, .16);
}

.vlep-wc__outlet.is-selected::after {
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: .75rem;
  content: "";
}

.vlep-wc__outlet > span,
.vlep-wc__outlet strong,
.vlep-wc__outlet small { position: relative; z-index: 1; text-shadow: 0 2px 18px rgba(0, 0, 0, .55); }
.vlep-wc__outlet > span { font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; opacity: .86; }
.vlep-wc__outlet strong { display: block; margin-top: 2.8rem; font-family: var(--vlep-display); font-size: 2rem; font-weight: 400; }
.vlep-wc__outlet small { display: block; max-width: 80%; color: rgba(255, 255, 255, .9); font-size: .72rem; }

.vlep-wc__field-grid {
  display: grid;
  gap: 1rem;
  margin: 1.8rem 0 2.5rem;
}

.vlep-wc__field-grid--four { grid-template-columns: 1.4fr 1fr 1fr .75fr; }

.vlep-wc__field {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  color: var(--vlep-ink-soft);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.vlep-wc__field input,
.vlep-wc__field textarea {
  width: 100%;
  min-height: 3.2rem;
  padding: .8rem .9rem;
  border: 1px solid var(--vlep-line);
  border-radius: .75rem;
  outline: none;
  background: var(--vlep-paper);
  color: var(--vlep-ink);
  font-size: .88rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.vlep-wc__field textarea { resize: vertical; }

.vlep-wc__field input:focus,
.vlep-wc__field textarea:focus {
  border-color: var(--vlep-gold);
  box-shadow: 0 0 0 3px rgba(198, 144, 67, .12);
}

.vlep-wc__subhead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin: 2.4rem 0 1rem;
}

.vlep-wc__subhead h3 {
  margin: .15rem 0 0;
  color: var(--vlep-forest);
  font-family: var(--vlep-display);
  font-size: 1.75rem;
  font-weight: 400;
}

.vlep-wc__subhead > small {
  color: var(--vlep-ink-soft);
  font-size: .7rem;
  font-weight: 700;
}

.vlep-wc__space-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.vlep-wc__space {
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--vlep-line);
  border-radius: 1rem;
  background: var(--vlep-paper);
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.vlep-wc__space:hover,
.vlep-wc__space.is-selected {
  transform: translateY(-2px);
  border-color: var(--vlep-forest);
  box-shadow: 0 12px 28px rgba(20, 59, 44, .08);
}

.vlep-wc__space-image {
  position: relative;
  display: grid;
  height: 8.7rem;
  place-items: center;
  background-position: center;
  background-size: cover;
}

.vlep-wc__space-image:not(.vlep-wc__space-image--fallback)::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 37, 28, .02), rgba(10, 37, 28, .22));
  content: "";
}

.vlep-wc__space-image--fallback {
  background:
    radial-gradient(circle at 80% 0%, rgba(198, 144, 67, .35), transparent 45%),
    linear-gradient(145deg, #6f8a78, #173c2e);
}

.vlep-wc__space-image--fallback span {
  color: rgba(255, 255, 255, .7);
  font-family: var(--vlep-display);
  font-size: 2.6rem;
}

.vlep-wc__space-body { position: relative; padding: 1.2rem; }
.vlep-wc__space-body h4 { margin: .45rem 0 .25rem; color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 1.35rem; font-weight: 400; }
.vlep-wc__space-body p { min-height: 2.4rem; margin: 0 0 .8rem; color: var(--vlep-ink-soft); font-size: .72rem; }
.vlep-wc__space-body > div:last-child { display: flex; justify-content: space-between; gap: .7rem; color: var(--vlep-forest); font-size: .67rem; font-weight: 700; }
.vlep-wc__space-body > div:last-child span { display: flex; align-items: center; gap: .3rem; }

.vlep-wc__availability-badge {
  display: inline-flex;
  padding: .25rem .5rem;
  border-radius: 999px;
  background: #f0eee8;
  color: #7b837e;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.vlep-wc__availability-badge.is-open { background: #e6f1e8; color: #39734d; }
.vlep-wc__availability-badge.is-closed { background: #f7e6e1; color: #9a493a; }

.vlep-wc__availability-panel {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--vlep-line);
  border-radius: .9rem;
  background: rgba(255, 253, 248, .7);
  color: var(--vlep-ink-soft);
  font-size: .76rem;
}

.vlep-wc__availability-panel > svg { width: 1.5rem; height: 1.5rem; flex: 0 0 auto; }
.vlep-wc__availability-panel strong { display: block; color: var(--vlep-forest); }
.vlep-wc__availability-panel span { display: block; }
.vlep-wc__availability-panel.is-open { border-color: rgba(74, 135, 94, .25); background: #f2f8f2; color: #4e735b; }
.vlep-wc__availability-panel.is-closed { border-color: rgba(185, 93, 72, .27); background: #fcf1ee; color: #925242; }

.vlep-wc__pulse {
  width: .65rem;
  height: .65rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--vlep-gold);
  box-shadow: 0 0 0 rgba(198, 144, 67, .4);
  animation: vlep-pulse 1.5s infinite;
}

@keyframes vlep-pulse {
  70% { box-shadow: 0 0 0 8px rgba(198, 144, 67, 0); }
  100% { box-shadow: 0 0 0 0 rgba(198, 144, 67, 0); }
}

.vlep-wc__package-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.vlep-wc__package {
  position: relative;
  min-height: 23rem;
  padding: 1.7rem;
  overflow: hidden;
  border: 1px solid var(--vlep-line);
  border-radius: 1.2rem;
  background: var(--vlep-paper);
  text-align: left;
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.vlep-wc__package:hover,
.vlep-wc__package.is-selected {
  transform: translateY(-3px);
  border-color: var(--vlep-forest);
  box-shadow: 0 16px 34px rgba(20, 59, 44, .1);
}

.vlep-wc__package.is-featured {
  background:
    radial-gradient(circle at 100% 0%, rgba(198, 144, 67, .2), transparent 45%),
    var(--vlep-paper);
}

.vlep-wc__package.is-selected::after {
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(20, 59, 44, .23);
  border-radius: .9rem;
  content: "";
  pointer-events: none;
}

.vlep-wc__package-index {
  color: rgba(20, 59, 44, .18);
  font-family: var(--vlep-display);
  font-size: 2.8rem;
}

.vlep-wc__popular {
  position: absolute;
  top: 1.15rem;
  right: 1.15rem;
  padding: .35rem .55rem;
  border-radius: 99px;
  background: var(--vlep-gold);
  color: white;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vlep-wc__package h3 { margin: .2rem 0 .3rem; color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 2rem; font-weight: 400; }
.vlep-wc__package > p { min-height: 2.4rem; margin: 0; color: var(--vlep-ink-soft); font-size: .72rem; }
.vlep-wc__price { display: flex; align-items: baseline; gap: .35rem; margin: 1.2rem 0; }
.vlep-wc__price strong { color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 2.3rem; font-weight: 400; }
.vlep-wc__price span { color: #7d877f; font-size: .65rem; }
.vlep-wc__package ul { display: grid; gap: .45rem; margin: 0 0 1.3rem; padding: 0; list-style: none; }
.vlep-wc__package li { display: flex; align-items: center; gap: .45rem; color: var(--vlep-ink-soft); font-size: .7rem; }
.vlep-wc__package li svg { color: var(--vlep-gold); }
.vlep-wc__select-label { position: absolute; right: 1.7rem; bottom: 1.5rem; color: var(--vlep-forest); font-size: .67rem; font-weight: 800; text-transform: uppercase; }

.vlep-wc__rule-note,
.vlep-wc__menu-mode {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1.15rem 1.3rem;
  border: 1px solid rgba(198, 144, 67, .24);
  border-radius: .9rem;
  background: rgba(198, 144, 67, .07);
}

.vlep-wc__rule-note strong { color: var(--vlep-forest); font-size: .75rem; white-space: nowrap; }
.vlep-wc__rule-note span { color: var(--vlep-ink-soft); font-size: .72rem; }
.vlep-wc__menu-mode > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: var(--vlep-forest); color: white; }
.vlep-wc__menu-mode strong { color: var(--vlep-forest); }
.vlep-wc__menu-mode p { margin: .2rem 0 0; color: var(--vlep-ink-soft); font-size: .78rem; }

.vlep-wc__dal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
  padding: 1.2rem;
  border-radius: 1rem;
  background: var(--vlep-forest);
  color: white;
}

.vlep-wc__dal > div:first-child span { display: block; color: #d9b675; font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.vlep-wc__dal > div:first-child strong { display: block; margin: .1rem 0; font-family: var(--vlep-display); font-size: 1.35rem; font-weight: 400; }
.vlep-wc__dal > div:first-child small { display: block; color: #adc0b3; font-size: .65rem; }
.vlep-wc__dal > div:last-child { display: flex; gap: .55rem; }
.vlep-wc__dal button { padding: .65rem .85rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: .65rem; background: transparent; color: #d6e1da; font-size: .7rem; cursor: pointer; }
.vlep-wc__dal button.is-selected { border-color: var(--vlep-gold); background: var(--vlep-gold); color: white; }

.vlep-wc__menu-tabs {
  display: flex;
  gap: .35rem;
  overflow-x: auto;
  padding: .35rem;
  border-radius: .9rem;
  background: #eeeadf;
  scrollbar-width: none;
}

.vlep-wc__menu-tabs::-webkit-scrollbar { display: none; }

.vlep-wc__menu-tab {
  min-width: 7.5rem;
  padding: .65rem .75rem;
  border: 0;
  border-radius: .65rem;
  background: transparent;
  color: #66736b;
  cursor: pointer;
}

.vlep-wc__menu-tab span,
.vlep-wc__menu-tab small { display: block; }
.vlep-wc__menu-tab span { font-size: .72rem; font-weight: 800; }
.vlep-wc__menu-tab small { margin-top: .1rem; font-size: .58rem; }
.vlep-wc__menu-tab.is-active { background: var(--vlep-paper); color: var(--vlep-forest); box-shadow: 0 5px 14px rgba(20, 59, 44, .06); }

.vlep-wc__menu-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.2rem 0 .8rem;
}

.vlep-wc__menu-search {
  display: flex;
  min-width: min(17rem, 100%);
  flex-direction: column;
  gap: .25rem;
  color: var(--vlep-ink-soft);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.vlep-wc__menu-search input {
  min-height: 2.4rem;
  padding: .55rem .75rem;
  border: 1px solid var(--vlep-line);
  border-radius: .65rem;
  outline: none;
  background: var(--vlep-paper);
  color: var(--vlep-ink);
  font-size: .72rem;
  letter-spacing: 0;
  text-transform: none;
}

.vlep-wc__menu-search input:focus {
  border-color: var(--vlep-gold);
  box-shadow: 0 0 0 3px rgba(198, 144, 67, .12);
}

.vlep-wc__menu-toolbar > div:first-child strong,
.vlep-wc__menu-toolbar > div:first-child span { display: block; }
.vlep-wc__menu-toolbar > div:first-child strong { color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 1.5rem; font-weight: 400; }
.vlep-wc__menu-toolbar > div:first-child span { color: var(--vlep-ink-soft); font-size: .65rem; }
.vlep-wc__filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem; }
.vlep-wc__filters button { padding: .35rem .55rem; border: 1px solid var(--vlep-line); border-radius: 99px; background: transparent; color: var(--vlep-ink-soft); font-size: .58rem; font-weight: 700; text-transform: capitalize; cursor: pointer; }
.vlep-wc__filters button.is-active { border-color: var(--vlep-forest); background: var(--vlep-forest); color: white; }

.vlep-wc__dish-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.vlep-wc__menu-empty {
  grid-column: 1 / -1;
  display: flex;
  min-height: 10rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .3rem;
  border: 1px dashed var(--vlep-line);
  border-radius: .9rem;
  color: var(--vlep-ink-soft);
  text-align: center;
}

.vlep-wc__menu-empty strong { color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 1.35rem; font-weight: 400; }
.vlep-wc__menu-empty span { font-size: .7rem; }

.vlep-wc__dish {
  overflow: hidden;
  border: 1px solid var(--vlep-line);
  border-radius: .9rem;
  background: var(--vlep-paper);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.vlep-wc__dish.is-selected { border-color: var(--vlep-forest); box-shadow: 0 8px 20px rgba(20, 59, 44, .07); }
.vlep-wc__dish.is-blocked { opacity: .55; }
.vlep-wc__dish-select { display: grid; width: 100%; grid-template-columns: 4rem 1fr auto; align-items: center; gap: .8rem; padding: .65rem; border: 0; background: transparent; text-align: left; cursor: pointer; }
.vlep-wc__dish-select:disabled { cursor: not-allowed; }
.vlep-wc__dish-image { position: relative; display: grid; width: 4rem; height: 4rem; overflow: hidden; place-items: center; border-radius: .65rem; background: linear-gradient(145deg, #dce6dc, #bdcfbf); }
.vlep-wc__dish-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vlep-wc__dish-monogram { color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 1.5rem; }
.vlep-wc__dish-copy { min-width: 0; }
.vlep-wc__dish-copy small { display: block; color: var(--vlep-gold); font-size: .53rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vlep-wc__dish-copy strong { display: block; overflow: hidden; color: var(--vlep-forest); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.vlep-wc__dish-copy em { display: -webkit-box; overflow: hidden; color: var(--vlep-ink-soft); font-size: .62rem; font-style: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.vlep-wc__dish-action { display: grid; min-width: 1.65rem; min-height: 1.65rem; place-items: center; border: 1px solid var(--vlep-line); border-radius: 50%; color: var(--vlep-forest); font-size: .7rem; }
.vlep-wc__dish.is-selected .vlep-wc__dish-action { border-color: var(--vlep-forest); background: var(--vlep-forest); color: white; }
.vlep-wc__dish.is-blocked .vlep-wc__dish-action { width: auto; padding: 0 .45rem; border-radius: 99px; color: var(--vlep-coral); white-space: nowrap; }
.vlep-wc__dish footer { display: flex; min-height: 2.2rem; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem .7rem; border-top: 1px solid var(--vlep-line); color: var(--vlep-ink-soft); font-size: .6rem; }
.vlep-wc__dish footer label { display: flex; align-items: center; gap: .35rem; }
.vlep-wc__dish footer input { width: 3.2rem; padding: .25rem; border: 1px solid var(--vlep-line); border-radius: .35rem; }

.vlep-wc__addon-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.vlep-wc__addon {
  display: flex;
  gap: .85rem;
  padding: 1.15rem;
  border: 1px solid var(--vlep-line);
  border-radius: .9rem;
  background: var(--vlep-paper);
  text-align: left;
  cursor: pointer;
}

.vlep-wc__addon > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--vlep-line);
  border-radius: 50%;
  color: var(--vlep-forest);
}

.vlep-wc__addon.is-selected { border-color: var(--vlep-forest); }
.vlep-wc__addon.is-selected > span { border-color: var(--vlep-forest); background: var(--vlep-forest); color: white; }
.vlep-wc__addon small { display: block; color: var(--vlep-gold); font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.vlep-wc__addon strong { display: block; margin: .15rem 0; color: var(--vlep-forest); font-size: .85rem; }
.vlep-wc__addon p { margin: 0 0 .45rem; color: var(--vlep-ink-soft); font-size: .65rem; }
.vlep-wc__addon em { color: var(--vlep-forest); font-size: .68rem; font-style: normal; font-weight: 800; }

.vlep-wc__promo-grid { display: grid; gap: .85rem; }
.vlep-wc__promo { display: grid; grid-template-columns: 11rem 1fr; overflow: hidden; border: 1px solid var(--vlep-line); border-radius: 1rem; background: var(--vlep-paper); }
.vlep-wc__promo-image { display: flex; min-height: 9rem; align-items: end; padding: .9rem; background: linear-gradient(145deg, #b88745, #543a20); background-position: center; background-size: cover; }
.vlep-wc__promo-image span { padding: .25rem .5rem; border-radius: 99px; background: white; color: var(--vlep-forest); font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.vlep-wc__promo > div:last-child { padding: 1.1rem; }
.vlep-wc__promo small { color: var(--vlep-gold); font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.vlep-wc__promo h4 { margin: .12rem 0 .3rem; color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 1.35rem; font-weight: 400; }
.vlep-wc__promo p { margin: 0 0 .6rem; color: var(--vlep-ink-soft); font-size: .68rem; }
.vlep-wc__promo button { padding: .45rem .7rem; border: 0; border-radius: .45rem; background: var(--vlep-forest); color: white; font-size: .62rem; font-weight: 800; cursor: pointer; }

.vlep-wc__concierge {
  margin-top: 2rem;
  padding: 1.4rem;
  border-radius: 1.1rem;
  background:
    radial-gradient(circle at 95% 0, rgba(198, 144, 67, .24), transparent 40%),
    var(--vlep-forest-deep);
  color: white;
}

.vlep-wc__concierge > div:first-child { display: flex; align-items: center; gap: 1rem; }
.vlep-wc__concierge > div:first-child > span { display: grid; width: 3.1rem; height: 3.1rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .09); color: #e9c382; }
.vlep-wc__concierge small { color: #d6ad6a; font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vlep-wc__concierge h3 { margin: .1rem 0; color: white; font-family: var(--vlep-display); font-size: 1.45rem; font-weight: 400; }
.vlep-wc__concierge p { margin: 0; color: #aabdaf; font-size: .68rem; }
.vlep-wc__concierge > button { margin-top: 1rem; padding: .65rem .9rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: .65rem; background: white; color: var(--vlep-forest); font-size: .68rem; font-weight: 800; cursor: pointer; }
.vlep-wc__guidance { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.vlep-wc__guidance p { display: flex; width: 100%; gap: .55rem; color: #d3ddd6; }
.vlep-wc__guidance p svg { flex: 0 0 auto; color: #dbb573; }
.vlep-wc__guidance button { padding: .45rem .65rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: .5rem; background: transparent; color: #f0d5a7; font-size: .62rem; cursor: pointer; }

.vlep-wc__review-card { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.vlep-wc__review-card > div { padding: 1.25rem; border: 1px solid var(--vlep-line); border-radius: .9rem; background: var(--vlep-paper); }
.vlep-wc__review-card small { color: var(--vlep-gold); font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vlep-wc__review-card h3 { margin: .25rem 0; color: var(--vlep-forest); font-family: var(--vlep-display); font-size: 1.5rem; font-weight: 400; }
.vlep-wc__review-card p { margin: 0; color: var(--vlep-ink-soft); font-size: .68rem; }

.vlep-wc__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.vlep-wc__field--wide,
.vlep-wc__consent,
.vlep-wc__submit { grid-column: 1 / -1; }
.vlep-wc__consent { display: flex; align-items: flex-start; gap: .7rem; color: var(--vlep-ink-soft); font-size: .7rem; }
.vlep-wc__consent input { margin-top: .2rem; accent-color: var(--vlep-forest); }
.vlep-wc__consent--marketing {
  padding: .85rem 1rem;
  border: 1px solid rgba(20, 59, 44, .13);
  border-radius: 1rem;
  background: rgba(134, 166, 142, .08);
}
.vlep-wc__submit,
.vlep-wc__next,
.vlep-wc__success button,
.vlep-wc__fatal button {
  display: inline-flex;
  min-height: 3.2rem;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .8rem 1.2rem;
  border: 0;
  border-radius: .7rem;
  background: var(--vlep-forest);
  color: white;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}

.vlep-wc__submit:hover,
.vlep-wc__next:hover,
.vlep-wc__success button:hover { transform: translateY(-2px); background: #1c4d39; }
.vlep-wc__submit:disabled { opacity: .65; cursor: wait; }
.vlep-wc__button-loader { width: 1.2rem; height: 1.2rem; border-color: rgba(255, 255, 255, .25); border-top-color: white; }

.vlep-wc__navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--vlep-line);
}

.vlep-wc__back { display: inline-flex; align-items: center; gap: .45rem; padding: .7rem 0; border: 0; background: transparent; color: var(--vlep-ink-soft); font-size: .72rem; font-weight: 800; cursor: pointer; }
.vlep-wc__next { min-width: 9rem; }

.vlep-wc__alert {
  display: flex;
  gap: .7rem;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(198, 144, 67, .25);
  border-radius: .75rem;
  background: #fff8eb;
  color: #805e2c;
  font-size: .72rem;
}

.vlep-wc__alert strong { white-space: nowrap; }
.vlep-wc__alert--error { border-color: rgba(185, 93, 72, .24); background: #fff1ee; color: #8d493b; }

.vlep-wc__success {
  max-width: 850px;
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 7rem) 2rem;
  text-align: center;
}

.vlep-wc__success-mark {
  display: grid;
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--vlep-forest);
  color: white;
  box-shadow: 0 0 0 10px rgba(20, 59, 44, .08);
}

.vlep-wc__success > span { color: var(--vlep-gold); font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.vlep-wc__success > p { max-width: 620px; margin: 0 auto 1.8rem; color: var(--vlep-ink-soft); }
.vlep-wc__success-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 1.5rem; text-align: left; }
.vlep-wc__success-grid > div { padding: 1.2rem; border: 1px solid var(--vlep-line); border-radius: .8rem; background: var(--vlep-paper); }
.vlep-wc__success-grid small,
.vlep-wc__success-grid strong { display: block; }
.vlep-wc__success-grid small { color: var(--vlep-gold); font-size: .56rem; font-weight: 800; text-transform: uppercase; }
.vlep-wc__success-grid strong { margin-top: .25rem; color: var(--vlep-forest); }
.vlep-wc__payment-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .65rem; }
.vlep-wc__success button.is-secondary { border: 1px solid var(--vlep-line); background: transparent; color: var(--vlep-forest); }
.vlep-wc__secure { display: flex; align-items: center; justify-content: center; gap: .35rem; margin-top: 1rem; color: #738078; font-size: .62rem; }

.vlep-wc__mobile-summary { display: none; }
.vlep-wc__noscript { margin: 1rem; padding: 1rem; border: 1px solid #e7b2a6; background: #fff1ee; color: #8d493b; }

@media (max-width: 1080px) {
  .vlep-wc__workspace { grid-template-columns: minmax(0, 1fr) 310px; }
  .vlep-wc__summary { padding: 1.5rem; }
  .vlep-wc__stage { padding: 2.5rem; }
  .vlep-wc__field-grid--four { grid-template-columns: repeat(2, 1fr); }
  .vlep-wc__dish-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  body.vlep-worldclass-page .vlep-wc.alignfull {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
  .vlep-wc { overflow: visible; }
  .vlep-wc__ambient { display: none; }
  body.vlep-worldclass-page .vlep-wc .vlep-wc__hero { padding-top: 2.75rem !important; }
  .vlep-wc__brand { gap: .65rem; }
  .vlep-wc__brand img { height: 4.5rem; }
  .vlep-wc__brand div { padding-left: .65rem; }
  .vlep-wc__hero h1 { font-size: clamp(3.1rem, 14vw, 5.8rem); }
  .vlep-wc__hero-meta { gap: .75rem; }
  .vlep-wc__hero-meta span { gap: .75rem; font-size: .62rem; }
  .vlep-wc__shell { width: calc(100% - 1rem); margin-bottom: 6.5rem; }
  .vlep-wc__app { border-radius: 1.25rem; }
  .vlep-wc__progress { padding: .9rem .6rem; }
  .vlep-wc__progress-step { flex-direction: column; gap: .22rem; }
  .vlep-wc__progress-step::before,
  .vlep-wc__progress-step::after { top: 1.15rem; width: calc(50% - 1.25rem); }
  .vlep-wc__progress-step small { font-size: .55rem; }
  .vlep-wc__workspace { display: block; }
  .vlep-wc__stage { padding: 2rem 1.1rem 7rem; }
  .vlep-wc__navigation { position: relative; z-index: 100004; }
  .vlep-wc__summary {
    position: fixed;
    z-index: 100002;
    inset: auto .5rem 4.9rem;
    display: none;
    max-height: calc(100vh - 6rem);
    min-height: 0;
    overflow-y: auto;
    margin: 0;
    box-shadow: 0 -20px 70px rgba(0, 0, 0, .28);
  }
  .vlep-wc__summary.is-mobile-open { display: block; animation: vlep-rise .25s ease both; }
  @keyframes vlep-rise { from { opacity: 0; transform: translateY(1rem); } }
  .vlep-wc__mobile-summary {
    position: fixed;
    z-index: 100003;
    right: .5rem;
    bottom: .5rem;
    left: .5rem;
    display: flex;
    min-height: 4rem;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1rem;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: .85rem;
    background: var(--vlep-forest-deep);
    color: white;
    box-shadow: 0 12px 38px rgba(12, 42, 32, .32);
  }
  .vlep-wc__mobile-summary span { text-align: left; }
  .vlep-wc__mobile-summary small,
  .vlep-wc__mobile-summary strong { display: block; }
  .vlep-wc__mobile-summary small { color: #9bb0a2; font-size: .55rem; text-transform: uppercase; }
  .vlep-wc__mobile-summary strong { color: #f1cc8e; font-family: var(--vlep-display); font-size: 1.4rem; font-weight: 400; }
  .vlep-wc__mobile-summary em { display: flex; align-items: center; gap: .35rem; color: #d6dfd8; font-size: .64rem; font-style: normal; font-weight: 800; }
  .vlep-wc__choice-grid--two,
  .vlep-wc__space-grid,
  .vlep-wc__package-grid,
  .vlep-wc__addon-grid,
  .vlep-wc__review-card,
  .vlep-wc__success-grid { grid-template-columns: 1fr; }
  .vlep-wc__outlet { min-height: 9.5rem; }
  .vlep-wc__outlet strong { margin-top: 2rem; }
  .vlep-wc__package { min-height: 21rem; }
  .vlep-wc__rule-note,
  .vlep-wc__dal { align-items: flex-start; flex-direction: column; }
  .vlep-wc__dal > div:last-child { width: 100%; }
  .vlep-wc__dal button { flex: 1; }
  .vlep-wc__menu-toolbar { align-items: flex-start; flex-direction: column; }
  .vlep-wc__menu-search { width: 100%; }
  .vlep-wc__filters { justify-content: flex-start; }
  .vlep-wc__promo { grid-template-columns: 8rem 1fr; }
}

@media (max-width: 540px) {
  .vlep-wc__brand img { height: 3.8rem; }
  .vlep-wc__brand strong { font-size: 1.65rem; }
  .vlep-wc__brand span { font-size: .52rem; }
  .vlep-wc__hero-meta span:not(:last-child)::after { display: none; }
  .vlep-wc__hero-meta { flex-wrap: wrap; }
  .vlep-wc__section-head h2 { font-size: 2.7rem; }
  .vlep-wc__field-grid--four,
  .vlep-wc__details { grid-template-columns: 1fr; }
  .vlep-wc__field--wide,
  .vlep-wc__consent,
  .vlep-wc__submit { grid-column: auto; }
  .vlep-wc__dish-select { grid-template-columns: 3.3rem 1fr auto; gap: .55rem; }
  .vlep-wc__dish-image { width: 3.3rem; height: 3.3rem; }
  .vlep-wc__promo { grid-template-columns: 1fr; }
  .vlep-wc__promo-image { min-height: 7rem; }
  .vlep-wc__subhead { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .vlep-wc *,
  .vlep-wc *::before,
  .vlep-wc *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* VLEP 5.5.5 booking studio additions */
.vlep-wc__service-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
  padding: 6px;
  border: 1px solid rgba(12, 54, 40, .14);
  border-radius: 999px;
  background: rgba(235, 231, 219, .72);
}
.vlep-wc__service-switch button {
  display: grid;
  min-height: 72px;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  gap: 2px 10px;
  align-items: center;
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--vlep-forest);
  text-align: left;
  cursor: pointer;
}
.vlep-wc__service-switch button > span {
  display: grid;
  width: 38px;
  height: 38px;
  grid-row: 1 / 3;
  place-items: center;
  border-radius: 50%;
  background: rgba(15, 64, 47, .08);
}
.vlep-wc__service-switch svg,
.vlep-wc__delivery-note svg,
.vlep-wc__delivery-summary svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}
.vlep-wc__service-switch strong,
.vlep-wc__service-switch small { display: block; }
.vlep-wc__service-switch strong { font-size: 14px; }
.vlep-wc__service-switch small { color: #69756d; font-size: 10px; }
.vlep-wc__service-switch button.is-active {
  background: var(--vlep-forest);
  color: #fff;
  box-shadow: 0 12px 28px rgba(8, 46, 33, .18);
}
.vlep-wc__service-switch button.is-active > span { background: rgba(255, 255, 255, .13); }
.vlep-wc__service-switch button.is-active small { color: #c9d9cf; }

.vlep-wc__delivery-note,
.vlep-wc__delivery-summary {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(197, 142, 66, .28);
  border-radius: 16px;
  background: #fff9ed;
  color: #70542d;
}
.vlep-wc__delivery-note > svg { flex: 0 0 25px; margin-top: 2px; }
.vlep-wc__delivery-note strong { color: var(--vlep-forest); }
.vlep-wc__delivery-note p { margin: 3px 0 0; font-size: 12px; line-height: 1.55; }
.vlep-wc__delivery-window {
  display: flex;
  min-height: 76px;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 12px 14px;
  border: 1px dashed rgba(15, 64, 47, .2);
  border-radius: 13px;
  background: rgba(240, 246, 241, .72);
}
.vlep-wc__delivery-window span {
  color: #667269;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vlep-wc__delivery-window strong { color: var(--vlep-forest); font-size: 11px; line-height: 1.4; }
.vlep-wc__field-grid--delivery { grid-template-columns: 1.35fr 1fr .65fr 1fr; }

.vlep-wc__package-dal {
  margin-top: 5px;
  color: #9d6a25;
  font-weight: 800;
}
.vlep-wc__package-dal svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
}
.vlep-wc__extra-rate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 13px 0;
  padding: 13px 16px;
  border: 1px solid rgba(197, 142, 66, .22);
  border-radius: 12px;
  background: linear-gradient(100deg, #fff9ec, #fbfaf5);
}
.vlep-wc__extra-rate strong { flex: 0 0 auto; color: var(--vlep-forest); font-size: 12px; }
.vlep-wc__extra-rate span { color: #6d6a5f; font-size: 10px; line-height: 1.5; }

.vlep-wc__summary-event > button,
.vlep-wc__summary-selections button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #e5b665;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.vlep-wc__summary-selections {
  max-height: 280px;
  overflow-y: auto;
  margin: 0 0 18px;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, .13);
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  scrollbar-color: rgba(229, 182, 101, .45) transparent;
  scrollbar-width: thin;
}
.vlep-wc__summary-selections-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.vlep-wc__summary-selections > small,
.vlep-wc__summary-selections-head > span,
.vlep-wc__summary-selections-head > small {
  display: block;
  margin: 9px 0 4px;
  color: #91a99b;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vlep-wc__summary-selections ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.vlep-wc__summary-selections li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: #d6e0da;
  font-size: 9px;
  line-height: 1.4;
}
.vlep-wc__summary-selections li strong { color: #fff; font-size: 9px; }
.vlep-wc__summary-package-edit {
  width: 100%;
  margin-top: 12px;
  padding: 8px 10px !important;
  border: 1px solid rgba(229, 182, 101, .3) !important;
  border-radius: 8px;
  text-align: center;
}
.vlep-wc__delivery-summary {
  margin: 0 0 16px;
  padding: 11px 12px;
  border-color: rgba(229, 182, 101, .22);
  background: rgba(229, 182, 101, .08);
  color: #c6d4cb;
  font-size: 9px;
  line-height: 1.45;
}
.vlep-wc__delivery-summary svg { flex: 0 0 18px; color: #e5b665; }

.vlep-wc__payment-actions .is-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #1f7a51;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.vlep-wc__support-phone { color: #68756e; font-size: 12px; }

.vlep-wc__dialog-backdrop {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(5, 27, 20, .72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.vlep-wc__dialog {
  position: relative;
  width: min(100%, 560px);
  padding: clamp(28px, 5vw, 44px);
  border: 1px solid rgba(197, 142, 66, .38);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0, rgba(229, 182, 101, .18), transparent 36%),
    #fffdf8;
  box-shadow: 0 30px 90px rgba(1, 23, 16, .34);
  color: var(--vlep-forest);
}
.vlep-wc__dialog-kicker {
  display: block;
  margin-bottom: 10px;
  color: #b87322;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.vlep-wc__dialog h3 {
  margin: 0 42px 12px 0;
  color: var(--vlep-forest);
  font-family: var(--vlep-display);
  font-size: clamp(30px, 5vw, 46px);
  font-weight: 500;
  line-height: 1.02;
}
.vlep-wc__dialog > p {
  margin: 0;
  color: #4f5f56;
  font-size: 14px;
  line-height: 1.65;
}
.vlep-wc__dialog-close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--vlep-line);
  border-radius: 50%;
  background: #fff;
  color: var(--vlep-forest);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.vlep-wc__dialog-price {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 24px 0 14px;
}
.vlep-wc__dialog-price > div {
  padding: 15px 16px;
  border: 1px solid rgba(15, 64, 47, .14);
  border-radius: 14px;
  background: #f2f6f2;
}
.vlep-wc__dialog-price small,
.vlep-wc__dialog-price strong { display: block; }
.vlep-wc__dialog-price small {
  margin-bottom: 5px;
  color: #748178;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vlep-wc__dialog-price strong { color: var(--vlep-forest); font-size: 16px; }
.vlep-wc__dialog .vlep-wc__dialog-note {
  color: #78847c;
  font-size: 11px;
}
.vlep-wc__dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}
.vlep-wc__dialog-actions button {
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.vlep-wc__dialog-actions .is-secondary {
  border: 1px solid #b8c7be;
  background: #fff;
  color: var(--vlep-forest);
}
.vlep-wc__dialog-actions .is-primary {
  border: 1px solid var(--vlep-forest);
  background: var(--vlep-forest);
  color: #fff;
}
.vlep-wc__dialog-actions button:focus-visible,
.vlep-wc__dialog-close:focus-visible {
  outline: 3px solid rgba(197, 142, 66, .48);
  outline-offset: 3px;
}

/* Prevent production theme rules from hiding action labels. */
body.vlep-worldclass-page .vlep-wc .vlep-wc__next,
body.vlep-worldclass-page .vlep-wc .vlep-wc__submit,
body.vlep-worldclass-page .vlep-wc .vlep-wc__success button,
body.vlep-worldclass-page .vlep-wc .vlep-wc__payment-actions a {
  color: #fff !important;
}
body.vlep-worldclass-page .vlep-wc .vlep-wc__next:disabled,
body.vlep-worldclass-page .vlep-wc .vlep-wc__submit:disabled {
  color: rgba(255, 255, 255, .72) !important;
}

/* Secondary completion actions sit on a light surface and need dark labels. */
body.vlep-worldclass-page .vlep-wc .vlep-wc__success button.is-secondary {
  border: 1px solid #b9c8bf !important;
  background: #fffdf8 !important;
  color: #0d3b2b !important;
  box-shadow: 0 5px 14px rgba(13, 59, 43, .06);
}
body.vlep-worldclass-page .vlep-wc .vlep-wc__success button.is-secondary:hover,
body.vlep-worldclass-page .vlep-wc .vlep-wc__success button.is-secondary:focus-visible {
  border-color: #0d3b2b !important;
  background: #edf4ef !important;
  color: #0d3b2b !important;
}

@media (max-width: 760px) {
  .vlep-wc__service-switch { grid-template-columns: 1fr; border-radius: 25px; }
  .vlep-wc__service-switch button { border-radius: 20px; }
  .vlep-wc__field-grid--delivery { grid-template-columns: 1fr; }
  .vlep-wc__extra-rate { align-items: flex-start; flex-direction: column; gap: 4px; }
  .vlep-wc__dialog-backdrop { align-items: end; padding: 12px; }
  .vlep-wc__dialog { max-height: calc(100vh - 24px); overflow-y: auto; padding: 28px 22px 22px; border-radius: 24px; }
  .vlep-wc__dialog-price { grid-template-columns: 1fr; }
  .vlep-wc__dialog-actions { flex-direction: column-reverse; }
  .vlep-wc__dialog-actions button { width: 100%; }
}
