/*
================================================================================
EASYEVENT HUB — MULTISTEP WOOCOMMERCE CHECKOUT UI / REFERENCE CSS
================================================================================
Versione: 1.0 reference
Uso: CSS unico per allegato tecnico / reference UI Elementor + WooCommerce custom.

Varianti incluse:
- Black theme:  .eeh-checkout[data-theme="black"] oppure default .eeh-checkout
- White theme:  .eeh-checkout[data-theme="white"]
- Desktop:      layout 2 colonne con riepilogo sticky
- Tablet:       layout 1 colonna
- Mobile:       stepper orizzontale + CTA sticky + card full width

Scope:
Tutti i selettori sono prefissati con .eeh-checkout per evitare conflitti con
Elementor, WooCommerce, tema WordPress e plugin terzi.

Font reference:
- Titoli: Anton
- UI/body: Space Grotesk
Fallback: Inter / system-ui
================================================================================
*/

/* EasyEvent Hub / JIVA-style Multistep WooCommerce Checkout UI
   Theme tokens derived from supplied Elementor kit: #080808, #111111, #20F07A, #FF3EA5, #FFD82E, #FF8A00, Space Grotesk, Anton.
   Scope: all selectors are prefixed with .eeh-checkout to avoid Elementor/Woo conflicts. */

.eeh-checkout,
.eeh-checkout * { box-sizing: border-box; }

.eeh-checkout {
  --eeh-bg: #080808;
  --eeh-surface: #111111;
  --eeh-card: #171717;
  --eeh-card-2: #1f1f1f;
  --eeh-text: #ffffff;
  --eeh-muted: #c9cbc7;
  --eeh-subtle: #8f938d;
  --eeh-line: rgba(255,255,255,.12);
  --eeh-line-strong: rgba(255,255,255,.22);
  --eeh-shadow: 0 24px 80px rgba(0,0,0,.35);
  --eeh-accent: #20F07A;
  --eeh-pink: #FF3EA5;
  --eeh-yellow: #FFD82E;
  --eeh-orange: #FF8A00;
  --eeh-danger: #FF3158;
  --eeh-radius-xl: 30px;
  --eeh-radius-lg: 22px;
  --eeh-radius-md: 16px;
  --eeh-radius-sm: 12px;
  --eeh-gap: 24px;
  --eeh-max: 1240px;
  width: min(100%, var(--eeh-max));
  margin: 0 auto;
  padding: 14px 24px 88px;
  color: var(--eeh-text);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--eeh-pink) 22%, transparent), transparent 30%),
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--eeh-accent) 18%, transparent), transparent 32%),
    var(--eeh-bg);
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-xl);
  font-family: "Space Grotesk", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: relative;
  overflow: clip;
}

.eeh-checkout[data-theme="white"] {
  --eeh-bg: #ffffff;
  --eeh-surface: #f6f7f4;
  --eeh-card: #ffffff;
  --eeh-card-2: #f0f2ee;
  --eeh-text: #080808;
  --eeh-muted: #343434;
  --eeh-subtle: #6d716b;
  --eeh-line: rgba(8,8,8,.12);
  --eeh-line-strong: rgba(8,8,8,.2);
  --eeh-shadow: 0 24px 80px rgba(8,8,8,.10);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--eeh-pink) 12%, transparent), transparent 31%),
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--eeh-accent) 15%, transparent), transparent 34%),
    var(--eeh-bg);
}

.eeh-checkout button,
.eeh-checkout input,
.eeh-checkout select,
.eeh-checkout textarea { font: inherit; }

.eeh-checkout a { color: inherit; }

.eeh-checkout__topbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 10px 0 18px;
}

.eeh-checkout__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid var(--eeh-line);
  border-radius: 999px;
  color: var(--eeh-muted);
  background: color-mix(in srgb, var(--eeh-card) 80%, transparent);
  letter-spacing: .02em;
  font-size: 13px;
  line-height: 1;
}

.eeh-checkout__eyebrow-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--eeh-accent);
  box-shadow: 0 0 18px var(--eeh-accent);
}

.eeh-checkout__title {
  margin: 10px 0 0;
  font-family: Anton, "Space Grotesk", Impact, sans-serif;
  font-weight: 900;
  font-size: clamp(34px, 6vw, 82px);
  line-height: .92;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.eeh-checkout__title span { color: var(--eeh-accent); }

.eeh-checkout__microcopy {
  margin: 10px 0 0;
  max-width: 62ch;
  color: var(--eeh-muted);
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.55;
}

.eeh-checkout__theme-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border: 1px solid var(--eeh-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--eeh-card) 88%, transparent);
}

.eeh-checkout__theme-switch button {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 9px 12px;
  color: var(--eeh-muted);
  background: transparent;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
}

.eeh-checkout__theme-switch button[aria-pressed="true"] {
  color: #080808;
  background: var(--eeh-accent);
}

.eeh-checkout[data-theme="white"] .eeh-checkout__theme-switch button[aria-pressed="true"] { color: #080808; }

.eeh-checkout__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: var(--eeh-gap);
  align-items: start;
}

.eeh-stepper {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  padding: 10px;
  margin: 0 0 var(--eeh-gap);
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-lg);
  background: color-mix(in srgb, var(--eeh-surface) 82%, transparent);
  box-shadow: var(--eeh-shadow);
}

.eeh-stepper__item {
  appearance: none;
  border: 1px solid transparent;
  border-radius: 16px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 10px;
  background: transparent;
  color: var(--eeh-muted);
  cursor: pointer;
  min-width: 0;
  text-align: left;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.eeh-stepper__item:hover { transform: translateY(-1px); border-color: var(--eeh-line); }

.eeh-stepper__item.is-active {
  background: var(--eeh-card);
  border-color: var(--eeh-line-strong);
  color: var(--eeh-text);
}

.eeh-stepper__item.is-complete .eeh-stepper__num {
  color: #080808;
  background: var(--eeh-accent);
  border-color: var(--eeh-accent);
}

.eeh-stepper__item.is-active .eeh-stepper__num {
  color: #080808;
  background: var(--eeh-yellow);
  border-color: var(--eeh-yellow);
}

.eeh-stepper__num {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--eeh-line-strong);
  background: color-mix(in srgb, var(--eeh-card-2) 85%, transparent);
  color: var(--eeh-muted);
  font-size: 12px;
  font-weight: 900;
}

.eeh-stepper__label {
  min-width: 0;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.eeh-stepper__hint {
  display: block;
  margin-top: 2px;
  color: var(--eeh-subtle);
  font-size: 11px;
  font-weight: 500;
}

.eeh-panel {
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-xl);
  background: color-mix(in srgb, var(--eeh-surface) 94%, transparent);
  box-shadow: var(--eeh-shadow);
  overflow: hidden;
}

.eeh-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border-bottom: 1px solid var(--eeh-line);
  background: linear-gradient(135deg, color-mix(in srgb, var(--eeh-card) 96%, transparent), color-mix(in srgb, var(--eeh-card-2) 78%, transparent));
}

