/* ═══════════════════════════════════════════════════════
   PYRO Private Dining Booking — Stylesheet v2
   Font: Cormorant Garamond (serif) + Jost (sans)
═══════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

.pyro-wrap {
  --gold:       #c7a26a;
  --gold-lt:    #d9b87c;
  --gold-dk:    #8a6d3a;
  --char:       #090910;
  --char-2:     #111118;
  --char-3:     #1a1a24;
  --char-4:     #22222e;
  --cream:      #f5f0e8;
  --stone:      rgba(245,240,232,.50);
  --stone-lt:   rgba(245,240,232,.72);
  --divider:    rgba(199,162,106,.14);
  --radius:     14px;
  --transition: 0.28s ease;

  max-width: 100%;
  margin: 0 auto;
  padding: 0 0 80px;
  background: transparent;
  font-family: 'Jost', sans-serif;
  color: var(--cream);
  position: relative;
}

/* ── INNER WRAPPER ──────────────────────── */
.pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error) {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

/* ── HEADER ─────────────────────────────── */
.pyro-header { text-align: center; margin-bottom: 52px; padding-top: 52px; }

.pyro-eyebrow {
  display: block;
  font-size: 9px; font-weight: 500;
  letter-spacing: .45em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.pyro-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 300; line-height: 1.1;
  color: var(--cream); margin: 0;
}
.pyro-title em { font-style: italic; color: var(--gold-lt); }
.pyro-rule {
  width: 40px; height: 1px; margin: 20px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* ── PROGRESS ───────────────────────────── */
.pyro-progress {
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 52px;
}
.pyro-step-dot {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.pyro-dot-inner {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid rgba(158,152,144,0.35);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 500; color: var(--stone);
  background: var(--char); transition: all var(--transition);
  position: relative; z-index: 1;
}
.pyro-step-dot span {
  font-size: 9px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--stone); transition: color var(--transition);
}
.pyro-step-dot.active .pyro-dot-inner {
  border-color: var(--gold); color: var(--gold);
  box-shadow: 0 0 0 5px rgba(184,151,90,.1);
}
.pyro-step-dot.active span { color: var(--gold-lt); }
.pyro-step-dot.done .pyro-dot-inner {
  background: var(--gold); border-color: var(--gold); color: var(--char);
}
.pyro-connector { width: 60px; height: 1px; background: var(--divider); margin-bottom: 22px; position: relative; }
.pyro-fill { position: absolute; top: 0; left: 0; height: 100%; background: var(--gold); width: 0; transition: width .55s ease; }

/* ── PANELS ─────────────────────────────── */
.pyro-panel { display: none; animation: pyroIn .42s ease both; }
.pyro-panel.active { display: block; }
@keyframes pyroIn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

.pyro-section-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem; font-weight: 400;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 28px;
  display: flex; align-items: center; gap: 14px;
}
.pyro-section-label::after { content: ''; flex: 1; height: 1px; background: var(--divider); }

/* ── EXPERIENCE CARDS ───────────────────── */
.pyro-exp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(195px, 1fr));
  gap: 14px; margin-bottom: 36px;
}
.pyro-exp-card {
  position: relative; cursor: pointer; overflow: hidden;
  border: 1px solid rgba(158,152,144,.18);
  background: var(--char-3);
  padding: 24px 20px 20px;
  transition: border-color var(--transition), transform var(--transition);
  border-radius: var(--radius);
}
.pyro-exp-glow {
  position: absolute; top: -40px; right: -40px;
  width: 100px; height: 100px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,151,90,.12) 0%, transparent 70%);
  pointer-events: none;
  transition: opacity var(--transition); opacity: 0;
}
.pyro-exp-card:hover .pyro-exp-glow,
.pyro-exp-card.selected .pyro-exp-glow { opacity: 1; }
.pyro-exp-card:hover { border-color: rgba(184,151,90,.4); transform: translateY(-2px); }
.pyro-exp-card.selected {
  border-color: var(--gold);
  background: linear-gradient(160deg, rgba(184,151,90,.08) 0%, var(--char-3) 100%);
}

.pyro-exp-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
.pyro-exp-icon {
  width: 42px; height: 42px; border-radius: 10px; flex-shrink: 0;
  background: radial-gradient(circle at 50% 30%, rgba(217,184,124,.18) 0%, rgba(199,162,106,.11) 38%, rgba(199,162,106,.05) 100%);
  border: 1px solid rgba(199,162,106,.28);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold-lt);
  box-shadow: 0 0 18px rgba(199,162,106,.14), inset 0 0 14px rgba(255,240,190,.05);
  font-size: 1rem; line-height: 1;
}
.pyro-exp-badge {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; color: var(--gold-lt);
  text-align: right; line-height: 1.2;
}
.pyro-exp-badge span { display: block; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); }

.pyro-exp-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem; font-weight: 400; color: var(--cream);
  margin-bottom: 8px;
}
.pyro-exp-desc { font-size: 11px; color: var(--stone); line-height: 1.7; margin-bottom: 14px; }

.pyro-exp-amenities {
  list-style: none; padding: 0; margin: 0 0 18px;
  border-top: 1px solid var(--divider); padding-top: 12px;
}
.pyro-exp-amenities li {
  font-size: 10px; color: var(--stone-lt);
  padding: 3px 0; padding-left: 14px; position: relative;
}
.pyro-exp-amenities li::before {
  content: '·'; position: absolute; left: 0;
  color: var(--gold);
}

.pyro-exp-select-btn {
  font-size: 10px; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--gold);
  transition: color var(--transition);
}
.pyro-exp-card:hover .pyro-exp-select-btn { color: var(--gold-lt); }
.pyro-exp-card.selected .pyro-exp-select-btn { display: none; }

.pyro-exp-selected-mark {
  display: none;
  font-size: 10px; font-weight: 500; letter-spacing: .15em;
  text-transform: uppercase; color: var(--gold);
}
.pyro-exp-card.selected .pyro-exp-selected-mark { display: block; }
.pyro-arrow { transition: transform var(--transition); display: inline-block; }
.pyro-exp-card:hover .pyro-arrow { transform: translateX(4px); }

/* ── MENU TYPE CARDS ────────────────────── */
.pyro-menu-type-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 32px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.pyro-type-card {
  cursor: pointer;
  border: 1px solid rgba(199,162,106,.14);
  background: var(--char-3);
  padding: 36px 32px;
  transition: all var(--transition);
  border-radius: var(--radius);
  position: relative; overflow: hidden;
  min-height: 200px;
  display: flex; flex-direction: column; justify-content: flex-start;
}
.pyro-type-card:hover { border-color: rgba(184,151,90,.4); transform: translateY(-2px); }
.pyro-type-card.selected { border-color: var(--gold); background: rgba(184,151,90,.06); }
.pyro-type-icon {
  width: 48px; height: 48px; border-radius: 12px;
  background: radial-gradient(circle at 50% 30%, rgba(217,184,124,.18) 0%, rgba(199,162,106,.11) 38%, rgba(199,162,106,.05) 100%);
  border: 1px solid rgba(199,162,106,.28);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold-lt);
  box-shadow: 0 0 18px rgba(199,162,106,.14), inset 0 0 14px rgba(255,240,190,.05);
  margin-bottom: 20px; flex-shrink: 0;
}
.pyro-type-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem; color: var(--cream); margin-bottom: 8px;
}
.pyro-type-desc { font-size: 13px; color: var(--stone); line-height: 1.8; margin-bottom: 16px; }
.pyro-type-tag {
  display: inline-block;
  font-size: 9px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--gold); border: 1px solid rgba(184,151,90,.3);
  padding: 4px 10px;
}

/* ── MENU CARDS ─────────────────────────── */
.pyro-menus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.pyro-menu-card {
  cursor: pointer;
  border: 1px solid rgba(158,152,144,.18);
  background: var(--char-3);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all var(--transition);
  position: relative;
}
.pyro-menu-card:hover { border-color: rgba(184,151,90,.35); transform: translateY(-1px); }
.pyro-menu-card.selected-a { border-color: var(--gold); background: rgba(184,151,90,.07); }
.pyro-menu-card.selected-b { border-color: #7ab8b8; background: rgba(122,184,184,.07); }

.pyro-menu-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--divider);
}
.pyro-menu-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 400; color: var(--cream);
}
.pyro-menu-select-ring {
  width: 16px; height: 16px; border-radius: 50%;
  border: 1px solid rgba(158,152,144,.3);
  transition: all var(--transition);
}
.pyro-menu-card.selected-a .pyro-menu-select-ring { background: var(--gold); border-color: var(--gold); }
.pyro-menu-card.selected-b .pyro-menu-select-ring { background: #7ab8b8; border-color: #7ab8b8; }

.pyro-menu-courses { padding: 12px 16px 8px; }
.pyro-course {
  font-size: 11px; color: var(--stone-lt);
  line-height: 1.6; padding: 4px 0;
  border-bottom: 1px solid rgba(158,152,144,.08);
}
.pyro-course:last-child { border-bottom: none; }
.pyro-course-lbl {
  font-size: 8px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--gold); margin-right: 8px; font-weight: 500;
}
.pyro-menu-select-btn {
  padding: 10px 16px;
  font-size: 10px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase;
  color: var(--gold); border-top: 1px solid var(--divider);
  transition: color var(--transition);
}
.pyro-menu-card:hover .pyro-menu-select-btn { color: var(--gold-lt); }
.pyro-menu-card.selected-a .pyro-menu-select-btn,
.pyro-menu-card.selected-b .pyro-menu-select-btn { color: var(--stone); }

/* ── MENU HINT ───────────────────────────── */
.pyro-menu-hint {
  font-size: 12px; color: var(--stone); line-height: 1.8;
  margin-bottom: 20px;
}

/* ── SECOND MENU BANNER ─────────────────── */
.pyro-second-menu-banner {
  background: var(--char-3);
  border: 1px solid var(--divider);
  padding: 20px 24px;
  display: flex; justify-content: space-between; align-items: center;
  gap: 20px; flex-wrap: wrap;
  border-radius: var(--radius);
  margin-top: 4px;
}
.pyro-second-menu-banner-text strong {
  display: block; font-size: 13px; font-weight: 500; color: var(--cream);
  margin-bottom: 4px;
}
.pyro-second-menu-banner-text span { font-size: 11px; color: var(--stone); }
.pyro-second-menu-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.pyro-btn-ghost {
  background: none;
  border: 1px solid rgba(184,151,90,.45);
  color: var(--gold);
  padding: 10px 20px;
  font-family: 'Jost', sans-serif;
  font-size: 10px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
  cursor: pointer; transition: all var(--transition); border-radius: var(--radius);
}
.pyro-btn-ghost:hover { background: rgba(184,151,90,.1); border-color: var(--gold); }
.pyro-btn-ghost-muted { border-color: rgba(158,152,144,.3); color: var(--stone); }
.pyro-btn-ghost-muted:hover { background: rgba(158,152,144,.08); border-color: var(--stone); color: var(--cream); }

/* ── SPLIT UI ────────────────────────────── */
.pyro-split-ui {
  display: flex; align-items: center; justify-content: center;
  gap: 0; background: var(--char-3); border: 1px solid var(--divider);
  border-radius: var(--radius); overflow: hidden;
  margin-bottom: 12px;
}
.pyro-split-side {
  flex: 1; padding: 24px 20px; text-align: center;
}
.pyro-split-side:first-child { border-right: 1px solid var(--divider); }
.pyro-split-menu-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem; color: var(--gold-lt); margin-bottom: 14px;
  min-height: 1.5rem;
}
.pyro-split-counter { display: flex; align-items: center; justify-content: center; gap: 0; margin-bottom: 8px; }
.pyro-split-guests-label { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); }

