/* Happy Hippo Bookings — public surfaces.
   Visual language from the original booking UI (cards, progress, photos, 3-D pills)
   with Core brand tokens: teal / mint / magenta. New wizard step order is unchanged. */

.hhb-booking-wrap,
.hhb-app,
.hhb-body {
  --hhb-teal: var(--hh-blue, #0099e8);
  --hhb-teal-deep: var(--hh-blue-dark, #005eb8);
  --hhb-blue: var(--hh-blue, #0099e8);
  --hhb-blue-dark: var(--hh-blue-dark, #005eb8);
  --hhb-mint: var(--hh-mint, #5EEAD4);
  --hhb-pink: var(--hh-pink, #DB2777);
  --hhb-pink-soft: var(--hh-pink-soft, #F9A8D4);
  --hhb-cream: var(--hh-cream, #FFF8F0);
  --hhb-ink: var(--hh-ink, #102244);
  --hhb-muted: var(--hh-muted, #42506b);
  --hhb-line: var(--hh-line, #dbe8f3);
  --hhb-white: #ffffff;
  --hhb-sun: #ffd21f;
  --hhb-sun-deep: #f4b900;
  --hhb-ice: #e9f8ff;
  --hhb-display: "Trebuchet MS", "Avenir Next", "Nunito", "Segoe UI", "Arial Rounded MT Bold", sans-serif;
  --hhb-body: "Avenir Next", "Nunito", "Trebuchet MS", "Segoe UI", Verdana, sans-serif;
  --hhb-radius: 10px;
  --hhb-pill: 999px;
  --hhb-shadow: 0 18px 42px rgba(12, 56, 102, 0.14);
  --hhb-shadow-pink: 0 10px 0 rgba(219, 39, 119, 0.14), 0 18px 30px rgba(0, 94, 184, 0.12);
}

.hhb-body {
  margin: 0;
  color: var(--hhb-ink);
  background:
    radial-gradient(circle at 18px 18px, rgba(0, 153, 232, 0.16) 0 3px, transparent 4px),
    #ffffff;
  background-size: 54px 54px, auto;
  font-family: var(--hhb-body);
}

.hhb-booking-wrap,
.hhb-app {
  color: var(--hhb-ink);
  font-family: var(--hhb-body);
}

.hhb-booking-wrap,
.hhb-booking-wrap *,
.hhb-app,
.hhb-app * {
  box-sizing: border-box;
}

.hhb-booking-wrap [hidden],
.hhb-app [hidden] {
  display: none !important;
}

.hhb-skip {
  position: absolute;
  left: -999px;
  top: 8px;
  z-index: 20;
  padding: 0.55rem 0.8rem;
  border-radius: var(--hhb-pill);
  background: var(--hhb-white);
  color: var(--hhb-teal-deep);
  font-weight: 800;
  text-decoration: none;
}

.hhb-skip:focus {
  left: 8px;
}

.hhb-shell,
.hhb-app {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding: 0.45rem 0.7rem 6.5rem;
}

.hhb-hero {
  display: grid;
  gap: 0.55rem;
  padding: 0.55rem 0 0.95rem;
}

.hhb-hero__row {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.hhb-hero__mark {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  box-shadow: 0 8px 0 rgba(19, 78, 74, 0.12);
}

.hhb-hero__copy {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.hhb-kicker {
  margin: 0;
  color: var(--hhb-pink);
  font-family: var(--hhb-display);
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.01em;
  line-height: 1;
  text-transform: uppercase;
}

.hhb-hero h1,
.hhb-hero h2,
.hhb-pane-title,
.hhb-fieldset > legend,
.hhb-confirm h1 {
  margin: 0;
  color: var(--hhb-blue-dark);
  font-family: var(--hhb-display);
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 0.98;
}

.hhb-hero p:not(.hhb-kicker) {
  max-width: 44rem;
  margin: 0;
  color: var(--hhb-muted);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.hhb-progress {
  display: grid;
  gap: 0.4rem;
  margin: 0 0 0.85rem;
}

.hhb-progress__label {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--hhb-teal-deep);
  font-size: 0.86rem;
  font-weight: 900;
}

.hhb-progress__bar {
  height: 8px;
  overflow: hidden;
  background: var(--hhb-line);
  border-radius: var(--hhb-pill);
}

.hhb-progress__bar > span {
  display: block;
  height: 100%;
  background: var(--hhb-pink);
  border-radius: inherit;
  transition: width 180ms ease;
}

.hhb-form__layout,
.hhb-layout {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.hhb-steps {
  display: none;
  gap: 0.45rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hhb-step,
.hhb-steps li,
.hhb-steps button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  padding: 0.58rem 0.65rem;
  color: var(--hhb-muted);
  background: var(--hhb-white);
  border: 1px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

.hhb-step span,
.hhb-steps li span,
.hhb-steps button span {
  display: inline-grid;
  flex: 0 0 auto;
  width: 1.55rem;
  aspect-ratio: 1;
  place-items: center;
  color: var(--hhb-white);
  background: var(--hhb-teal);
  border-radius: 50%;
  font-size: 0.78rem;
}

.hhb-step.is-active,
.hhb-steps li.is-active,
.hhb-steps button.is-active {
  color: var(--hhb-white);
  background: var(--hhb-pink);
  border-color: rgba(219, 39, 119, 0.28);
}

.hhb-step.is-active span,
.hhb-steps li.is-active span,
.hhb-steps button.is-active span {
  color: var(--hhb-ink);
  background: var(--hhb-sun);
}

.hhb-step.is-done,
.hhb-steps li.is-done,
.hhb-steps button.is-done {
  color: var(--hhb-white);
  background: var(--hhb-blue-dark);
  border-color: var(--hhb-blue-dark);
}

.hhb-step:focus-visible,
.hhb-steps button:focus-visible {
  outline: 3px solid var(--hhb-mint);
  outline-offset: 2px;
}

.hhb-card,
.hhb-panel,
.hhb-form__panel {
  width: 100%;
  min-width: 0;
  /* Regression: never clip step 1 event-type cards / fields (overflow:hidden + implicit height collapsed the pane). */
  overflow: visible;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  box-shadow: var(--hhb-shadow);
}

.hhb-main,
.hhb-pane,
.hhb-fieldset,
#hhb-step {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  min-height: 0;
  min-width: 0;
  overflow: visible;
  padding: 1.15rem 0.82rem 0.2rem;
  border: 0;
  margin: 0;
}

.hhb-main {
  padding: 0;
}

.hhb-fieldset > legend,
.hhb-pane-title {
  display: grid;
  gap: 0.3rem;
  width: 100%;
  margin-bottom: 0.9rem;
  font-size: 1.55rem;
}

.hhb-lede,
.hhb-muted {
  margin: 0 0 0.85rem;
  color: var(--hhb-muted);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
}

.hhb-choice-grid,
.hhb-cards,
.hhb-field-grid,
.hhb-chip-grid {
  display: grid;
  width: 100%;
  gap: 0.68rem;
  min-width: 0;
}

.hhb-choice-grid--types,
.hhb-choice-grid--included {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hhb-choice-card,
.hhb-chip-card {
  position: relative;
  display: grid;
  min-width: 0;
  cursor: pointer;
}

.hhb-choice-card__hit {
  display: grid;
  min-width: 0;
  cursor: pointer;
}

.hhb-choice-card__input,
.hhb-chip-card input,
.hhb-segmented input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hhb-choice-card__body {
  display: grid;
  min-height: 148px;
  align-content: start;
  gap: 0.5rem;
  min-width: 0;
  overflow: hidden;
  padding: 0.72rem;
  background: linear-gradient(180deg, #ffffff 0%, #f4fffb 100%);
  border: 2px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.hhb-choice-card__hit {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.hhb-choice-card__image,
.hhb-choice-card__media,
.hhb-card__media img,
.hhb-setup-hero img,
.hhb-example img,
.hhb-upload__example img {
  display: block;
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 8px;
}

.hhb-choice-card__image,
.hhb-choice-card__media {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  background: #ffffff;
}

.hhb-choice-card--contain .hhb-choice-card__image,
.hhb-choice-card--contain .hhb-choice-card__media {
  object-fit: contain;
  background: #ffffff;
}

.hhb-choice-card--bubbles .hhb-choice-card__image {
  object-fit: contain;
  object-position: center;
  padding: 10%;
  background: #ffffff;
}

.hhb-choice-card__media--empty {
  min-height: 140px;
  background: var(--hhb-blue-dark);
}

.hhb-choice-card strong,
.hhb-chip-card span {
  color: var(--hhb-blue-dark);
  font-family: var(--hhb-display);
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
}

.hhb-choice-card p,
.hhb-choice-card .hhb-choice-card__copy {
  margin: 0;
  color: var(--hhb-muted);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
}

.hhb-choice-card__status {
  min-height: 1rem;
  color: var(--hhb-pink);
  font-size: 0.75rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.hhb-choice-card__title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.hhb-choice-card__title-row strong {
  flex: 1;
  min-width: 0;
}

.hhb-choice-card--checkable .hhb-choice-card__input {
  position: static;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  border: initial;
  accent-color: var(--hhb-pink);
  flex: 0 0 auto;
}

.hhb-choice-card__price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
}

.hhb-choice-card__banner,
.hhb-choice-card__price-row .hhb-price {
  display: inline-flex;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  padding: 0.34rem 0.62rem;
  color: var(--hhb-ink);
  background: var(--hhb-sun);
  border: 1px solid rgba(16, 34, 68, 0.08);
  border-radius: var(--hhb-pill);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.hhb-choice-card:not(.is-selected) .hhb-choice-card__banner {
  display: none;
}

.hhb-qty .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hhb-pill,
.hhb-choice-card em,
.hhb-summary__chips span {
  display: inline-flex;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  padding: 0.34rem 0.62rem;
  color: var(--hhb-ink);
  background: var(--hhb-sun);
  border: 1px solid rgba(16, 34, 68, 0.08);
  border-radius: var(--hhb-pill);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.hhb-choice-card:hover .hhb-choice-card__body,
.hhb-choice-card:focus-within .hhb-choice-card__body,
.hhb-chip-card:hover span,
.hhb-chip-card:focus-within span {
  border-color: rgba(15, 118, 110, 0.55);
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.13);
}

.hhb-choice-card:has(.hhb-choice-card__input:checked) .hhb-choice-card__body,
.hhb-choice-card:has(input:checked) .hhb-choice-card__body,
.hhb-card.is-selected {
  border-color: var(--hhb-pink);
  box-shadow: var(--hhb-shadow-pink);
  transform: translateY(-2px);
}

.hhb-choice-card.is-unavailable,
.hhb-choice-card.is-disabled,
.hhb-card.is-unavailable,
.hhb-card[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.hhb-chip-card span {
  display: grid;
  min-height: 52px;
  place-items: center;
  padding: 0.65rem 0.7rem;
  background: #ffffff;
  border: 2px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  text-align: center;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

.hhb-chip-card input:checked + span {
  color: var(--hhb-white);
  background: var(--hhb-teal-deep);
  border-color: var(--hhb-teal-deep);
}

.hhb-segmented {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.15rem 0 0.85rem;
}

.hhb-segmented label {
  position: relative;
  display: grid;
  min-width: 0;
  cursor: pointer;
}

.hhb-segmented span {
  display: grid;
  min-height: 48px;
  place-items: center;
  padding: 0.55rem 0.35rem;
  color: var(--hhb-ink);
  background: #ffffff;
  border: 2px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  font-size: 0.88rem;
  font-weight: 900;
  text-align: center;
}

.hhb-segmented input:checked + span {
  color: var(--hhb-white);
  background: var(--hhb-teal-deep);
  border-color: var(--hhb-teal-deep);
}

.hhb-field,
.hhb-grid-form label,
.hhb-promo {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  color: var(--hhb-ink);
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.2;
}

.hhb-field input,
.hhb-field select,
.hhb-field textarea,
.hhb-grid-form input,
.hhb-grid-form select,
.hhb-grid-form textarea,
.hhb-promo input {
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  padding: 0.75rem 0.82rem;
  color: var(--hhb-ink);
  background: #ffffff;
  border: 2px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.hhb-field textarea,
.hhb-grid-form textarea {
  min-height: 132px;
  resize: vertical;
}

.hhb-field input:focus,
.hhb-field select:focus,
.hhb-field textarea:focus,
.hhb-grid-form input:focus,
.hhb-grid-form select:focus,
.hhb-grid-form textarea:focus,
.hhb-promo input:focus {
  border-color: var(--hhb-teal);
  box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.14);
}

.hhb-field input::placeholder,
.hhb-field textarea::placeholder {
  color: #7b879b;
}

.hhb-checkbox-line {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 0.6rem;
  align-items: start;
  margin: 0.7rem 0;
  font-size: 0.92rem;
  font-weight: 800;
}

.hhb-checkbox-line input {
  width: 22px;
  height: 22px;
  margin: 0.08rem 0 0;
  accent-color: var(--hhb-pink);
}

.hhb-rules {
  display: grid;
  gap: 0.65rem;
  margin: 0.85rem 0 1.1rem;
  padding: 0.9rem 1rem;
  background: var(--hhb-ice);
  border: 1px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
}

.hhb-rules p {
  margin: 0;
  color: var(--hhb-blue-dark);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
}

.hhb-rules-list {
  margin: 0.2rem 0 0;
  padding: 0 0 0 1.15rem;
  color: var(--hhb-blue-dark);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.45;
}

.hhb-included-area,
.hhb-addon-area,
.hhb-upload,
.hhb-setup-hero {
  display: grid;
  gap: 0.7rem;
  margin: 0.95rem 0;
}

.hhb-included-area,
.hhb-upload {
  padding: 0.85rem;
  background: var(--hhb-ice);
  border: 1px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
}

.hhb-included-area h3,
.hhb-addon-area h3,
.hhb-upload h3 {
  margin: 0;
  color: var(--hhb-blue-dark);
  font-family: var(--hhb-display);
  font-size: 1.2rem;
}

.hhb-setup-hero {
  position: relative;
  overflow: hidden;
  border-radius: var(--hhb-radius);
}

.hhb-setup-hero img {
  height: auto;
  max-height: 280px;
  object-fit: contain;
  background: #ffffff;
  border: 0;
  border-radius: var(--hhb-radius);
}

.hhb-setup-hero span {
  position: absolute;
  top: 0.7rem;
  left: 0.75rem;
  padding: 0.35rem 0.65rem;
  color: var(--hhb-ink);
  background: var(--hhb-sun);
  border-radius: var(--hhb-pill);
  font-size: 0.8rem;
  font-weight: 900;
}

.hhb-examples,
.hhb-upload__examples {
  display: grid;
  gap: 0.65rem;
}

.hhb-example,
.hhb-upload__example {
  margin: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
}

.hhb-example img,
.hhb-upload__example img {
  height: 160px;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}

.hhb-example figcaption,
.hhb-upload__example figcaption {
  padding: 0.5rem 0.7rem;
  color: var(--hhb-muted);
  font-size: 0.8rem;
  font-weight: 800;
}

.hhb-setup-photo__preview {
  margin: 0 0 0.45rem;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
}

.hhb-setup-photo__preview img {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: cover;
}

.hhb-setup-photo input[type="file"] {
  min-height: 0;
  padding: 0.45rem 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hhb-rate-note,
.hhb-disclaimer,
.hhb-alert,
.hh-alert {
  margin: 0.75rem 0;
  padding: 0.78rem 0.85rem;
  border-radius: var(--hhb-radius);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.38;
}

.hhb-rate-note,
.hhb-disclaimer,
.hhb-alert--warn,
.hh-alert--warning {
  color: var(--hhb-ink);
  background: #fff4bf;
  border: 1px solid rgba(230, 174, 0, 0.42);
}

.hhb-alert--error,
.hh-alert--error,
.hhb-status.is-error {
  color: #7c123f;
  background: #fff0f6;
  border: 1px solid rgba(219, 39, 119, 0.28);
}

.hhb-alert--ok,
.hh-alert--success {
  color: #065f46;
  background: #E7F8EF;
  border: 1px solid rgba(6, 118, 71, 0.18);
}

.hhb-alert--info {
  color: var(--hhb-teal-deep);
  background: var(--hhb-ice);
  border: 1px solid rgba(15, 118, 110, 0.2);
}

.hhb-success-panel {
  display: grid;
  gap: 0.5rem;
  padding: 1.15rem 1.2rem;
  color: #ffffff;
  background: linear-gradient(135deg, var(--hhb-mint), var(--hhb-teal-deep));
  border-radius: var(--hhb-radius);
}

.hhb-success-panel h2,
.hhb-success-panel h3,
.hhb-success-panel p {
  margin: 0;
  color: #ffffff;
}

.hhb-review-list {
  display: grid;
  gap: 0.15rem;
}

.hhb-review-row {
  display: grid;
  gap: 0.15rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid var(--hhb-line);
}

.hhb-review-row span {
  color: var(--hhb-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.hhb-review-row strong {
  color: var(--hhb-ink);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.3;
}

.hhb-actions,
.hhb-nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
  padding: 0.9rem 0.85rem 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), #ffffff);
  border-top: 1px solid var(--hhb-line);
}

.hhb-btn,
.hhb-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.82rem 1.05rem;
  color: var(--hhb-teal-deep);
  background: #ffffff;
  border: 2px solid rgba(15, 118, 110, 0.18);
  border-radius: var(--hhb-pill);
  font: inherit;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 7px 0 rgba(16, 34, 68, 0.14);
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.hhb-btn:hover,
.hhb-btn:focus-visible,
.hhb-button:hover,
.hhb-button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 9px 0 rgba(16, 34, 68, 0.16);
  filter: saturate(1.06);
  outline: none;
}

.hhb-btn:focus-visible,
.hhb-button:focus-visible {
  outline: 3px solid var(--hhb-mint);
  outline-offset: 2px;
}

.hhb-btn--primary,
.hhb-button--next,
.hhb-button--submit {
  color: #ffffff;
  background: linear-gradient(180deg, #ff4da6, var(--hhb-pink));
  border-color: transparent;
}

.hhb-btn--ghost,
.hhb-button--ghost {
  color: var(--hhb-teal-deep);
  background: #ffffff;
}

.hhb-btn[disabled],
.hhb-button[disabled] {
  opacity: 0.58;
  cursor: wait;
  transform: none;
  box-shadow: 0 5px 0 rgba(16, 34, 68, 0.1);
}

.hhb-summary {
  display: grid;
  order: -1;
  gap: 0.45rem;
  padding: 0;
  background: var(--hhb-white);
}

.hhb-summary__toggle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  color: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.hhb-summary__toggle strong,
.hhb-summary__total,
.hhb-summary strong[data-hhb-total],
.hhb-total strong {
  color: var(--hhb-blue-dark);
  font-family: var(--hhb-display);
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1;
}

.hhb-summary__body {
  display: none;
  padding: 0 1rem 1rem;
}

.hhb-summary.is-open .hhb-summary__body {
  display: grid;
  gap: 0.65rem;
}

.hhb-summary h2 {
  margin: 0;
  color: var(--hhb-blue-dark);
  font-family: var(--hhb-display);
  font-size: 1.25rem;
}

.hhb-summary__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.hhb-lines {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hhb-lines li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--hhb-line);
  font-size: 0.92rem;
  font-weight: 800;
}

.hhb-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin: 0.35rem 0 0;
  font-size: 1.05rem;
  font-weight: 900;
}

.hhb-summary.is-customer-paid .hhb-total,
.hhb-summary.is-customer-paid .hhb-promo--dock {
  display: none !important;
}

.hhb-summary.is-customer-paid .hhb-lines li {
  display: block;
  font-weight: 700;
  color: #7c2d12;
  border-bottom: 0;
  padding: 0.35rem 0;
}

.hhb-promo--dock {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 1.55rem;
  padding: 0.45rem 0.85rem 0.7rem;
}

.hhb-promo__label {
  display: block;
  text-align: left;
}

.hhb-summary__body .hhb-promo--dock {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  padding: 0.45rem 0.15rem 0.55rem;
}

.hhb-summary__body .hhb-promo__label {
  padding-left: 0;
  padding-right: 0;
}

.hhb-field-error,
.hhb-req {
  color: var(--hhb-pink);
  font-size: 0.78rem;
  font-weight: 800;
}

.hhb-field.is-invalid input,
.hhb-field.is-invalid select,
.hhb-field.is-invalid textarea {
  border-color: var(--hhb-pink);
}

.hhb-choice-list {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  max-width: 100%;
  margin-top: 0.15rem;
}

.hhb-choice-list ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--hhb-muted);
  font-size: 0.82rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.hhb-field-grid--after-choices {
  margin-top: 1.15rem;
}

.hhb-community-pay {
  margin-top: 2.75rem;
  margin-bottom: 0.35rem;
}

.hhb-choice-grid--packages {
  margin: 0.85rem 0 1.15rem;
}

.hhb-field-grid--event-when {
  margin-top: 1.25rem;
}

.hhb-help,
.hhb-help--time {
  margin: 0;
  color: var(--hhb-muted);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.hhb-help--time {
  margin-top: 1.25rem;
  padding-top: 0.15rem;
}

.hhb-package-blocks {
  margin: 0.75rem 0 0.35rem;
}

.hhb-package-blocks__title {
  margin: 0 0 0.35rem;
  color: var(--hhb-blue-dark);
  font-size: 0.88rem;
  font-weight: 900;
}

.hhb-qty,
.hhb-tiers {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  margin-top: 0.2rem;
  font-size: 0.8rem;
  font-weight: 800;
}

.hhb-qty__row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem;
  background: #ffffff;
  border: 2px solid var(--hhb-line);
  border-radius: var(--hhb-pill);
}

.hhb-qty__row label {
  flex: 1;
  min-width: 0;
}

.hhb-qty__count input {
  width: 100%;
  min-height: 40px;
  padding: 0.35rem 0.2rem;
  color: var(--hhb-ink);
  background: transparent;
  border: 0;
  border-radius: var(--hhb-pill);
  font: inherit;
  font-size: 1rem;
  font-weight: 900;
  text-align: center;
  outline: none;
}

.hhb-qty__btn {
  flex: 0 0 40px;
  min-height: 40px;
  color: var(--hhb-teal-deep);
  background: var(--hhb-ice);
  border: 0;
  border-radius: var(--hhb-pill);
  font-size: 1.2rem;
  font-weight: 900;
  cursor: pointer;
}

.hhb-qty small {
  color: var(--hhb-teal-deep);
}

.hhb-tiers {
  grid-template-columns: 1fr;
}

.hhb-tier {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.55rem 0.75rem;
  color: var(--hhb-ink);
  background: #ffffff;
  border: 2px solid var(--hhb-line);
  border-radius: var(--hhb-radius);
  font: inherit;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.hhb-tier .hhb-price {
  margin: 0;
}

.hhb-tier.is-selected {
  border-color: var(--hhb-pink);
  box-shadow: var(--hhb-shadow-pink);
}

.hhb-tier:focus-visible {
  outline: 3px solid var(--hhb-mint);
  outline-offset: 2px;
}

.hhb-line-remove {
  display: inline-flex;
  width: 1.4rem;
  height: 1.4rem;
  margin-left: 0.35rem;
  align-items: center;
  justify-content: center;
  color: var(--hhb-pink);
  background: #fff;
  border: 1px solid rgba(219, 39, 119, 0.28);
  border-radius: 50%;
  font-size: 0.85rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.hhb-summary__toggle-copy {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.hhb-summary__hint {
  color: var(--hhb-muted);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
}

.hhb-contact-block {
  display: grid;
  gap: 0.65rem;
}

.hhb-contact-block__title {
  margin: 0;
  color: var(--hhb-ink);
  font-size: 0.95rem;
  font-weight: 900;
}

.hhb-hero__hippo {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hhb-promo__row {
  display: flex;
  width: 100%;
  gap: 0.4rem;
}

.hhb-promo__row input {
  flex: 1 1 auto;
  min-width: 0;
}

.hhb-promo__row .hhb-btn {
  flex: 0 0 auto;
  min-width: 88px;
  min-height: 52px;
}

.hhb-promo__codes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-height: 0;
}

.hhb-promo-code {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding: 0.35rem 0.45rem 0.35rem 0.6rem;
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--hhb-teal-deep);
  font-size: 0.78rem;
  line-height: 1;
}

.hhb-promo-code strong {
  overflow-wrap: anywhere;
}

.hhb-promo-code button {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: var(--hhb-teal-deep);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}

.hhb-home-exit,
.hhb-hero .hhb-home-exit {
  display: block;
  margin: 0.15rem 0 0;
  font-size: 0.92rem;
  font-weight: 800;
}

.hhb-home-exit a,
a.hhb-home-exit {
  color: var(--hhb-teal-deep);
  text-decoration: underline;
}

/* Desktop + tablet form chrome: never put a homepage exit under Reset/Continue. */
.hhb-actions .hhb-home-exit,
.hhb-nav .hhb-home-exit,
.hhb-form__panel > .hhb-home-exit,
.hhb-home-exit--footer {
  display: none !important;
}

.hhb-status {
  min-height: 1.15em;
  margin: 0 0.85rem 0.85rem;
  font-size: 0.92rem;
  font-weight: 800;
}

.hhb-empty,
.hh-empty {
  display: grid;
  gap: 0.4rem;
  padding: 1.6rem 1rem;
  color: var(--hhb-muted);
  background: var(--hhb-cream);
  border-radius: var(--hhb-radius);
  text-align: center;
}

.hhb-empty h2,
.hhb-empty h3,
.hh-empty h2,
.hh-empty h3 {
  margin: 0;
  color: var(--hhb-teal-deep);
  font-family: var(--hhb-display);
}

.hhb-empty p,
.hh-empty p {
  margin: 0;
}

.hhb-loading {
  display: grid;
  gap: 0.65rem;
  place-items: center;
  padding: 1.6rem 1rem;
  color: var(--hhb-teal-deep);
  font-weight: 800;
  text-align: center;
}

.hhb-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid var(--hhb-line);
  border-top-color: var(--hhb-pink);
  border-radius: 50%;
  animation: hhb-spin 0.7s linear infinite;
}

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

.hhb-ref {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  font-family: var(--hhb-display);
  font-size: 1.15rem;
  font-weight: 900;
}

.hhb-grid {
  display: grid;
  gap: 0.85rem;
}

.hhb-portal .hh-panel,
.hhb-confirm .hh-panel,
.hhb-survey .hh-panel {
  padding: 1.1rem 1rem;
}

.hh-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hh-timeline li,
.hhb-timeline li {
  position: relative;
  padding: 0.65rem 0 0.65rem 1.15rem;
  border-left: 3px solid var(--hhb-mint);
  margin-left: 0.45rem;
  font-weight: 800;
}

.hh-timeline li.is-done,
.hhb-timeline li.is-done {
  color: var(--hhb-teal-deep);
}

.hh-timeline li.is-done::before,
.hhb-timeline li.is-done::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 0.85rem;
  width: 11px;
  height: 11px;
  background: var(--hhb-pink);
  border-radius: 50%;
}

.hhb-stars {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.4rem;
}

.hhb-stars button {
  min-width: 0;
  min-height: 64px;
  flex-direction: column;
  padding: 0.45rem 0.2rem;
  font-size: 1.05rem;
}

.hhb-stars button small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
}

.hhb-stars button.is-on,
.hhb-stars button.hhb-btn--primary {
  color: #ffffff;
  background: linear-gradient(180deg, #ff4da6, var(--hhb-pink));
  border-color: transparent;
}

.hhb-terms {
  max-height: 160px;
  overflow: auto;
  padding: 0.7rem 0.8rem;
  background: #fff;
  border: 1px solid var(--hhb-line);
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
}

@media (min-width: 620px) {
  .hhb-shell,
  .hhb-app {
    padding: 0.7rem 1rem 2.4rem;
  }

  .hhb-field-grid,
  .hhb-grid-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hhb-field--wide,
  .hhb-grid-form .hhb-field--wide,
  .hhb-checkbox-line {
    grid-column: 1 / -1;
  }

  .hhb-choice-grid--experiences,
  .hhb-choice-grid--addons,
  .hhb-choice-grid--included,
  .hhb-choice-grid--packages,
  .hhb-cards,
  .hhb-examples,
  .hhb-upload__examples {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hhb-choice-grid--addons .hhb-choice-card__body,
  .hhb-choice-grid--addons .hhb-qty__row {
    overflow: visible;
  }

  .hhb-chip-grid,
  .hhb-choice-grid--types {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hhb-actions,
  .hhb-nav {
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
  }

  .hhb-btn--primary,
  .hhb-button--next,
  .hhb-button--submit,
  .hhb-nav [data-hhb-next] {
    grid-column: 3;
    justify-self: end;
    min-width: 210px;
  }

  .hhb-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 619px) {
  .hhb-shell,
  .hhb-app,
  .hhb-form__layout,
  .hhb-card,
  .hhb-pane,
  .hhb-field-grid,
  .hhb-field,
  .hhb-summary {
    max-width: 100%;
    min-width: 0;
  }

  .hhb-hero h1,
  .hhb-fieldset > legend {
    font-size: 1.68rem;
  }

  .hhb-field input[type="date"],
  .hhb-field input[type="time"] {
    -webkit-appearance: none;
    appearance: none;
  }

  .hhb-summary {
    position: sticky;
    bottom: 0;
    z-index: 8;
    order: 3;
    box-shadow: 0 -10px 28px rgba(19, 78, 74, 0.12);
  }

  .hhb-summary__chips span {
    max-width: 100%;
    white-space: normal;
  }

  .hhb-summary__toggle strong.hhb-summary__estimate-intro {
    font-size: 1.15rem;
    line-height: 1.18;
  }
}

@media (min-width: 880px) {
  .hhb-progress {
    display: none;
  }

  .hhb-steps {
    display: grid;
    position: sticky;
    top: 1rem;
    align-content: start;
  }

  .hhb-form__layout,
  .hhb-layout {
    grid-template-columns: 168px minmax(0, 1fr) 280px;
    align-items: start;
    gap: 1rem;
  }

  .hhb-summary {
    position: sticky;
    top: 1rem;
    order: 0;
    align-self: start;
  }

  .hhb-summary__toggle {
    display: none;
  }

  .hhb-summary__body,
  .hhb-summary.is-open .hhb-summary__body {
    display: grid !important;
    gap: 0.65rem;
    padding: 1rem;
  }

  .hhb-hero h1 {
    font-size: 3.05rem;
  }

  .hhb-pane,
  #hhb-step,
  .hhb-fieldset {
    padding: 1.35rem 1.25rem 0.35rem;
  }

  .hhb-fieldset > legend {
    font-size: 2rem;
  }

  .hhb-actions,
  .hhb-nav {
    padding-inline: 1.25rem;
  }

  .hhb-setup-hero img {
    max-height: 320px;
    height: auto;
    object-fit: contain;
  }

}

@media (min-width: 1080px) {
  .hhb-choice-grid--included {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hhb-choice-grid--addons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hhb-form__layout,
  .hhb-layout {
    grid-template-columns: 176px minmax(0, 1fr) 300px;
  }

  .hhb-summary__toggle strong,
  .hhb-total strong {
    font-size: 2.1rem;
  }
}

@media (max-width: 420px) {
  .hhb-segmented {
    grid-template-columns: 1fr;
  }

  .hhb-stars {
    grid-template-columns: 1fr 1fr;
  }

  .hhb-hero__mark {
    width: 46px;
    height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hhb-booking-wrap *,
  .hhb-app *,
  .hhb-body * {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}


/* Compact confirmation + portal pay */
.hhb-confirm-compact,
.hhb-confirm-stack,
.hhb-confirm .hhb-hero,
.hhb-confirm .hhb-success-panel {
  width: 100%;
  max-width: none;
}
.hhb-confirm-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hhb-fundraiser-goal { margin-top: 1rem; background: #fff8f0; border: 2px solid #5eead4; }
.hhb-fundraiser-goal h2 { font-size: 1.2rem; }
.hhb-fundraiser-goal .hhb-check { display: flex; gap: .5rem; align-items: flex-start; margin: .75rem 0; }
.hhb-page-fields {
  display: grid;
  gap: .85rem;
  margin: .85rem 0 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #fff8f0;
  border: 2px solid #5eead4;
}
.hhb-team-logo .hhb-setup-photo__preview {
  width: 160px;
  height: 160px;
  border-radius: 16px;
  overflow: hidden;
  border: 3px solid #d7e8ff;
  background: #fff;
}
.hhb-team-logo .hhb-setup-photo__preview img {
  width: 160px;
  height: 160px;
  max-height: none;
  object-fit: cover;
}
.hhb-portal-stack {
  display: grid;
  gap: 1.35rem;
}
.hhb-portal-stack .hh-panel,
.hhb-portal-stack .hhb-card {
  margin: 0;
}
.hhb-portal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}
.hhb-upload {
  display: grid;
  gap: 0.75rem;
}
.hhb-upload-preview img,
.hhb-upload__preview img {
  max-width: min(100%, 22rem);
  height: auto;
  border-radius: 12px;
}
.hhb-portal-next input[type=file] { margin: .35rem 0 1rem; }
.hhb-choice-card--contain .hhb-choice-card__image,
.hhb-choice-card--contain img { object-fit: contain; background: #fff; }

.hhb-alt-dates__list {
  display: grid;
  gap: .75rem;
}

.hhb-alt-date {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .35rem .75rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid #cfe4df;
  border-radius: 12px;
  background: #f7fbfa;
}

.hhb-alt-date span {
  grid-column: 1 / -1;
  color: #5b6b6a;
}

.hhb-alt-dates__decline {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .85rem;
}

@media (max-width: 560px) {
  .hhb-alt-date {
    grid-template-columns: 1fr;
  }
}
/* Customer event dashboard, matching the supplied Happy Hippo booking mockup. */
.hhb-event-home { --hhb-event-blue:#0065cf; --hhb-event-navy:#092450; --hhb-event-muted:#465d85; --hhb-display:"Avenir Next","Nunito","Segoe UI",sans-serif; --hhb-body:"Avenir Next","Nunito","Segoe UI",sans-serif; max-width:none; padding:0; color:var(--hhb-event-navy); background:radial-gradient(circle,#d6edff 2.5px,transparent 3px) 0 0 / 36px 36px,#f8fdff; }
.hhb-page--hhb-portal { background:#f8fdff; }
.hhb-event-home .hhb-shell { max-width:1200px; padding:24px 30px 28px; }
.hhb-event-home h1,.hhb-event-home h2,.hhb-event-home h3,.hhb-event-home h4 { font-family:var(--hhb-display); color:var(--hhb-event-navy); font-weight:700; }
.hhb-event-home h2 { margin:0; font-size:24px; letter-spacing:-.7px; line-height:1.2; }
.hhb-event-home h3 { margin:0; font-size:15px; line-height:1.3; }
.hhb-event-home p { margin:0; font-size:14px; line-height:1.45; color:var(--hhb-event-muted); }
.hhb-event-home .hhb-card { margin:0 0 16px; padding:20px; border:1px solid #d0eaff; border-radius:12px; background:#fff; box-shadow:0 5px 12px #103e6510; }
.hhb-event-header { display:flex; align-items:center; min-height:123px; gap:22px; position:relative; padding:0 235px 12px 0; }
.hhb-event-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.hhb-event-mascot { width:82px; height:82px; object-fit:contain; flex-shrink:0; }
.hhb-event-heading>div { min-width:0; }
.hhb-event-home .hhb-kicker { color:#ff1689; font-size:14px; font-weight:700; margin:0 0 4px; letter-spacing:0; }
.hhb-event-heading h1 { margin:0 0 4px; color:var(--hhb-event-blue); font-size:clamp(25px,3.2vw,39px); letter-spacing:-1.5px; line-height:1.12; overflow-wrap:anywhere; }
.hhb-event-home .hhb-ref { color:var(--hhb-event-navy); font-size:15px; font-weight:700; }
.hhb-event-welcome { position:absolute; width:238px; height:135px; object-fit:contain; right:0; bottom:0; }
.hhb-event-badges { display:flex; gap:12px; flex-wrap:wrap; align-self:flex-end; margin:0 0 9px; }
.hhb-status-pill { display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:30px; background:#e4f5ff; color:#0065cf; padding:7px 13px; font-size:12px; line-height:1.1; font-weight:700; white-space:nowrap; }
.hhb-status-pill--done { background:#ddfcf5; color:#008b75; }
.hhb-status-pill--action { background:#fff0e3; color:#c84200; }
.hhb-status-pill--muted { background:#edf0f5; color:#22375f; }
.hhb-event-icon { display:block; flex:0 0 auto; width:30px; height:30px; object-fit:contain; }
.hhb-status-pill .hhb-event-icon { width:19px; height:19px; }
.hhb-event-home .hhb-btn { min-height:48px; padding:12px 19px; gap:9px; font-size:14px; font-weight:700; border:1.5px solid #abd9ff; border-radius:19px; color:var(--hhb-event-blue); background:#fff; box-shadow:0 5px 0 #173b6129; white-space:nowrap; }
.hhb-event-home .hhb-btn--primary { border-color:#ff65b2; color:#fff; background:linear-gradient(#e31078,#d8066e); box-shadow:0 5px 0 #173b6130,inset 0 1px 0 #ffffff50; }
.hhb-btn .hhb-event-icon { width:23px; height:23px; }
.hhb-btn--primary .hhb-event-icon { filter:none; }
.hhb-event-home .hhb-event-summary { padding:0; overflow:hidden; }
.hhb-summary-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 30px; border-bottom:1px solid #dceeff; background:linear-gradient(#fff,#fafdff); }
.hhb-summary-top p { margin-top:4px; }
.hhb-summary-actions { display:flex; flex-shrink:0; gap:14px; }
.hhb-event-facts { display:grid; grid-template-columns:1.18fr 1.02fr 1.35fr 1.8fr .82fr .82fr minmax(166px,1.22fr); margin:0; padding:20px 23px; }
.hhb-event-facts>div { display:grid; min-width:0; grid-template-columns:39px minmax(0,1fr); gap:4px 8px; padding:0 10px; border-right:1px solid #dfedfb; align-content:start; }
.hhb-event-facts>div:first-child { padding-left:0; }
.hhb-event-facts>div:last-child { border-right:0; padding-right:0; }
.hhb-event-facts .hhb-event-icon { grid-row:1/3; width:38px; height:38px; border-radius:50%; background:#e9f8ff; padding:8px; }
.hhb-event-facts dt { font-size:12px; color:var(--hhb-event-muted); line-height:1.4; }
.hhb-event-facts>div:first-child dd { white-space:normal; }
.hhb-event-facts dd { margin:0; font-size:14px; line-height:1.35; font-weight:700; overflow-wrap:break-word; }
.hhb-event-facts dd>span { display:block; margin-top:4px; font-size:12px; font-weight:400; color:var(--hhb-event-muted); }
.hhb-summary-invoice { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:10px 30px; border-top:1px solid #e4f0fa; background:#fbfdff; font-size:12px; }
.hhb-summary-invoice>span { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.hhb-summary-invoice .hhb-event-icon { width:18px; height:18px; }
.hhb-invoice-meta { color:var(--hhb-event-muted); }
.hhb-summary-invoice>div { display:flex; gap:17px; flex-shrink:0; }
.hhb-event-home a:not(.hhb-btn) { color:var(--hhb-event-blue); text-underline-offset:3px; }
.hhb-event-home .hhb-event-actions { display:grid; grid-template-columns:.95fr 1.65fr; align-items:center; gap:28px; border-color:#ffcae5; background:linear-gradient(110deg,#fff5fa,#fff0f7); padding:19px 17px; }
.hhb-action-intro { display:flex; gap:14px; align-items:flex-start; }
.hhb-action-intro>.hhb-event-icon { width:63px; height:63px; padding:8px; background:#ffddeb; border-radius:50%; }
.hhb-action-intro h2 { margin:5px 0 9px; }
.hhb-action-intro p { max-width:300px; }
.hhb-action-list { display:grid; gap:8px; }
.hhb-action-row { display:flex; align-items:center; gap:12px; padding:10px 12px; background:#fff; border-radius:10px; }
.hhb-action-row>.hhb-event-icon { width:48px; height:48px; border-radius:50%; background:#e7f8ff; padding:12px; }
.hhb-action-row>div { flex:1; }
.hhb-action-row p { font-size:12px; margin-top:3px; }
.hhb-action-row .hhb-status-pill { font-size:10px; padding:5px 8px; }
.hhb-action-row .hhb-status-pill .hhb-event-icon { width:15px; height:15px; }
.hhb-action-row .hhb-btn { min-width:127px; min-height:44px; border-radius:17px; padding:10px 15px; }
.hhb-event-home .hhb-event-ready { display:flex; align-items:center; gap:16px; background:#edfff9; border-color:#c8f1e5; }
.hhb-event-ready>.hhb-event-icon { width:46px; height:46px; }
.hhb-event-ready p { margin-top:5px; }
.hhb-event-columns { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:stretch; }
.hhb-section-heading { display:flex; align-items:center; gap:12px; margin:0 0 17px; }
.hhb-section-heading>.hhb-event-icon { width:43px; height:43px; padding:5px; }
.hhb-section-heading p { margin:3px 0 0; }
.hhb-package { border:1px solid #d7ebff; border-radius:9px; padding:11px; }
.hhb-main-package { display:flex; align-items:center; gap:16px; padding:0 1px 11px; }
.hhb-main-package>img { width:100px; height:103px; object-fit:contain; flex:0 0 100px; }
.hhb-main-package span { color:var(--hhb-event-blue); font-size:12px; font-weight:700; }
.hhb-main-package h3 { font-size:17px; margin:2px 0 6px; }
.hhb-main-package p { font-size:13px; }
.hhb-package-stats { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #dcecff; border-bottom:1px solid #dcecff; padding:9px 0; margin-bottom:8px; }
.hhb-package-stats>div { display:flex; align-items:center; gap:13px; padding-left:6px; }
.hhb-package-stats>div+div { border-left:1px solid #dcecff; padding-left:20px; }
.hhb-package-stats .hhb-event-icon { width:44px; height:44px; border-radius:50%; background:#e7f7ff; padding:10px; }
.hhb-package-stats strong,.hhb-package-stats span { display:block; line-height:1.3; }
.hhb-package-stats strong { color:var(--hhb-event-navy); font-size:17px; }
.hhb-package-stats span { font-size:13px; }
.hhb-package h4 { font-size:12px; color:#415981; margin:0 0 6px; }
.hhb-booked-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.hhb-booked-product { background:linear-gradient(#fff,#f9fcff); border:1px solid #d7ebff; border-radius:9px; text-align:center; padding:7px 4px 8px; }
.hhb-booked-product>img { width:100%; height:56px; object-fit:contain; background:transparent; display:block; margin:0 0 4px; }
.hhb-booked-product h3 { font-size:12px; line-height:1.2; font-weight:700; }
.hhb-booked-product p { margin-top:4px; font-size:11px; }
.hhb-booked-product p:empty { display:none; }
.hhb-location-strip { display:flex; align-items:center; gap:10px; border:1px solid #d7ebff; border-radius:9px; margin-top:9px; padding:7px 9px; }
.hhb-location-strip>.hhb-event-icon { width:44px; height:44px; padding:10px; border-radius:50%; background:#e9f7ff; }
.hhb-location-strip>div:nth-child(2) { flex:1; }
.hhb-location-strip span { display:block; font-size:12px; color:var(--hhb-event-muted); margin-bottom:3px; }
.hhb-location-strip strong { font-size:13px; line-height:1.3; display:block; }
.hhb-location-map { display:flex; justify-content:center; align-items:center; width:125px; height:56px; border-radius:9px; flex-shrink:0; background:linear-gradient(132deg,transparent 40%,white 41% 44%,transparent 45%),linear-gradient(25deg,transparent 45%,white 46% 49%,transparent 50%),repeating-linear-gradient(110deg,#e6edf6 0 26px,#fff 27px 30px,#e6edf6 31px 55px); }
.hhb-location-map .hhb-event-icon { width:30px; height:30px; }
.hhb-progress-steps { list-style:none; padding:0 0 0 4px; margin:0; }
.hhb-progress-steps li { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:start; min-height:71px; padding:3px 0 12px; }
.hhb-progress-steps li:last-child { min-height:55px; padding-bottom:0; }
.hhb-progress-node { width:34px; height:34px; border:4px solid #c1cee0; background:#fff; border-radius:50%; position:relative; z-index:1; display:flex; align-items:center; justify-content:center; color:white; font-size:20px; font-weight:900; }
.hhb-progress-steps li:before { content:""; position:absolute; width:4px; background:#d3deec; left:15px; top:30px; bottom:-8px; }
.hhb-progress-steps li:last-child:before { display:none; }
.hhb-progress-steps .is-done:before { background:#7ae8d2; }
.hhb-progress-steps .is-done .hhb-progress-node { background:#05c7a2; border-color:#00caa8; }
.hhb-progress-steps .is-action:before { background:#ffa5d0; }
.hhb-progress-steps .is-action .hhb-progress-node { border-color:#ff258c; }
.hhb-progress-copy { padding-top:4px; }
.hhb-progress-copy h3 { font-size:15px; }
.hhb-progress-copy p { font-size:13px; margin-top:4px; }
.hhb-progress-steps .hhb-status-pill { margin-top:10px; padding:6px 11px; font-size:10px; min-width:104px; }
.hhb-progress-steps .hhb-status-pill .hhb-event-icon { width:16px; height:16px; }
.hhb-progress-time { text-align:right; color:var(--hhb-event-muted); font-size:11px; line-height:1.4; padding-top:5px; }
.hhb-progress-node.has-art { border:0!important; background:transparent!important; overflow:hidden; font-size:0; }
.hhb-progress-node.has-art img { position:absolute; max-width:none; }
.hhb-event-photo { scroll-margin-top:20px; }
.hhb-photo-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.hhb-event-home .hhb-example { margin:0; border:1px solid #d7ebff; border-radius:9px; overflow:hidden; background:#fff; }
.hhb-event-home .hhb-example>img { width:100%; height:147px; object-fit:cover; display:block; }
.hhb-event-home .hhb-example figcaption { padding:8px 11px 10px; font-size:12px; }
.hhb-example figcaption strong,.hhb-example figcaption span { display:block; line-height:1.35; }
.hhb-example figcaption strong { margin-bottom:4px; }
.hhb-example figcaption span { font-weight:400; color:var(--hhb-event-muted); }
.hhb-event-home .hhb-upload { position:relative; border:1px dashed #9bd6ff; border-radius:9px; background:linear-gradient(130deg,#f1fcff,#eaf5ff); min-height:211px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px; gap:7px; text-align:center; }
.hhb-upload-placeholder { border-radius:50%; display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:#d7efff; margin-bottom:1px; }
.hhb-upload-placeholder .hhb-event-icon { width:36px; height:36px; }
.hhb-upload h3 { font-size:16px; }
.hhb-upload .hhb-btn { margin:0 0 3px; position:relative; min-width:200px; }
.hhb-upload-input { position:absolute; opacity:0; inset:0; width:100%; height:100%; cursor:pointer; }
.hhb-upload .hhb-btn:focus-within { outline:3px solid #005eb8; outline-offset:4px; }
.hhb-event-home .hhb-upload-preview { margin:0; width:100%; }
.hhb-event-home .hhb-upload-preview img { display:block; width:100%; height:115px; object-fit:cover; border-radius:6px; }
.hhb-upload-preview figcaption { display:none; }
.hhb-event-home .hhb-upload-status { font-size:12px; font-weight:700; }
.hhb-event-home .hhb-event-help { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:0; }
.hhb-event-help .hhb-section-heading { margin:0; }
.hhb-event-help .hhb-section-heading>.hhb-event-icon { width:58px; height:58px; }
.hhb-help-actions { display:flex; gap:14px; padding-left:24px; border-left:1px solid #dcecff; }
.hhb-event-help h2 { font-size:22px; margin-bottom:6px; }
.hhb-event-help p { font-size:13px; }
.hhb-event-review form { display:grid; gap:18px; }
.hhb-review-price { padding:15px; background:#eaf7ff; font-weight:700; border-radius:10px; }
.hhb-review-addons { display:grid; gap:12px; }
.hhb-review-addons label { display:flex; align-items:center; gap:8px; padding:12px; background:#f2faff; border-radius:10px; flex-wrap:wrap; }
.hhb-review-addons img { width:50px; height:50px; object-fit:contain; }
.hhb-review-addons input[type=number] { width:85px; }
.hhb-past-booking { padding:20px 0; border-top:1px solid #dcecff; }
@media(min-width:1000px) { .hhb-event-header { flex-wrap:wrap; gap:8px 20px; } .hhb-event-heading { flex:1 0 100%; } .hhb-event-badges { position:absolute; bottom:22px; right:245px; max-width:370px; margin:0; } }
@media(max-width:1100px) { .hhb-event-home .hhb-shell { padding:20px; } .hhb-summary-top { padding:20px; } .hhb-summary-actions .hhb-btn { padding:12px; } .hhb-event-facts { grid-template-columns:repeat(4,1fr); row-gap:18px; } .hhb-event-facts>div:nth-child(4) { border:0; } .hhb-event-facts>div:nth-child(5) { padding-left:0; } .hhb-event-actions .hhb-action-row { flex-wrap:wrap; } .hhb-action-row>div { flex-basis:calc(100% - 65px); } .hhb-action-row>.hhb-status-pill { margin-left:60px; } .hhb-action-row>.hhb-btn { margin-left:auto; } .hhb-event-help { flex-wrap:wrap; } .hhb-help-actions { border:0; padding-left:0; } .hhb-progress-steps li { grid-template-columns:38px minmax(0,1fr); gap:8px; } .hhb-progress-steps .hhb-status-pill,.hhb-progress-time { grid-column:2; margin-top:0; justify-self:start; text-align:left; } .hhb-progress-steps li { min-height:92px; } }
@media(max-width:850px) { .hhb-event-header { flex-wrap:wrap; padding-right:190px; padding-bottom:20px; gap:12px; } .hhb-event-mascot { width:62px; height:62px; } .hhb-event-welcome { width:185px; height:130px; } .hhb-event-badges { margin:0; align-self:auto; margin-left:74px; } .hhb-summary-top { align-items:flex-start; flex-direction:column; gap:14px; } .hhb-event-home .hhb-event-actions { grid-template-columns:1fr; gap:18px; } .hhb-action-intro p { max-width:none; } .hhb-event-actions .hhb-action-row { flex-wrap:nowrap; } .hhb-action-row>div { flex-basis:auto; } .hhb-action-row>.hhb-status-pill { margin-left:0; } .hhb-event-columns { grid-template-columns:1fr; } .hhb-progress-steps li { grid-template-columns:42px minmax(0,1fr) auto; min-height:76px; gap:12px; } .hhb-progress-steps .hhb-status-pill,.hhb-progress-time { grid-column:auto; justify-self:auto; margin-top:7px; text-align:right; } .hhb-photo-grid { grid-template-columns:1fr 1fr; } .hhb-photo-grid .hhb-upload { grid-column:1/-1; } .hhb-event-home .hhb-upload { min-height:220px; } }
@media(max-width:560px) { .hhb-event-home .hhb-shell { padding:16px 12px 20px; } .hhb-event-home .hhb-card { padding:16px; margin-bottom:12px; } .hhb-event-header { padding:4px 0 18px; display:grid; grid-template-columns:1fr 83px; gap:12px 0; min-height:0; } .hhb-event-heading { gap:8px; } .hhb-event-mascot { width:44px; height:52px; } .hhb-event-heading h1 { font-size:25px; letter-spacing:-.8px; } .hhb-event-home .hhb-kicker { font-size:11px; } .hhb-event-home .hhb-ref { font-size:11px; margin-top:6px; } .hhb-event-welcome { position:static; width:92px; height:84px; grid-column:2; grid-row:1; } .hhb-event-badges { grid-column:1/-1; margin-left:0; gap:8px; } .hhb-status-pill { font-size:11px; padding:6px 10px; } .hhb-event-home h2 { font-size:22px; } .hhb-event-home .hhb-event-summary { padding:0; } .hhb-summary-top { padding:18px 16px; } .hhb-summary-top p { font-size:13px; } .hhb-summary-actions { width:100%; gap:9px; } .hhb-summary-actions .hhb-btn { flex:1; font-size:12px; padding:10px 8px; gap:5px; min-height:46px; border-radius:15px; } .hhb-summary-actions .hhb-btn .hhb-event-icon { width:19px; height:19px; } .hhb-event-facts { grid-template-columns:1fr 1fr; padding:16px; gap:16px 0; } .hhb-event-facts>div { padding:0 8px; } .hhb-event-facts>div:nth-child(odd) { padding-left:0; border-right:1px solid #dfedfb; } .hhb-event-facts>div:nth-child(even),.hhb-event-facts>div:last-child { border-right:0; } .hhb-event-facts>div:nth-child(4) { grid-column:1/-1; border-right:0; padding-left:0; } .hhb-event-facts>div:nth-child(3) { border-right:0; } .hhb-event-facts>div:first-child dd { white-space:normal; }
.hhb-event-facts dd { font-size:13px; } .hhb-summary-invoice { padding:12px 16px; flex-wrap:wrap; gap:8px; } .hhb-invoice-meta { font-size:11px; } .hhb-action-intro { gap:12px; } .hhb-action-intro>.hhb-event-icon { width:49px; height:49px; } .hhb-action-intro h2 { margin:0 0 5px; } .hhb-action-intro p { font-size:13px; } .hhb-event-actions .hhb-action-row { display:grid; grid-template-columns:38px 1fr; gap:8px; padding:12px; } .hhb-action-row>.hhb-event-icon { width:38px; height:38px; padding:8px; } .hhb-action-row>.hhb-status-pill { grid-column:2; justify-self:start; } .hhb-action-row>.hhb-btn { grid-column:2; justify-self:stretch; margin:3px 0 0; } .hhb-action-row h3 { font-size:14px; } .hhb-section-heading { gap:8px; margin-bottom:14px; } .hhb-section-heading>.hhb-event-icon { width:35px; height:35px; } .hhb-section-heading p { font-size:12px; } .hhb-package { padding:9px; } .hhb-main-package { gap:11px; } .hhb-main-package>img { width:82px; flex-basis:82px; height:95px; } .hhb-main-package h3 { font-size:16px; } .hhb-main-package p { font-size:12px; } .hhb-booked-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hhb-booked-product>img { height:73px; } .hhb-location-map { width:65px; } .hhb-location-strip { gap:6px; padding:7px; } .hhb-location-strip>.hhb-event-icon { width:34px; height:34px; padding:6px; } .hhb-location-strip strong { font-size:12px; } .hhb-progress-steps li { grid-template-columns:37px minmax(0,1fr); gap:8px; min-height:94px; } .hhb-progress-steps .hhb-status-pill,.hhb-progress-time { grid-column:2; justify-self:start; margin-top:0; text-align:left; } .hhb-progress-copy h3 { font-size:14px; } .hhb-progress-copy p { font-size:12px; } .hhb-progress-steps li:last-child { min-height:78px; } .hhb-photo-grid { gap:9px; } .hhb-event-home .hhb-example>img { height:105px; } .hhb-event-home .hhb-example figcaption { padding:8px; font-size:11px; } .hhb-help-actions { flex-direction:column; width:100%; gap:12px; } .hhb-event-help .hhb-section-heading { align-items:flex-start; } .hhb-event-help .hhb-section-heading>.hhb-event-icon { width:40px; height:40px; } .hhb-event-help h2 { font-size:20px; } .hhb-event-home .hhb-event-help { gap:16px; } }

@media(min-width:1101px) { .hhb-event-facts dt { white-space:nowrap; } }
@media(max-width:360px) { .hhb-summary-actions { flex-direction:column; } }

.hhb-event-home .hhb-event-invoice-pending { background:#f0f9ff; border-color:#add9ff; }
.hhb-event-invoice-pending p { margin-top:6px; }
/* Oct 7 customer refinements: original artwork, assigned equipment, and responsive spacing. */
.hhb-event-mascot img { display:block; width:100%; height:100%; object-fit:contain; }
.hhb-event-help .hhb-change-price-note { margin:0; }
.hhb-progress-node { width:44px; height:44px; }
.hhb-progress-steps li { grid-template-columns:52px minmax(0,1fr) auto; }
.hhb-progress-steps li:before { left:20px; top:38px; }
.hhb-progress-node.has-art img { image-rendering:auto; }
@media(min-width:851px) {
  .hhb-photo-grid>.hhb-upload { margin:0; align-self:stretch; height:auto; }
}
@media(min-width:851px) and (max-width:1100px) {
  .hhb-progress-steps li { grid-template-columns:48px minmax(0,1fr); }
}
@media(max-width:850px) {
  .hhb-progress-steps li { grid-template-columns:52px minmax(0,1fr) auto; }
}
@media(max-width:560px) {
  .hhb-event-header { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
  .hhb-event-heading { gap:12px; }
  .hhb-event-heading .hhb-event-mascot { width:82px; height:84px; }
  .hhb-event-header>.hhb-event-welcome { display:none; }
  .hhb-event-help .hhb-change-price-note { margin-top:8px; }
  .hhb-event-help .hhb-section-heading>.hhb-event-icon { transform:translateY(-5px); }
  .hhb-help-actions>a[href^="mailto:"]>.hhb-event-icon { display:none; }
  .hhb-progress-steps li { grid-template-columns:46px minmax(0,1fr); }
}
/* Booking form: compact cards, visible progress, and a reachable mobile action bar. */
#hhb-wizard { --hhb-ink:#092555; --hhb-muted:#50658c; --hhb-line:#d9e8f5; --hhb-accent:#009ee7; color:var(--hhb-ink); }
#hhb-wizard .hhb-shell { max-width:1280px; }
#hhb-wizard .hhb-form__layout { grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
#hhb-wizard .hhb-steps { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); grid-column:1/-1; position:static; gap:0; margin:0 0 4px; padding:6px 8px; border:0; background:transparent; overflow:visible; }
#hhb-wizard .hhb-step { display:flex; flex-direction:column; justify-content:flex-start; gap:7px; position:relative; border:0; border-radius:0; padding:8px 3px; margin:0; background:transparent; box-shadow:none; color:var(--hhb-muted); font-size:12px; min-width:0; min-height:64px; text-align:center; }
#hhb-wizard .hhb-step:before { content:""; position:absolute; height:2px; background:#d7dfeb; left:-50%; right:50%; top:23px; z-index:0; }
#hhb-wizard .hhb-step:first-child:before { display:none; }
#hhb-wizard .hhb-step.is-done:before,#hhb-wizard .hhb-step.is-active:before { background:#9bdff7; }
#hhb-wizard .hhb-step .hhb-step-number { display:grid; place-items:center; position:relative; z-index:1; width:30px; height:30px; border:1px solid #b5c4d7; border-radius:50%; background:#f6f9fd; color:#3c517c; font-size:13px; padding:0; font-weight:700; }
#hhb-wizard .hhb-step .hhb-step-label { display:block; width:auto; height:auto; border:0; border-radius:0; background:transparent; color:inherit; padding:0; font-size:inherit; line-height:1.25; font-weight:600; }
#hhb-wizard .hhb-step.is-active { color:#0075ce; }
#hhb-wizard .hhb-step.is-active .hhb-step-number { background:#009ee7; border-color:#009ee7; color:#fff; box-shadow:0 0 0 4px #e9f8ff; }
#hhb-wizard .hhb-step.is-done .hhb-step-number { background:#e7f9ff; color:#0079bc; border-color:#9bdff7; }
#hhb-wizard .hhb-progress { display:none; }
#hhb-wizard .hhb-card { border:1px solid var(--hhb-line); border-radius:20px; box-shadow:0 5px 24px #12375b08; background:#fff; overflow:visible; }
#hhb-wizard .hhb-form__panel { min-width:0; padding:0; }
#hhb-wizard #hhb-step { padding:0; }
#hhb-wizard .hhb-fieldset { padding:25px 25px 8px; margin:0; min-width:0; border:0; }
#hhb-wizard .hhb-fieldset>legend { display:flex; align-items:center; float:left; width:100%; padding:0; margin:0 0 14px; gap:13px; font-size:23px; line-height:1.25; letter-spacing:-.5px; }
#hhb-wizard .hhb-fieldset>legend+* { clear:both; }
#hhb-wizard .hhb-section-number { display:grid; flex:0 0 40px; place-items:center; width:40px; height:40px; border-radius:50%; background:linear-gradient(150deg,#00c7d4,#009ce9); color:#fff; font-size:20px; font-weight:700; letter-spacing:0; }
#hhb-wizard .hhb-section-title { display:block; }
#hhb-wizard .hhb-section-title .hhb-kicker { display:block; font-size:11px; line-height:1.3; margin:0 0 3px; letter-spacing:.8px; color:#526c95; }
#hhb-wizard .hhb-lede { font-size:14px; line-height:1.6; margin:0 0 20px; color:var(--hhb-muted); }
#hhb-wizard .hhb-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 16px; }
#hhb-wizard .hhb-field-grid--event-when { grid-template-columns:repeat(3,minmax(0,1fr)); }
#hhb-wizard .hhb-field { margin:0; min-width:0; gap:7px; font-size:13px; line-height:1.35; color:var(--hhb-ink); }
#hhb-wizard .hhb-field>span { font-weight:600; }
#hhb-wizard .hhb-field--wide { grid-column:1/-1; }
#hhb-wizard .hhb-field input:not([type=checkbox]):not([type=radio]),#hhb-wizard .hhb-field select,#hhb-wizard .hhb-field textarea { min-width:0; max-width:100%; width:100%; min-height:46px; padding:11px 12px; border:1px solid #cbd7e6; border-radius:9px; background:#fff; color:var(--hhb-ink); box-shadow:0 2px 3px #12375b03; font-size:16px; font-family:inherit; line-height:1.35; }
#hhb-wizard input::placeholder,#hhb-wizard textarea::placeholder { color:#7888a3; opacity:1; }
#hhb-wizard .hhb-field input:focus,#hhb-wizard .hhb-field select:focus,#hhb-wizard .hhb-field textarea:focus { outline:3px solid #009ee72b; outline-offset:1px; border-color:#009ee7; }
#hhb-wizard .hhb-req { font-size:0; color:#d21c67; }
#hhb-wizard .hhb-req:after { content:"*"; font-size:14px; font-style:normal; }
#hhb-wizard .hhb-time-help { font-size:13px; line-height:1.55; padding:12px 14px; border-radius:10px; background:#f0faff; color:#3e6186; margin:0 0 16px; }
#hhb-wizard .hhb-end-day { grid-column:1/-1; font-size:13px; margin:0; min-height:28px; padding:0; }
#hhb-wizard .hhb-time-feedback { color:#446286; font-size:13px; line-height:1.5; margin:0 0 16px; }
#hhb-wizard .hhb-time-feedback:empty { display:none; }
#hhb-wizard .hhb-time-feedback.is-error { color:#b9144a; }
#hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#hhb-wizard .hhb-choice-card__body { border:1px solid #dce4ed; background:#fff; border-radius:13px; box-shadow:none; overflow:hidden; height:100%; }
#hhb-wizard .hhb-choice-card__hit { padding:12px; }
#hhb-wizard .hhb-choice-card__image { height:150px; background:#fff; object-fit:contain; margin-bottom:10px; border-radius:8px; }
#hhb-wizard .hhb-choice-card strong { color:var(--hhb-ink); font-size:16px; line-height:1.3; }
#hhb-wizard .hhb-choice-card p,#hhb-wizard .hhb-choice-card .hhb-choice-card__copy { font-size:13px; line-height:1.5; color:var(--hhb-muted); }
#hhb-wizard .hhb-choice-card:has(input:checked) .hhb-choice-card__body { border-color:#00a8ed; background:#effaff; box-shadow:0 0 0 1px #00a8ed; }
#hhb-wizard .hhb-choice-card__input { accent-color:#009ee7; }
#hhb-wizard .hhb-choice-card:focus-within .hhb-choice-card__body { outline:3px solid #009ee74a; outline-offset:2px; }
#hhb-wizard .hhb-choice-card__price-row { padding:8px 12px; background:#f8fbfe; }
#hhb-wizard .hhb-choice-card__price-row .hhb-price { background:transparent; color:#e91f76; box-shadow:none; font-size:17px; padding:0; }
#hhb-wizard .hhb-summary { position:sticky; top:20px; padding:0; order:0; }
#hhb-wizard .hhb-summary__body { display:block!important; padding:23px; }
#hhb-wizard .hhb-summary__toggle { display:none; }
#hhb-wizard .hhb-summary__body>.hhb-kicker { display:none; }
#hhb-wizard .hhb-summary h2 { font-size:24px; margin:0 0 18px; letter-spacing:-.6px; }
#hhb-wizard .hhb-summary-experience { display:flex; gap:12px; align-items:center; padding:12px; border:1px solid #e0e9f3; border-radius:12px; margin-bottom:17px; }
#hhb-wizard .hhb-summary-experience:empty { display:none; }
#hhb-wizard .hhb-summary-experience img { width:75px; height:75px; object-fit:contain; }
#hhb-wizard .hhb-summary-experience strong { font-size:14px; line-height:1.3; display:block; }
#hhb-wizard .hhb-summary-experience span { display:block; font-size:12px; line-height:1.4; color:var(--hhb-muted); margin-top:5px; }
#hhb-wizard .hhb-summary__chips { display:grid; gap:9px; padding:0 0 16px; margin:0 0 16px; border-bottom:1px solid #e1e9f3; }
#hhb-wizard .hhb-summary__chips span { display:block; padding:0; border:0; border-radius:0; background:none; font-size:13px; font-weight:400; color:var(--hhb-muted); line-height:1.45; }
#hhb-wizard .hhb-lines li { font-size:13px; line-height:1.5; gap:10px; padding:8px 0; }
#hhb-wizard .hhb-total { padding:17px 0 0; border-top:1px solid #e1e9f3; font-size:15px; }
#hhb-wizard .hhb-total strong { font-size:27px; color:#007bd2; }
#hhb-wizard .hhb-promo { margin-top:18px; padding:0; border:0; box-shadow:none; background:transparent; }
#hhb-wizard .hhb-promo__row { display:flex; gap:8px; }
#hhb-wizard .hhb-promo__row input { width:100%; min-width:0; border:1px solid #cbd7e6; border-radius:8px; padding:10px; font-size:16px; }
#hhb-wizard .hhb-btn { border-radius:10px; min-height:46px; padding:11px 18px; box-shadow:none; font-size:14px; font-weight:700; }
#hhb-wizard .hhb-btn--primary { background:#ff3e7d; color:#fff; border-color:#ff3e7d; }
#hhb-wizard .hhb-btn--primary:hover { background:#e72c6a; }
#hhb-wizard .hhb-promo__row .hhb-btn { background:#009ee7; border-color:#009ee7; }
#hhb-wizard .hhb-nav { display:flex; align-items:center; gap:10px; padding:20px 25px; margin:0; border-top:1px solid #edf2f8; }
#hhb-wizard [data-hhb-next] { margin-left:auto; min-width:180px; }
#hhb-wizard [data-hhb-next]:after { content:" →"; margin-left:10px; }
#hhb-wizard [data-hhb-reset] { border:0; background:transparent; color:#647999; min-width:0; padding-inline:9px; }
#hhb-wizard .hhb-status { padding:0 25px; margin:0 0 16px; font-size:14px; line-height:1.5; }
#hhb-wizard .hhb-status:empty { display:none; }
@media(max-width:1050px) and (min-width:760px) {
  #hhb-wizard .hhb-form__layout { grid-template-columns:minmax(0,1fr) 280px; gap:15px; }
  #hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:1fr; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit { display:grid; grid-template-columns:130px 1fr; align-items:center; column-gap:15px; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { grid-row:1/5; height:120px; margin:0; }
}
@media(max-width:759px) {
  #hhb-wizard .hhb-shell { padding:18px 12px 230px; }
  #hhb-wizard .hhb-form__layout { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
  #hhb-wizard .hhb-steps { grid-template-columns:repeat(7,minmax(0,1fr)); margin:0 -3px; padding:0; }
  #hhb-wizard .hhb-step { font-size:10px; min-height:61px; gap:7px; padding:4px 1px; }
  #hhb-wizard .hhb-step:before { top:18px; }
  #hhb-wizard .hhb-step .hhb-step-number { width:28px; height:28px; font-size:12px; }
  #hhb-wizard .hhb-fieldset { padding:19px 16px 5px; }
  #hhb-wizard .hhb-fieldset>legend { font-size:21px; gap:10px; margin-bottom:13px; }
  #hhb-wizard .hhb-section-number { width:35px; height:35px; flex-basis:35px; font-size:18px; }
  #hhb-wizard .hhb-lede { font-size:13px; margin-bottom:17px; }
  #hhb-wizard .hhb-field-grid,#hhb-wizard .hhb-field-grid--event-when { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 11px; }
  #hhb-wizard .hhb-field-grid--event-when [for=hhb-field-date] { grid-column:1/-1; }
  #hhb-wizard .hhb-field>span { font-size:12px; }
  #hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:1fr; gap:13px; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit { display:grid; grid-template-columns:minmax(95px,36%) minmax(0,1fr); gap:5px 13px; padding:13px; align-items:center; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { grid-row:1/6; width:100%; height:135px; margin:0; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card strong { font-size:17px; padding-right:14px; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__copy { margin:0; }
  #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-list { grid-column:2; font-size:12px; }
  #hhb-wizard .hhb-choice-grid--addons,#hhb-wizard .hhb-choice-grid--included { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #hhb-wizard .hhb-choice-grid--packages { grid-template-columns:1fr; }
  #hhb-wizard .hhb-choice-grid--addons .hhb-choice-card__image,#hhb-wizard .hhb-choice-grid--included .hhb-choice-card__image { height:100px; }
  #hhb-wizard .hhb-choice-card__hit { padding:10px; }
  #hhb-wizard .hhb-choice-card strong { font-size:14px; }
  #hhb-wizard .hhb-choice-card .hhb-choice-card__copy { font-size:12px; }
  #hhb-wizard .hhb-nav { position:fixed; z-index:21; bottom:0; left:0; right:0; background:#f2fbff; padding:12px max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top:1px solid #cfe7f7; gap:6px; min-height:80px; box-sizing:border-box; }
  #hhb-wizard .hhb-nav .hhb-btn { padding:12px 11px; min-height:48px; font-size:13px; }
  #hhb-wizard [data-hhb-next] { flex:1; min-width:0; width:auto; border-radius:25px; }
  #hhb-wizard [data-hhb-next]:after { margin-left:4px; }
  #hhb-wizard .hhb-summary { position:fixed; z-index:20; bottom:calc(80px + env(safe-area-inset-bottom)); left:0; right:0; width:100%; max-width:none; border-radius:18px 18px 0 0; box-shadow:0 -6px 24px #133b6510; border:1px solid #cfe7f7; border-bottom:0; background:#f2fbff; }
  #hhb-wizard .hhb-summary__toggle { display:flex; align-items:center; justify-content:space-between; text-align:left; gap:15px; width:100%; padding:12px 16px; border:0; background:transparent; min-height:68px; }
  #hhb-wizard .hhb-summary__toggle-copy { font-size:12px; color:#123465; }
  #hhb-wizard .hhb-summary__hint { display:block; font-size:11px; margin-top:4px; color:#50658c; line-height:1.3; max-width:140px; }
  #hhb-wizard .hhb-summary__toggle strong { font-size:23px; color:#007bd2; line-height:1.2; text-align:right; }
  #hhb-wizard .hhb-summary__toggle strong.hhb-summary__estimate-intro { font-size:13px; max-width:175px; }
  #hhb-wizard .hhb-summary__body { display:none!important; }
  #hhb-wizard .hhb-summary.is-open .hhb-summary__body { display:block!important; max-height:calc(75dvh - 180px); overflow-y:auto; overscroll-behavior:contain; padding:16px; border-top:1px solid #dceaf5; }
  #hhb-wizard .hhb-summary h2 { font-size:21px; }
  #hhb-wizard .hhb-status { padding:0 16px; }
}
@media(max-width:360px) {
  #hhb-wizard .hhb-field-grid { grid-template-columns:1fr; }
  #hhb-wizard .hhb-field-grid--event-when { grid-template-columns:1fr 1fr; }
  #hhb-wizard .hhb-choice-grid--addons,#hhb-wizard .hhb-choice-grid--included { grid-template-columns:1fr; }
  #hhb-wizard .hhb-nav [data-hhb-reset] { font-size:11px; padding-inline:5px; }
}
@media(prefers-reduced-motion:reduce) { #hhb-wizard * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
/* Reset inherited numeric-badge geometry and heavy control fonts. */
#hhb-wizard .hhb-step .hhb-step-label { aspect-ratio:auto; white-space:normal; }
#hhb-wizard .hhb-lede,#hhb-wizard .hhb-help,#hhb-wizard .hhb-choice-card__copy,#hhb-wizard .hhb-summary__chips span { font-weight:400; }
#hhb-wizard .hhb-field input:not([type=checkbox]):not([type=radio]),#hhb-wizard .hhb-field select,#hhb-wizard .hhb-field textarea { font-weight:400; }
#hhb-wizard .hhb-choice-card .hhb-choice-card__copy { font-weight:400; }
#hhb-wizard .hhb-lines li { font-weight:400; }
@media(max-width:759px) { #hhb-wizard .hhb-summary { top:auto; height:auto; max-height:none; } }
/* Supplied artwork and three-page booking flow. */
#hhb-wizard { --hhb-nav-height:80px; }
#hhb-wizard .hhb-hero__row { justify-content:center; }
#hhb-wizard .hhb-hero__copy { width:100%; text-align:center; }
#hhb-wizard .hhb-hero h1 { margin:0 auto 12px; max-width:750px; }
#hhb-wizard .hhb-booking-logo { display:block; width:100%; height:auto; max-height:220px; object-fit:contain; }
#hhb-wizard .hhb-home-exit { font-size:12px; }
#hhb-wizard .hhb-steps { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:820px; width:100%; justify-self:start; }
#hhb-wizard .hhb-form__panel { background:transparent; border:0; box-shadow:none; }
#hhb-wizard #hhb-step { display:grid; gap:16px; }
#hhb-wizard .hhb-fieldset { border:1px solid #dce8f2; background:#fff; border-radius:18px; padding-bottom:20px; box-shadow:0 4px 18px #12457406; }
#hhb-wizard .hhb-form-icon { display:inline-block; flex:0 0 24px; width:24px; height:24px; object-fit:contain; vertical-align:middle; }
#hhb-wizard .hhb-field>span { display:flex; gap:6px; align-items:center; }
#hhb-wizard .hhb-field>span .hhb-form-icon { width:21px; height:21px; flex-basis:21px; }
#hhb-wizard .hhb-summary h2 { display:flex; gap:8px; align-items:center; }
#hhb-wizard .hhb-summary h2>.hhb-form-icon { width:38px; height:38px; flex-basis:38px; }
#hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit { display:flex; flex-direction:column; gap:9px; padding:10px; position:relative; }
#hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { display:block; width:100%; height:155px; aspect-ratio:1.55; object-fit:cover; object-position:center; background:linear-gradient(145deg,#f7fcff,#edf9ff); margin:0; }
#hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__input { position:absolute; right:17px; top:18px; width:19px; height:19px; margin:0; box-shadow:0 0 0 3px #fff; border-radius:50%; }
#hhb-wizard .hhb-choice-details { border-top:1px solid #e2edf7; padding:10px 12px; font-size:12px; color:#39547b; }
#hhb-wizard .hhb-choice-details summary { cursor:pointer; font-weight:600; min-height:25px; }
#hhb-wizard .hhb-choice-details .hhb-choice-list { margin-top:12px; }
#hhb-wizard .hhb-service-options { border-top:1px solid #e4edf5; padding-top:20px; margin-top:22px; }
#hhb-wizard .hhb-service-options h3 { font-size:18px; margin:0 0 14px; }
#hhb-wizard .hhb-service-options .hhb-package-blocks { display:none; }
#hhb-wizard .hhb-summary-experience button,#hhb-wizard .hhb-summary-fact button { appearance:none; background:transparent; border:0; padding:5px 0; color:#0078be; text-decoration:underline; font:inherit; font-size:12px; cursor:pointer; }
#hhb-wizard .hhb-summary-experience button { display:block; margin-left:auto; }
#hhb-wizard .hhb-summary__chips { gap:12px; }
#hhb-wizard .hhb-summary-fact { display:grid; grid-template-columns:22px 53px minmax(0,1fr) 24px; align-items:start; gap:7px; font-size:12px; line-height:1.4; }
#hhb-wizard .hhb-summary-fact>.hhb-form-icon { width:20px; height:20px; }
#hhb-wizard .hhb-summary-fact span { font-size:12px; color:#41567e; }
#hhb-wizard .hhb-summary-fact strong { font-size:12px; font-weight:400; overflow-wrap:anywhere; }
#hhb-wizard .hhb-summary-fact button { padding:0; }
#hhb-wizard .hhb-summary-experience { padding:10px; gap:9px; }
#hhb-wizard .hhb-summary-experience img { width:80px; height:84px; object-fit:cover; border-radius:8px; }
#hhb-wizard .hhb-summary-experience span { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; }
#hhb-wizard .hhb-travel-note { display:flex; gap:9px; padding:13px; background:#fff6df; border-radius:12px; margin:16px 0; font-size:12px; line-height:1.5; }
#hhb-wizard .hhb-travel-note p { margin:4px 0 0; font-size:11px; color:#5f6474; }
#hhb-wizard .hhb-travel-note>.hhb-form-icon { width:30px; height:30px; flex-basis:30px; }
#hhb-wizard .hhb-summary-help { display:flex; align-items:center; gap:10px; padding:14px; background:#e8f8ff; border-radius:12px; margin-top:16px; font-size:12px; text-decoration:none; color:#092555; }
#hhb-wizard .hhb-summary-help small { display:block; margin-top:4px; font-size:11px; color:#0070b3; }
#hhb-wizard .hhb-summary-help>.hhb-form-icon { width:35px; height:35px; flex-basis:35px; }
#hhb-wizard .hhb-nav { background:#fff; margin-top:16px; border:1px solid #dce8f2; border-radius:16px; }
#hhb-wizard .hhb-summary-fact button:focus-visible,#hhb-wizard .hhb-choice-details summary:focus-visible { outline:3px solid #00a8ed; outline-offset:3px; }
@media(max-width:1050px) and (min-width:760px) {
 #hhb-wizard .hhb-form__layout { grid-template-columns:minmax(0,1fr) 290px; gap:14px; }
 #hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:repeat(3,minmax(0,1fr)); }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { height:110px; }
 #hhb-wizard .hhb-choice-card strong { font-size:14px; }
 #hhb-wizard .hhb-choice-card__copy { font-size:12px; }
 #hhb-wizard .hhb-summary__body { padding:17px; }
}
@media(max-width:759px) {
 #hhb-wizard .hhb-hero { padding-bottom:5px; }
 #hhb-wizard .hhb-hero h1 { max-width:440px; margin-bottom:10px; }
 #hhb-wizard .hhb-hero__copy>p { font-size:13px; }
 #hhb-wizard .hhb-steps { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; }
 #hhb-wizard .hhb-step { font-size:12px; }
 #hhb-wizard .hhb-fieldset { border-radius:14px; padding:17px 14px; }
 #hhb-wizard .hhb-fieldset>legend { font-size:20px; }
 #hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:1fr; gap:10px; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit { display:grid; grid-template-columns:112px minmax(0,1fr); gap:6px 12px; padding:10px; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { grid-column:1; grid-row:1/4; height:110px; width:112px; aspect-ratio:auto; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit>strong { grid-column:2; padding-right:17px; align-self:end; font-size:15px; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__copy { grid-column:2; font-size:12px; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__input { right:12px; top:13px; width:17px; height:17px; }
 #hhb-wizard .hhb-summary { bottom:var(--hhb-nav-height); margin:0; }
 #hhb-wizard .hhb-nav { margin:0; border-radius:0; background:#f2fbff; }
 #hhb-wizard .hhb-summary__toggle { min-height:64px; }
 #hhb-wizard .hhb-summary.is-open .hhb-summary__body { max-height:calc(80dvh - var(--hhb-nav-height) - 64px); }
 #hhb-wizard .hhb-shell { padding-bottom:calc(var(--hhb-nav-height) + 92px); }
 #hhb-wizard .hhb-field-grid--event-when { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
 #hhb-wizard .hhb-field-grid--event-when input { padding:10px 6px; font-size:14px; }
}
@media(max-width:360px) {
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit { grid-template-columns:88px minmax(0,1fr); gap:7px; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { width:88px; height:100px; }
 #hhb-wizard .hhb-field-grid--event-when { grid-template-columns:1fr 1fr; }
 #hhb-wizard .hhb-field-grid--event-when>.hhb-field:last-child { grid-column:1/-1; }
}
#hhb-wizard .hhb-line-servings { display:block; font-size:11px; color:#5a6f90; margin-top:3px; }
#hhb-wizard .hhb-review-order { border-top:1px solid #dce8f2; padding-top:16px; margin-top:15px; }
#hhb-wizard .hhb-review-order h3 { margin:0 0 10px; font-size:17px; }
/* Compact booking header and a summary with persistent total/promo controls. */
#hhb-wizard { --hhb-blue:#005cbd; }
#hhb-wizard .hhb-shell { padding-top:24px; }
#hhb-wizard .hhb-hero { padding:0 0 20px; margin:0; border:0; }
#hhb-wizard .hhb-hero__row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
#hhb-wizard .hhb-hero__copy { width:auto; min-width:0; text-align:left; }
#hhb-wizard .hhb-hero h1 { max-width:400px; margin:0 0 8px; line-height:1; }
#hhb-wizard .hhb-booking-logo { width:100%; max-height:136px; }
#hhb-wizard .hhb-hero__copy>p { margin:0; max-width:510px; font-size:14px; font-weight:400; line-height:1.5; color:var(--hhb-muted); }
#hhb-wizard .hhb-hero .hhb-home-exit { display:inline-flex; align-items:center; gap:9px; flex-shrink:0; padding:10px 15px 10px 10px; border:1px solid #d9e8f5; border-radius:12px; background:#fff; color:var(--hhb-blue); font-size:13px; line-height:1.3; font-weight:700; text-decoration:none; box-shadow:0 3px 12px #12457406; }
#hhb-wizard .hhb-home-exit .hhb-form-icon { width:35px; height:35px; flex-basis:35px; }
#hhb-wizard .hhb-home-exit:hover { background:#f0f8ff; border-color:#a8cff3; }
#hhb-wizard .hhb-flow-nav { grid-column:1/-1; display:flex; align-items:center; gap:30px; margin:0 0 2px; padding:13px 18px; background:#ffffffed; border:1px solid #dce8f2; border-radius:15px; }
#hhb-wizard .hhb-back-link { display:inline-flex; align-items:center; gap:8px; color:var(--hhb-blue); text-decoration:none; font-size:13px; font-weight:700; min-height:42px; padding:0 12px 0 0; }
#hhb-wizard .hhb-back-link>span { font-size:21px; font-weight:400; }
#hhb-wizard .hhb-back-link:hover { text-decoration:underline; }
#hhb-wizard .hhb-back-link:focus-visible,#hhb-wizard .hhb-home-exit:focus-visible { outline:3px solid #6ebcf4; outline-offset:3px; }
#hhb-wizard .hhb-steps { flex:1; max-width:none; margin:0; padding:0; }
#hhb-wizard .hhb-step { flex-direction:row; justify-content:center; align-items:center; gap:9px; min-height:42px; padding:0 10px; font-size:13px; }
#hhb-wizard .hhb-step:before { display:none; }
#hhb-wizard .hhb-step+.hhb-step { border-left:1px solid #e2edf6; }
#hhb-wizard .hhb-step.is-active { color:var(--hhb-blue); }
#hhb-wizard .hhb-step.is-active .hhb-step-number,#hhb-wizard .hhb-section-number { background:var(--hhb-blue); border-color:var(--hhb-blue); }
#hhb-wizard .hhb-step.is-done .hhb-step-number { color:var(--hhb-blue); background:#eaf4ff; border-color:#c1d9f3; }
#hhb-wizard .hhb-summary { overflow:hidden; }
#hhb-wizard .hhb-summary__body { display:flex!important; flex-direction:column; padding:0; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow:hidden; }
#hhb-wizard .hhb-summary__top { flex:0 0 auto; padding:18px 20px 16px; background:#f5faff; border-bottom:1px solid #dce8f2; }
#hhb-wizard .hhb-summary h2 { color:var(--hhb-blue); font-size:22px; line-height:1.2; margin:0 0 13px; gap:8px; letter-spacing:-.5px; }
#hhb-wizard .hhb-summary h2>.hhb-form-icon { width:32px; height:32px; flex-basis:32px; }
#hhb-wizard .hhb-total { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; padding:0; border:0; font-size:13px; line-height:1.4; color:#415c81; }
#hhb-wizard .hhb-total strong { font-size:26px; white-space:nowrap; color:var(--hhb-blue); }
#hhb-wizard .hhb-promo { margin:12px 0 0; }
#hhb-wizard .hhb-promo__label { display:block; font-size:12px; line-height:1.4; font-weight:600; margin-bottom:6px; color:#17375f; }
#hhb-wizard .hhb-promo__row input { background:#fff; padding:9px 10px; min-height:42px; font-weight:400; }
#hhb-wizard .hhb-promo__row .hhb-btn { min-height:42px; padding:9px 13px; background:var(--hhb-blue); border-color:var(--hhb-blue); }
#hhb-wizard .hhb-promo-msg { font-size:12px; line-height:1.4; margin:8px 0 0; }
#hhb-wizard .hhb-promo-msg:empty { display:none; }
#hhb-wizard .hhb-summary__details { flex:1 1 auto; min-height:80px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:16px 20px 20px; }
#hhb-wizard .hhb-summary__details:focus-visible { outline:2px solid #91bff0; outline-offset:-3px; }
#hhb-wizard .hhb-summary-experience { margin:0 0 16px; padding:0; border:0; gap:10px; }
#hhb-wizard .hhb-summary-experience img { width:58px; height:62px; flex:0 0 58px; }
#hhb-wizard .hhb-summary-experience span { display:none; }
#hhb-wizard .hhb-summary-experience p { font-size:13px; line-height:1.5; margin:0; font-weight:400; color:var(--hhb-muted); }
#hhb-wizard .hhb-summary-experience button { margin:4px 0 0; padding:0; text-align:left; }
#hhb-wizard .hhb-summary__chips { gap:10px; margin-bottom:12px; padding-bottom:14px; }
#hhb-wizard .hhb-summary-fact { grid-template-columns:20px 48px minmax(0,1fr) 24px; gap:6px; }
#hhb-wizard .hhb-travel-note { padding:11px; margin:14px 0 0; }
#hhb-wizard .hhb-summary-help { padding:11px; margin-top:12px; }
@media(min-width:760px) and (max-width:1050px) {
 #hhb-wizard .hhb-hero h1 { max-width:350px; }
 #hhb-wizard .hhb-hero__copy>p { max-width:400px; font-size:13px; }
 #hhb-wizard .hhb-flow-nav { gap:12px; padding:10px 13px; }
 #hhb-wizard .hhb-step { font-size:12px; padding-inline:6px; gap:6px; }
 #hhb-wizard .hhb-summary__top { padding:16px; }
 #hhb-wizard .hhb-summary__details { padding:14px 16px 16px; }
}
@media(max-width:759px) {
 #hhb-wizard .hhb-shell { padding-top:14px; }
 #hhb-wizard .hhb-hero { padding-bottom:15px; }
 #hhb-wizard .hhb-hero__row { align-items:flex-start; gap:12px; }
 #hhb-wizard .hhb-hero__copy { flex:1; }
 #hhb-wizard .hhb-hero h1 { width:100%; max-width:280px; margin:0 0 7px; }
 #hhb-wizard .hhb-booking-logo { max-height:95px; }
 #hhb-wizard .hhb-hero__copy>p { font-size:12px; line-height:1.45; }
 #hhb-wizard .hhb-hero .hhb-home-exit { flex-direction:column; gap:3px; padding:7px 6px; font-size:10px; width:68px; text-align:center; border-radius:11px; }
 #hhb-wizard .hhb-home-exit .hhb-form-icon { width:29px; height:29px; flex-basis:29px; }
 #hhb-wizard .hhb-flow-nav { gap:9px; padding:10px 8px; border-radius:12px; }
 #hhb-wizard .hhb-back-link { font-size:12px; gap:4px; padding-right:0; }
 #hhb-wizard .hhb-back-link>span { font-size:18px; }
 #hhb-wizard .hhb-step { flex-direction:column; gap:5px; font-size:10px; padding:0 4px; min-height:47px; }
 #hhb-wizard .hhb-step .hhb-step-number { width:24px; height:24px; font-size:11px; }
 #hhb-wizard .hhb-step.is-active .hhb-step-number { box-shadow:0 0 0 3px #e9f3ff; }
 #hhb-wizard .hhb-step+.hhb-step { border-left:0; }
 #hhb-wizard .hhb-summary__body { display:none!important; }
 #hhb-wizard .hhb-summary.is-open .hhb-summary__body { display:flex!important; padding:0; overflow:hidden; max-height:calc(80dvh - var(--hhb-nav-height) - 64px); }
 #hhb-wizard .hhb-summary__top { padding:14px 16px; }
 #hhb-wizard .hhb-summary h2 { font-size:20px; margin-bottom:9px; }
 #hhb-wizard .hhb-summary h2>.hhb-form-icon { width:27px; height:27px; flex-basis:27px; }
 #hhb-wizard .hhb-summary__details { padding:14px 16px 16px; }
 #hhb-wizard .hhb-summary__toggle { min-height:58px; padding-block:10px; }
 #hhb-wizard .hhb-summary__toggle-copy { font-size:12px; }
 #hhb-wizard .hhb-summary__hint { font-size:10px; }
 #hhb-wizard .hhb-summary__toggle strong.hhb-summary__estimate-intro { font-size:12px; }
 #hhb-wizard .hhb-nav { min-height:70px; padding-top:10px; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
}
/* Give native date/time controls and experience copy room on narrow tablets. */
@media(min-width:760px) and (max-width:950px) {
 #hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:minmax(0,1fr); }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit { display:grid; grid-template-columns:100px minmax(0,1fr); gap:6px 12px; padding:12px; align-items:center; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { width:100px; height:100px; grid-column:1; grid-row:1/4; aspect-ratio:auto; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__hit>strong { grid-column:2; padding-right:14px; font-size:15px; align-self:end; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__copy { grid-column:2; font-size:12px; }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__input { top:13px; right:12px; }
 #hhb-wizard .hhb-field-grid--event-when { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 #hhb-wizard .hhb-field-grid--event-when>.hhb-field:first-child { grid-column:1/-1; }
 #hhb-wizard .hhb-field-grid--event-when input { font-size:14px; padding:10px 8px; }
}

/* Short, quiet post-event check-in. Native radio controls retain keyboard semantics. */
.hhb-survey .hhb-shell{max-width:660px;margin:0 auto;padding:28px 20px 24px}
.hhb-feedback-heading{text-align:center;margin:0 auto 22px;max-width:590px}
.hhb-feedback-heading img{object-fit:contain;margin:0 auto 6px;display:block}
.hhb-feedback-heading h1{font-size:clamp(26px,4.8vw,36px);line-height:1.12;margin:8px 0 12px;color:#102552}
.hhb-feedback-heading p{line-height:1.5;margin:8px 0;color:#536b92}
.hhb-feedback-heading .hhb-kicker{font-size:12px;letter-spacing:.09em;margin:0;color:#0560b8}
.hhb-feedback-card{padding:28px;border:1px solid #d8e7f5;border-radius:22px;background:#fff;box-shadow:0 12px 40px #12365e09}
.hhb-feedback-form fieldset,.hhb-tip-form fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
.hhb-feedback-form legend,.hhb-tip-form legend{font-weight:700;font-size:19px;margin-bottom:16px;color:#102552}
.hhb-rating-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.hhb-rating-choice{display:flex;position:relative;align-items:center;flex-direction:column;gap:8px;text-align:center;font-size:12px;line-height:1.25;color:#536b92;cursor:pointer}
.hhb-rating-choice input,.hhb-tip-choice input{position:absolute;opacity:0;width:1px;height:1px}
.hhb-rating-number{display:grid;place-items:center;width:clamp(42px,8vw,58px);height:clamp(42px,8vw,58px);border-radius:50%;border:2px solid #d8e7f5;background:#f5faff;font-size:22px;font-weight:700;color:#0560b8;transition:background .1s}
.hhb-rating-choice input:checked+.hhb-rating-number{background:#0560b8;border-color:#0560b8;color:white;box-shadow:0 0 0 4px #e4f3ff}
.hhb-rating-choice input:focus-visible+.hhb-rating-number,.hhb-tip-choice input:focus-visible+span{outline:3px solid #102552;outline-offset:4px}
.hhb-comment-label{display:block;color:#102552;font-weight:700;line-height:1.5;margin-bottom:8px}
.hhb-comment-label span{font-size:13px;font-weight:400;color:#536b92}
.hhb-feedback-form textarea,.hhb-custom-amount input{display:block;width:100%;box-sizing:border-box;border:1px solid #c8d9ed;border-radius:12px;padding:12px 14px;font:inherit;font-size:16px;line-height:1.45;resize:vertical;min-height:98px;background:#fff;color:#102552}
.hhb-feedback-form textarea:focus-visible,.hhb-custom-amount input:focus-visible{outline:2px solid #0560b8;outline-offset:2px}
.hhb-survey [hidden]{display:none!important}
.hhb-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin-top:16px;color:#536b92;font-weight:400}
.hhb-consent input{width:18px;height:18px;flex-shrink:0;accent-color:#0560b8;margin:1px 0 0}
.hhb-feedback-form>.hhb-btn{width:100%;margin-top:20px;min-height:50px;border-radius:14px}
.hhb-feedback-error{padding:12px 14px;background:#fff0f5;color:#a4164a;border-radius:10px;line-height:1.5;font-size:14px}
.hhb-feedback-footer{text-align:center;font-size:12px;color:#536b92;margin:20px 0 0}
.hhb-feedback-thanks{text-align:center;padding:6px 8px 20px}
.hhb-feedback-thanks h2{font-size:30px;margin:16px 0 8px;color:#102552}
.hhb-feedback-thanks p{line-height:1.6;color:#536b92;margin:0}
.hhb-feedback-check{display:grid;place-items:center;margin:auto;width:52px;height:52px;background:#e4f8f3;border-radius:50%;color:#08775d;font-size:28px}
.hhb-review-invitation{font-size:14px;line-height:1.6;padding:20px 0 0;margin:0;border-top:1px solid #e0eaf5;color:#536b92}
.hhb-review-invitation a,.hhb-tip-status a{color:#0560b8;text-decoration:underline;text-underline-offset:3px}
.hhb-tip-panel{margin-top:18px;font-size:13px;color:#536b92}
.hhb-tip-panel>summary{display:list-item;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:8px 0;color:#0560b8}
.hhb-tip-content{padding-top:8px;line-height:1.55}
.hhb-tip-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hhb-tip-choice{position:relative;cursor:pointer;text-align:center}
.hhb-tip-choice>span{display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:6px;border-radius:10px;border:1px solid #c8d9ed;font-size:16px;color:#0560b8;background:#f5faff}
.hhb-tip-choice small{display:block;font-size:12px;color:#536b92}
.hhb-tip-choice input:checked+span{background:#0560b8;border-color:#0560b8;color:white}
.hhb-tip-choice input:checked+span small{color:white}
.hhb-tip-choice input:disabled+span{opacity:.45;cursor:not-allowed}
.hhb-custom-amount{display:block;margin:16px 0;font-size:14px}
.hhb-custom-amount input{min-height:46px;margin-top:6px}
.hhb-tip-form .hhb-btn{width:100%;min-height:48px;margin-top:14px;background:#eef7ff;color:#0560b8;border:1px solid #c8d9ed;border-radius:12px}
.hhb-tip-small{font-size:12px;text-align:center}
.hhb-tip-status{font-size:14px;line-height:1.6;color:#536b92;margin:16px 0 0}
@media(max-width:480px){.hhb-survey .hhb-shell{padding:20px 16px}.hhb-feedback-card{padding:22px 18px}.hhb-feedback-heading h1{max-width:310px;margin:8px auto 12px}.hhb-rating-choices{gap:5px}.hhb-feedback-heading p{font-size:15px}.hhb-tip-choices{gap:5px}}

/* Clear address entry and left-side removal controls. */
#hhb-wizard .hhb-flow-nav { justify-content:center; }
#hhb-wizard .hhb-steps { flex:1; }
#hhb-wizard .hhb-address-manual-link { display:block; border:0; padding:0; margin:8px 0 18px; background:transparent; color:#0964b5; text-decoration:underline; text-underline-offset:3px; font:inherit; font-size:13px; cursor:pointer; }
#hhb-wizard .hhb-manual-address-fields[hidden] { display:none; }
#hhb-wizard .hhb-manual-address-fields { padding:16px; border:1px solid #dce8f2; border-radius:12px; background:#f7fbfe; margin-bottom:20px; }
#hhb-wizard .hhb-service-options { margin-top:24px; padding-top:20px; border-top:1px solid #e0eaf4; }
#hhb-wizard .hhb-service-fields { margin-top:24px; }
#hhb-wizard .hhb-service-options + .hhb-segmented { margin-top:24px; }
#hhb-wizard .hhb-address-data { display:block; padding:12px 18px; font-size:10px; line-height:1.5; color:#647994; }
#hhb-wizard .hhb-address-data .hhb-address__attribution { margin:0; font-size:inherit; }
#hhb-wizard .hhb-lines li.hhb-line--removable { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:start; gap:8px; }
#hhb-wizard .hhb-line-controls { display:flex; flex-direction:column; gap:4px; }
#hhb-wizard .hhb-line-remove { margin:0; width:25px; height:25px; min-height:25px; display:inline-flex; align-items:center; justify-content:center; padding:0; font-size:18px; line-height:1; }
#hhb-wizard .hhb-line-description { min-width:0; }
#hhb-wizard .hhb-line-amount { white-space:nowrap; }
#hhb-wizard .hhb-summary-help a { display:block; width:fit-content; margin-top:6px; color:#0766ad; font-size:12px; text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
@media(min-width:1000px) {
 #hhb-wizard .hhb-choice-grid--experiences { grid-template-columns:repeat(4,minmax(0,1fr)); }
 #hhb-wizard .hhb-choice-grid--experiences .hhb-choice-card__image { height:125px; }
}
.hhb-draft-save { max-width:1200px; margin:0 auto 16px; color:#536e94; font-size:12px; }
.hhb-draft-save > p { margin:0 0 3px; }
.hhb-draft-save details > p { max-width:760px; line-height:1.5; }

/* Customer extras live beside event help, with the same product imagery as booking. */
.hhb-event-home .hhb-customer-extras { padding:24px; }
.hhb-extras-heading { max-width:760px; margin-bottom:20px; }
.hhb-extras-heading h2 { margin-bottom:8px; }
.hhb-customer-extras-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.hhb-customer-extra { min-width:0; border:1.5px solid #d3e8fa; border-radius:14px; background:#fff; overflow:hidden; transition:border-color .15s,box-shadow .15s; }
.hhb-customer-extra:hover { border-color:#8bc9ff; }
.hhb-customer-extra[open] { border-color:var(--hhb-event-blue); box-shadow:0 0 0 2px #0065cf0d; }
.hhb-customer-extra summary { display:flex; align-items:center; gap:16px; padding:16px; cursor:pointer; list-style:none; }
.hhb-customer-extra summary::-webkit-details-marker { display:none; }
.hhb-customer-extra summary:focus-visible { outline:3px solid #66b4ff; outline-offset:-4px; border-radius:12px; }
.hhb-customer-extra-photo { display:grid; place-items:center; width:100px; height:100px; flex:0 0 100px; border-radius:12px; background:#f1faff; }
.hhb-customer-extra-photo img { display:block; width:90px; height:90px; object-fit:contain; }
.hhb-customer-extra-info { display:flex; flex-direction:column; gap:6px; min-width:0; }
.hhb-customer-extra-info strong { color:var(--hhb-event-navy); font-size:18px; line-height:1.25; }
.hhb-customer-extra-info>span { font-size:14px; color:var(--hhb-event-muted); }
.hhb-customer-extra-info small { color:var(--hhb-event-blue); font-weight:700; font-size:12px; }
.hhb-extra-toggle { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; margin-left:auto; border-radius:50%; background:#edf7ff; color:var(--hhb-event-blue); font-size:22px; }
.hhb-customer-extra[open] .hhb-extra-toggle { transform:rotate(45deg); }
.hhb-customer-extra form { padding:0 16px 18px; border-top:1px solid #e2effb; }
.hhb-event-home .hhb-extra-deadline { padding:12px 0; font-size:12px; }
.hhb-extra-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.hhb-extra-fields label { display:flex; flex-direction:column; gap:7px; color:var(--hhb-event-navy); font-size:13px; font-weight:700; }
.hhb-extra-fields input,.hhb-extra-fields select { width:100%; box-sizing:border-box; min-height:44px; border:1px solid #bddcf7; border-radius:9px; padding:10px 11px; background:#fff; color:var(--hhb-event-navy); font:inherit; font-weight:400; }
.hhb-extra-fields label:has(select) { grid-column:1/-1; }
.hhb-extra-optional { font-weight:400; color:var(--hhb-event-muted); }
.hhb-extra-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.hhb-event-home .hhb-extra-actions .hhb-btn { font-size:13px; padding:10px 13px; min-height:44px; border-radius:13px; }
.hhb-event-home [data-addon-result]:not(:empty) { margin-top:14px; font-size:12px; }
.hhb-extra-preview { margin-top:15px; padding:12px; background:#f2faff; border-radius:10px; }
.hhb-event-home .hhb-extra-preview p { display:flex; justify-content:space-between; gap:10px; font-size:13px; margin:4px 0; }
.hhb-extra-preview p:last-child { padding-top:7px; margin-top:7px; border-top:1px solid #cde6fb; }
.hhb-extra-preview strong { color:var(--hhb-event-navy); white-space:nowrap; }
.hhb-customer-extra-info .hhb-extra-offer { width:max-content; padding:3px 8px; color:#b6005b; background:#fff0f8; border-radius:20px; font-size:11px; font-weight:700; }
@media(max-width:720px) { .hhb-customer-extras-grid { grid-template-columns:1fr; } .hhb-event-home .hhb-customer-extras { padding:18px; } }
@media(max-width:420px) { .hhb-customer-extra summary { padding:12px; gap:10px; } .hhb-customer-extra-photo { width:76px; height:76px; flex-basis:76px; } .hhb-customer-extra-photo img { width:70px; height:70px; } .hhb-customer-extra-info strong { font-size:16px; } .hhb-customer-extra-info>span { font-size:12px; } .hhb-extra-toggle { width:23px; height:23px; flex-basis:23px; } .hhb-extra-fields { grid-template-columns:1fr; } .hhb-extra-actions .hhb-btn { flex:1; } }

/* Keep the complete balance amount readable, including cents, on every viewport. */
.hhb-event-facts .hhb-fact--balance dd { white-space:nowrap; overflow-wrap:normal; font-variant-numeric:tabular-nums; }
.hhb-summary-actions { flex-wrap:wrap; justify-content:flex-end; max-width:590px; }
.hhb-extra-unavailable { margin-top:18px; border-top:1px solid #dceeff; padding-top:14px; color:var(--hhb-event-muted); font-size:13px; }
.hhb-extra-unavailable summary { color:var(--hhb-event-blue); cursor:pointer; font-weight:700; }
.hhb-extra-unavailable li { margin:10px 0; line-height:1.5; }
.hhb-event-home .hhb-extra-contact { margin-top:14px; font-size:13px; }
.hhb-customer-extras--unavailable .hhb-extras-heading { margin-bottom:0; }
@media(max-width:1100px) { .hhb-event-facts .hhb-fact--balance { grid-column:3/-1; } }
@media(max-width:560px) { .hhb-event-facts .hhb-fact--balance { grid-column:1/-1; padding-left:0; } .hhb-summary-actions { max-width:none; } .hhb-summary-extras-link { flex-basis:100% !important; } }

.hhb-event-facts dd>span { white-space:nowrap; }
/* Dates may wrap within their own column rather than overlap the next fact. */
.hhb-event-facts>div:first-child dd>span { white-space:normal; }
@media(min-width:1101px) { .hhb-event-facts>div:nth-child(5),.hhb-event-facts>div:nth-child(6) { grid-template-columns:32px minmax(0,1fr); gap:4px 6px; } .hhb-event-facts>div:nth-child(5)>.hhb-event-icon,.hhb-event-facts>div:nth-child(6)>.hhb-event-icon { width:32px; height:32px; padding:6px; } }

/* 1.14.3: side-by-side fields line up (labels share a height; inputs and selects share a height). */
#hhb-wizard .hhb-field { align-content:start; }
#hhb-wizard .hhb-field>span { min-height:24px; }
#hhb-wizard .hhb-field input:not([type=checkbox]):not([type=radio]):not([type=file]),#hhb-wizard .hhb-field select { box-sizing:border-box; height:46px; }

/* 1.16 — Event Sales Minimum Policy, acknowledgment and card on file */
.hhb-vending-policy{margin:18px 0;padding:18px 20px;border:1.5px solid #cfe5fb;border-radius:16px;background:#f6fbff}
.hhb-vending-policy h3{margin:0 0 8px;font-size:18px}
.hhb-vending-policy h4{margin:16px 0 6px;font-size:15px}
.hhb-vending-policy__yours{padding:10px 12px;background:#fff;border-radius:10px;border-left:0;box-shadow:inset 0 0 0 1px #d6eaff}
.hhb-vending-policy ul,.hhb-vending-policy ol{margin:0 0 6px;padding-left:20px}
.hhb-vending-policy li{margin:4px 0}
.hhb-vending-policy__more summary{cursor:pointer;font-weight:800;color:#0067e8;margin-top:6px}
.hhb-vending-table-wrap{overflow-x:auto}
.hhb-vending-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:10px;overflow:hidden}
.hhb-vending-table th,.hhb-vending-table td{padding:8px 10px;border-bottom:1px solid #e3eef9;text-align:left}
.hhb-vending-table th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#5b6f8f;background:#eef6ff}
.hhb-card-on-file{margin:16px 0;padding:14px;background:#fff;border:1px solid #d6eaff;border-radius:12px}
.hhb-card-on-file.is-invalid{border-color:#e8338a}
.hhb-card-on-file h4{margin-top:0}
.hhb-card-element{min-height:60px;margin-top:8px}
.hhb-card-on-file__saved{font-weight:800;color:#0b7a46}
.hhb-vending-policy .hhb-checkbox-line{margin-top:14px}
.hhb-experience-tip{margin:4px 0 14px;padding:10px 14px;border-radius:12px;background:#fff7d6;border:1px solid #ffe08a;color:#3d2c00;font-size:15px}
.hhb-experience-tip strong{color:#102b58}

/* ---- 5-step booking flow (2026-10) ---- */
#hhb-wizard .hhb-question { margin:0 0 26px; }
#hhb-wizard .hhb-question__title { font-size:18px; line-height:1.3; margin:0 0 6px; color:#102b58; }
#hhb-wizard .hhb-question > .hhb-help { margin:0 0 12px; }
#hhb-wizard .hhb-radio-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; margin-top:10px; }
#hhb-wizard .hhb-radio-cards--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
#hhb-wizard .hhb-radio-card { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border:1.5px solid #cfe3f5; border-radius:14px; background:#fff; cursor:pointer; min-height:56px; transition:border-color .12s, background .12s; }
#hhb-wizard .hhb-radio-card:hover { border-color:#7fc4f2; }
#hhb-wizard .hhb-radio-card input { width:20px; height:20px; margin:2px 0 0; flex:none; accent-color:#0b67e0; }
#hhb-wizard .hhb-radio-card:has(input:checked) { border-color:#0b9be6; background:#effaff; box-shadow:0 0 0 1px #0b9be6; }
#hhb-wizard .hhb-radio-card:has(input:focus-visible) { outline:3px solid #8fd0ff; outline-offset:2px; }
#hhb-wizard .hhb-radio-card__text { display:grid; gap:3px; }
#hhb-wizard .hhb-radio-card__text strong { font-size:15px; color:#102b58; }
#hhb-wizard .hhb-radio-card__text small { font-size:13px; line-height:1.4; color:#50658c; }
#hhb-wizard .hhb-radio-cards.is-invalid .hhb-radio-card { border-color:#f2a3c4; }
#hhb-wizard .hhb-end-note { margin:8px 0 0; padding:10px 14px; background:#effaff; border-radius:10px; font-size:14px; color:#102b58; }
#hhb-wizard .hhb-link-button { background:none; border:0; padding:0; color:#0b63d6; font-weight:800; text-decoration:underline; cursor:pointer; font:inherit; }
#hhb-wizard .hhb-alert--info { background:#effaff; border:1px solid #bfe3fb; color:#102b58; border-radius:12px; padding:12px 14px; margin:10px 0 0; }
#hhb-wizard .hhb-included-list { list-style:none; margin:8px 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
#hhb-wizard .hhb-included-list li { border:1px solid #d6eaff; border-radius:14px; background:#fff; font-weight:700; font-size:14px; color:#102b58; padding:10px; display:grid; gap:8px; }
#hhb-wizard .hhb-included-list li:has(input:checked), #hhb-wizard .hhb-included-list li.is-fixed { border-color:#9ddcc8; background:#f4fdf8; }
#hhb-wizard .hhb-included-list li label { display:grid; gap:8px; cursor:pointer; }
#hhb-wizard .hhb-included-list img, #hhb-wizard .hhb-included-thumb { width:100%; height:84px; object-fit:contain; border-radius:10px; background:#f2f8ff; display:block; }
#hhb-wizard .hhb-included-name { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#hhb-wizard .hhb-included-name small { flex-basis:100%; font-size:11.5px; color:#50658c; font-weight:600; }
#hhb-wizard .hhb-included-check { color:#00a37e; font-weight:900; }
#hhb-wizard .hhb-included-list li input { width:18px; height:18px; accent-color:#00b78e; }
#hhb-wizard .hhb-included-list li.is-fixed span { color:#00a37e; font-weight:900; }
#hhb-wizard .hhb-included-list small { font-weight:600; color:#a0105b; }
#hhb-wizard .hhb-choice-grid--menu { grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; margin:8px 0 22px; }
#hhb-wizard .hhb-choice-grid--menu .hhb-choice-card__image { height:110px; }
#hhb-wizard .hhb-guarantee { margin:6px 0 0; padding:16px; border-radius:14px; background:#fff6dc; border:1px solid #f3d98c; }
#hhb-wizard .hhb-guarantee strong { color:#102b58; font-size:16px; }
#hhb-wizard .hhb-guarantee p { margin:6px 0 0; }
#hhb-wizard .hhb-optional { margin:12px 0; border:1px solid #d6eaff; border-radius:12px; padding:10px 14px; background:#fff; }
#hhb-wizard .hhb-optional summary { cursor:pointer; font-weight:800; color:#0b63d6; }
#hhb-wizard .hhb-optional[open] summary { margin-bottom:10px; }
#hhb-wizard .hhb-review-group { border:1px solid #d6eaff; border-radius:14px; padding:4px 16px 8px; margin:0 0 14px; background:#fff; }
#hhb-wizard .hhb-review-group header { display:flex; justify-content:space-between; align-items:center; padding:10px 0 6px; border-bottom:1px solid #eef4fb; }
#hhb-wizard .hhb-review-group h3 { margin:0; font-size:16px; color:#102b58; }
#hhb-wizard .hhb-review-total { border-top:2px solid #d6eaff; margin-top:6px; padding-top:8px; }
#hhb-wizard .hhb-review-total strong { font-size:18px; }
@media(max-width:760px) {
  #hhb-wizard .hhb-radio-cards, #hhb-wizard .hhb-radio-cards--two { grid-template-columns:1fr; }
  #hhb-wizard .hhb-choice-grid--menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #hhb-wizard .hhb-choice-grid--menu .hhb-choice-card__image { height:86px; }
  #hhb-wizard .hhb-question__title { font-size:17px; }
  /* One compact bottom area: a slim estimate line and the Continue button. */
  #hhb-wizard .hhb-nav { min-height:64px; padding-top:8px; padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  #hhb-wizard .hhb-nav [data-hhb-reset] { display:none; }
  #hhb-wizard .hhb-summary { bottom:calc(64px + env(safe-area-inset-bottom)); }
  #hhb-wizard .hhb-summary__toggle { min-height:44px; padding:6px 16px; }
  #hhb-wizard .hhb-summary__hint { display:none; }
  #hhb-wizard .hhb-summary__toggle strong { font-size:18px; }
  #hhb-wizard[data-current-step="1"] .hhb-summary, #hhb-wizard[data-current-step="2"] .hhb-summary { display:none; }
}
@media(max-width:760px) {
  #hhb-wizard .hhb-field-grid--event-when { grid-template-columns:1fr 1fr; }
  #hhb-wizard .hhb-field-grid--event-when .hhb-field:first-child { grid-column:1/-1; }
  #hhb-wizard .hhb-field-grid--event-when input, #hhb-wizard .hhb-field-grid--event-when select { width:100%; min-width:0; box-sizing:border-box; }
  #hhb-wizard .hhb-steps .hhb-step-label { font-size:10.5px; }
}
#hhb-wizard .hhb-steps { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media(max-width:760px) {
  #hhb-wizard .hhb-choice-grid--addons { grid-template-columns:1fr; }
  #hhb-wizard .hhb-choice-grid--addons .hhb-choice-card__hit { display:grid; grid-template-columns:76px minmax(0,1fr); column-gap:12px; align-items:start; }
  #hhb-wizard .hhb-choice-grid--addons .hhb-choice-card__hit > * { grid-column:2; }
  #hhb-wizard .hhb-choice-grid--addons .hhb-choice-card__image, #hhb-wizard .hhb-choice-grid--addons .hhb-choice-card__media { grid-column:1; grid-row:1 / span 4; width:76px; height:76px!important; border-radius:10px; object-fit:contain; }
  #hhb-wizard .hhb-choice-grid--addons .hhb-qty, #hhb-wizard .hhb-choice-grid--addons [class*=qty] { max-width:220px; }
}
#hhb-wizard .hhb-question + .hhb-question, #hhb-wizard .hhb-guarantee + .hhb-question, #hhb-wizard .hhb-field-grid + .hhb-question, #hhb-wizard .hhb-choice-grid + .hhb-question { margin-top:28px; }
#hhb-wizard .hhb-guarantee { margin-bottom:8px; }
#hhb-wizard .hhb-field-grid--event-when, #hhb-wizard .hhb-service-fields { align-items:end; }
@media(max-width:760px) {
  #hhb-wizard .hhb-field-grid--stack { grid-template-columns:1fr; }
  #hhb-wizard .hhb-field-grid--stack .hhb-field { grid-column:1/-1; }
  #hhb-wizard .hhb-service-fields { grid-template-columns:1fr; }
  #hhb-wizard .hhb-included-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #hhb-wizard .hhb-included-list img, #hhb-wizard .hhb-included-thumb { height:70px; }
}
#hhb-wizard .hhb-included-name { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; line-height:1.25; }
#hhb-wizard .hhb-included-name input { width:18px!important; height:18px; min-width:18px; flex:0 0 18px; margin:0; padding:0; }
#hhb-wizard .hhb-included-list li > small { font-size:11.5px; color:#50658c; font-weight:600; }
#hhb-wizard .hhb-included-list li.is-off { border-color:#e3e8ef; background:#f7f8fa; opacity:.75; }
#hhb-wizard .hhb-included-list li.is-off .hhb-included-check { color:#8a96a8; }

/* 1.18.2 polish */
#hhb-wizard .hhb-status.is-error{margin-top:14px}
#hhb-wizard .hhb-field-error{display:block;margin-top:8px}
#hhb-wizard .hhb-choice-grid + .hhb-question,#hhb-wizard .hhb-question + .hhb-question{margin-top:32px}
#hhb-wizard .hhb-included-text{display:flex;flex-direction:column;gap:2px}
#hhb-wizard .hhb-included-text small{font-weight:400;opacity:.75;font-size:12px}
#hhb-wizard .hhb-rate-note--time{background:#eaf3ff;border-color:#b9d4f7;color:#123b6b;font-weight:500}
#hhb-wizard .hhb-rate-note--time strong{font-weight:800}
#hhb-wizard .hhb-rate-note--servings{font-weight:600}
#hhb-wizard .hhb-summary__chev{display:inline-block;margin-left:6px;transition:transform .2s}
#hhb-wizard .is-open .hhb-summary__chev,#hhb-wizard [aria-expanded="true"] .hhb-summary__chev{transform:rotate(180deg)}
@media(max-width:760px){
 #hhb-wizard .hhb-field--wide,#hhb-wizard .hhb-field-grid .hhb-field--wide{grid-column:1/-1;width:100%}
 #hhb-wizard .hhb-field--wide select{width:100%}
 #hhb-wizard .hhb-choice-grid--addons .hhb-qty{margin:10px auto 0;max-width:240px;align-items:center;text-align:center;display:flex;flex-direction:column}
 #hhb-wizard .hhb-choice-grid--addons .hhb-qty small{text-align:center}
 #hhb-wizard .hhb-choice-card__price-row .hhb-price{font-size:13px!important;padding:4px 10px!important;white-space:nowrap;width:auto;min-width:0;height:auto;line-height:1.2;border-radius:999px}
 #hhb-wizard .hhb-summary{bottom:var(--hhb-nav-height,64px)!important;margin:0!important}
 #hhb-wizard .hhb-summary__toggle{min-height:0;padding:8px 16px;gap:8px;align-items:center}
 #hhb-wizard .hhb-summary__toggle-copy{display:flex;flex-direction:column;line-height:1.2}
 #hhb-wizard .hhb-summary__hint{display:block!important;font-size:11.5px;font-weight:500;opacity:.85;margin-top:2px}
}
@media(max-width:760px){#hhb-wizard .hhb-summary__hint{white-space:nowrap}#hhb-wizard .hhb-summary__toggle-copy{flex:0 0 auto}}
@media(max-width:760px){#hhb-wizard .hhb-summary__toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px}#hhb-wizard .hhb-summary__estimate-intro{min-width:0;text-align:right;font-size:12.5px;line-height:1.25}}
@media(max-width:760px){#hhb-wizard .hhb-summary__toggle{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto}#hhb-wizard .hhb-summary__hint{white-space:normal}#hhb-wizard .hhb-summary__toggle-copy{flex:initial;min-width:0;text-align:left}}