.eeh-panel__kicker {
  margin: 0 0 8px;
  color: var(--eeh-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.eeh-panel__title {
  margin: 0;
  color: var(--eeh-text);
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.03em;
}

.eeh-panel__subtitle {
  margin: 10px 0 0;
  color: var(--eeh-muted);
  font-size: 15px;
  line-height: 1.5;
}

.eeh-panel__badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 10px 13px;
  color: #080808;
  background: var(--eeh-accent);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.eeh-step { display: none; }
.eeh-step.is-active { display: block; }

.eeh-step__body { padding: 22px; }

.eeh-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.eeh-field { display: grid; gap: 7px; }
.eeh-field--full { grid-column: 1 / -1; }

.eeh-field label {
  color: var(--eeh-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.eeh-field input,
.eeh-field select,
.eeh-field textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 14px;
  border: 1px solid var(--eeh-line);
  border-radius: 15px;
  outline: 0;
  color: var(--eeh-text);
  background: var(--eeh-card);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.eeh-field textarea { min-height: 112px; resize: vertical; }

.eeh-field input:focus,
.eeh-field select:focus,
.eeh-field textarea:focus {
  border-color: color-mix(in srgb, var(--eeh-accent) 70%, var(--eeh-line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--eeh-accent) 18%, transparent);
}

.eeh-field__help {
  color: var(--eeh-subtle);
  font-size: 12px;
  line-height: 1.35;
}

.eeh-inline-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--eeh-line);
  border-radius: 18px;
  background: var(--eeh-card);
}

.eeh-inline-card + .eeh-inline-card { margin-top: 10px; }

.eeh-avatar-row { display: flex; align-items: center; gap: 12px; min-width: 0; }

.eeh-avatar {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  color: #080808;
  background: var(--eeh-yellow);
  font-weight: 900;
}

.eeh-avatar--pink { background: var(--eeh-pink); color: #fff; }
.eeh-avatar--green { background: var(--eeh-accent); color: #080808; }
.eeh-avatar--orange { background: var(--eeh-orange); color: #080808; }

.eeh-inline-card h4 { margin: 0; color: var(--eeh-text); font-size: 15px; font-weight: 900; }
.eeh-inline-card p { margin: 4px 0 0; color: var(--eeh-subtle); font-size: 13px; }

.eeh-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }

.eeh-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid var(--eeh-line);
  border-radius: 999px;
  color: var(--eeh-muted);
  background: color-mix(in srgb, var(--eeh-card) 72%, transparent);
  font-size: 12px;
  font-weight: 800;
}

.eeh-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.eeh-choice {
  position: relative;
  min-height: 156px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--eeh-line);
  border-radius: 22px;
  color: var(--eeh-text);
  background: var(--eeh-card);
  cursor: pointer;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.eeh-choice:hover { transform: translateY(-2px); border-color: var(--eeh-line-strong); }
.eeh-choice.is-selected { border-color: var(--eeh-accent); box-shadow: inset 0 0 0 1px var(--eeh-accent), 0 0 0 4px color-mix(in srgb, var(--eeh-accent) 12%, transparent); }
.eeh-choice.is-muted { opacity: .62; }

.eeh-choice__icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  color: #080808;
  background: var(--eeh-accent);
  font-size: 22px;
}

.eeh-choice__title { margin: 0; font-size: 17px; font-weight: 900; letter-spacing: -.02em; }
.eeh-choice__meta { margin: 5px 0 0; color: var(--eeh-subtle); font-size: 13px; line-height: 1.38; }
.eeh-choice__price { margin: 12px 0 0; color: var(--eeh-text); font-size: 20px; font-weight: 950; }
.eeh-choice__tag { position: absolute; top: 12px; right: 12px; padding: 7px 9px; border-radius: 999px; color: #080808; background: var(--eeh-yellow); font-size: 11px; font-weight: 900; }

.eeh-service-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--eeh-line);
  border-radius: 18px;
  background: var(--eeh-card);
}

.eeh-service-toolbar strong { color: var(--eeh-text); }
.eeh-service-toolbar span { display: block; color: var(--eeh-subtle); font-size: 13px; }

.eeh-qty {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--eeh-line);
  border-radius: 999px;
  padding: 4px;
  background: color-mix(in srgb, var(--eeh-bg) 50%, transparent);
}

.eeh-qty button {
  appearance: none;
  border: 0;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: var(--eeh-text);
  background: var(--eeh-card-2);
  cursor: pointer;
  font-weight: 900;
}

.eeh-qty output { min-width: 24px; text-align: center; color: var(--eeh-text); font-weight: 900; }

.eeh-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.eeh-review-card {
  padding: 16px;
  border: 1px solid var(--eeh-line);
  border-radius: 22px;
  background: var(--eeh-card);
}

.eeh-review-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.eeh-review-card h4 { margin: 0; font-size: 15px; font-weight: 950; color: var(--eeh-text); }
.eeh-review-card p { margin: 0; color: var(--eeh-muted); font-size: 13px; line-height: 1.45; }

.eeh-mini-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.eeh-mini-list li { display: flex; justify-content: space-between; gap: 14px; color: var(--eeh-muted); font-size: 13px; }
.eeh-mini-list b { color: var(--eeh-text); font-weight: 900; }

.eeh-payment-shell {
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  gap: 14px;
}

.eeh-payment-box {
  border: 1px solid var(--eeh-line);
  border-radius: 22px;
  padding: 16px;
  background: var(--eeh-card);
}

.eeh-payment-box h4 { margin: 0 0 10px; font-size: 17px; font-weight: 950; }
.eeh-woo-slot { min-height: 180px; padding: 14px; border: 1px dashed var(--eeh-line-strong); border-radius: 18px; color: var(--eeh-muted); background: color-mix(in srgb, var(--eeh-bg) 35%, transparent); }
.eeh-woo-slot > p { margin: 0; line-height: 1.5; }

.eeh-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 22px 22px;
  border-top: 1px solid var(--eeh-line);
  background: color-mix(in srgb, var(--eeh-surface) 90%, transparent);
}

.eeh-btn {
  appearance: none;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 13px 18px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 950;
  letter-spacing: -.01em;
  text-decoration: none;
  transition: transform .18s ease, opacity .18s ease, background .18s ease, border-color .18s ease;
}