.pyro-split-divider {
  padding: 20px 12px; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.pyro-split-total-badge {
  font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--stone); text-align: center; white-space: nowrap;
}
.pyro-split-note { font-size: 11px; color: var(--stone); text-align: center; margin: 0; min-height: 1rem; }
.pyro-split-note.valid { color: #7ab88a; }
.pyro-split-note.invalid { color: #c07070; }

/* ── COUNTER ─────────────────────────────── */
.pyro-counter {
  display: inline-flex; align-items: center;
  background: var(--char-2); border: 1px solid rgba(158,152,144,.22);
}
.pyro-counter-btn {
  width: 40px; height: 42px; background: none; border: none;
  color: var(--gold); cursor: pointer; font-size: 17px; font-weight: 300;
  transition: background var(--transition);
  display: flex; align-items: center; justify-content: center;
}
.pyro-counter-btn:hover { background: rgba(184,151,90,.1); }
.pyro-counter-val {
  min-width: 44px; text-align: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem; color: var(--cream);
  border-left: 1px solid rgba(158,152,144,.2);
  border-right: 1px solid rgba(158,152,144,.2);
  padding: 0 6px; line-height: 42px;
}

/* ── FORM ────────────────────────────────── */
.pyro-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.pyro-form-row.pyro-single { grid-template-columns: 1fr; }
.pyro-field { display: flex; flex-direction: column; gap: 8px; }
.pyro-label { font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.pyro-optional { color: var(--stone); font-size: 8px; letter-spacing: .08em; margin-left: 6px; }

.pyro-input {
  background: var(--char-3); border: 1px solid rgba(158,152,144,.22);
  color: var(--cream); padding: 13px 15px;
  font-family: 'Jost', sans-serif; font-size: 13px;
  outline: none; transition: border-color var(--transition);
  width: 100%; appearance: none; -webkit-appearance: none; border-radius: 0;
}
.pyro-input:focus { border-color: var(--gold); }
.pyro-input::placeholder { color: var(--stone); }
select.pyro-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239e9890' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
}

.pyro-counter-row { display: flex; align-items: center; gap: 20px; }
.pyro-price-live {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem; color: var(--gold-lt);
  transition: all .25s ease;
}
.pyro-price-live small {
  font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--stone); margin-left: 4px; font-family: 'Jost', sans-serif;
}

/* ── REVIEW GRID ─────────────────────────── */
.pyro-review-grid {
  display: grid; grid-template-columns: 1fr 280px;
  gap: 16px; margin-bottom: 28px;
}
.pyro-review-summary,
.pyro-review-price {
  background: var(--char-3);
  border: 1px solid var(--divider);
  padding: 24px 22px;
  border-radius: var(--radius);
}

.pyro-review-row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 9px 0; border-bottom: 1px solid rgba(158,152,144,.08);
  font-size: 12px;
}
.pyro-review-row:last-child { border-bottom: none; }
.pyro-review-row .rk { color: var(--stone); letter-spacing: .04em; }
.pyro-review-row .rv {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem; color: var(--cream); text-align: right; max-width: 55%;
}
.pyro-review-row.rhead { padding-top: 14px; }
.pyro-review-row.rhead .rk {
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold);
}

.pyro-price-line {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 9px 0; border-bottom: 1px solid rgba(158,152,144,.08);
  font-size: 12px;
}
.pyro-price-line:last-child { border-bottom: none; }
.pyro-price-line .pk { color: var(--stone); }
.pyro-price-line .pv { font-family: 'Cormorant Garamond', serif; font-size: 1rem; color: var(--cream); }
.pyro-total-line {
  margin-top: 12px; padding-top: 14px;
  border-top: 1px solid var(--divider);
  display: flex; justify-content: space-between; align-items: baseline;
}
.pyro-total-line .tk {
  font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold);
}
.pyro-total-line .tv {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem; color: var(--gold-lt);
}

/* ── BUTTONS ─────────────────────────────── */
.pyro-btn-row {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 32px;
}
.pyro-btn {
  font-family: 'Jost', sans-serif;
  font-size: 10px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase;
  cursor: pointer; border: none; transition: all var(--transition);
  padding: 14px 30px; border-radius: var(--radius);
}
.pyro-btn-back {
  background: rgba(255,255,255,.06);
  color: rgba(245,240,232,.85);
  border: 1px solid rgba(255,255,255,.30);
}
.pyro-btn-back:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.55); color: #fff; }
.pyro-btn-primary { background: var(--gold); color: var(--char); }
.pyro-btn-primary:hover { background: var(--gold-lt); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(184,151,90,.28); }
.pyro-btn-primary:disabled { background: var(--char-4); color: var(--stone); cursor: not-allowed; transform: none; box-shadow: none; }
.pyro-btn-checkout {
  display: block; width: 100%;
  background: var(--gold); color: var(--char);
  padding: 18px; font-size: 11px; letter-spacing: .32em;
  text-align: center; border-radius: var(--radius);
}
.pyro-btn-checkout:hover { background: var(--gold-lt); box-shadow: 0 8px 28px rgba(184,151,90,.3); }
.pyro-btn-checkout:disabled { background: var(--char-4); color: var(--stone); cursor: not-allowed; box-shadow: none; }

/* ── MISC ────────────────────────────────── */
.pyro-notice { font-size: 10px; color: var(--stone); letter-spacing: .04em; line-height: 1.8; text-align: center; margin-top: 14px; }
.pyro-notice a { color: var(--gold); text-decoration: none; }

.pyro-error {
  background: rgba(180,60,60,.1); border: 1px solid rgba(180,60,60,.3);
  color: #e07070; padding: 14px 18px; font-size: 12px; line-height: 1.7;
  border-radius: var(--radius); margin-top: 14px;
}

.pyro-success { display: none; text-align: center; padding: 48px 20px; animation: pyroIn .6s ease both; }
.pyro-success.active { display: block; }
.pyro-success-emblem {
  width: 72px; height: 72px; border-radius: 50%;
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 24px; font-size: 1.8rem;
}
.pyro-success-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem; font-weight: 300; color: var(--cream); margin: 0 0 12px;
}
.pyro-success-sub { font-size: 12px; color: var(--stone); letter-spacing: .06em; line-height: 2; }

/* ── RESPONSIVE ─────────────────────────── */
@media (max-width: 720px) {
  .pyro-review-grid { grid-template-columns: 1fr; }
  .pyro-menu-type-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pyro-form-row { grid-template-columns: 1fr; }
  .pyro-exp-grid { grid-template-columns: 1fr 1fr; }
  .pyro-connector { width: 22px; }
  .pyro-step-dot span { display: none; }
  .pyro-split-ui { flex-direction: column; }
  .pyro-split-side:first-child { border-right: none; border-bottom: 1px solid var(--divider); }
  .pyro-second-menu-banner { flex-direction: column; }
}
@media (max-width: 380px) {
  .pyro-exp-grid { grid-template-columns: 1fr; }
}

/* ── LOADING STATE ───────────────────────── */
.pyro-loading {
  text-align: center; padding: 60px 20px;
  color: var(--stone);
}
.pyro-loading-spinner {
  width: 36px; height: 36px; border-radius: 50%;
  border: 2px solid rgba(184,151,90,.2);
  border-top-color: var(--gold);
  animation: pyroSpin .8s linear infinite;
  margin: 0 auto 20px;
}
@keyframes pyroSpin { to { transform: rotate(360deg); } }

.pyro-load-error {
  background: rgba(180,60,60,.1); border: 1px solid rgba(180,60,60,.3);
  color: #e07070; padding: 20px 24px; border-radius: var(--radius);
  font-size: 13px; line-height: 1.7;
}
.pyro-load-error a { color: var(--gold); }

/* ── SECOND MENU BANNER ─────────────────── */
.pyro-second-banner {
  background: var(--char-3); border: 1px solid var(--divider);
  padding: 20px 24px; display: flex; justify-content: space-between;
  align-items: center; gap: 20px; flex-wrap: wrap;
  border-radius: var(--radius); margin-top: 4px;
}
.pyro-second-banner-text strong { display: block; font-size: 13px; font-weight: 500; color: var(--cream); margin-bottom: 4px; }
.pyro-second-banner-text span { font-size: 11px; color: var(--stone); }
.pyro-second-banner-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ── SPLIT MID ───────────────────────────── */
.pyro-split-mid {
  padding: 20px 14px; display: flex; align-items: center; justify-content: center;
}
.pyro-split-of { font-size: 11px; letter-spacing: .08em; color: var(--stone); text-align: center; white-space: nowrap; }
.pyro-split-of strong { color: var(--cream); }


/* v4 additions */
.pyro-second-banner { background: var(--char-3); border: 1px solid var(--divider); padding: 20px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; border-radius: var(--radius); margin-top:4px; }
.pyro-second-banner-text strong { display:block; font-size:13px; font-weight:500; color:var(--cream); margin-bottom:4px; }
.pyro-second-banner-text span { font-size:11px; color:var(--stone); }
.pyro-second-banner-actions { display:flex; gap:10px; flex-wrap:wrap; }

.pyro-guest-row { display:grid; grid-template-columns: 1.4fr 1fr; gap:14px; margin-bottom:14px; }
.pyro-guest-row .pyro-input { width:100%; }
.pyro-price-chip { display:inline-block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(184,151,90,.3); padding:4px 8px; margin-top:10px; }
.pyro-review-list { margin-top:12px; border-top:1px solid var(--divider); padding-top:12px; }
.pyro-review-list-item { display:flex; justify-content:space-between; gap:18px; padding:6px 0; font-size:12px; color:var(--stone-lt); }
.pyro-review-list-item strong { color:var(--cream); font-weight:500; }
.pyro-review-total-box { border-top:1px solid var(--divider); margin-top:18px; padding-top:16px; }
.pyro-review-total-row { display:flex; justify-content:space-between; gap:18px; padding:7px 0; font-size:12px; color:var(--stone-lt); }
.pyro-review-total-row.total { font-size:15px; color:var(--cream); font-weight:600; }
.pyro-menus-chosen { margin-top:12px; }
@media (max-width: 767px){
  .pyro-guest-row { grid-template-columns: 1fr; }
}


/* Custom menu builder patch */
.pyro-custom-builder { border:1px solid var(--divider); padding:22px; margin-bottom:24px; border-radius: var(--radius); background: rgba(184,151,90,.03); }
.pyro-custom-title { font-family:'Cormorant Garamond', serif; font-size:1.6rem; font-weight:400; color:var(--cream); margin:0 0 18px; }
.pyro-mini-section { font-size:.85rem !important; margin-bottom:16px !important; }
.pyro-course-builder-block { margin-bottom:22px; }
.pyro-dish-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.pyro-dish-card { cursor:pointer; border:1px solid rgba(158,152,144,.18); background: var(--char-3); border-radius: var(--radius); padding:16px; transition:all var(--transition); }
.pyro-dish-card:hover { border-color: rgba(184,151,90,.4); transform: translateY(-1px); }
.pyro-dish-card.selected { border-color: var(--gold); background: rgba(184,151,90,.08); }
.pyro-dish-name { font-family:'Cormorant Garamond', serif; font-size:1.2rem; color:var(--cream); margin-bottom:8px; }
.pyro-dish-desc { font-size:11px; color:var(--stone); line-height:1.7; min-height:34px; }
.pyro-dish-meta { margin-top:10px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }



/* =========================================================
   PYRO Mobile UX Patch
   Add this to the END of assets/booking.css
   ========================================================= */

/* ---------- Better spacing + readable defaults ---------- */
.pyro-wrap {
  padding-left: 16px;
  padding-right: 16px;
}

.pyro-header {
  margin-bottom: 26px;
}

.pyro-title {
  font-size: clamp(2.1rem, 6vw, 3.2rem);
  line-height: 1.08;
}

.pyro-section-label {
  font-size: .95rem;
  letter-spacing: .18em;
  margin-bottom: 16px;
}

.pyro-menu-hint,
.pyro-notice,
.pyro-exp-desc,
.pyro-dish-desc,
.pyro-type-desc {
  font-size: 13px;
  line-height: 1.75;
}

.pyro-input,
.pyro-btn,
.pyro-btn-checkout,
.pyro-btn-ghost,
.pyro-counter-btn,
.pyro-counter-val,
.pyro-guest-row select,
.pyro-guest-row input {
  min-height: 48px;
}

/* ---------- Card rhythm ---------- */
.pyro-exp-grid,
.pyro-menus-grid,
.pyro-menu-type-grid,
.pyro-dish-grid {
  gap: 14px !important;
}

.pyro-exp-card,
.pyro-menu-card,
.pyro-type-card,
.pyro-dish-card,
.pyro-custom-builder,
.pyro-review-summary,
.pyro-review-price {
  border-radius: 14px !important;
}