.eeh-btn:hover { transform: translateY(-1px); }
.eeh-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.eeh-btn--primary { color: #080808; background: var(--eeh-accent); }
.eeh-btn--secondary { color: var(--eeh-text); background: var(--eeh-card); border-color: var(--eeh-line); }
.eeh-btn--pink { color: #fff; background: var(--eeh-pink); }
.eeh-btn--ghost { min-height: 34px; padding: 8px 10px; color: var(--eeh-muted); background: transparent; border-color: var(--eeh-line); font-size: 12px; }
.eeh-btn--tiny { min-height: 32px; padding: 7px 10px; font-size: 12px; }

.eeh-order {
  position: sticky;
  top: 18px;
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-xl);
  background: color-mix(in srgb, var(--eeh-surface) 94%, transparent);
  box-shadow: var(--eeh-shadow);
  overflow: hidden;
}

.eeh-order__head {
  padding: 20px;
  background: var(--eeh-card);
  border-bottom: 1px solid var(--eeh-line);
}

.eeh-order__head h3 { margin: 0; color: var(--eeh-text); font-size: 24px; line-height: 1; font-weight: 950; letter-spacing: -.03em; }
.eeh-order__head p { margin: 8px 0 0; color: var(--eeh-muted); font-size: 13px; line-height: 1.4; }

.eeh-order__body { padding: 16px 20px 20px; }

.eeh-order-line {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--eeh-line);
}

.eeh-order-line:last-child { border-bottom: 0; }
.eeh-order-line strong { color: var(--eeh-text); font-size: 14px; }
.eeh-order-line small { display: block; margin-top: 3px; color: var(--eeh-subtle); font-size: 12px; line-height: 1.35; }
.eeh-order-line b { color: var(--eeh-text); white-space: nowrap; }

.eeh-total-box {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 16px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--eeh-accent), var(--eeh-yellow));
  color: #080808;
}

.eeh-total-box div { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.eeh-total-box span { font-size: 13px; font-weight: 850; }
.eeh-total-box strong { font-size: 28px; line-height: 1; font-weight: 950; letter-spacing: -.04em; }

.eeh-order__notice {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--eeh-line);
  border-radius: 16px;
  color: var(--eeh-muted);
  background: color-mix(in srgb, var(--eeh-card) 65%, transparent);
  font-size: 12px;
  line-height: 1.45;
}

.eeh-mobile-cta {
  display: none;
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 80;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  border: 1px solid var(--eeh-line-strong);
  border-radius: 999px;
  color: var(--eeh-text);
  background: color-mix(in srgb, var(--eeh-bg) 90%, transparent);
  backdrop-filter: blur(18px);
  box-shadow: var(--eeh-shadow);
}

.eeh-mobile-cta__price { padding-left: 10px; }
.eeh-mobile-cta__price small { display: block; color: var(--eeh-subtle); font-size: 11px; font-weight: 800; }
.eeh-mobile-cta__price strong { display: block; color: var(--eeh-text); font-size: 18px; font-weight: 950; }

.eeh-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--eeh-accent) 14%, transparent);
  color: var(--eeh-accent);
  font-size: 12px;
  font-weight: 900;
}

.eeh-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1100px) {
  .eeh-checkout__layout { grid-template-columns: 1fr; }
  .eeh-order { position: static; }
}

@media (max-width: 840px) {
  .eeh-checkout { padding: 12px 12px 92px; border-radius: 24px; }
  .eeh-checkout__topbar { grid-template-columns: 1fr; }
  .eeh-checkout__theme-switch { width: fit-content; }
  .eeh-stepper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border-radius: 20px;
  }
  .eeh-stepper__item {
    scroll-snap-align: start;
    min-width: 174px;
  }
  .eeh-panel__head { padding: 18px; }
  .eeh-step__body { padding: 18px; }
  .eeh-form-grid,
  .eeh-choice-grid,
  .eeh-summary-grid,
  .eeh-payment-shell { grid-template-columns: 1fr; }
  .eeh-actions { padding: 14px 18px 18px; }
  .eeh-service-toolbar { align-items: flex-start; flex-direction: column; }
  .eeh-mobile-cta { display: flex; }
}

@media (max-width: 520px) {
  .eeh-checkout { width: 100%; border-left: 0; border-right: 0; border-radius: 0; }
  .eeh-checkout__title { font-size: 43px; }
  .eeh-panel__head { display: grid; }
  .eeh-panel__badge { width: fit-content; }
  .eeh-actions { position: sticky; bottom: 0; z-index: 20; background: color-mix(in srgb, var(--eeh-bg) 92%, transparent); backdrop-filter: blur(16px); }
  .eeh-actions .eeh-btn { flex: 1; padding-left: 12px; padding-right: 12px; }
  .eeh-inline-card { align-items: flex-start; flex-direction: column; }
}

@supports not (background: color-mix(in srgb, black 50%, white)) {
  .eeh-checkout { background: var(--eeh-bg); }
  .eeh-checkout__theme-switch,
  .eeh-stepper,
  .eeh-panel,
  .eeh-order { background: var(--eeh-surface); }
}

/*
================================================================================
WOOCOMMERCE CHECKOUT BRIDGE — opzionale
================================================================================
Da usare se nello step 6 viene iniettato il checkout reale WooCommerce, per esempio:
[woocommerce_checkout] oppure template custom dentro .eeh-payment-shell.
Queste regole sono volutamente conservative e sempre scoped.
================================================================================
*/

.eeh-checkout .woocommerce,
.eeh-checkout .woocommerce-checkout,
.eeh-checkout #customer_details,
.eeh-checkout #order_review,
.eeh-checkout #payment {
  color: var(--eeh-text);
  font-family: "Space Grotesk", Inter, system-ui, sans-serif;
}

.eeh-checkout .woocommerce form .form-row {
  padding: 0;
  margin: 0 0 14px;
}

.eeh-checkout .woocommerce form .form-row label,
.eeh-checkout .woocommerce form .form-row .woocommerce-input-wrapper,
.eeh-checkout .woocommerce-billing-fields h3,
.eeh-checkout .woocommerce-additional-fields h3,
.eeh-checkout #order_review_heading {
  color: var(--eeh-text);
}

.eeh-checkout .woocommerce form .form-row label {
  display: block;
  margin: 0 0 7px;
  color: var(--eeh-muted);
  font-size: 13px;
  font-weight: 800;
}

.eeh-checkout .woocommerce input.input-text,
.eeh-checkout .woocommerce textarea,
.eeh-checkout .woocommerce select,
.eeh-checkout .select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--eeh-line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--eeh-card-2) 86%, transparent);
  color: var(--eeh-text);
  padding: 12px 14px;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.eeh-checkout .woocommerce input.input-text:focus,
.eeh-checkout .woocommerce textarea:focus,
.eeh-checkout .woocommerce select:focus,
.eeh-checkout .select2-container--default.select2-container--open .select2-selection--single {
  border-color: color-mix(in srgb, var(--eeh-accent) 76%, var(--eeh-line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--eeh-accent) 18%, transparent);
}

.eeh-checkout .woocommerce table.shop_table {
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-md);
  overflow: hidden;
  background: var(--eeh-card);
  color: var(--eeh-text);
}

.eeh-checkout .woocommerce table.shop_table th,
.eeh-checkout .woocommerce table.shop_table td {
  border-color: var(--eeh-line);
  color: var(--eeh-text);
}

.eeh-checkout .woocommerce table.shop_table .product-name,
.eeh-checkout .woocommerce table.shop_table .product-total,
.eeh-checkout .woocommerce table.shop_table tfoot th,
.eeh-checkout .woocommerce table.shop_table tfoot td {
  color: var(--eeh-text);
}

.eeh-checkout .woocommerce-checkout-payment,
.eeh-checkout #payment {
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-md);
  background: var(--eeh-card) !important;
  color: var(--eeh-text);
}

.eeh-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--eeh-line);
  padding: 16px;
}

.eeh-checkout #payment div.form-row {
  padding: 16px;
}

.eeh-checkout #payment div.payment_box {
  border-radius: 14px;
  background: color-mix(in srgb, var(--eeh-card-2) 88%, transparent);
  color: var(--eeh-muted);
}

.eeh-checkout .woocommerce button.button,
.eeh-checkout .woocommerce a.button,
.eeh-checkout .woocommerce input.button,
.eeh-checkout #place_order {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 14px 20px;
  background: var(--eeh-accent) !important;
  color: #080808 !important;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--eeh-accent) 28%, transparent);
}

.eeh-checkout .woocommerce-error,
.eeh-checkout .woocommerce-info,
.eeh-checkout .woocommerce-message {
  border-top: 0;
  border-left: 4px solid var(--eeh-accent);
  border-radius: 16px;
  background: var(--eeh-card);
  color: var(--eeh-text);
  box-shadow: none;
}

.eeh-checkout .woocommerce-error { border-left-color: var(--eeh-danger); }
.eeh-checkout .woocommerce-info { border-left-color: var(--eeh-yellow); }

/*
================================================================================
CLASSI DI STATO CONSIGLIATE PER INTEGRAZIONE JS/AJAX
================================================================================
*/

.eeh-checkout.is-loading {
  pointer-events: none;
  opacity: .72;
}

.eeh-checkout .is-disabled,
.eeh-checkout [disabled] {
  opacity: .48;
  cursor: not-allowed;
}

.eeh-checkout .is-error {
  border-color: var(--eeh-danger) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--eeh-danger) 16%, transparent) !important;
}

.eeh-checkout .is-success {
  border-color: var(--eeh-accent) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--eeh-accent) 16%, transparent) !important;
}


/* v1.9.3 - EasyEvent Hub integration tweaks: keep UI reference precise and avoid theme leaks */
.eeh-checkout .eeh-step[hidden]{display:none!important}
.eeh-checkout .eeh-step.is-active{display:block!important}
.eeh-checkout .eeh-actions .eeh-btn--secondary{min-width:120px}
.eeh-checkout .eeh-actions .eeh-btn--primary{min-width:148px}
.eeh-checkout .eeh-order{position:sticky;top:24px}
.eeh-checkout__event-name{display:inline-flex;margin-top:10px;padding:8px 11px;border:1px solid var(--eeh-line);border-radius:999px;background:color-mix(in srgb,var(--eeh-card) 78%,transparent);color:var(--eeh-muted);font-weight:800;font-size:13px}
.eeh-checkout[data-theme="white"] .eeh-checkout__event-name{background:#fff}
@media(max-width:1020px){.eeh-checkout .eeh-order{position:relative;top:auto}}

/* v1.9.6 native runtime bridge: il checkout reale usa la stessa HTML/CSS reference */
#eeh-booking-start.eeh-checkout {
  margin-block: 24px;
}
#eeh-booking-start .eeh-checkout__event-name {
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-top:12px;
  padding:7px 11px;
  border:1px solid var(--eeh-line);
  border-radius:999px;
  color:var(--eeh-muted);
  background:color-mix(in srgb,var(--eeh-card) 78%,transparent);
  font-size:12px;
  font-weight:850;
}
#eeh-booking-start .eeh-mode-toolbar { margin-bottom:16px; }
#eeh-booking-start .eeh-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
#eeh-booking-start .eeh-check-line {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--eeh-line);
  border-radius:16px;
  color:var(--eeh-muted);
  background:color-mix(in srgb,var(--eeh-card) 72%,transparent);
  font-size:13px;
  font-weight:850;
}
#eeh-booking-start .eeh-check-line small { display:block; color:var(--eeh-subtle); font-weight:650; }
#eeh-booking-start .eeh-extra-fields summary {
  cursor:pointer;
  color:var(--eeh-muted);
  font-weight:850;
}
#eeh-booking-start .eeh-participants-list { display:grid; gap:14px; }
#eeh-booking-start .eeh-pax-card {
  display:grid;
  gap:14px;
  align-items:stretch;
  border:1px solid var(--eeh-line);
  border-radius:22px;
  padding:16px;
  background:var(--eeh-card);
  box-shadow:none;
}
#eeh-booking-start .eeh-pax-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
#eeh-booking-start .eeh-pax-fields { width:100%; }
#eeh-booking-start .eeh-pax-card.invite-later .eeh-pax-fields { opacity:.45; }
#eeh-booking-start .eeh-pax-mini-total {
  justify-self:end;
  padding:8px 10px;
  border-radius:999px;
  color:#080808;
  background:var(--eeh-accent);
  font-size:12px;
  font-weight:950;
}
#eeh-booking-start .eeh-inline-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
#eeh-booking-start .eeh-service-icon {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:16px;
  color:#080808;
  background:var(--eeh-accent);
  font-size:22px;
  flex:0 0 auto;
}
#eeh-booking-start .eeh-service-icon img { width:28px; height:28px; object-fit:contain; }
#eeh-booking-start .eeh-service-card {
  grid-template-columns:auto minmax(0,1fr);
}
#eeh-booking-start .eeh-service-card .eeh-service-check { top:12px; right:12px; }
#eeh-booking-start .eeh-service-subtotal {
  display:inline-flex;
  margin-top:10px;
  color:var(--eeh-accent);
  font-style:normal;
  font-size:12px;
  font-weight:950;
}
#eeh-booking-start .eeh-summary-grid:empty:before,
#eeh-booking-start #eeh-checkout-minimal:empty:before {
  content:'Il riepilogo verrà generato automaticamente.';
  display:block;
  color:var(--eeh-muted);
}
#eeh-booking-start .eeh-success,
#eeh-booking-start .eeh-error,
#eeh-booking-start .eeh-step-alert {
  margin-top:14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--eeh-line);
  background:color-mix(in srgb,var(--eeh-card) 78%,transparent);
  color:var(--eeh-text);
}
#eeh-booking-start .eeh-error,
#eeh-booking-start .eeh-step-alert { border-color:color-mix(in srgb,var(--eeh-danger) 65%, var(--eeh-line)); }
#eeh-booking-start .eeh-pay-row {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--eeh-line);
}
#eeh-booking-start .eeh-pay-row a { color:var(--eeh-accent); font-weight:950; }
#eeh-booking-start[data-theme="white"] .eeh-choice__icon,
#eeh-booking-start[data-theme="white"] .eeh-service-icon,
#eeh-booking-start[data-theme="white"] .eeh-pax-mini-total { color:#080808; }
@media(max-width:840px){
  #eeh-booking-start.eeh-checkout { margin-block:0; }
  #eeh-booking-start .eeh-pax-main { align-items:flex-start; }
}
@media(max-width:520px){
  #eeh-booking-start .eeh-pax-main { display:grid; }
  #eeh-booking-start .eeh-pay-row { grid-template-columns:1fr; }
}