.pyro-exp-card {
  padding: 22px 18px 20px;
}

.pyro-exp-name {
  font-size: 1.45rem;
  line-height: 1.08;
  margin-bottom: 8px;
}

.pyro-exp-badge {
  font-size: .95rem;
}

.pyro-exp-amenities li {
  font-size: 12px;
  line-height: 1.75;
}

.pyro-menu-card,
.pyro-type-card,
.pyro-dish-card {
  padding: 18px 16px;
}

.pyro-menu-num,
.pyro-type-name,
.pyro-dish-name {
  font-size: 1.25rem;
  line-height: 1.12;
}

.pyro-course {
  font-size: 12px;
  line-height: 1.65;
}

.pyro-price-chip,
.pyro-type-tag,
.pyro-dish-meta {
  font-size: 11px;
}

/* ---------- Better form layout ---------- */
.pyro-form-row {
  gap: 14px;
  margin-bottom: 14px;
}

.pyro-label {
  font-size: 10px;
  letter-spacing: .16em;
}

.pyro-input {
  font-size: 16px; /* prevents iOS zoom */
  padding: 13px 14px;
}

.pyro-counter-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.pyro-price-live {
  font-size: .95rem;
  line-height: 1.4;
}

.pyro-price-live small {
  display: block;
  font-size: 12px;
  margin-top: 4px;
  color: var(--stone);
}

/* ---------- Buttons ---------- */
.pyro-btn {
  padding: 14px 18px;
  font-size: 11px;
  letter-spacing: .18em;
}

.pyro-btn-checkout {
  padding: 18px 20px;
  font-size: 12px;
  letter-spacing: .2em;
}

.pyro-btn-row {
  gap: 12px;
}

/* ---------- Review ---------- */
.pyro-review-row .rk {
  font-size: 10px;
  letter-spacing: .14em;
}

.pyro-review-row .rv,
.pyro-review-list-item,
.pyro-review-total-row {
  font-size: 14px;
}

.pyro-review-total-row.total {
  font-size: 17px;
}

/* ---------- Progress ---------- */
.pyro-progress {
  gap: 8px;
  margin-bottom: 28px;
}

.pyro-step-dot span {
  font-size: 9px;
}

/* =========================================================
   MOBILE-FIRST IMPROVEMENTS
   ========================================================= */
@media (max-width: 900px) {
  .pyro-review-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }
}

@media (max-width: 767px) {

  .pyro-wrap {
    padding-left: 14px;
    padding-right: 14px;
  }

  .pyro-title {
    font-size: 2rem;
  }

  /* Single-column cards */
  .pyro-exp-grid,
  .pyro-menus-grid,
  .pyro-menu-type-grid,
  .pyro-dish-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  .pyro-exp-card,
  .pyro-menu-card,
  .pyro-type-card,
  .pyro-dish-card,
  .pyro-custom-builder,
  .pyro-review-summary,
  .pyro-review-price {
    padding: 18px 16px;
  }

  /* Simpler progress bar */
  .pyro-progress {
    justify-content: space-between;
  }

  .pyro-connector {
    display: none;
  }

  .pyro-step-dot {
    flex: 1;
  }

  .pyro-step-dot span {
    font-size: 8px;
    letter-spacing: .1em;
  }

  /* Form rows collapse */
  .pyro-form-row {
    grid-template-columns: 1fr !important;
  }

  .pyro-guest-row {
    grid-template-columns: 1fr !important;
    gap: 12px;
    padding: 10px 0;
  }

  /* Buttons full-width */
  .pyro-btn-row {
    flex-direction: column;
    align-items: stretch;
  }

  .pyro-btn,
  .pyro-btn-checkout,
  .pyro-btn-ghost,
  .pyro-btn-back,
  .pyro-btn-primary {
    width: 100%;
  }

  /* Better second-menu prompt */
  .pyro-second-banner {
    padding: 16px;
  }

  .pyro-second-banner-actions {
    width: 100%;
  }

  .pyro-second-banner-actions .pyro-btn-ghost {
    width: 100%;
  }

  /* Sticky checkout action on final step */
  #pyroPanel4 .pyro-btn-checkout {
    position: sticky;
    bottom: 12px;
    z-index: 30;
    box-shadow: 0 10px 28px rgba(0,0,0,.25);
  }
}

/* =========================================================
   UX ENHANCEMENTS
   ========================================================= */

/* Better tap feedback */
.pyro-exp-card:active,
.pyro-menu-card:active,
.pyro-type-card:active,
.pyro-dish-card:active {
  transform: scale(.995);
}

/* Clear selected state */
.pyro-exp-card.selected,
.pyro-menu-card.selected-a,
.pyro-menu-card.selected-b,
.pyro-type-card.selected,
.pyro-dish-card.selected {
  outline: 2px solid rgba(184,151,90,.32);
  outline-offset: 0;
}

/* Improve readability on dark background */
.pyro-exp-desc,
.pyro-course,
.pyro-dish-desc,
.pyro-menu-hint,
.pyro-notice {
  color: rgba(245,240,232,.78);
}

/* Small helper spacing */
.pyro-custom-title {
  font-size: 1.5rem;
  margin-bottom: 14px;
}

/* Sticky mini total for steps 2/3 */
.pyro-price-live {
  background: rgba(184,151,90,.08);
  border: 1px solid rgba(184,151,90,.18);
  padding: 10px 12px;
  border-radius: 12px;
}


/* =========================================================
   PYRO BOOKING v3 — Front-page style + UX fixes
   ========================================================= */

/* Wider only for the experience selection so 4 cards sit in one row. */
.pyro-wrap {
  max-width: 1180px;
}

.pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error) {
  max-width: 940px;
}

#pyroPanel1 {
  max-width: 1180px !important;
}

.pyro-exp-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.pyro-exp-card,
.pyro-type-card,
.pyro-menu-card,
.pyro-dish-card,
.pyro-review-summary,
.pyro-review-price,
.pyro-custom-builder,
.pyro-second-banner {
  border-color: rgba(199,162,106,.16);
  background: linear-gradient(160deg, rgba(26,26,36,.96), rgba(12,12,19,.96));
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}

.pyro-exp-card.selected,
.pyro-type-card.selected,
.pyro-dish-card.selected {
  border-color: rgba(217,184,124,.92);
  background: linear-gradient(160deg, rgba(199,162,106,.11), rgba(26,26,36,.98));
  box-shadow: 0 18px 46px rgba(0,0,0,.22), 0 0 34px rgba(199,162,106,.09);
}

/* Same visual language for all card icons. */
.pyro-exp-icon,
.pyro-type-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 14px;
  font-size: 0;
  color: var(--gold-lt);
  background:
    radial-gradient(circle at 50% 28%, rgba(217,184,124,.26), rgba(199,162,106,.10) 58%, rgba(9,9,16,.2) 100%);
  border: 1px solid rgba(199,162,106,.38);
  box-shadow:
    0 0 24px rgba(199,162,106,.15),
    inset 0 0 18px rgba(255,240,190,.06);
}

.pyro-exp-icon svg,
.pyro-type-icon svg {
  width: 22px !important;
  height: 22px !important;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 6px rgba(217,184,124,.34));
}

.pyro-exp-card.selected .pyro-exp-icon,
.pyro-type-card.selected .pyro-type-icon {
  border-color: rgba(217,184,124,.82);
  background:
    radial-gradient(circle at 50% 28%, rgba(217,184,124,.36), rgba(199,162,106,.14) 58%, rgba(9,9,16,.2) 100%);
  box-shadow:
    0 0 30px rgba(199,162,106,.25),
    inset 0 0 20px rgba(255,240,190,.08);
}

/* Back buttons are visible but not too loud. */
.pyro-btn-back,
.bk-btn-back {
  background: rgba(245,240,232,.095) !important;
  color: #f5f0e8 !important;
  border: 1px solid rgba(199,162,106,.46) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.035);
}

.pyro-btn-back:hover,
.bk-btn-back:hover {
  background: rgba(199,162,106,.14) !important;
  border-color: rgba(217,184,124,.76) !important;
  color: #fff !important;
}

/* Disabled buttons remain visible but clearly disabled. */
.pyro-btn:disabled,
.bk-btn:disabled,
.pyro-btn-primary:disabled,
.bk-btn-primary:disabled,
.pyro-btn-checkout:disabled,
.bk-btn-checkout:disabled,
button:disabled {
  opacity: 1 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, rgba(199,162,106,.32), rgba(199,162,106,.18)) !important;
  color: rgba(245,240,232,.72) !important;
  border: 1px solid rgba(199,162,106,.32) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  filter: none !important;
}

/* Location selector */
.pyro-location-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.pyro-location-btn {
  min-height: 42px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pyro-location-help {
  font-size: 11px;
  line-height: 1.7;
  color: rgba(245,240,232,.48);
  margin-top: 8px;
}

.pyro-map-preview {
  margin-top: 14px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(199,162,106,.18);
  background: rgba(9,9,16,.35);
}

.pyro-map-preview iframe {
  display: block;
  width: 100%;
  height: 230px;
  border: 0;
  filter: grayscale(.25) contrast(.95) brightness(.82);
}

/* More visible Step 3 / Review buttons */
#pyroPanel3 .pyro-btn,
#pyroPanel4 .pyro-btn,
#pyroPanel3 button,
#pyroPanel4 button {
  min-height: 54px;
  border-radius: 999px;
}

@media (max-width: 1024px) {
  .pyro-exp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .pyro-wrap {
    max-width: 100%;
  }

  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error) {
    padding-left: 14px;
    padding-right: 14px;
  }

  .pyro-exp-grid {
    grid-template-columns: 1fr !important;
  }

  .pyro-location-actions,
  .pyro-location-btn {
    width: 100%;
  }
}


/* Google Maps API location picker */
.pyro-location-extra {
  margin-top: 10px;
}
.pyro-google-map {
  width: 100%;
  height: 280px;
  display: none;
  border: 0;
}
.pyro-map-preview.has-google-map .pyro-google-map {
  display: block;
}
.pyro-map-preview.has-google-map iframe {
  display: none;
}
.pyro-location-coords {
  padding: 9px 12px;
  border-top: 1px solid rgba(199,162,106,.14);
  color: rgba(245,240,232,.58);
  font-size: 11px;
  letter-spacing: .05em;
  background: rgba(9,9,16,.45);
}
.pac-container {
  z-index: 999999 !important;
  background: #111118;
  border: 1px solid rgba(199,162,106,.22);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  font-family: 'Jost', sans-serif;
}
.pac-item {
  color: rgba(245,240,232,.62);
  border-top: 1px solid rgba(199,162,106,.09);
  padding: 9px 12px;
  cursor: pointer;
}
.pac-item:hover,
.pac-item-selected {
  background: rgba(199,162,106,.10);
}
.pac-item-query {
  color: #f5f0e8;
}
.pac-matched {
  color: #d9b87c;
}

/* Course blocks become better scroll targets */
.pyro-course-builder-block {
  scroll-margin-top: 110px;
}

/* Kitchen equipment optional section */
.pyro-kitchen-section { margin-top: 6px; }
.pyro-kitchen-help {
  color: rgba(245,240,232,.64);
  font-size: 13px;
  line-height: 1.65;
  margin: -2px 0 14px;
}
.pyro-kitchen-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 20px;
}
.pyro-check-row {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(199,162,106,.16);
  border-radius: 12px;
  background: rgba(26,26,36,.78);
  color: rgba(245,240,232,.84);
  cursor: pointer;
  transition: border-color .24s ease, background .24s ease, transform .24s ease;
}
.pyro-check-row:hover {
  border-color: rgba(199,162,106,.38);
  background: rgba(199,162,106,.075);
  transform: translateY(-1px);
}
.pyro-check-row input {
  appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border-radius: 4px;
  border: 1px solid rgba(199,162,106,.38);
  background: rgba(9,9,16,.7);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
  position: relative;
}
.pyro-check-row input:checked {
  background: var(--gold);
  border-color: var(--gold-lt);
}
.pyro-check-row input:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid #090910;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.pyro-check-row span { font-size: 13px; line-height: 1.2; }
.pyro-kitchen-notes-label { margin-top: 2px; }
.pyro-kitchen-notes { min-height: 118px !important; resize: vertical; }
@media (max-width: 1024px) {
  .pyro-kitchen-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pyro-kitchen-options { grid-template-columns: 1fr; }
}