/* v1.9.9: first step must be only payment-method selection, no costs and no data fields. */
.eeh-checkout[data-current-step="1"] .eeh-order,
.eeh-checkout[data-current-step="1"] .eeh-mobile-cta {
  display: none !important;
}
.eeh-checkout[data-current-step="1"] .eeh-checkout__layout {
  grid-template-columns: minmax(0, 860px);
  justify-content: center;
}
.eeh-checkout .eeh-step-payment-only {
  display: grid;
  gap: 18px;
}
.eeh-checkout .eeh-step-payment-only .eeh-payment-mode-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 760px;
  margin: 0 auto;
  width: 100%;
}
.eeh-checkout .eeh-step-payment-only .eeh-flow-card {
  min-height: 170px;
}
.eeh-checkout .eeh-step-payment-only .eeh-flow-card .eeh-choice__price,
.eeh-checkout .eeh-step-payment-only .eeh-chip-row,
.eeh-checkout .eeh-step-payment-only .eeh-service-toolbar {
  display: none !important;
}
.eeh-checkout .eeh-privacy-accept {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid var(--eeh-line);
  border-radius: var(--eeh-radius-md);
  background: var(--eeh-card);
}
@media (max-width: 700px) {
  .eeh-checkout .eeh-step-payment-only .eeh-payment-mode-grid {
    grid-template-columns: 1fr;
  }
  .eeh-checkout[data-current-step="1"] .eeh-checkout__layout {
    grid-template-columns: 1fr;
  }
}

/* v1.9.11 - Multistep Builder runtime classes. Tutto è scoped sul checkout pubblico. */
#eeh-booking-start.eeh-bld { width:min(100%, var(--eeh-max, 1240px)); gap:var(--eeh-gap, 24px); }
#eeh-booking-start.eeh-bld-hide-eyebrow .eeh-checkout__eyebrow,
#eeh-booking-start.eeh-bld-hide-subtitle .eeh-checkout__microcopy,
#eeh-booking-start.eeh-bld-hide-event .eeh-checkout__event-name,
#eeh-booking-start.eeh-bld-hide-switch .eeh-checkout__theme-switch,
#eeh-booking-start.eeh-bld-hide-hints .eeh-stepper__hint,
#eeh-booking-start.eeh-bld-hide-badges .eeh-panel__badge,
#eeh-booking-start.eeh-bld-hide-stepdesc .eeh-panel__subtitle,
#eeh-booking-start.eeh-bld-hide-summarynotice .eeh-order__notice,
#eeh-booking-start.eeh-bld-hide-navtoolbar [data-step="3"] .eeh-service-toolbar,
#eeh-booking-start.eeh-bld-hide-servicetoolbar [data-step="4"] .eeh-service-toolbar { display:none!important; }

#eeh-booking-start.eeh-bld-header-compact .eeh-checkout__topbar { padding-bottom:12px; }
#eeh-booking-start.eeh-bld-header-compact .eeh-checkout__title { font-size:clamp(30px,4.5vw,58px); line-height:.96; }
#eeh-booking-start.eeh-bld-header-compact .eeh-checkout__microcopy { max-width:56ch; font-size:14px; }
#eeh-booking-start.eeh-bld-header-minimal .eeh-checkout__topbar { padding:4px 0 12px; grid-template-columns:1fr auto; }
#eeh-booking-start.eeh-bld-header-minimal .eeh-checkout__title { font-family:var(--eeh-font); font-size:clamp(24px,3.2vw,42px); line-height:1.05; text-transform:none; letter-spacing:-.04em; }
#eeh-booking-start.eeh-bld-header-minimal .eeh-checkout__title span { color:var(--eeh-text); }
#eeh-booking-start.eeh-bld-header-minimal .eeh-checkout__eyebrow,
#eeh-booking-start.eeh-bld-header-minimal .eeh-checkout__microcopy { display:none; }

#eeh-booking-start.eeh-bld-stepper-pills .eeh-stepper { display:flex; overflow-x:auto; box-shadow:none; padding:8px; border-radius:999px; }
#eeh-booking-start.eeh-bld-stepper-pills .eeh-stepper__item { min-width:max-content; border-radius:999px; padding:9px 12px; }
#eeh-booking-start.eeh-bld-stepper-pills .eeh-stepper__num { width:28px; height:28px; }
#eeh-booking-start.eeh-bld-stepper-minimal .eeh-stepper { box-shadow:none; background:transparent; border:0; border-bottom:1px solid var(--eeh-line); border-radius:0; padding:0 0 12px; }
#eeh-booking-start.eeh-bld-stepper-minimal .eeh-stepper__item { border:0; background:transparent; border-radius:12px; padding:8px; }
#eeh-booking-start.eeh-bld-stepper-minimal .eeh-stepper__item.is-active { background:color-mix(in srgb,var(--eeh-accent) 13%, transparent); }

#eeh-booking-start.eeh-bld-panel-flat .eeh-panel,
#eeh-booking-start.eeh-bld-panel-flat .eeh-order { box-shadow:none; }
#eeh-booking-start.eeh-bld-panel-outline .eeh-panel,
#eeh-booking-start.eeh-bld-panel-outline .eeh-order { box-shadow:none; background:transparent; border-width:2px; }
#eeh-booking-start.eeh-bld-panel-outline .eeh-panel__head { background:transparent; }

#eeh-booking-start.eeh-bld-summary-bottom .eeh-checkout__layout { grid-template-columns:1fr; }
#eeh-booking-start.eeh-bld-summary-bottom .eeh-order { position:static; width:100%; max-width:none; }
#eeh-booking-start.eeh-bld-summary-bottom .eeh-order__body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
#eeh-booking-start.eeh-bld-summary-bottom .eeh-total-box { grid-column:1/-1; }
#eeh-booking-start.eeh-bld-summary-final_only .eeh-order { display:none; }
#eeh-booking-start.eeh-bld-summary-final_only[data-current-step="5"] .eeh-order,
#eeh-booking-start.eeh-bld-summary-final_only[data-current-step="6"] .eeh-order { display:block; position:static; }
#eeh-booking-start.eeh-bld-summary-final_only[data-current-step="5"] .eeh-checkout__layout,
#eeh-booking-start.eeh-bld-summary-final_only[data-current-step="6"] .eeh-checkout__layout { grid-template-columns:1fr; }

#eeh-booking-start.eeh-bld-payment-compact .eeh-step-payment-only .eeh-flow-card { min-height:110px; padding:14px; }
#eeh-booking-start.eeh-bld-payment-compact .eeh-step-payment-only .eeh-flow-card .eeh-choice__icon { width:36px; height:36px; font-size:18px; }
#eeh-booking-start.eeh-bld-payment-split .eeh-step-payment-only .eeh-payment-mode-grid { max-width:920px; gap:22px; }
#eeh-booking-start.eeh-bld-payment-split .eeh-step-payment-only .eeh-flow-card { min-height:190px; }

#eeh-booking-start.eeh-bld-room-compact .eeh-room-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
#eeh-booking-start.eeh-bld-room-compact .eeh-room-option { min-height:92px; padding:13px; align-content:center; }
#eeh-booking-start.eeh-bld-room-compact .eeh-room-option .eeh-choice__icon { width:34px; height:34px; font-size:16px; }
#eeh-booking-start.eeh-bld-room-tile .eeh-room-grid { grid-template-columns:repeat(4,minmax(130px,1fr)); }
#eeh-booking-start.eeh-bld-room-tile .eeh-room-option { aspect-ratio:1/1; min-height:auto; place-content:center; text-align:center; }
#eeh-booking-start.eeh-bld-room-tile .eeh-room-option .eeh-choice__icon { margin-inline:auto; }

#eeh-booking-start.eeh-bld-fields-compact .eeh-pax-card { padding:12px; }
#eeh-booking-start.eeh-bld-fields-compact .eeh-field label { font-size:11px; }
#eeh-booking-start.eeh-bld-fields-compact .eeh-field input,
#eeh-booking-start.eeh-bld-fields-compact .eeh-field select,
#eeh-booking-start.eeh-bld-fields-compact .eeh-field textarea { min-height:42px; padding:9px 11px; border-radius:12px; }
#eeh-booking-start.eeh-bld-fields-compact .eeh-form-grid { gap:9px; }

#eeh-booking-start.eeh-bld-services-icons .eeh-service-catalog { grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
#eeh-booking-start.eeh-bld-services-icons .eeh-service-card { min-height:140px; text-align:center; justify-content:center; }
#eeh-booking-start.eeh-bld-services-icons .eeh-service-card .eeh-choice__meta { display:none; }
#eeh-booking-start.eeh-bld-services-icons .eeh-service-icon { margin-inline:auto; }
#eeh-booking-start.eeh-bld-services-list .eeh-service-catalog { grid-template-columns:1fr; }
#eeh-booking-start.eeh-bld-services-list .eeh-service-card { min-height:72px; grid-template-columns:auto 1fr auto; align-items:center; }
#eeh-booking-start.eeh-bld-services-list .eeh-service-card .eeh-choice__price { margin:0; }

#eeh-booking-start.eeh-bld-mobile-hidden .eeh-mobile-cta { display:none!important; }
#eeh-booking-start.eeh-bld-mobile-inside .eeh-mobile-cta { display:none!important; }
#eeh-booking-start.eeh-bld-actions-sticky .eeh-actions { position:sticky; bottom:0; z-index:30; backdrop-filter:blur(16px); }
#eeh-booking-start.eeh-bld-actions-minimal .eeh-actions { background:transparent; padding-inline:0; }
#eeh-booking-start.eeh-bld-actions-minimal .eeh-btn--secondary { background:transparent; }

@media(max-width:900px){
  #eeh-booking-start.eeh-bld-room-compact .eeh-room-grid,
  #eeh-booking-start.eeh-bld-room-tile .eeh-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #eeh-booking-start.eeh-bld-summary-bottom .eeh-order__body { grid-template-columns:1fr; }
}
@media(max-width:560px){
  #eeh-booking-start.eeh-bld-room-compact .eeh-room-grid,
  #eeh-booking-start.eeh-bld-room-tile .eeh-room-grid { grid-template-columns:1fr; }
  #eeh-booking-start.eeh-bld-header-minimal .eeh-checkout__topbar { grid-template-columns:1fr; }
}


/* v1.9.32 - Occupant form polish: card compatte, minorenne a switch, tutore nascosto finché serve */
#eeh-booking-start .eeh-pax-card {
  overflow:hidden;
}
#eeh-booking-start .eeh-pax-main {
  padding:14px;
  border:1px solid var(--eeh-line, rgba(255,255,255,.12));
  border-radius:18px;
  background:color-mix(in srgb, var(--eeh-card-2, #1f1f1f) 72%, transparent);
}
#eeh-booking-start .eeh-pax-main .eeh-avatar-row { min-width:0; }
#eeh-booking-start .eeh-pax-main h4 { margin:0; font-size:17px; line-height:1.1; }
#eeh-booking-start .eeh-pax-main p { margin:5px 0 0; color:var(--eeh-muted, #c9cbc7); font-size:13px; line-height:1.35; }
#eeh-booking-start .eeh-pax-main .eeh-status {
  white-space:nowrap;
  padding:8px 11px;
  border-radius:999px;
  background:color-mix(in srgb, var(--eeh-accent, #20F07A) 14%, transparent);
  color:var(--eeh-accent, #20F07A);
  font-size:12px;
  font-weight:950;
}
#eeh-booking-start .eeh-pax-fields { gap:14px!important; margin-top:2px; }
#eeh-booking-start .eeh-pax-fields .eeh-field label {
  display:block;
  margin:0 0 7px;
  color:var(--eeh-muted, #c9cbc7);
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}
#eeh-booking-start .eeh-pax-fields .eeh-field input {
  min-height:50px;
  border-radius:16px;
}
#eeh-booking-start .eeh-minor-group,
#eeh-booking-start .eeh-field--full { grid-column:1/-1; }
#eeh-booking-start .eeh-minor-toggle,
#eeh-booking-start .eeh-invite-toggle {
  width:100%;
  justify-content:flex-start;
  align-items:center;
  gap:12px;
  padding:12px 14px!important;
  border-radius:18px!important;
  cursor:pointer;
}
#eeh-booking-start .eeh-minor-toggle input,
#eeh-booking-start .eeh-invite-toggle input {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
#eeh-booking-start .eeh-check-ui {
  position:relative;
  flex:0 0 auto;
  display:inline-block;
  width:44px;
  height:26px;
  border-radius:999px;
  background:color-mix(in srgb, var(--eeh-muted, #c9cbc7) 22%, transparent);
  border:1px solid var(--eeh-line, rgba(255,255,255,.12));
  transition:background .18s ease, border-color .18s ease;
}
#eeh-booking-start .eeh-check-ui:after {
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  left:3px;
  top:2px;
  border-radius:999px;
  background:var(--eeh-text, #fff);
  box-shadow:0 6px 14px rgba(0,0,0,.22);
  transition:transform .18s ease, background .18s ease;
}
#eeh-booking-start .eeh-minor-toggle input:checked + .eeh-check-ui,
#eeh-booking-start .eeh-invite-toggle input:checked + .eeh-check-ui {
  background:var(--eeh-accent, #20F07A);
  border-color:var(--eeh-accent, #20F07A);
}
#eeh-booking-start .eeh-minor-toggle input:checked + .eeh-check-ui:after,
#eeh-booking-start .eeh-invite-toggle input:checked + .eeh-check-ui:after {
  transform:translateX(18px);
  background:#080808;
}
#eeh-booking-start .eeh-minor-toggle strong,
#eeh-booking-start .eeh-invite-toggle strong { display:block; color:var(--eeh-text, #fff); line-height:1.1; }
#eeh-booking-start .eeh-minor-toggle small,
#eeh-booking-start .eeh-invite-toggle small { display:block!important; margin-top:3px; color:var(--eeh-muted, #c9cbc7); font-weight:700; line-height:1.25; }
#eeh-booking-start .eeh-guardian-fields {
  display:none;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:12px;
  padding:14px;
  border:1px solid var(--eeh-line, rgba(255,255,255,.12));
  border-radius:18px;
  background:color-mix(in srgb, var(--eeh-card-2, #1f1f1f) 56%, transparent);
}
#eeh-booking-start .eeh-minor-group.is-minor .eeh-guardian-fields { display:grid; }
#eeh-booking-start .eeh-pax-card.invite-later .eeh-pax-fields { opacity:.72; }
#eeh-booking-start .eeh-pax-card.invite-later .eeh-guardian-fields { display:none; }
#eeh-booking-start .eeh-invite-help { margin:0; }
@media(max-width:720px){
  #eeh-booking-start .eeh-pax-main { display:grid!important; gap:10px; }
  #eeh-booking-start .eeh-pax-main .eeh-status { width:fit-content; }
  #eeh-booking-start .eeh-guardian-fields { grid-template-columns:1fr; }
}


/* v1.9.33 - Occupant minor toggle compact + CRM-ready participant fields */
#eeh-booking-start .eeh-minor-group {
  grid-column: 1 / -1;
  display: block;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
#eeh-booking-start .eeh-minor-toggle {
  width: fit-content !important;
  min-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  margin: 2px 0 4px !important;
  padding: 6px 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
#eeh-booking-start .eeh-minor-toggle .eeh-check-ui {
  width: 30px !important;
  height: 18px !important;
  border-radius: 999px !important;
}
#eeh-booking-start .eeh-minor-toggle .eeh-check-ui:after {
  width: 14px !important;
  height: 14px !important;
  left: 2px !important;
  top: 1px !important;
}
#eeh-booking-start .eeh-minor-toggle input:checked + .eeh-check-ui:after {
  transform: translateX(12px) !important;
}
#eeh-booking-start .eeh-minor-toggle strong {
  display: inline !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}