/* ── WINES & WATER SUB STEP ───────────────────── */
.pyro-beverage-block{
  margin:34px 0 6px;
  padding:26px;
  border:1px solid rgba(199,162,106,.16);
  border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(199,162,106,.045),rgba(26,26,36,.78));
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.pyro-beverage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0 18px;
}
.pyro-bev-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:86px;
  padding:14px;
  cursor:pointer;
  border:1px solid rgba(199,162,106,.14);
  border-radius:14px;
  background:rgba(9,9,16,.35);
  transition:border-color var(--transition),background var(--transition),transform var(--transition),box-shadow var(--transition);
}
.pyro-bev-card:hover{border-color:rgba(199,162,106,.42);transform:translateY(-1px)}
.pyro-bev-card.selected{border-color:var(--gold);background:rgba(199,162,106,.08);box-shadow:0 0 0 1px rgba(199,162,106,.08)}
.pyro-bev-card input{position:absolute;opacity:0;pointer-events:none}
.pyro-bev-icon{
  width:42px;height:42px;min-width:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-lt);
  border:1px solid rgba(199,162,106,.30);
  background:radial-gradient(circle at 50% 30%,rgba(217,184,124,.20),rgba(199,162,106,.07) 62%,rgba(9,9,16,.15));
  box-shadow:0 0 18px rgba(199,162,106,.12),inset 0 0 14px rgba(255,240,190,.045);
}
.pyro-bev-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.pyro-bev-card strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;color:var(--cream);line-height:1.1}
.pyro-bev-card small{display:block;margin-top:5px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,240,232,.42)}
.pyro-bev-card em{display:block;margin-top:7px;font-style:normal;font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--gold-lt)}
.pyro-bev-copy{display:block;min-width:0}
.pyro-beverage-empty{grid-column:1/-1;margin:0}
.pyro-beverage-notes-field{margin-top:6px}
@media(max-width:1024px){.pyro-beverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.pyro-beverage-block{padding:18px}.pyro-beverage-grid{grid-template-columns:1fr}.pyro-bev-card{min-height:78px}}


/* =========================================================
   PYRO Recommended Wine Pairing
========================================================= */
.pyro-bev-card{
  position:relative;
}

.pyro-bev-card.pyro-bev-recommended{
  border-color:rgba(199,162,106,.55) !important;
  box-shadow:0 18px 45px rgba(199,162,106,.14), 0 18px 45px rgba(0,0,0,.26) !important;
  background:linear-gradient(160deg, rgba(199,162,106,.10), rgba(17,17,24,.96)) !important;
}

.pyro-bev-badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#c7a26a;
  color:#090910;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 8px 22px rgba(199,162,106,.22);
}

@media(max-width:768px){
  .pyro-bev-badge{
    position:static;
    margin:0 0 10px auto;
    width:max-content;
  }
}




/* =========================================================
   PYRO Booking v5.2 — 5 Experience Cards Desktop Row
   Strong selector patch for #pyroExpGrid
========================================================= */
@media (min-width: 1200px){

  .pyro-wrap{
    max-width: 1380px !important;
  }

  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){
    max-width: 1060px !important;
  }

  #pyroPanel1{
    max-width: 1380px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #pyroPanel1 .pyro-section-label{
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:none !important;
  }

  #pyroExpGrid .pyro-exp-card,
  .pyro-exp-grid .pyro-exp-card{
    min-width:0 !important;
    padding:20px 14px 18px !important;
    border-radius:14px !important;
  }

  #pyroExpGrid .pyro-exp-top,
  .pyro-exp-grid .pyro-exp-top{
    margin-bottom:12px !important;
  }

  #pyroExpGrid .pyro-exp-icon,
  .pyro-exp-grid .pyro-exp-icon{
    width:38px !important;
    height:38px !important;
    border-radius:10px !important;
  }

  #pyroExpGrid .pyro-exp-icon svg,
  .pyro-exp-grid .pyro-exp-icon svg{
    width:19px !important;
    height:19px !important;
  }

  #pyroExpGrid .pyro-exp-badge,
  .pyro-exp-grid .pyro-exp-badge{
    font-size:18px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #pyroExpGrid .pyro-exp-badge span,
  .pyro-exp-grid .pyro-exp-badge span{
    font-size:7px !important;
    letter-spacing:.12em !important;
  }

  #pyroExpGrid .pyro-exp-name,
  .pyro-exp-grid .pyro-exp-name{
    font-size:1.35rem !important;
    line-height:1.08 !important;
    margin-bottom:9px !important;
  }

  #pyroExpGrid .pyro-exp-desc,
  .pyro-exp-grid .pyro-exp-desc{
    font-size:11.5px !important;
    line-height:1.45 !important;
    margin-bottom:12px !important;
  }

  #pyroExpGrid .pyro-exp-amenities,
  .pyro-exp-grid .pyro-exp-amenities{
    gap:6px !important;
    margin:10px 0 16px !important;
  }

  #pyroExpGrid .pyro-exp-amenities li,
  .pyro-exp-grid .pyro-exp-amenities li{
    font-size:10.5px !important;
    line-height:1.38 !important;
    padding-left:14px !important;
  }

  #pyroExpGrid .pyro-exp-select-btn,
  #pyroExpGrid .pyro-exp-selected-mark,
  .pyro-exp-grid .pyro-exp-select-btn,
  .pyro-exp-grid .pyro-exp-selected-mark{
    font-size:8px !important;
    letter-spacing:.18em !important;
  }
}

@media (min-width:1200px) and (max-width:1320px){
  .pyro-wrap{
    max-width: 1280px !important;
  }

  #pyroPanel1{
    max-width: 1280px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    gap:10px !important;
  }

  #pyroExpGrid .pyro-exp-card,
  .pyro-exp-grid .pyro-exp-card{
    padding:18px 11px 16px !important;
  }

  #pyroExpGrid .pyro-exp-name,
  .pyro-exp-grid .pyro-exp-name{
    font-size:1.22rem !important;
  }

  #pyroExpGrid .pyro-exp-desc,
  .pyro-exp-grid .pyro-exp-desc{
    font-size:10.8px !important;
  }

  #pyroExpGrid .pyro-exp-amenities li,
  .pyro-exp-grid .pyro-exp-amenities li{
    font-size:10px !important;
  }
}


/* =========================================================
   PYRO Recommended Pairing — Badge Only
   Recommended wine is not styled like selected unless checked
========================================================= */
.pyro-bev-card.pyro-bev-recommended{
  border-color:rgba(199,162,106,.12) !important;
  box-shadow:none !important;
  background:rgba(17,17,24,.72) !important;
}

.pyro-bev-card.pyro-bev-recommended.selected,
.pyro-bev-card.pyro-bev-recommended:has(input:checked){
  border-color:rgba(199,162,106,.55) !important;
  box-shadow:0 18px 45px rgba(199,162,106,.14), 0 18px 45px rgba(0,0,0,.26) !important;
  background:linear-gradient(160deg, rgba(199,162,106,.10), rgba(17,17,24,.96)) !important;
}

.pyro-bev-card.pyro-bev-recommended .pyro-bev-badge{
  display:inline-flex !important;
}


/* =========================================================
   PYRO Wines & Water Quantity Selection
========================================================= */

.pyro-bev-card{
  gap:14px;
}

.pyro-bev-qty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-left:auto;
  flex:0 0 auto;
  position:relative;
  z-index:3;
}

.pyro-bev-qty-btn{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(199,162,106,.26);
  background:rgba(245,240,232,.055);
  color:#d9b87c;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:15px;
  line-height:1;
  transition:background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.pyro-bev-qty-btn:hover{
  background:rgba(199,162,106,.14);
  border-color:rgba(217,184,124,.48);
  color:#f5f0e8;
  transform:translateY(-1px);
}

.pyro-bev-qty-input{
  width:44px !important;
  min-height:30px !important;
  height:30px !important;
  border-radius:999px !important;
  border:1px solid rgba(199,162,106,.22) !important;
  background:rgba(9,9,16,.48) !important;
  color:#f5f0e8 !important;
  text-align:center !important;
  padding:0 6px !important;
  font-size:12px !important;
  font-family:'Jost', sans-serif !important;
  box-shadow:none !important;
}

.pyro-bev-qty-input::-webkit-outer-spin-button,
.pyro-bev-qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.pyro-bev-qty-input[type=number]{
  -moz-appearance:textfield;
}

@media(max-width:768px){
  .pyro-bev-qty{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
    margin-top:10px;
  }
}



/* =========================================================
   PYRO Recommended Wine Badge — No Text Overlap
   Included in plugin v5.4
========================================================= */

.pyro-bev-card.pyro-bev-recommended{
  padding-top:46px !important;
}

.pyro-bev-card.pyro-bev-recommended .pyro-bev-badge{
  top:14px !important;
  left:18px !important;
  right:auto !important;
  max-width:calc(100% - 36px) !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.25 !important;
}

@media(max-width:768px){
  .pyro-bev-card.pyro-bev-recommended{
    padding-top:20px !important;
  }

  .pyro-bev-card.pyro-bev-recommended .pyro-bev-badge{
    position:static !important;
    margin:0 0 12px 0 !important;
    max-width:100% !important;
  }
}


/* =========================================================
   PYRO v5.5 — Wines & Water Card Layout Fix
   Fixes quantity selector, prevents text squeeze, keeps cards premium
========================================================= */

.pyro-beverage-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
}

.pyro-bev-card{
  display:grid !important;
  grid-template-columns:56px minmax(0, 1fr) !important;
  grid-template-rows:auto auto !important;
  align-items:center !important;
  column-gap:18px !important;
  row-gap:14px !important;
  min-height:178px !important;
  padding:24px 22px 22px !important;
  overflow:hidden !important;
}

.pyro-bev-card.pyro-bev-recommended{
  padding-top:58px !important;
}

.pyro-bev-icon{
  grid-column:1 !important;
  grid-row:1 !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  align-self:center !important;
}

.pyro-bev-copy{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  display:block !important;
}

.pyro-bev-card strong{
  font-size:1.42rem !important;
  line-height:1.08 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

.pyro-bev-card small{
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:.15em !important;
  overflow-wrap:break-word !important;
}

.pyro-bev-card em{
  font-size:14px !important;
  line-height:1.25 !important;
  margin-top:10px !important;
}

/* Generic checkbox hiding must not hide the quantity number input */
.pyro-bev-card .pyro-bev-qty-input{
  position:static !important;
  opacity:1 !important;
  pointer-events:auto !important;
  appearance:textfield !important;
  -webkit-appearance:none !important;
}

/* Quantity control sits under the content, not on top of text */
.pyro-bev-qty{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  justify-content:flex-end !important;
  margin:0 !important;
  padding-top:10px !important;
  border-top:1px solid rgba(199,162,106,.10) !important;
}

.pyro-bev-qty-btn{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  border-radius:999px !important;
  padding:0 !important;
}

.pyro-bev-qty-input{
  width:48px !important;
  height:34px !important;
  min-height:34px !important;
  border-radius:999px !important;
}

/* Recommended badge placement */
.pyro-bev-card.pyro-bev-recommended .pyro-bev-badge{
  position:absolute !important;
  top:16px !important;
  left:22px !important;
  right:auto !important;
  max-width:calc(100% - 44px) !important;
  min-height:26px !important;
  padding:0 13px !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.2 !important;
}

/* Keep selected state clear but not messy */
.pyro-bev-card.selected{
  border-color:rgba(199,162,106,.55) !important;
  box-shadow:0 18px 45px rgba(199,162,106,.12), 0 18px 45px rgba(0,0,0,.22) !important;
}

/* Medium screens */
@media(max-width:1180px){
  .pyro-beverage-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media(max-width:767px){
  .pyro-beverage-grid{
    grid-template-columns:1fr !important;
  }

  .pyro-bev-card,
  .pyro-bev-card.pyro-bev-recommended{
    grid-template-columns:52px minmax(0, 1fr) !important;
    min-height:0 !important;
    padding:20px 18px !important;
  }

  .pyro-bev-card.pyro-bev-recommended .pyro-bev-badge{
    position:static !important;
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    width:max-content !important;
    max-width:100% !important;
    margin:0 0 8px 0 !important;
  }

  .pyro-bev-card.pyro-bev-recommended .pyro-bev-icon,
  .pyro-bev-card.pyro-bev-recommended .pyro-bev-copy{
    grid-row:2 !important;
  }

  .pyro-bev-card.pyro-bev-recommended .pyro-bev-qty{
    grid-row:3 !important;
  }

  .pyro-bev-card strong{
    font-size:1.25rem !important;
  }

  .pyro-bev-qty{
    justify-content:flex-start !important;
  }
}


/* =========================================================
   PYRO Availability Hint
========================================================= */

.pyro-availability-hint{
  margin-top:10px;
  font-size:12px;
  line-height:1.5;
  color:rgba(245,240,232,.58);
}

.pyro-availability-hint.is-ok{
  color:rgba(199,162,106,.9);
}

.pyro-availability-hint.is-error{
  color:#e49a9a;
}

#pyroTime:disabled{
  opacity:.55;
  cursor:not-allowed;
}


/* =========================================================
   PYRO v6.0 — Wines & Water Quantity Only After Selection
   Quantity selector stays hidden until the wine/water card is selected.
========================================================= */

.pyro-bev-card:not(.selected):not(:has(input[type="checkbox"]:checked)) .pyro-bev-qty{
  display:none !important;
}

.pyro-bev-card.selected .pyro-bev-qty,
.pyro-bev-card:has(input[type="checkbox"]:checked) .pyro-bev-qty{
  display:flex !important;
}

.pyro-bev-card:not(.selected):not(:has(input[type="checkbox"]:checked)){
  grid-template-rows:auto !important;
}

.pyro-bev-card:not(.selected):not(:has(input[type="checkbox"]:checked)) .pyro-bev-copy{
  align-self:center !important;
}

.pyro-bev-card.selected,
.pyro-bev-card:has(input[type="checkbox"]:checked){
  grid-template-rows:auto auto !important;
}

@media(max-width:767px){
  .pyro-bev-card:not(.selected):not(:has(input[type="checkbox"]:checked)) .pyro-bev-qty{
    display:none !important;
  }

  .pyro-bev-card.selected .pyro-bev-qty,
  .pyro-bev-card:has(input[type="checkbox"]:checked) .pyro-bev-qty{
    display:flex !important;
  }
}


/* =========================================================
   PYRO v6.2 — Experience Pricing Badge
========================================================= */
.pyro-exp-badge small{
  display:block;
  margin-top:3px;
  font-family:'Jost',sans-serif;
  font-size:8px;
  line-height:1.25;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(199,162,106,.82);
}

@media(max-width:767px){
  #pyroExpGrid .pyro-exp-badge small,
  .pyro-exp-grid .pyro-exp-badge small{
    font-size:7px !important;
    line-height:1.25 !important;
    letter-spacing:.10em !important;
    white-space:normal !important;
  }
}


/* =========================================================
   PYRO v6.4 — Chef's Table fixed menu + per-guest notes
========================================================= */
.pyro-chef-table-menu-card{grid-column:1 / -1;cursor:default !important;}
.pyro-chef-menu-note{margin:8px 0 18px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;}
.pyro-chef-fixed-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.pyro-chef-course{padding:18px;border:1px solid rgba(199,162,106,.14);border-radius:16px;background:rgba(9,9,16,.32);}
.pyro-chef-course-head span{display:block;color:rgba(199,162,106,.72);font-size:9px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:8px;}
.pyro-chef-course-head strong{display:block;color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;line-height:1.1;}
.pyro-chef-pairing{display:inline-flex;margin:12px 0 10px;padding:6px 10px;border-radius:999px;background:rgba(199,162,106,.12);color:var(--gold-lt);font-size:11px;letter-spacing:.08em;}
.pyro-chef-course p{color:var(--stone-lt);font-size:13px;line-height:1.6;margin:0;}
.pyro-fixed-guest-menu{min-height:48px;display:flex;align-items:center;padding:14px 16px;border:1px solid rgba(199,162,106,.16);border-radius:12px;background:rgba(199,162,106,.06);color:rgba(245,240,232,.78);}
.pyro-guest-notes-field{grid-column:1 / -1;}
.pyro-guest-notes{min-height:82px;resize:vertical;}
.pyro-guest-note-review{display:block;margin-top:5px;color:rgba(245,240,232,.58);font-size:12px;line-height:1.45;}
@media(max-width:767px){.pyro-chef-fixed-menu{grid-template-columns:1fr;}.pyro-chef-table-menu-card{grid-column:auto;}}


/* =========================================================
   PYRO v6.5 — Cleaner Experience Price Badge Copy
   Shows per-person anchor price first, then pricing rule.
========================================================= */
.pyro-exp-badge{
  min-width:122px !important;
  max-width:150px !important;
  text-align:right !important;
  line-height:1.05 !important;
}

.pyro-exp-badge span{
  margin-top:2px !important;
  font-family:'Jost', sans-serif !important;
  font-size:8px !important;
  letter-spacing:.14em !important;
  line-height:1.2 !important;
  color:rgba(245,240,232,.46) !important;
}

.pyro-exp-badge small{
  display:block !important;
  margin-top:8px !important;
  font-family:'Jost', sans-serif !important;
  font-size:9px !important;
  line-height:1.25 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  color:rgba(199,162,106,.72) !important;
}

@media(max-width:767px){
  .pyro-exp-badge{
    min-width:108px !important;
    max-width:132px !important;
  }
  .pyro-exp-badge small{
    font-size:8px !important;
    letter-spacing:.12em !important;
  }
}

/* =========================================================
   PYRO v6.6 — Clean Desktop Experience Price Badge
========================================================= */
#pyroExpGrid .pyro-exp-top,
.pyro-exp-grid .pyro-exp-top{display:grid !important;grid-template-columns:48px minmax(0,1fr) !important;column-gap:12px !important;align-items:start !important;}
#pyroExpGrid .pyro-exp-badge,
.pyro-exp-grid .pyro-exp-badge{width:100% !important;min-width:0 !important;max-width:100% !important;display:flex !important;flex-direction:column !important;align-items:flex-end !important;justify-content:flex-start !important;text-align:right !important;overflow:visible !important;white-space:normal !important;padding-top:2px !important;}
#pyroExpGrid .pyro-exp-badge strong,
.pyro-exp-grid .pyro-exp-badge strong{display:block !important;color:var(--gold-lt) !important;font-family:'Cormorant Garamond',serif !important;font-size:20px !important;line-height:.92 !important;font-weight:400 !important;letter-spacing:.01em !important;white-space:nowrap !important;}
#pyroExpGrid .pyro-exp-badge > span,
.pyro-exp-grid .pyro-exp-badge > span{display:block !important;margin-top:3px !important;color:rgba(245,240,232,.48) !important;font-family:'Jost',sans-serif !important;font-size:8px !important;line-height:1 !important;letter-spacing:.14em !important;text-transform:uppercase !important;white-space:nowrap !important;}
#pyroExpGrid .pyro-exp-badge small,
.pyro-exp-grid .pyro-exp-badge small{display:block !important;margin-top:6px !important;color:rgba(199,162,106,.72) !important;font-family:'Jost',sans-serif !important;font-size:7.5px !important;line-height:1.1 !important;letter-spacing:.16em !important;text-transform:uppercase !important;white-space:nowrap !important;max-width:100% !important;}
#pyroExpGrid .pyro-exp-badge small + small,
.pyro-exp-grid .pyro-exp-badge small + small{margin-top:3px !important;color:rgba(199,162,106,.88) !important;}
@media (min-width:1200px) and (max-width:1320px){#pyroExpGrid .pyro-exp-top,.pyro-exp-grid .pyro-exp-top{grid-template-columns:40px minmax(0,1fr) !important;column-gap:9px !important;}#pyroExpGrid .pyro-exp-badge strong,.pyro-exp-grid .pyro-exp-badge strong{font-size:18px !important;}#pyroExpGrid .pyro-exp-badge small,.pyro-exp-grid .pyro-exp-badge small{font-size:6.7px !important;letter-spacing:.13em !important;}}
@media(max-width:767px){#pyroExpGrid .pyro-exp-top,.pyro-exp-grid .pyro-exp-top{display:flex !important;justify-content:space-between !important;gap:14px !important;}#pyroExpGrid .pyro-exp-badge,.pyro-exp-grid .pyro-exp-badge{align-items:flex-end !important;}#pyroExpGrid .pyro-exp-badge strong,.pyro-exp-grid .pyro-exp-badge strong{font-size:20px !important;}#pyroExpGrid .pyro-exp-badge small,.pyro-exp-grid .pyro-exp-badge small{font-size:7.5px !important;letter-spacing:.12em !important;}}

/* =========================================================
   PYRO v6.7 - Wider Desktop Booking Container
   Uses more left/right screen space while preserving tablet/mobile.
========================================================= */
@media (min-width: 1200px){
  .pyro-wrap{
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){
    max-width: 1480px !important;
    width: 100% !important;
  }

  #pyroPanel1{
    max-width: 1480px !important;
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #pyroPanel1 .pyro-section-label{
    max-width: 100% !important;
    width: 100% !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
  }

  #pyroExpGrid .pyro-exp-card,
  .pyro-exp-grid .pyro-exp-card{
    padding: 24px 20px 22px !important;
  }
}

@media (min-width: 1500px){
  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error),
  #pyroPanel1{
    max-width: 1640px !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    gap: 26px !important;
  }

  #pyroExpGrid .pyro-exp-card,
  .pyro-exp-grid .pyro-exp-card{
    padding: 28px 24px 24px !important;
  }
}

@media (min-width: 1800px){
  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error),
  #pyroPanel1{
    max-width: 1760px !important;
  }
}