#eeh-booking-start .eeh-minor-toggle small {
  display: inline !important;
  margin: 0 0 0 7px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--eeh-muted, #c9cbc7) !important;
  text-transform: none !important;
}
#eeh-booking-start .eeh-guardian-fields {
  margin-top: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-minor-group { display:none; }
@media(max-width:720px){
  #eeh-booking-start .eeh-minor-toggle { align-items:flex-start !important; }
  #eeh-booking-start .eeh-minor-toggle small { display:block !important; margin:3px 0 0 !important; }
}


/* v1.9.34 - Hide deferred occupant fields when invite-later is enabled */
#eeh-booking-start .eeh-pax-card.invite-later .eeh-pax-fields {
  display: none !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-invite-help {
  margin-top: 4px !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-invite-toggle {
  margin-bottom: 0 !important;
}
#eeh-booking-start .eeh-pax-card.invite-later {
  gap: 12px !important;
}


/* v1.9.38 - Mobile stepper: circle sopra + testo sotto, scrollbar nascosta */
@media (max-width: 840px) {
  #eeh-booking-start.eeh-checkout .eeh-stepper {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 10px !important;
  }
  #eeh-booking-start.eeh-checkout .eeh-stepper::-webkit-scrollbar { display: none; width: 0; height: 0; }
  #eeh-booking-start.eeh-checkout .eeh-stepper__item {
    flex: 0 0 92px !important;
    min-width: 92px !important;
    max-width: 112px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    padding: 10px 8px !important;
    min-height: 74px !important;
    scroll-snap-align: start;
  }
  #eeh-booking-start.eeh-checkout .eeh-stepper__num {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 13px !important;
    margin: 0 !important;
  }
  #eeh-booking-start.eeh-checkout .eeh-stepper__label {
    display: block !important;
    width: 100% !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  #eeh-booking-start.eeh-checkout .eeh-stepper__hint { display: none !important; }
}

/* v1.9.38 - Fallback globale Material Symbols nel checkout pubblico */
#eeh-booking-start .material-symbols-outlined,
#eeh-booking-start .material-symbols-rounded,
#eeh-booking-start .material-symbols-sharp,
#eeh-booking-start .eeh-material-icon {
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 24px !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  -webkit-font-smoothing: antialiased !important;
  font-feature-settings: 'liga' !important;
  font-variation-settings: 'FILL' 0,'wght' 650,'GRAD' 0,'opsz' 24 !important;
}