/* =========================================================
   PYRO v6.8 - Clear Desktop Experience Cards + Santorini Layout
========================================================= */
@media (min-width: 1200px){
  .pyro-wrap{width:min(94vw,1780px)!important;max-width:1780px!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)!important;padding-left:34px!important;padding-right:34px!important;}
  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){max-width:100%!important;width:100%!important;}
  #pyroPanel1{max-width:100%!important;width:100%!important;padding-left:30px!important;padding-right:30px!important;}
  #pyroPanel1 .pyro-section-label{max-width:100%!important;width:100%!important;font-size:1.08rem!important;letter-spacing:.32em!important;margin-bottom:34px!important;}
  #pyroExpGrid,.pyro-exp-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:30px!important;align-items:stretch!important;width:100%!important;max-width:none!important;}
  #pyroExpGrid .pyro-exp-card,.pyro-exp-grid .pyro-exp-card{min-height:520px!important;padding:34px 30px 30px!important;border-radius:22px!important;}
  #pyroExpGrid .pyro-exp-top,.pyro-exp-grid .pyro-exp-top{grid-template-columns:66px minmax(0,1fr)!important;column-gap:18px!important;margin-bottom:26px!important;align-items:start!important;}
  #pyroExpGrid .pyro-exp-icon,.pyro-exp-grid .pyro-exp-icon{width:58px!important;height:58px!important;border-radius:16px!important;}
  #pyroExpGrid .pyro-exp-icon svg,.pyro-exp-grid .pyro-exp-icon svg{width:25px!important;height:25px!important;}
  #pyroExpGrid .pyro-exp-badge,.pyro-exp-grid .pyro-exp-badge{max-width:180px!important;min-width:0!important;width:100%!important;overflow:visible!important;white-space:normal!important;align-items:flex-end!important;text-align:right!important;}
  #pyroExpGrid .pyro-exp-badge strong,.pyro-exp-grid .pyro-exp-badge strong{font-size:28px!important;line-height:.92!important;white-space:nowrap!important;}
  #pyroExpGrid .pyro-exp-badge > span,.pyro-exp-grid .pyro-exp-badge > span{font-size:9px!important;letter-spacing:.15em!important;margin-top:5px!important;white-space:nowrap!important;}
  #pyroExpGrid .pyro-exp-badge small,.pyro-exp-grid .pyro-exp-badge small{font-size:9px!important;line-height:1.25!important;letter-spacing:.105em!important;white-space:normal!important;max-width:170px!important;text-align:right!important;overflow:visible!important;}
  #pyroExpGrid .pyro-exp-name,.pyro-exp-grid .pyro-exp-name{font-size:2.05rem!important;line-height:1.08!important;margin-bottom:22px!important;}
  #pyroExpGrid .pyro-exp-desc,.pyro-exp-grid .pyro-exp-desc{font-size:15px!important;line-height:1.62!important;margin-bottom:24px!important;}
  #pyroExpGrid .pyro-exp-amenities,.pyro-exp-grid .pyro-exp-amenities{gap:12px!important;margin:20px 0 28px!important;}
  #pyroExpGrid .pyro-exp-amenities li,.pyro-exp-grid .pyro-exp-amenities li{font-size:14px!important;line-height:1.55!important;padding-left:20px!important;}
  #pyroExpGrid .pyro-exp-select-btn,#pyroExpGrid .pyro-exp-selected-mark,.pyro-exp-grid .pyro-exp-select-btn,.pyro-exp-grid .pyro-exp-selected-mark{font-size:10px!important;letter-spacing:.20em!important;}
}
@media (min-width:1200px) and (max-width:1450px){
  .pyro-wrap{width:min(96vw,1380px)!important;padding-left:22px!important;padding-right:22px!important;}
  #pyroPanel1{padding-left:18px!important;padding-right:18px!important;}
  #pyroExpGrid,.pyro-exp-grid{gap:18px!important;}
  #pyroExpGrid .pyro-exp-card,.pyro-exp-grid .pyro-exp-card{padding:26px 22px 24px!important;}
  #pyroExpGrid .pyro-exp-top,.pyro-exp-grid .pyro-exp-top{grid-template-columns:54px minmax(0,1fr)!important;column-gap:12px!important;}
  #pyroExpGrid .pyro-exp-icon,.pyro-exp-grid .pyro-exp-icon{width:48px!important;height:48px!important;}
  #pyroExpGrid .pyro-exp-badge strong,.pyro-exp-grid .pyro-exp-badge strong{font-size:22px!important;}
  #pyroExpGrid .pyro-exp-badge small,.pyro-exp-grid .pyro-exp-badge small{font-size:7.8px!important;letter-spacing:.09em!important;max-width:135px!important;}
  #pyroExpGrid .pyro-exp-name,.pyro-exp-grid .pyro-exp-name{font-size:1.62rem!important;}
  #pyroExpGrid .pyro-exp-desc,.pyro-exp-grid .pyro-exp-desc{font-size:13px!important;}
  #pyroExpGrid .pyro-exp-amenities li,.pyro-exp-grid .pyro-exp-amenities li{font-size:12px!important;}
}
@media (min-width:1650px){
  .pyro-wrap{width:min(92vw,1860px)!important;max-width:1860px!important;}
  #pyroExpGrid,.pyro-exp-grid{gap:34px!important;}
}


/* =========================================================
   PYRO v6.9 - Desktop Layout Correction
========================================================= */
@media (min-width: 1200px){
  .elementor-widget-container:has(.pyro-wrap),
  .elementor-widget-shortcode:has(.pyro-wrap),
  .elementor-shortcode:has(.pyro-wrap){overflow:visible!important;width:100%!important;max-width:none!important;}
  #pyro-booking-page .pyro-wrap,.pyro-wrap{width:calc(100vw - 96px)!important;max-width:1840px!important;min-width:0!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)!important;padding-left:36px!important;padding-right:36px!important;}
  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){width:100%!important;max-width:100%!important;}
  #pyroPanel1{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;}
  #pyroExpGrid,.pyro-exp-grid{display:grid!important;grid-template-columns:repeat(5,minmax(230px,1fr))!important;gap:28px!important;width:100%!important;max-width:none!important;align-items:stretch!important;}
  #pyroExpGrid .pyro-exp-card,.pyro-exp-grid .pyro-exp-card{min-height:560px!important;padding:34px 30px 30px!important;border-radius:24px!important;}
  #pyroExpGrid .pyro-exp-top,.pyro-exp-grid .pyro-exp-top{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;column-gap:18px!important;align-items:start!important;margin-bottom:28px!important;}
  #pyroExpGrid .pyro-exp-icon,.pyro-exp-grid .pyro-exp-icon{width:58px!important;height:58px!important;border-radius:16px!important;}
  #pyroExpGrid .pyro-exp-badge,.pyro-exp-grid .pyro-exp-badge{width:100%!important;max-width:190px!important;overflow:visible!important;text-align:right!important;align-items:flex-end!important;}
  #pyroExpGrid .pyro-exp-badge strong,.pyro-exp-grid .pyro-exp-badge strong{font-size:27px!important;line-height:.95!important;white-space:nowrap!important;}
  #pyroExpGrid .pyro-exp-badge > span,.pyro-exp-grid .pyro-exp-badge > span{font-size:9px!important;line-height:1!important;letter-spacing:.14em!important;white-space:nowrap!important;}
  #pyroExpGrid .pyro-exp-badge small,.pyro-exp-grid .pyro-exp-badge small{display:block!important;max-width:190px!important;font-size:9px!important;line-height:1.28!important;letter-spacing:.09em!important;white-space:normal!important;overflow:visible!important;text-align:right!important;}
  #pyroExpGrid .pyro-exp-name,.pyro-exp-grid .pyro-exp-name{font-size:2rem!important;line-height:1.08!important;}
  #pyroExpGrid .pyro-exp-desc,.pyro-exp-grid .pyro-exp-desc{font-size:15px!important;line-height:1.65!important;}
  #pyroExpGrid .pyro-exp-amenities li,.pyro-exp-grid .pyro-exp-amenities li{font-size:14px!important;line-height:1.56!important;}
}
@media (min-width:1200px) and (max-width:1500px){
  #pyro-booking-page .pyro-wrap,.pyro-wrap{width:calc(100vw - 44px)!important;max-width:none!important;padding-left:22px!important;padding-right:22px!important;}
  #pyroExpGrid,.pyro-exp-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;}
  #pyroExpGrid .pyro-exp-card,.pyro-exp-grid .pyro-exp-card{padding:28px 22px 26px!important;}
  #pyroExpGrid .pyro-exp-name,.pyro-exp-grid .pyro-exp-name{font-size:1.72rem!important;}
  #pyroExpGrid .pyro-exp-desc,.pyro-exp-grid .pyro-exp-desc,#pyroExpGrid .pyro-exp-amenities li,.pyro-exp-grid .pyro-exp-amenities li{font-size:13px!important;}
}
@media (min-width:1800px){
  #pyro-booking-page .pyro-wrap,.pyro-wrap{width:calc(100vw - 140px)!important;max-width:1960px!important;}
  #pyroExpGrid,.pyro-exp-grid{gap:34px!important;}
}

/* =========================================================
   PYRO v7.0 - Clean Desktop Experience Layout
   Final override: use real viewport width without clipping.
========================================================= */