/* v1.9.40 - Mobile checkout UI polish: stesso markup/logica, resa mobile più pulita per frontend e builder */
.eeh-checkout {
  max-width: 100%;
}
.eeh-checkout .eeh-checkout__layout,
.eeh-checkout .eeh-panel,
.eeh-checkout .eeh-order,
.eeh-checkout .eeh-step,
.eeh-checkout .eeh-step__body,
.eeh-checkout .eeh-form-grid,
.eeh-checkout .eeh-pax-fields,
.eeh-checkout .eeh-choice-grid {
  min-width: 0;
}
.eeh-checkout .eeh-stepper,
.eeh-checkout .eeh-room-grid {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.eeh-checkout .eeh-stepper::-webkit-scrollbar,
.eeh-checkout .eeh-room-grid::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

@media (max-width: 840px) {
  .eeh-checkout,
  #eeh-booking-start.eeh-checkout {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    padding: 10px 10px 92px;
    border-radius: 26px;
  }
  .eeh-checkout .eeh-checkout__topbar {
    padding: 2px 0 12px;
    gap: 8px;
  }
  .eeh-checkout .eeh-checkout__title {
    font-size: clamp(42px, 14vw, 68px);
    line-height: .9;
    letter-spacing: .005em;
    overflow-wrap: anywhere;
  }
  .eeh-checkout .eeh-checkout__microcopy,
  .eeh-checkout .eeh-checkout__event-name {
    font-size: 12px;
    line-height: 1.35;
  }
  .eeh-checkout .eeh-stepper,
  #eeh-booking-start.eeh-checkout .eeh-stepper {
    display: flex !important;
    align-items: stretch;
    gap: 8px !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding: 8px !important;
    margin-bottom: 16px;
    border-radius: 18px;
  }
  .eeh-checkout .eeh-stepper__item,
  #eeh-booking-start.eeh-checkout .eeh-stepper__item {
    flex: 0 0 clamp(74px, 22vw, 90px) !important;
    min-width: clamp(74px, 22vw, 90px) !important;
    max-width: 94px !important;
    min-height: 72px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 9px 7px !important;
    border-radius: 16px !important;
    text-align: center !important;
    scroll-snap-align: center;
  }
  .eeh-checkout .eeh-stepper__item.is-active,
  #eeh-booking-start.eeh-checkout .eeh-stepper__item.is-active {
    box-shadow: inset 0 0 0 1px var(--eeh-line-strong), 0 8px 22px rgba(0,0,0,.18);
  }
  .eeh-checkout .eeh-stepper__num,
  #eeh-booking-start.eeh-checkout .eeh-stepper__num {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    font-size: 12px !important;
    margin: 0 !important;
  }
  .eeh-checkout .eeh-stepper__label,
  #eeh-booking-start.eeh-checkout .eeh-stepper__label {
    display: -webkit-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal !important;
    text-overflow: clip !important;
    font-size: 10.5px !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }
  .eeh-checkout .eeh-stepper__hint,
  #eeh-booking-start.eeh-checkout .eeh-stepper__hint {
    display: none !important;
  }
  .eeh-checkout .eeh-panel,
  .eeh-checkout .eeh-order {
    border-radius: 24px;
    max-width: 100%;
    overflow: hidden;
  }
  .eeh-checkout .eeh-panel__head {
    padding: 18px;
    display: grid;
    gap: 12px;
  }
  .eeh-checkout .eeh-panel__title {
    font-size: clamp(28px, 10vw, 42px);
    line-height: .96;
  }
  .eeh-checkout .eeh-panel__subtitle {
    font-size: 14px;
    line-height: 1.42;
  }
  .eeh-checkout .eeh-panel__badge {
    width: fit-content;
    padding: 8px 11px;
    font-size: 11px;
  }
  .eeh-checkout .eeh-step__body {
    padding: 16px;
  }
  .eeh-checkout .eeh-room-grid {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 6px;
    margin-inline: -2px;
  }
  .eeh-checkout .eeh-room-option {
    flex: 0 0 118px !important;
    min-width: 118px !important;
    max-width: 128px !important;
    min-height: 126px !important;
    padding: 13px !important;
    border-radius: 22px !important;
    scroll-snap-align: start;
  }
  .eeh-checkout .eeh-room-option .eeh-choice__icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    font-size: 18px;
  }
  .eeh-checkout .eeh-room-option .eeh-choice__title {
    font-size: 15px;
    line-height: 1.05;
  }
  .eeh-checkout .eeh-room-option .eeh-choice__meta,
  .eeh-checkout .eeh-room-option .eeh-choice__price {
    font-size: 12px;
    line-height: 1.25;
  }
  .eeh-checkout .eeh-pax-card {
    padding: 14px !important;
    border-radius: 22px !important;
  }
  .eeh-checkout .eeh-pax-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .eeh-checkout .eeh-pax-fields .eeh-field label {
    font-size: 10.5px !important;
    line-height: 1.05;
  }
  .eeh-checkout .eeh-pax-fields .eeh-field input,
  .eeh-checkout .eeh-pax-fields .eeh-field select,
  .eeh-checkout .eeh-pax-fields .eeh-field textarea {
    min-height: 46px !important;
    padding: 10px 11px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }
  .eeh-checkout .eeh-actions {
    gap: 10px;
    padding: 14px 16px 16px;
  }
  .eeh-checkout .eeh-actions .eeh-btn {
    min-width: 0 !important;
    flex: 1 1 0;
    min-height: 44px;
    padding: 11px 12px;
    font-size: 13px;
  }
  .eeh-checkout .eeh-order {
    margin-top: 20px;
  }
  .eeh-checkout .eeh-order__head {
    padding: 17px 18px;
  }
  .eeh-checkout .eeh-order__head h3 {
    font-size: 22px;
  }
  .eeh-checkout .eeh-order__body {
    padding: 14px 18px 18px;
  }
  .eeh-checkout .eeh-order-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }
  .eeh-checkout .eeh-order-line b {
    font-size: 13px;
  }
  .eeh-checkout .eeh-total-box {
    border-radius: 18px;
    padding: 14px;
  }
  .eeh-checkout .eeh-total-box strong {
    font-size: 24px;
  }
}

@media (max-width: 380px) {
  .eeh-checkout,
  #eeh-booking-start.eeh-checkout {
    padding-inline: 8px;
  }
  .eeh-checkout .eeh-checkout__title {
    font-size: clamp(38px, 15vw, 56px);
  }
  .eeh-checkout .eeh-step__body,
  .eeh-checkout .eeh-panel__head {
    padding: 14px;
  }
  .eeh-checkout .eeh-pax-fields {
    grid-template-columns: 1fr !important;
  }
  .eeh-checkout .eeh-room-option {
    flex-basis: 108px !important;
    min-width: 108px !important;
  }
}

/* Builder mobile preview must render like real mobile even on a large desktop viewport. */
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-checkout {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  padding: 10px 10px 92px !important;
  border-radius: 26px !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-checkout__title {
  font-size: 62px !important;
  line-height: .9 !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-stepper {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  padding: 8px !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-stepper::-webkit-scrollbar,
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-room-grid::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-stepper__item {
  flex: 0 0 82px !important;
  min-width: 82px !important;
  max-width: 92px !important;
  min-height: 72px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 6px !important;
  padding: 9px 7px !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-stepper__label {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal !important;
  font-size: 10.5px !important;
  line-height: 1.08 !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-stepper__hint { display: none !important; }
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-checkout__layout { grid-template-columns: 1fr !important; }
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-order { position: static !important; margin-top: 20px !important; }
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-room-grid {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-room-option {
  flex: 0 0 118px !important;
  min-width: 118px !important;
  max-width: 128px !important;
  min-height: 126px !important;
}
body.wp-admin .eeh-visual-viewport.is-mobile .eeh-pax-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

/* v1.9.43 - Deferred occupant invite email required */
#eeh-booking-start .eeh-pax-card.invite-later .eeh-pax-fields,
.eeh-checkout .eeh-pax-card.invite-later .eeh-pax-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  opacity: 1 !important;
  margin-top: 10px !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-pax-fields .eeh-field:not(.eeh-deferred-email-field),
.eeh-checkout .eeh-pax-card.invite-later .eeh-pax-fields .eeh-field:not(.eeh-deferred-email-field) {
  display: none !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-deferred-email-field,
.eeh-checkout .eeh-pax-card.invite-later .eeh-deferred-email-field {
  display: flex !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-deferred-email-field input,
.eeh-checkout .eeh-pax-card.invite-later .eeh-deferred-email-field input {
  opacity: 1 !important;
  pointer-events: auto !important;
}
#eeh-booking-start .eeh-pax-card.invite-later .eeh-status,
.eeh-checkout .eeh-pax-card.invite-later .eeh-status {
  background: color-mix(in srgb, var(--eeh-accent, #20F07A) 18%, transparent) !important;
  color: var(--eeh-accent, #20F07A) !important;
}