@media (min-width: 1180px){
  .elementor-widget-container:has(.pyro-wrap),
  .elementor-widget-shortcode:has(.pyro-wrap),
  .elementor-shortcode:has(.pyro-wrap),
  #pyro-booking-page,
  #pyro-booking-page .elementor-widget-container{
    overflow: visible !important;
  }

  #pyro-booking-page .pyro-wrap,
  .pyro-wrap{
    width: min(1680px, 84vw) !important;
    max-width: min(1680px, 84vw) !important;
    margin-left: calc(50% - min(840px, 42vw)) !important;
    margin-right: 0 !important;
    transform: none !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){
    width: 100% !important;
    max-width: 100% !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  #pyroExpGrid .pyro-exp-card,
  .pyro-exp-grid .pyro-exp-card{
    min-width: 0 !important;
    min-height: 560px !important;
    padding: 32px 28px 28px !important;
    border-radius: 24px !important;
  }

  #pyroExpGrid .pyro-exp-top,
  .pyro-exp-grid .pyro-exp-top{
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    align-items: start !important;
    margin-bottom: 30px !important;
  }

  #pyroExpGrid .pyro-exp-icon,
  .pyro-exp-grid .pyro-exp-icon{
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
  }

  #pyroExpGrid .pyro-exp-badge,
  .pyro-exp-grid .pyro-exp-badge{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    text-align: right !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  #pyroExpGrid .pyro-exp-badge strong,
  .pyro-exp-grid .pyro-exp-badge strong{
    font-size: 26px !important;
    line-height: .95 !important;
    white-space: nowrap !important;
  }

  #pyroExpGrid .pyro-exp-badge > span,
  .pyro-exp-grid .pyro-exp-badge > span{
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: .15em !important;
    white-space: nowrap !important;
    margin-top: 5px !important;
  }

  #pyroExpGrid .pyro-exp-badge small,
  .pyro-exp-grid .pyro-exp-badge small{
    display: block !important;
    max-width: 150px !important;
    font-size: 8.4px !important;
    line-height: 1.26 !important;
    letter-spacing: .10em !important;
    white-space: normal !important;
    overflow: visible !important;
    text-align: right !important;
  }

  #pyroExpGrid .pyro-exp-name,
  .pyro-exp-grid .pyro-exp-name{
    font-size: 2rem !important;
    line-height: 1.08 !important;
    margin-bottom: 22px !important;
  }

  #pyroExpGrid .pyro-exp-desc,
  .pyro-exp-grid .pyro-exp-desc{
    font-size: 15px !important;
    line-height: 1.66 !important;
    margin-bottom: 24px !important;
  }

  #pyroExpGrid .pyro-exp-amenities,
  .pyro-exp-grid .pyro-exp-amenities{
    margin-top: 20px !important;
  }

  #pyroExpGrid .pyro-exp-amenities li,
  .pyro-exp-grid .pyro-exp-amenities li{
    font-size: 14px !important;
    line-height: 1.58 !important;
  }
}

@media (min-width: 1180px) and (max-width: 1450px){
  #pyro-booking-page .pyro-wrap,
  .pyro-wrap{
    width: min(1540px, 88vw) !important;
    max-width: min(1540px, 88vw) !important;
    margin-left: calc(50% - min(770px, 44vw)) !important;
    padding-left: 26px !important;
    padding-right: 26px !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    gap: 18px !important;
  }

  #pyroExpGrid .pyro-exp-card,
  .pyro-exp-grid .pyro-exp-card{
    padding: 28px 22px 26px !important;
  }

  #pyroExpGrid .pyro-exp-top,
  .pyro-exp-grid .pyro-exp-top{
    grid-template-columns: 54px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  #pyroExpGrid .pyro-exp-icon,
  .pyro-exp-grid .pyro-exp-icon{
    width: 48px !important;
    height: 48px !important;
  }

  #pyroExpGrid .pyro-exp-badge strong,
  .pyro-exp-grid .pyro-exp-badge strong{
    font-size: 22px !important;
  }

  #pyroExpGrid .pyro-exp-badge small,
  .pyro-exp-grid .pyro-exp-badge small{
    max-width: 118px !important;
    font-size: 7.4px !important;
    letter-spacing: .085em !important;
  }

  #pyroExpGrid .pyro-exp-name,
  .pyro-exp-grid .pyro-exp-name{
    font-size: 1.64rem !important;
  }

  #pyroExpGrid .pyro-exp-desc,
  .pyro-exp-grid .pyro-exp-desc,
  #pyroExpGrid .pyro-exp-amenities li,
  .pyro-exp-grid .pyro-exp-amenities li{
    font-size: 12.8px !important;
  }
}

@media (min-width: 1850px){
  #pyro-booking-page .pyro-wrap,
  .pyro-wrap{
    width: min(1800px, 88vw) !important;
    max-width: min(1800px, 88vw) !important;
    margin-left: calc(50% - min(900px, 44vw)) !important;
  }

  #pyroExpGrid,
  .pyro-exp-grid{
    gap: 28px !important;
  }
}

/* =========================================================
   PYRO v7.1 - Final Desktop Width + Readability Override
   Uses real viewport space, prevents clipping, keeps mobile/tablet untouched.
========================================================= */

@media (min-width:1180px){
  body #pyro-booking-page,
  body #pyro-booking-page .elementor-section,
  body #pyro-booking-page .elementor-container,
  body #pyro-booking-page .elementor-column,
  body #pyro-booking-page .elementor-widget-wrap,
  body #pyro-booking-page .elementor-widget-container,
  body .elementor-widget-container:has(.pyro-wrap),
  body .elementor-shortcode:has(.pyro-wrap){
    overflow:visible!important;
  }

  body #pyro-booking-page .pyro-wrap,
  body .pyro-wrap{
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(1760px,94vw)!important;
    max-width:min(1760px,94vw)!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:34px!important;
    padding-right:34px!important;
  }

  body .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){
    width:100%!important;
    max-width:100%!important;
  }

  body #pyroExpGrid,
  body .pyro-exp-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:26px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body #pyroExpGrid .pyro-exp-card,
  body .pyro-exp-grid .pyro-exp-card{
    min-width:0!important;
    min-height:600px!important;
    padding:34px 30px 30px!important;
    border-radius:24px!important;
  }

  body #pyroExpGrid .pyro-exp-top,
  body .pyro-exp-grid .pyro-exp-top{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:18px!important;
    align-items:start!important;
    margin-bottom:34px!important;
  }

  body #pyroExpGrid .pyro-exp-icon,
  body .pyro-exp-grid .pyro-exp-icon{
    width:64px!important;
    height:64px!important;
    border-radius:17px!important;
  }

  body #pyroExpGrid .pyro-exp-badge,
  body .pyro-exp-grid .pyro-exp-badge{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    text-align:right!important;
    overflow:visible!important;
    white-space:normal!important;
  }

  body #pyroExpGrid .pyro-exp-badge strong,
  body .pyro-exp-grid .pyro-exp-badge strong{
    font-size:27px!important;
    line-height:.95!important;
    white-space:nowrap!important;
  }

  body #pyroExpGrid .pyro-exp-badge > span,
  body .pyro-exp-grid .pyro-exp-badge > span{
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.15em!important;
    white-space:nowrap!important;
    margin-top:5px!important;
  }

  body #pyroExpGrid .pyro-exp-badge small,
  body .pyro-exp-grid .pyro-exp-badge small{
    display:block!important;
    max-width:180px!important;
    font-size:9px!important;
    line-height:1.22!important;
    letter-spacing:.09em!important;
    white-space:normal!important;
    overflow:visible!important;
    text-align:right!important;
  }

  body #pyroExpGrid .pyro-exp-name,
  body .pyro-exp-grid .pyro-exp-name{
    font-size:2.15rem!important;
    line-height:1.06!important;
    margin-bottom:24px!important;
  }

  body #pyroExpGrid .pyro-exp-desc,
  body .pyro-exp-grid .pyro-exp-desc{
    font-size:16px!important;
    line-height:1.68!important;
    margin-bottom:24px!important;
  }

  body #pyroExpGrid .pyro-exp-amenities,
  body .pyro-exp-grid .pyro-exp-amenities{margin-top:22px!important;}

  body #pyroExpGrid .pyro-exp-amenities li,
  body .pyro-exp-grid .pyro-exp-amenities li{font-size:14.5px!important;line-height:1.6!important;}
}

@media (min-width:1180px) and (max-width:1450px){
  body #pyro-booking-page .pyro-wrap,
  body .pyro-wrap{width:96vw!important;max-width:96vw!important;padding-left:24px!important;padding-right:24px!important;}
  body #pyroExpGrid,body .pyro-exp-grid{gap:18px!important;}
  body #pyroExpGrid .pyro-exp-card,body .pyro-exp-grid .pyro-exp-card{min-height:560px!important;padding:28px 22px 26px!important;}
  body #pyroExpGrid .pyro-exp-top,body .pyro-exp-grid .pyro-exp-top{grid-template-columns:58px minmax(0,1fr)!important;column-gap:12px!important;margin-bottom:30px!important;}
  body #pyroExpGrid .pyro-exp-icon,body .pyro-exp-grid .pyro-exp-icon{width:52px!important;height:52px!important;}
  body #pyroExpGrid .pyro-exp-badge strong,body .pyro-exp-grid .pyro-exp-badge strong{font-size:22px!important;}
  body #pyroExpGrid .pyro-exp-badge > span,body .pyro-exp-grid .pyro-exp-badge > span{font-size:8.5px!important;}
  body #pyroExpGrid .pyro-exp-badge small,body .pyro-exp-grid .pyro-exp-badge small{max-width:130px!important;font-size:7.8px!important;letter-spacing:.075em!important;}
  body #pyroExpGrid .pyro-exp-name,body .pyro-exp-grid .pyro-exp-name{font-size:1.78rem!important;}
  body #pyroExpGrid .pyro-exp-desc,body .pyro-exp-grid .pyro-exp-desc,body #pyroExpGrid .pyro-exp-amenities li,body .pyro-exp-grid .pyro-exp-amenities li{font-size:13.4px!important;}
}

@media (min-width:1700px){
  body #pyro-booking-page .pyro-wrap,
  body .pyro-wrap{width:min(1840px,94vw)!important;max-width:min(1840px,94vw)!important;}
  body #pyroExpGrid,body .pyro-exp-grid{gap:30px!important;}
}

/* =========================================================
   PYRO v7.2 — Front-page style desktop layout alignment
   Clean centered panel, equal left/right breathing room,
   five-card experience row matching homepage rhythm.
========================================================= */
@media (min-width: 1200px){
  body #pyro-booking-page{overflow-x:hidden !important;}
  body #pyro-booking-page .pyro-wrap,
  body .pyro-wrap{
    width:min(1500px, calc(100vw - 176px)) !important;
    max-width:min(1500px, calc(100vw - 176px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body .pyro-wrap > #pyroBookingUI,
  body .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){
    width:100% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;
  }
  body #pyroPanel1.pyro-panel,
  body .pyro-panel#pyroPanel1{
    padding:48px 52px 54px !important;border-radius:30px !important;overflow:hidden !important;
  }
  body #pyroPanel1 .pyro-section-label{
    margin-bottom:44px !important;padding-left:0 !important;font-size:16px !important;letter-spacing:.38em !important;
  }
  body #pyroExpGrid,body .pyro-exp-grid{
    display:grid !important;grid-template-columns:repeat(5, minmax(0, 1fr)) !important;gap:24px !important;width:100% !important;max-width:100% !important;margin:0 auto !important;align-items:stretch !important;
  }
  body #pyroExpGrid .pyro-exp-card,body .pyro-exp-grid .pyro-exp-card{
    min-width:0 !important;min-height:560px !important;padding:30px 28px 30px !important;border-radius:24px !important;display:flex !important;flex-direction:column !important;
  }
  body #pyroExpGrid .pyro-exp-top,body .pyro-exp-grid .pyro-exp-top{
    display:grid !important;grid-template-columns:62px minmax(0, 1fr) !important;column-gap:18px !important;align-items:start !important;margin-bottom:38px !important;
  }
  body #pyroExpGrid .pyro-exp-icon,body .pyro-exp-grid .pyro-exp-icon{width:58px !important;height:58px !important;border-radius:16px !important;}
  body #pyroExpGrid .pyro-exp-icon svg,body .pyro-exp-grid .pyro-exp-icon svg{width:24px !important;height:24px !important;}
  body #pyroExpGrid .pyro-exp-badge,body .pyro-exp-grid .pyro-exp-badge{
    width:100% !important;max-width:132px !important;margin-left:auto !important;align-items:flex-end !important;justify-content:flex-start !important;text-align:right !important;overflow:visible !important;white-space:normal !important;
  }
  body #pyroExpGrid .pyro-exp-badge strong,body .pyro-exp-grid .pyro-exp-badge strong{font-size:25px !important;line-height:.95 !important;letter-spacing:.02em !important;white-space:nowrap !important;}
  body #pyroExpGrid .pyro-exp-badge > span,body .pyro-exp-grid .pyro-exp-badge > span{font-size:9px !important;line-height:1.05 !important;letter-spacing:.18em !important;white-space:nowrap !important;opacity:.62 !important;}
  body #pyroExpGrid .pyro-exp-badge small,body .pyro-exp-grid .pyro-exp-badge small{display:block !important;max-width:128px !important;font-size:8.6px !important;line-height:1.22 !important;letter-spacing:.12em !important;white-space:normal !important;text-align:right !important;opacity:.76 !important;}
  body #pyroExpGrid .pyro-exp-name,body .pyro-exp-grid .pyro-exp-name{font-size:2.05rem !important;line-height:1.08 !important;letter-spacing:-.025em !important;margin:0 0 24px !important;}
  body #pyroExpGrid .pyro-exp-desc,body .pyro-exp-grid .pyro-exp-desc{font-size:15px !important;line-height:1.62 !important;margin-bottom:24px !important;}
  body #pyroExpGrid .pyro-exp-amenities,body .pyro-exp-grid .pyro-exp-amenities{margin-top:20px !important;gap:13px !important;}
  body #pyroExpGrid .pyro-exp-amenities li,body .pyro-exp-grid .pyro-exp-amenities li{font-size:14px !important;line-height:1.55 !important;}
  body #pyroExpGrid .pyro-exp-select-btn,body .pyro-exp-grid .pyro-exp-select-btn,body #pyroExpGrid .pyro-exp-selected-mark,body .pyro-exp-grid .pyro-exp-selected-mark{margin-top:auto !important;}
}
@media (min-width: 1500px){
  body #pyro-booking-page .pyro-wrap,body .pyro-wrap{width:min(1580px, calc(100vw - 220px)) !important;max-width:min(1580px, calc(100vw - 220px)) !important;}
  body #pyroPanel1.pyro-panel,body .pyro-panel#pyroPanel1{padding-left:56px !important;padding-right:56px !important;}
  body #pyroExpGrid,body .pyro-exp-grid{gap:28px !important;}
}
@media (min-width: 1200px) and (max-width: 1320px){
  body #pyro-booking-page .pyro-wrap,body .pyro-wrap{width:calc(100vw - 72px) !important;max-width:calc(100vw - 72px) !important;}
  body #pyroPanel1.pyro-panel,body .pyro-panel#pyroPanel1{padding:38px 34px 44px !important;}
  body #pyroExpGrid,body .pyro-exp-grid{gap:18px !important;}
  body #pyroExpGrid .pyro-exp-card,body .pyro-exp-grid .pyro-exp-card{padding:26px 22px 26px !important;}
  body #pyroExpGrid .pyro-exp-top,body .pyro-exp-grid .pyro-exp-top{grid-template-columns:54px minmax(0, 1fr) !important;column-gap:12px !important;}
  body #pyroExpGrid .pyro-exp-icon,body .pyro-exp-grid .pyro-exp-icon{width:50px !important;height:50px !important;}
  body #pyroExpGrid .pyro-exp-name,body .pyro-exp-grid .pyro-exp-name{font-size:1.72rem !important;}
  body #pyroExpGrid .pyro-exp-desc,body .pyro-exp-grid .pyro-exp-desc,body #pyroExpGrid .pyro-exp-amenities li,body .pyro-exp-grid .pyro-exp-amenities li{font-size:13px !important;}
}

/* =========================================================
   PYRO v7.3 — Centered Desktop Layout Reset
   Fixes v7.x viewport breakout: no left:50%, no translate, no off-page panel.
   Keeps a homepage-style centered card panel with balanced side breathing room.
========================================================= */
@media (min-width: 1180px){
  html, body{overflow-x:hidden !important;}
  body #pyro-booking-page,
  body #pyro-booking-page .elementor-section,
  body #pyro-booking-page .elementor-container,
  body #pyro-booking-page .elementor-column,
  body #pyro-booking-page .elementor-widget-wrap,
  body #pyro-booking-page .elementor-widget-container,
  body .elementor-widget-container:has(.pyro-wrap),
  body .elementor-shortcode:has(.pyro-wrap){
    width:100% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;padding-left:0 !important;padding-right:0 !important;overflow:visible !important;left:auto !important;right:auto !important;transform:none !important;
  }
  body #pyro-booking-page .pyro-wrap,
  body .pyro-wrap{
    position:relative !important;left:auto !important;right:auto !important;transform:none !important;width:min(1500px, calc(100vw - 96px)) !important;max-width:min(1500px, calc(100vw - 96px)) !important;margin-left:auto !important;margin-right:auto !important;padding-left:0 !important;padding-right:0 !important;overflow:visible !important;
  }
  body .pyro-wrap > #pyroBookingUI,
  body .pyro-wrap > *:not(.pyro-loading):not(.pyro-load-error){
    position:relative !important;left:auto !important;right:auto !important;transform:none !important;width:100% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;
  }
  body #pyroPanel1.pyro-panel,
  body .pyro-panel#pyroPanel1{
    width:100% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;padding:48px 52px 54px !important;border-radius:30px !important;overflow:hidden !important;
  }
  body #pyroPanel1 .pyro-section-label{margin:0 0 42px !important;padding:0 !important;font-size:15px !important;letter-spacing:.38em !important;}
  body #pyroExpGrid,body .pyro-exp-grid{display:grid !important;grid-template-columns:repeat(5, minmax(0, 1fr)) !important;gap:24px !important;width:100% !important;max-width:100% !important;margin:0 auto !important;overflow:visible !important;align-items:stretch !important;}
  body #pyroExpGrid .pyro-exp-card,body .pyro-exp-grid .pyro-exp-card{min-width:0 !important;min-height:560px !important;padding:30px 28px 30px !important;border-radius:24px !important;display:flex !important;flex-direction:column !important;}
  body #pyroExpGrid .pyro-exp-top,body .pyro-exp-grid .pyro-exp-top{display:grid !important;grid-template-columns:58px minmax(0, 1fr) !important;column-gap:14px !important;align-items:start !important;margin-bottom:36px !important;}
  body #pyroExpGrid .pyro-exp-icon,body .pyro-exp-grid .pyro-exp-icon{width:56px !important;height:56px !important;border-radius:16px !important;}
  body #pyroExpGrid .pyro-exp-badge,body .pyro-exp-grid .pyro-exp-badge{width:100% !important;max-width:126px !important;margin-left:auto !important;text-align:right !important;align-items:flex-end !important;overflow:visible !important;white-space:normal !important;}
  body #pyroExpGrid .pyro-exp-badge strong,body .pyro-exp-grid .pyro-exp-badge strong{font-size:24px !important;line-height:.95 !important;letter-spacing:.02em !important;white-space:nowrap !important;}
  body #pyroExpGrid .pyro-exp-badge > span,body .pyro-exp-grid .pyro-exp-badge > span{font-size:9px !important;line-height:1.05 !important;letter-spacing:.16em !important;white-space:nowrap !important;opacity:.64 !important;}
  body #pyroExpGrid .pyro-exp-badge small,body .pyro-exp-grid .pyro-exp-badge small{display:block !important;max-width:124px !important;font-size:8.2px !important;line-height:1.23 !important;letter-spacing:.11em !important;white-space:normal !important;text-align:right !important;opacity:.78 !important;}
  body #pyroExpGrid .pyro-exp-name,body .pyro-exp-grid .pyro-exp-name{font-size:1.92rem !important;line-height:1.08 !important;letter-spacing:-.022em !important;margin:0 0 24px !important;}
  body #pyroExpGrid .pyro-exp-desc,body .pyro-exp-grid .pyro-exp-desc{font-size:14.4px !important;line-height:1.62 !important;margin-bottom:24px !important;}
  body #pyroExpGrid .pyro-exp-amenities,body .pyro-exp-grid .pyro-exp-amenities{margin-top:20px !important;gap:12px !important;}
  body #pyroExpGrid .pyro-exp-amenities li,body .pyro-exp-grid .pyro-exp-amenities li{font-size:13.5px !important;line-height:1.55 !important;}
  body #pyroExpGrid .pyro-exp-select-btn,body .pyro-exp-grid .pyro-exp-select-btn,body #pyroExpGrid .pyro-exp-selected-mark,body .pyro-exp-grid .pyro-exp-selected-mark{margin-top:auto !important;}
}
@media (min-width:1500px){
  body #pyro-booking-page .pyro-wrap,body .pyro-wrap{width:min(1560px, calc(100vw - 140px)) !important;max-width:min(1560px, calc(100vw - 140px)) !important;}
  body #pyroExpGrid,body .pyro-exp-grid{gap:28px !important;}
}
@media (min-width:1180px) and (max-width:1320px){
  body #pyro-booking-page .pyro-wrap,body .pyro-wrap{width:calc(100vw - 64px) !important;max-width:calc(100vw - 64px) !important;}
  body #pyroPanel1.pyro-panel,body .pyro-panel#pyroPanel1{padding:38px 34px 44px !important;}
  body #pyroExpGrid,body .pyro-exp-grid{gap:18px !important;}
  body #pyroExpGrid .pyro-exp-card,body .pyro-exp-grid .pyro-exp-card{min-height:540px !important;padding:26px 22px 26px !important;}
  body #pyroExpGrid .pyro-exp-top,body .pyro-exp-grid .pyro-exp-top{grid-template-columns:52px minmax(0, 1fr) !important;column-gap:12px !important;}
  body #pyroExpGrid .pyro-exp-icon,body .pyro-exp-grid .pyro-exp-icon{width:50px !important;height:50px !important;}
  body #pyroExpGrid .pyro-exp-name,body .pyro-exp-grid .pyro-exp-name{font-size:1.68rem !important;}
  body #pyroExpGrid .pyro-exp-desc,body .pyro-exp-grid .pyro-exp-desc,body #pyroExpGrid .pyro-exp-amenities li,body .pyro-exp-grid .pyro-exp-amenities li{font-size:12.8px !important;}
}


/* v7.4 request-flow success notice */
.pyro-error.pyro-success {
  border-color: rgba(199,162,106,.45) !important;
  background: rgba(199,162,106,.10) !important;
  color: #f5f0e8 !important;
}


/* =========================================================
   PYRO v7.9 — Price "from" + Chef wine pairing polish
========================================================= */
.pyro-exp-badge .pyro-price-from{
  display:block !important;
  font-family:'Jost',sans-serif !important;
  font-style:normal !important;
  font-size:8px !important;
  line-height:1 !important;
  letter-spacing:.20em !important;
  text-transform:uppercase !important;
  color:rgba(199,162,106,.78) !important;
  margin-bottom:4px !important;
}

.pyro-chef-menu-note,
.pyro-chef-pairing{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}

.pyro-chef-menu-note{
  color:rgba(199,162,106,.92) !important;
}


/* =========================================================
   PYRO v8.0 — Reservation Policy on Final Review Step
========================================================= */
.pyro-policy-card{
  margin:28px 0 22px;
  padding:22px;
  border:1px solid rgba(199,162,106,.18);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(199,162,106,.055), rgba(9,9,16,.42));
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}
.pyro-policy-head{margin-bottom:16px;}
.pyro-policy-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.pyro-policy-head h3{
  margin:0 0 8px;
  color:var(--cream);
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;
  font-weight:400;
  line-height:1.1;
}
.pyro-policy-head p{
  margin:0;
  color:rgba(245,240,232,.64);
  font-size:13px;
  line-height:1.6;
}
.pyro-policy-details{
  border:1px solid rgba(199,162,106,.14);
  border-radius:16px;
  background:rgba(9,9,16,.34);
  overflow:hidden;
}
.pyro-policy-details summary{
  cursor:pointer;
  padding:15px 16px;
  color:var(--gold-lt);
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  user-select:none;
}
.pyro-policy-scroll{
  max-height:360px;
  overflow:auto;
  padding:2px 18px 18px;
  border-top:1px solid rgba(199,162,106,.12);
  scrollbar-width:thin;
}
.pyro-policy-scroll h4{
  margin:18px 0 8px;
  color:var(--cream);
  font-size:14px;
  font-weight:600;
  letter-spacing:.05em;
}
.pyro-policy-scroll p,
.pyro-policy-scroll li{
  color:rgba(245,240,232,.66);
  font-size:12.5px;
  line-height:1.68;
}
.pyro-policy-scroll ul{margin:8px 0 12px 18px;padding:0;}
.pyro-policy-accept{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-top:16px;
  padding:15px 16px;
  border:1px solid rgba(199,162,106,.16);
  border-radius:14px;
  background:rgba(199,162,106,.06);
  color:rgba(245,240,232,.78);
  font-size:13px;
  line-height:1.5;
}
.pyro-policy-accept input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:#c7a26a;
  flex:0 0 auto;
}
.pyro-policy-required{
  margin:10px 0 0;
  color:#e8b47d;
  font-size:12px;
  line-height:1.5;
}
#pyroCheckoutBtn:disabled{
  opacity:.45;
  cursor:not-allowed;
  filter:grayscale(.15);
}
@media(max-width:767px){
  .pyro-policy-card{padding:18px;margin:22px 0 18px;border-radius:18px;}
  .pyro-policy-scroll{max-height:300px;padding:0 15px 16px;}
  .pyro-policy-head h3{font-size:1.35rem;}
}


/* =========================================================
   PYRO v8.1 — Chef's Table Styling Inclusions
========================================================= */
.pyro-chef-table-includes{
  margin:14px 0 20px;
  padding:18px 20px;
  border:1px solid rgba(199,162,106,.14);
  border-radius:18px;
  background:rgba(199,162,106,.055);
}
.pyro-chef-includes-kicker{
  display:block;
  margin-bottom:12px;
  color:rgba(199,162,106,.88);
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.pyro-chef-table-includes ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
}
.pyro-chef-table-includes li{
  position:relative;
  padding-left:18px;
  color:rgba(245,240,232,.70);
  font-size:13px;
  line-height:1.55;
}
.pyro-chef-table-includes li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(199,162,106,.88);
  box-shadow:0 0 12px rgba(199,162,106,.35);
}
@media(max-width:767px){
  .pyro-chef-table-includes{
    padding:16px;
  }
  .pyro-chef-table-includes ul{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   PYRO v8.2 — Chef's Table styling details on first step card
========================================================= */
.pyro-exp-chef-includes{
  margin:18px 0 20px;
  padding:15px 16px;
  border:1px solid rgba(199,162,106,.14);
  border-radius:16px;
  background:rgba(199,162,106,.055);
}
.pyro-exp-chef-includes span{
  display:block;
  margin-bottom:10px;
  color:rgba(199,162,106,.88);
  font-size:9px;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.pyro-exp-chef-includes ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}
.pyro-exp-chef-includes li{
  position:relative;
  padding-left:16px;
  color:rgba(245,240,232,.68);
  font-size:12px;
  line-height:1.45;
}
.pyro-exp-chef-includes li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(199,162,106,.88);
  box-shadow:0 0 10px rgba(199,162,106,.35);
}
@media(min-width:1200px){
  body #pyroExpGrid .pyro-exp-chef-includes li,
  body .pyro-exp-grid .pyro-exp-chef-includes li{
    font-size:11.5px!important;
    line-height:1.38!important;
  }
}
@media(max-width:767px){
  .pyro-exp-chef-includes{
    padding:14px;
  }
}


/* =========================================================
   PYRO v8.3 — Guest Assignment Menu Details
   Shows selected fixed/custom menu courses inside Step 3.
========================================================= */
.pyro-guest-menu-detail{
  grid-column:1 / -1;
  margin-top:-2px;
  padding:16px 18px;
  border:1px solid rgba(199,162,106,.14);
  border-radius:16px;
  background:rgba(9,9,16,.34);
}

.pyro-guest-menu-detail:empty{
  display:none;
}

.pyro-guest-menu-detail-title{
  margin-bottom:12px;
  color:#c7a26a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.pyro-guest-menu-courses{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.pyro-guest-menu-course{
  padding:12px 12px 11px;
  border:1px solid rgba(199,162,106,.10);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}

.pyro-guest-menu-course span{
  display:block;
  margin-bottom:5px;
  color:rgba(199,162,106,.74);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.pyro-guest-menu-course strong{
  display:block;
  color:#f5f0e8;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
}

.pyro-guest-menu-course em{
  display:block;
  margin-top:6px;
  color:#c7a26a;
  font-style:normal;
  font-size:12px;
  line-height:1.35;
}

.pyro-guest-menu-course small{
  display:block;
  margin-top:6px;
  color:rgba(245,240,232,.58);
  font-size:12px;
  line-height:1.45;
}

@media(max-width:1024px){
  .pyro-guest-menu-courses{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:767px){
  .pyro-guest-menu-detail{padding:14px;}
  .pyro-guest-menu-courses{grid-template-columns:1fr;}
}
