[data-events-offer="packages"] {
  min-width: 0;
  color: inherit;
}

[data-events-offer="packages"] *,
[data-events-offer="packages"] *::before,
[data-events-offer="packages"] *::after {
  box-sizing: border-box;
}

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

.events-catalog-grid > .services-events-panel__catalog,
.events-catalog-grid > [data-event-package-root="desktop"],
.events-catalog-grid .events-package-offers {
  display: contents;
}

.events-package-detail {
  grid-column: 1 / -1;
  min-width: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 16px;
}

.events-package-custom-strip {
  grid-column: 1 / -1;
  order: -1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  border-block: 1px solid rgba(255, 255, 255, 0.12);
  padding: 14px 0;
}

.events-package-custom-strip > div:first-child {
  flex: 1 1 420px;
}

.events-package-custom-strip h3,
.events-package-custom-strip p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
}

.events-package-custom-strip p {
  color: var(--muted);
}

.events-package-custom-picker {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.events-package-steps {
  display: flex;
  gap: 24px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.events-package-steps button {
  appearance: none;
  padding: 10px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 0.9rem;
  cursor: pointer;
}

.events-package-steps [aria-current="step"] {
  color: var(--fg);
  border-bottom-color: var(--accent);
}

.events-package-steps button:disabled {
  cursor: default;
}

.events-package-steps button:focus-visible,
.events-package-service-disclosure > summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.events-package-offer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.events-package-offer-grid--single {
  grid-template-columns: 1fr;
}

@media (min-width: 1100px) {
  .events-package-step-one .events-package-offer-grid:not(.events-package-offer-grid--single) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 721px) {
  [data-package-configuration-contact] { display: none !important; }
  .events-package-direct--journeys .events-package-direct-journey { padding: 16px 0; margin: 0; border-top: 1px solid var(--border); }
  .events-package-direct--journeys .events-package-direct-journey h4 { margin: 0 0 8px; }
  .events-package-route-detail { margin: 8px 0 12px; min-width: 0; }
  .events-package-route-detail summary { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
  .events-package-route-detail p { overflow-wrap: anywhere; margin: 8px 0; line-height: 1.5; }
  .events-package-route-detail summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  .events-package-airport__conditions li + li, .events-package-summary details li + li, .events-package-option-copy li + li { margin-top: 14px; }
  .events-package-airport__conditions li > strong, .events-package-summary details li > strong, .events-package-option-copy li > strong { display: block; margin-bottom: 6px; }
  .events-package-airport__pending button { font: inherit; color: inherit; background: none; border: 0; padding: 2px 0; text-align: left; text-decoration: underline; cursor: pointer; }
  .events-package-airport__pending button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  .events-package-review__journey { padding: 12px 0; border-top: 1px solid var(--border); }
  .events-package-review__journey h5 { font-size: 1rem; margin: 0 0 8px; }
  .events-package-review__journey dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 8px 0; }
  .events-package-review__journey dd { margin: 4px 0 0; font-weight: 600; }
  .events-package-contact__fields > .events-package-summary { margin: 0; }
}

.events-package-offer {
  display: grid;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 16px;
  align-content: start;
}

.events-package-offer-grid--single .events-package-offer {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
  gap: 32px;
}

.events-package-offer h4,
.events-package-offer p,
.events-package-review h4,
.events-package-review p {
  margin: 0 0 8px;
}

.events-package-offer__content h4 {
  font-size: 1.35rem;
  line-height: 1.2;
}

.events-package-step-one .events-package-offer__subtitle {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--fg);
}

.events-package-offer__description {
  max-width: 48rem;
  color: var(--muted);
  line-height: 1.5;
}

.events-package-offer__mode {
  margin: 22px 0;
}

.events-package-offer__mode h5 {
  margin: 0 0 5px;
  font-size: 0.82rem;
  line-height: 1.3;
}

.events-package-offer__mode p {
  font-size: 1rem;
}

.events-package-offer__highlights,
.events-package-offer__disclosure ul {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.events-package-offer__highlights li {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  line-height: 1.4;
}

.events-package-step-one .events-package-offer__details li.events-package-inclusion,
.events-package-inclusion {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.events-package-inclusion .events-package-offer__highlight-icon,
.events-package-offer__highlights .events-package-offer__highlight-icon {
  flex: 0 0 24px;
  opacity: 1;
}

.events-package-offer__highlights span {
  min-width: 0;
}

.events-package-offer__disclosure {
  margin-top: 16px;
}

.events-package-step-one .events-package-offer__disclosure > summary {
  width: fit-content;
  cursor: pointer;
  display: block;
  list-style: none;
  color: var(--fg);
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.events-package-offer__disclosure ul {
  padding-top: 12px;
}

.events-package-offer__controls {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;
}

.events-package-offer__controls > .events-package-button--primary {
  width: 100%;
  margin-top: auto;
  min-height: 52px;
}

.events-package-published-rates {
  display: grid;
  gap: 8px;
  margin: 0;
}

.events-package-published-rates > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.events-package-published-rates dd {
  margin: 0;
  font-weight: 600;
}

.events-package-offer-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 32px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.events-package-offer-heading {
  margin: 38px 0 14px;
  font-size: 1.65rem;
  line-height: 1.2;
}

.events-package-options {
  display: grid;
  gap: 12px;
  border: 0;
  padding: 0;
}

.events-package-options legend {
  margin-bottom: 8px;
}

.events-package-check input[type="radio"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  margin: 1px 0 0;
}

.events-package-service-disclosure {
  border-block-end: 1px solid rgba(255, 255, 255, 0.12);
  padding: 8px 0;
}

.events-package-service-disclosure > summary {
  padding: 8px 0;
  font-weight: 600;
  cursor: pointer;
}

.events-package-service-disclosure .events-package-service {
  border: 0;
  background: transparent;
  padding: 12px 0;
}

.events-package-review ol {
  display: grid;
  gap: 12px;
  padding-left: 20px;
}

.events-package-review li span {
  display: block;
  margin-top: 4px;
}

[data-package-field-error] {
  color: var(--fg);
  font-size: 0.82rem;
}

[data-package-field][aria-invalid="true"] {
  border-color: #dba2a2;
}

[data-package-address] {
  position: relative;
  min-width: 0;
}

.events-package-offers {
  list-style: none;
  margin: 0;
  padding: 0;
}

.events-package-catalog__status {
  grid-column: 1 / -1;
  margin: 0;
  padding: 16px 0;
  color: var(--muted);
}

.services-events-panel__event.events-package-card {
  align-self: start;
  cursor: default;
}

.events-package-card .events-package-card__media-fallback {
  display: flex;
  align-items: end;
  background: rgba(255, 255, 255, 0.045);
  padding: 14px;
}

.events-package-card__media-fallback span {
  color: var(--muted);
  font-size: 0.82rem;
}

.events-package-card__actions {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.events-package-card .events-package-card__primary,
.events-package-card__secondary {
  appearance: none;
  min-height: 34px;
  max-width: 100%;
  border-radius: 8px;
  padding: 7px 11px;
  color: var(--fg);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  cursor: pointer;
}

.events-package-card .events-package-card__primary {
  border: 1px solid rgba(31, 122, 109, 0.72);
  background: rgba(31, 122, 109, 0.18);
}

.events-package-card__secondary {
  flex-basis: 100%;
  min-height: 30px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 0;
  text-align: right;
}

.events-package-card__primary:hover,
.events-package-card__secondary:hover {
  color: var(--fg);
}

.events-package-card__primary:focus-visible,
.events-package-card__secondary:focus-visible,
.events-package-button:focus-visible,
[data-events-offer="packages"] input:focus-visible,
[data-events-offer="packages"] select:focus-visible,
[data-events-offer="packages"] textarea:focus-visible {
  outline: 2px solid rgba(74, 211, 190, 0.82);
  outline-offset: 2px;
}

.events-package-config__header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.events-package-config__header > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.events-package-config__header h3 {
  min-width: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
}

.events-package-config__header p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.events-package-config__header--package {
  display: block;
  margin-bottom: 28px;
}

.events-package-config__header--package > .events-package-button--quiet {
  margin-bottom: 20px;
  padding: 0;
  color: inherit;
  text-decoration: none;
}

.events-package-config__header--package > .events-package-event-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: end;
}

.events-package-config__header--package h3 {
  font-size: clamp(1.55rem, 2.3vw, 2rem);
  line-height: 1.2;
}

.events-package-config__header--package .events-package-event-heading__meta {
  margin-top: 8px;
  font-size: 1rem;
}

/* Offer-step layout. Desktop changes below are responsive variants of the
   base rules, not a second skin. Native details preserves keyboard toggle. */
.events-package-step-one {
  min-width: 0;
  overflow-wrap: anywhere;
}

.events-package-step-one .events-package-offer__disclosure > summary::-webkit-details-marker {
  display: none;
}

.events-package-step-one .events-package-offer__disclosure > summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.events-package-step-one .events-package-offer__details {
  display: grid;
  gap: 20px;
  padding-top: 20px;
}

.events-package-step-one .events-package-offer__details h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.events-package-step-one .events-package-offer__details li {
  display: block;
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.events-package-step-one .events-package-offer-footer h4 {
  margin: 0 0 8px;
  font-size: 1.25rem;
  line-height: 1.3;
}

.events-package-step-one .events-package-offer-footer p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: var(--fg);
}

@media (min-width: 721px) {
  [data-event-package-root] [data-package-step-heading] { scroll-margin-top: 120px; }
  [data-event-package-root] .events-package-config__header { gap: 12px; margin-bottom: 16px; align-items: start; }
  [data-event-package-root] .events-package-event-heading { gap: 16px; align-items: start; }
  [data-event-package-root] .events-package-event-heading h3 { margin: 0 0 8px; }
  [data-event-package-root] .events-package-event-heading__meta { margin: 0; }
  [data-event-package-root] .events-package-offer-heading { margin-block: 16px; }
  .events-package-airport__shared-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .875rem; }
  .events-package-airport--paired .events-package-airport__closing { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 24px; border-top: 1px solid var(--border); padding-top: 16px; }
  .events-package-airport--paired .events-package-airport__closing .events-package-airport__fare { border: 0; padding: 0; }
  .events-package-airport--paired .events-package-airport__closing .events-package-airport__actions { margin: 0; padding: 0; align-items: center; }
  .events-package-airport__pending { margin: 8px 0 0; padding-left: 20px; columns: 2; font-size: .875rem; }
  .events-package-airport--paired .events-package-airport__pending li { break-inside: avoid; margin: 0 0 4px; padding: 0; font-size: .875rem; line-height: 1.5; }
  .events-package-airport--paired .events-package-airport__closing .events-package-airport__fare > p { margin: 8px 0; font-size: .875rem; }
  .events-package-airport--paired .events-package-airport__conditions { margin: 0; max-width: 78ch; }
  .events-package-airport--paired .services-hourly-panel__disclaimer-title { text-transform: none; letter-spacing: normal; }
  .events-package-airport--paired .services-hourly-panel__disclaimers li { margin-bottom: 12px; }
  .events-package-airport--paired .services-hourly-panel__disclaimers { margin: 0; padding-block: 0; }
  .events-package-airport--paired .services-hourly-panel__disclaimers li:last-child { margin-bottom: 0; }
  .events-package-airport--paired .services-hourly-panel__disclaimers strong { display: block; margin-bottom: 4px; }
  .events-package-step-one {
    width: 100%;
    max-width: 1156px;
    margin-inline: auto;
    padding-block: 16px 24px;
  }

  .events-package-step-one .events-package-config__header--package > .events-package-button--quiet {
    margin-bottom: 12px;
    min-height: 24px;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
  }

  .events-package-step-one .events-package-event-heading {
    align-items: start;
  }

  .events-package-step-one .events-package-event-heading > div {
    min-width: 0;
  }

  .events-package-step-one .events-package-event-heading h3 {
    font-size: 1.5rem;
    font-weight: 700;
  }

  .events-package-step-one .events-package-event-heading__meta {
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--fg);
  }

  .events-package-step-one .events-package-event-heading > .events-package-button--quiet {
    min-height: 0;
    margin-top: 12px;
    padding: 0;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--fg);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .events-package-step-one .events-package-steps {
    gap: 32px;
    margin: 0 0 16px;
    border-bottom-color: rgba(244, 242, 238, 0.25);
  }

  .events-package-step-one .events-package-steps button {
    min-width: 0;
    padding: 8px 18px 9px 0;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(244, 242, 238, 0.8);
    white-space: normal;
  }

  .events-package-step-one .events-package-steps [aria-current="step"] {
    font-weight: 700;
    color: var(--fg);
    border-bottom-width: 3px;
  }

  .events-package-step-one .events-package-offer-heading {
    margin: 0 0 14px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .events-package-step-one .events-package-offer {
    min-width: 0;
    min-block-size: auto;
    padding: 20px;
    gap: 24px;
    border-radius: 8px;
    border-color: rgba(244, 242, 238, 0.22);
    background: rgba(244, 242, 238, 0.015);
    align-content: stretch;
  }

  .events-package-step-one .events-package-offer-grid--single .events-package-offer {
    grid-template-columns: minmax(0, 1fr) minmax(0, 18.0625rem);
  }

  .events-package-step-one .events-package-offer__content,
  .events-package-step-one .events-package-offer__controls {
    min-width: 0;
  }

  .events-package-step-one .events-package-offer__content h4 {
    font-size: 1.375rem;
    font-weight: 700;
  }

  .events-package-step-one .events-package-offer__description {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    color: rgba(244, 242, 238, 0.85);
  }

  .events-package-step-one .events-package-offer__mode {
    margin: 18px 0 20px;
  }

  .events-package-step-one .events-package-offer__mode h5 {
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
  }

  .events-package-step-one .events-package-offer__mode p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--fg);
  }

  .events-package-step-one .events-package-offer__highlights {
    gap: 10px;
  }

  .events-package-step-one .events-package-offer__highlights li {
    margin: 0;
    padding: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
  }

  .events-package-step-one .events-package-offer__disclosure {
    margin-top: 18px;
  }

  .events-package-step-one .events-package-offer__disclosure > summary {
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .events-package-step-one .events-package-offer__controls {
    padding-block: 12px;
  }

  .events-package-step-one .events-package-offer__controls > .events-package-help {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.5;
    font-weight: 400;
    color: rgba(244, 242, 238, 0.8);
  }

  .events-package-step-one .events-package-offer__controls > .events-package-button--primary {
    min-height: 48px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.5;
    background: var(--accent);
  }

  .events-package-step-one .events-package-offer-footer {
    padding-top: 20px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 14.1875rem);
    border-top-color: rgba(244, 242, 238, 0.25);
  }

  .events-package-step-one .events-package-offer-footer > .events-package-button--secondary {
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 8px;
    border-color: rgba(244, 242, 238, 0.8);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    background: transparent;
  }
}

@media (min-width: 721px) and (max-width: 1000px) {
  .events-package-step-one .events-package-offer-grid,
  .events-package-step-one .events-package-offer-grid--single .events-package-offer,
  .events-package-step-one .events-package-event-heading,
  .events-package-step-one .events-package-offer-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .events-package-step-one .events-package-steps {
    gap: 24px;
  }

  .events-package-step-one .events-package-offer__controls > .events-package-button--primary {
    max-width: 18.0625rem;
  }

  .events-package-step-one .events-package-offer-footer > .events-package-button--secondary {
    max-width: 14.1875rem;
  }
}

.events-package-selected {
  margin-bottom: 16px;
}

.events-package-layout {
  display: grid;
  gap: 16px;
}

.events-package-layout__main,
.events-package-layout__actions {
  min-width: 0;
}

.events-package-layout__actions {
  display: grid;
  gap: 10px;
  justify-items: start;
}

.events-package-layout__actions > section,
.events-package-layout__actions > form {
  width: 100%;
}

.events-package-calculation-actions {
  display: flex;
  justify-content: flex-end;
}

[data-events-offer="packages"] fieldset {
  min-width: 0;
  margin: 0;
}

.events-package-passenger-bands {
  border: 0;
  padding: 0;
}
.events-package-passenger-bands > legend {
  padding: 0;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 600;
}
.events-package-primary-form {
  display: grid;
  gap: 16px;
  border: 0;
  padding: 0;
}

.events-package-primary-form > legend {
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.25;
}

.events-package-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.events-package-selection {
  max-width: 760px;
}

.events-package-field {
  min-width: 0;
  display: grid;
  gap: 7px;
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.25;
}

.events-package-field--wide,
.events-package-fields-grid > .events-package-help {
  grid-column: 1 / -1;
}

[data-events-offer="packages"] input:not(:where(.events-package-mobile-airport *)),
[data-events-offer="packages"] select:not(:where(.events-package-mobile-airport *)),
[data-events-offer="packages"] textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--fg);
  padding: 10px 12px;
  font: inherit;
  font-size: 0.95rem;
  line-height: 1.25;
}

[data-events-offer="packages"] textarea {
  min-height: 112px;
  resize: vertical;
}

[data-events-offer="packages"] select option {
  color: #181818;
  background: #fff;
}

.events-package-check {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--fg);
  font-size: 0.9rem;
  line-height: 1.35;
  cursor: pointer;
}

.events-package-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  min-height: 18px;
  height: 18px;
  margin: 1px 0 0;
}

.events-package-option-copy {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 14px;
}

.events-package-option-copy summary {
  width: max-content;
  max-width: 100%;
  color: var(--fg);
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
}

.events-package-option-copy > div {
  display: grid;
  gap: 8px;
  padding-top: 10px;
}

.events-package-option-copy p,
.events-package-option-copy ul {
  margin: 0;
}

.events-package-option-copy ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 20px;
  padding-left: 20px;
}

.events-package-services {
  display: grid;
  gap: 12px;
}

.events-package-service {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  padding: 14px;
}

.events-package-ordinary__route {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) 28px minmax(260px, 1.4fr);
  gap: 10px;
  align-items: end;
}

.events-package-ordinary__direction {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
}

.events-package-ordinary__details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.events-package-ordinary__fare .services-expand__fare {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  line-height: 1.3;
}

.events-package-service > legend {
  padding: 0 6px;
  font-size: 0.9rem;
  font-weight: 700;
}

.events-package-fixed {
  min-width: 0;
  display: grid;
  gap: 7px;
  align-self: stretch;
  color: var(--muted);
  font-size: 0.82rem;
}

.events-package-fixed strong {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--fg);
  font-size: 0.95rem;
  font-weight: 600;
}

.events-package-deferred strong {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.3;
}

.events-package-summary,
.events-package-status {
  display: grid;
  gap: 8px;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  padding: 14px;
}

.events-package-summary h4,
.events-package-summary p,
.events-package-summary ul,
.events-package-status p {
  margin: 0;
}

.events-package-summary h4 {
  margin-top: 6px;
  font-size: 0.9rem;
}

.events-package-summary h4:first-child {
  margin-top: 0;
}

.events-package-summary ul {
  display: grid;
  gap: 6px;
  padding-left: 18px;
}

.events-package-summary__line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.events-package-summary__line div {
  display: grid;
  gap: 3px;
}

.events-package-summary__line dt {
  color: var(--muted);
  font-size: 0.76rem;
}

.events-package-summary__line dd {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
}

.events-package-summary__amount {
  color: rgba(255, 224, 140, 0.98);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.events-package-summary--empty {
  color: var(--muted);
}

.contact-event-package-context {
  display: grid;
  gap: 12px;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Desktop presentation only; the shared form and mobile flow retain their controls. */
@media (min-width: 721px) {
  .events-package-option-route { display: block; margin-top: 6px; color: var(--muted); font-size: .875rem; overflow-wrap: anywhere; }
  .events-package-airport--paired { display: grid; gap: 16px; min-width: 0; }
  .events-package-airport.events-package-airport--paired > h3,
  .events-package-airport--paired > p { margin: 0; }
  .events-package-airport--paired .events-package-airport__shared { padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--border); }
  .events-package-airport--paired legend { margin-bottom: 12px; padding: 0; color: var(--fg); font-size: 1rem; font-weight: 700; }
  .events-package-airport__shared-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 16px; align-items: start; }
  .events-package-airport__shared-fields > .events-package-passenger-bands { grid-column: 1 / -1; max-width: 420px; }
  .events-package-airport__legs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
  .events-package-airport--paired .events-package-airport__leg { min-width: 0; gap: 12px; }
  .events-package-airport__leg-route { margin: 0; color: var(--muted); overflow-wrap: anywhere; line-height: 1.5; }
  .events-package-airport__leg-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
  .events-package-airport__leg-extras > div { min-width: 0; }
  .events-package-airport__leg-extras p { margin: 6px 0 0; }
  .events-package-airport--paired .events-package-airport__fare { min-width: 0; padding-top: 16px; border-top: 1px solid var(--border); }
  .events-package-airport--paired .events-package-airport__price { min-height: 0; max-width: 100%; overflow-wrap: anywhere; }
  .events-package-airport--paired .events-package-airport__price:not(.is-quoted) { display: block; padding: 0; margin-top: 6px; border: 0; background: none; font-size: .875rem; font-weight: 400; line-height: 1.5; }
  .events-package-review:has(.events-package-review__leg) ol { grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; gap: 24px; }
  .events-package-review__leg { min-width: 0; padding-top: 16px; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
  .events-package-review__leg h5 { margin: 0 0 8px; font-size: 1rem; }
  .events-package-review__leg .events-package-review__route { margin: 0 0 12px; font-weight: 600; line-height: 1.5; }
  .events-package-review__leg .events-package-review__time { margin-bottom: 8px; }
  .events-package-review__leg .events-package-review__price { margin-bottom: 12px; }
  form:has(.contact-event-package-context:not([hidden])) label.visually-hidden:is([for="contact-name"], [for="contact-phone"], [for="contact-email"]) {
    position: static !important; display: block; width: auto !important; height: auto !important; margin: 0 0 8px !important; padding: 0 !important; overflow: visible !important; clip: auto !important; clip-path: none; white-space: normal !important;
  }
  .contact-event-package-context .events-package-receipt { max-width: 960px; gap: 20px; }
  .contact-event-package-context .events-package-receipt__reference { padding-block: 16px; border-block: 1px solid var(--border); color: var(--fg); }
  .contact-event-package-context .events-package-receipt__reference-value { display: block; margin-top: 6px; font-size: 1rem; font-weight: 600; }
  .contact-event-package-context .events-package-receipt__summary { gap: 16px 24px; }
  .contact-event-package-context .events-package-receipt__summary ol { list-style: none; padding: 0; display: grid; gap: 16px; }
  .contact-event-package-context .events-package-receipt__summary li { margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
  .contact-event-package-context .events-package-receipt__summary li p { margin-top: 6px; }
  .contact-event-package-context .events-package-receipt__amount { font-size: 1.4rem; font-weight: 700; color: var(--fg); }
}
@media (min-width: 721px) and (max-width: 980px) {
  .events-package-airport--paired .events-package-airport__closing { grid-template-columns: minmax(0, 1fr); }
  .events-package-airport__legs,
  .events-package-review:has(.events-package-review__leg) ol { grid-template-columns: minmax(0, 1fr); }
}

.contact-event-package-context[hidden],
[data-event-package-root="contact"][hidden],
[data-contact-event-special-editor][hidden],
[data-contact-handoff="whatsapp"][hidden] {
  display: none;
}

.events-package-button {
  appearance: none;
  min-height: 40px;
  max-width: 100%;
  border-radius: 8px;
  padding: 9px 12px;
  color: var(--fg);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  cursor: pointer;
}

.events-package-button--primary {
  border: 1px solid rgba(31, 122, 109, 0.78);
  background: var(--accent);
}

.events-package-button--secondary {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
}

.events-package-button--quiet {
  min-height: 36px;
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 6px 0;
}

.events-package-button:hover:not(:disabled) {
  filter: brightness(1.08);
}

.events-package-button:disabled {
  opacity: 0.52;
  cursor: default;
}

.events-package-help {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.events-package-alert {
  margin: 0;
  border-left: 3px solid rgba(255, 255, 255, 0.36);
  padding: 2px 0 2px 10px;
  line-height: 1.4;
}

.events-package-receipt {
  max-width: 760px;
  display: grid;
  gap: 16px;
}

.events-package-receipt h3,
.events-package-receipt p {
  margin: 0;
}

.events-package-receipt__reference {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  font-size: .85rem;
  color: var(--muted);
  overflow-wrap: anywhere;
}

[data-package-confirmed-field] {
  display: none !important;
}

.events-package-receipt__summary {
  display: grid;
  grid-template-columns: minmax(100px, 150px) minmax(0, 1fr);
  gap: 8px 20px;
}

.events-package-receipt__summary dt { color: var(--muted); }
.events-package-receipt__summary dd { margin: 0; }
.events-package-receipt h3 { display: flex; align-items: center; gap: 10px; scroll-margin-top: 110px; }
.events-package-receipt__check { color: var(--accent); }
.events-package-receipt__notice { color: var(--muted); font-size: .9rem; }

.events-package-receipt h4,
.events-package-receipt ol,
.events-package-receipt ul {
  margin: 0;
}

.events-package-receipt li + li {
  margin-top: 12px;
}

.events-package-receipt__amount {
  font-weight: 700;
}

.events-package-receipt__reference-value {
  user-select: all;
}

.events-package-receipt__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.events-package-receipt summary {
  cursor: pointer;
  padding-block: 8px;
}

.events-package-receipt h3:focus-visible,
.events-package-receipt button:focus-visible,
.events-package-receipt summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

@media (max-width: 720px) {
  /* The Events route owns scrolling; its package content remains in normal flow. */
  .events-mobile-route [data-event-package-root="mobile"] {
    min-width: 0;
    margin-top: 12px;
  }

  .events-mobile-route .events-package-card {
    width: 100%;
    max-width: none;
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: start;
    gap: 12px;
    padding: 12px;
  }

  .events-mobile-route .events-package-card > .events-package-card__actions {
    grid-column: 1 / -1;
    width: 100%;
  }

  .events-mobile-route .events-package-card > .events-package-card__actions .events-package-button {
    width: 100%;
    height: auto;
  }

  .events-mobile-route .services-events-panel__event-media,
  .events-mobile-route .services-events-panel__event-body {
    padding: 0;
    min-width: 0;
  }

  .events-mobile-route .services-events-panel__event-image {
    width: 88px;
    height: 104px;
    aspect-ratio: auto;
    object-fit: contain;
  }

  .events-mobile-route .services-events-panel__event-title {
    font-size: 14px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .events-mobile-route .services-events-panel__event-footer {
    flex-wrap: wrap;
    gap: 8px;
  }

  .events-mobile-route .services-events-panel__event-meta dt {
    font-size: 12px;
  }

  .events-mobile-route .services-events-panel__event-meta dd {
    font-size: 13px;
    line-height: 1.4;
  }

  .events-mobile-route .events-package-custom-strip {
    display: grid;
    gap: 12px;
    margin: 16px 0 0;
    padding: 16px 0;
  }

  .events-mobile-route .events-package-custom-strip > div:first-child {
    min-width: 0;
  }

  .events-mobile-route .events-package-custom-strip .events-package-button {
    justify-self: start;
  }

  .events-mobile-route [data-events-offer="packages"] p,
  .events-mobile-route [data-events-offer="packages"] li,
  .events-mobile-route .events-package-offer__details li {
    font-size: 14px;
    line-height: 1.5;
  }

  .events-mobile-route .events-package-config__header {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
  }

  .events-mobile-route .events-package-config__header > .events-package-button {
    justify-self: start;
    margin-bottom: 0;
  }

  .events-mobile-route .events-package-config__header h3 {
    font-size: 20px;
    line-height: 1.25;
  }

  .events-mobile-route .events-package-offer-heading,
  .events-mobile-route .events-package-offer__content h4 {
    font-size: 18px;
    line-height: 1.3;
  }

  .events-mobile-route .events-package-offer-heading {
    margin-top: 20px;
  }

  .events-mobile-route .events-package-config__header.events-package-mobile-header { gap: 8px; margin-bottom: 16px; }
  .events-mobile-route .events-package-mobile-header > .events-package-button { min-height: 44px; padding: 8px 0; }
  .events-mobile-route .events-package-mobile-header .events-package-event-heading__meta { display: grid; gap: 4px; margin: 8px 0 0; overflow-wrap: anywhere; }
  .events-mobile-route .events-package-mobile-list__heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
  .events-mobile-route .events-package-mobile-list__heading .events-package-offer-heading { margin: 0; }
  .events-mobile-route .events-package-mobile-list__count { color: var(--muted); margin: 0; }
  .events-mobile-route .events-package-mobile-list > ul { display: grid; gap: 12px; list-style: none; padding: 0; margin: 12px 0 0; }
  .events-mobile-route .events-package-mobile-list > ul > li { margin: 0; }
  .events-mobile-route .events-package-mobile-list__row { display: grid; grid-template-columns: 28px minmax(0,1fr) 20px; gap: 12px; align-items: center; width: 100%; min-height: 80px; padding: 14px 12px; border: 1px solid rgba(236,220,189,.3); border-radius: 9px; background: #0f1113; color: var(--fg); font: inherit; text-align: left; cursor: pointer; }
  .events-mobile-route .events-package-mobile-list__icon { justify-self: center; color: var(--fg); }
  .events-mobile-route .events-package-mobile-list__copy { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
  .events-mobile-route .events-package-mobile-list__row strong { font-size: 16px; line-height: 1.35; }
  .events-mobile-route .events-package-mobile-list__copy > span { font-size: 14px; line-height: 1.5; color: var(--muted); }
  .events-mobile-route .events-package-mobile-list__row:active { background: #101214; border-color: var(--fg); box-shadow: inset 0 0 0 1px var(--fg); }
  .events-mobile-route .events-package-mobile-list__row:focus-visible { outline: 2px solid var(--fg); outline-offset: 3px; }
  .events-mobile-route .events-package-mobile-list .events-package-offer-footer { display: grid; justify-items: start; gap: 8px; border: 0; margin-top: 20px; padding: 0; }
  .events-mobile-route .events-package-mobile-list .events-package-offer-footer p { margin: 0; color: var(--muted); }
  .events-mobile-route .events-package-mobile-detail .events-package-offer-grid { display: block; }
  .events-mobile-route .events-package-mobile-detail [data-package-step-heading]:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

  .events-mobile-route .events-package-offer,
  .events-mobile-route .events-package-offer-grid--single .events-package-offer {
    gap: 16px;
    padding: 14px;
  }

  .events-mobile-route .events-package-offer__mode {
    margin: 16px 0;
  }

  .events-mobile-route .events-package-offer__highlights li {
    gap: 12px;
  }

  .events-mobile-route .events-package-offer__details {
    gap: 16px;
    padding-top: 12px;
  }

  .events-mobile-route .events-package-offer-footer {
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
  }

  .events-mobile-route .events-package-offer-footer h4 {
    font-size: 16px;
  }

  .events-mobile-route .events-package-button,
  .events-mobile-route .events-package-steps button,
  .events-mobile-route [data-events-offer="packages"] summary,
  .events-mobile-route .events-package-check {
    min-height: 44px;
    line-height: 1.4;
  }

  .events-mobile-route [data-events-offer="packages"] summary {
    padding-block: 12px;
  }

  .events-mobile-route .events-package-offer__details-trigger {
    width:auto;
    min-height:44px;
    padding:8px 0;
    border:0;
    background:transparent;
    color:var(--fg);
    font:inherit;
    font-size:14px;
    line-height:1.4;
    text-align:left;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer;
  }

  .events-mobile-route .events-package-offer__details-trigger:focus-visible,
  .events-package-details-dialog__close:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:3px;
  }

  body[data-events-package-details-dialog-active="true"] {
    overflow:hidden !important;
  }

  .events-package-details-dialog {
    position:fixed;
    inset:0;
    z-index:96;
    display:grid;
    align-items:center;
    padding:calc(60px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom));
  }

  .events-package-details-dialog[hidden] {
    display:none !important;
  }

  .events-package-details-dialog__backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    background:rgba(6,7,8,.82);
  }

  .events-package-details-dialog__panel {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    width:min(100%, 430px);
    max-height:100%;
    margin:auto;
    overflow:hidden;
    border:1px solid rgba(236,220,189,.22);
    border-radius:10px;
    background:#101214;
    color:var(--fg);
  }

  .events-package-details-dialog__panel > header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:16px 16px 12px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .events-package-details-dialog__panel h2,
  .events-package-details-dialog__panel p {
    margin:0;
  }

  .events-package-details-dialog__panel h2 {
    font-size:18px;
    line-height:1.3;
  }

  .events-package-details-dialog__panel > header p {
    margin-top:4px;
    color:var(--muted);
    font-size:13px;
    line-height:1.4;
  }

  .events-package-details-dialog__close {
    flex:0 0 auto;
    width:44px;
    min-height:44px;
    border:0;
    background:transparent;
    color:var(--fg);
    font:inherit;
    font-size:26px;
    line-height:1;
    cursor:pointer;
  }

  .events-package-details-dialog__body {
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:16px;
  }

  .events-package-details-dialog__body section + section {
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.12);
  }

  .events-package-details-dialog__body h3 {
    margin:0 0 10px;
    font-size:15px;
    line-height:1.35;
  }

  .events-package-details-dialog__body ul {
    display:grid;
    gap:12px;
    margin:0;
    padding-left:20px;
  }

  .events-package-details-dialog__body li {
    font-size:14px;
    line-height:1.5;
  }

  .events-package-details-dialog__body li strong,
  .events-package-details-dialog__body li p {
    display:block;
  }

  .events-package-details-dialog__body li p {
    margin:4px 0 0;
    color:var(--muted);
  }

  .events-mobile-route .events-package-button,
  .events-mobile-route .events-package-steps button {
    font-size: 14px;
  }

  .events-mobile-route .events-package-check {
    padding-block: 10px;
    font-size: 14px;
  }

  .events-mobile-route .events-package-layout__actions {
    gap: 12px;
    justify-items: stretch;
  }

  .events-mobile-route .events-package-calculation-actions {
    flex-wrap: wrap;
    gap: 12px;
  }

  .events-mobile-route .events-package-calculation-actions > button {
    flex: 1 1 180px;
  }

  .events-mobile-route [data-events-offer="packages"] .services-expand__passengers-segmented {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .events-mobile-route [data-events-offer="packages"] .services-expand__passenger-chip {
    min-width: 0;
    min-height: 48px;
    padding-inline: 6px;
  }

  [data-events-offer="packages"] input:not(:where(.events-package-mobile-airport *)),
  [data-events-offer="packages"] select:not(:where(.events-package-mobile-airport *)),
  [data-events-offer="packages"] textarea {
    font-size: 16px;
    color-scheme: dark;
    scroll-margin-block: 80px 24px;
  }

  .events-package-receipt__summary { grid-template-columns: 1fr; gap: 4px; }
  .events-package-receipt__summary dd { margin-bottom: 8px; }
  .events-package-receipt__actions > button {
    flex: 1 1 180px;
  }
}

[data-events-offer="packages"] p,
[data-events-offer="packages"] li,
[data-events-offer="packages"] dd {
  overflow-wrap: break-word;
}

body[data-events-mobile-config-screen="true"]
  [data-event-package-root="mobile"] {
  display: none;
}

/* Single ordinary Airport transfer: reuse Airport control tokens, inside the existing detail. */
@media (min-width: 721px) {
  .events-package-airport {
    margin-top: 24px;
  }

  .events-package-airport > h3 {
    margin: 0 0 6px;
    font-size: 1.125rem;
    line-height: 1.2;
  }

  .events-package-airport__selection {
    margin: 0 0 22px;
    font-size: 1rem;
    line-height: 1.4;
  }

  .events-package-airport__form {
    display: grid;
    gap: 16px;
    padding: 0;
    border: 0;
  }

  .events-package-airport__route,
  .events-package-airport__schedule,
  .events-package-airport__extras {
    display: grid;
    gap: 14px;
    align-items: start;
  }

  .events-package-airport__route {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) minmax(170px, 0.45fr);
  }

  .events-package-airport__schedule {
    grid-template-columns: minmax(356px, 420px) minmax(130px, 200px) minmax(110px, 160px);
  }

  .events-package-airport__extras {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .events-package-airport .services-expand__field {
    grid-column: auto;
    min-width: 0;
    gap: 5px;
    align-content: start;
  }

  .events-package-airport .services-expand__control,
  .events-package-airport .place-autocomplete input {
    min-height: 48px;
    height: 48px;
    padding: 0 16px;
    border: 1px solid rgba(236, 220, 189, 0.3);
    border-radius: 13px;
    background: rgba(22, 18, 17, 0.62);
    color: rgba(255, 249, 238, 0.98);
    box-shadow: inset 0 1px 0 rgba(255, 248, 236, 0.08);
    font-size: 14px;
    color-scheme: dark;
  }

  .events-package-airport__route .services-expand__control,
  .events-package-airport__route .place-autocomplete input {
    min-height: 56px;
    height: 56px;
    border-radius: 16px;
  }

  .events-package-airport .services-expand__control:focus-visible,
  .events-package-airport .place-autocomplete input:focus-visible {
    outline: 2px solid rgba(236, 220, 189, 0.7);
    outline-offset: 2px;
  }

  .events-package-airport .events-package-fixed strong,
  .events-package-airport .events-package-deferred strong {
    display: flex;
    align-items: center;
    min-height: 48px;
    font-size: 14px;
    font-weight: 400;
    color: var(--fg);
  }

  .events-package-airport__fare {
    display: grid;
    min-width: 0;
    gap: 5px;
  }

  .events-package-airport__price {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 10px 14px;
    border: 1px solid rgba(247, 226, 170, 0.52);
    border-radius: 16px;
    background: rgba(255, 242, 214, 0.1);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .events-package-airport__price.is-quoted {
    color: rgba(255, 224, 140, 0.98);
    font-size: 1.35rem;
    font-weight: 700;
  }

  .events-package-airport__timezone {
    margin: -6px 0 0;
    color: var(--muted);
    font-size: 0.82rem;
  }

  .events-package-airport__conditions {
    margin-top: 18px;
  }

  .events-package-airport__conditions .services-hourly-panel__disclaimers {
    grid-template-columns: minmax(0, 1fr);
  }

  .events-package-airport__conditions li {
    display: block;
  }

  .events-package-airport__conditions li strong {
    color: var(--fg);
  }

  .events-package-airport [data-package-airport] .services-expand__control {
    width: 100%;
    padding-right: 48px;
    text-align: left;
  }

  .events-package-airport [data-package-airport] .place-autocomplete__panel {
    z-index: 50;
  }

  .events-package-airport [data-package-address] {
    position: relative;
    display: block;
    min-width: 0;
  }

  .events-package-airport [data-package-address] > input {
    padding-right: 48px;
  }

  .events-package-airport [hidden] {
    display: none;
  }

  .events-package-airport__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
  }
}

@media (max-width: 980px) and (min-width: 721px) {
  .events-package-airport__schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-package-airport__schedule > .events-package-passenger-bands { grid-column: 1 / -1; }
  .events-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .events-package-ordinary__route {
    grid-template-columns: minmax(180px, 0.8fr) 28px minmax(240px, 1.2fr);
  }

  .events-package-ordinary__fare {
    grid-column: 1 / -1;
  }

  .events-package-ordinary__details {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .events-package-offer-grid,
  .events-package-offer-grid--single .events-package-offer {
    grid-template-columns: 1fr;
  }

  .events-package-steps {
    gap: 12px;
  }

  .events-package-steps button {
    font-size: 0.8rem;
  }

  .events-package-custom-strip {
    margin-bottom: 12px;
  }
  .events-catalog-grid {
    display: block;
  }

  .events-catalog-grid > .services-events-panel__catalog {
    display: flex;
  }

  [data-event-package-root="desktop"] {
    margin-top: 12px;
  }

  .events-package-offers {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .events-package-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .events-package-card__primary,
  .events-package-card__secondary {
    width: 100%;
    min-height: 44px;
    text-align: center;
    white-space: normal;
  }

  .events-package-detail {
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }

  .events-package-config__header {
    align-items: flex-start;
  }

  .events-package-config__header--package > .events-package-event-heading,
  .events-package-offer-footer {
    grid-template-columns: 1fr;
  }

  .events-package-offer-heading {
    margin-top: 28px;
  }

  .events-package-layout,
  .events-package-fields-grid,
  .events-package-option-copy ul,
  .events-package-ordinary__route,
  .events-package-ordinary__details,
  .events-package-summary__line {
    grid-template-columns: 1fr;
  }

  .events-package-ordinary__direction {
    min-height: 20px;
    justify-content: flex-start;
  }

  .events-package-field--wide,
  .events-package-fields-grid > .events-package-help {
    grid-column: auto;
  }

  /* Trip controls use Airport mobile's 48px height, border and surface. */
  .events-package-service-open { min-width: 0; }
  .events-package-service-open > h4 { margin: 0 0 12px; font-size: 0.9375rem; }
  .events-mobile-route .events-package-service-open > .events-package-service {
    border: 0;
    padding: 0;
    background: none;
  }
  .events-package-mobile-airport {
    min-width: 0;
    --airport-date-basis: max(118px, 7em);
    --airport-time-basis: max(86px, 5em);
  }
  .events-package-mobile-airport [hidden] { display: none !important; }
  .events-package-mobile-airport .services-expand__form > .events-package-airport-flight {
    --airport-field-order: 5;
    flex: 0 0 100%;
    min-width: 0;
  }
  .events-package-mobile-airport .services-expand__form {
    margin-top: 0;
  }
  .events-mobile-route [data-package-airport-return] .events-package-airport-return__schedule {
    align-items: stretch;
    flex-wrap: nowrap;
  }
  .events-mobile-route [data-package-airport-return] > legend {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .events-mobile-route [data-package-airport-return] .services-expand__field--date {
    /* Override the shared Airport rule, whose selector includes an ID. */
    flex: 0 0 max(120px, 7em) !important;
  }
  .events-mobile-route [data-package-airport-return] .events-package-trip__temporal {
    align-self: stretch;
  }
  .events-mobile-route [data-package-airport-return] .services-expand__field--time {
    flex: 1 1 0 !important;
  }
  .events-mobile-route [data-package-airport-return] .services-expand__time-wrap {
    width: var(--airport-time-basis, 86px);
  }
  :is(.events-package-mobile-airport, .events-package-direct) .events-package-mobile-address {
    position: relative;
  }
  :is(.events-package-mobile-airport, .events-package-direct) .events-package-mobile-address__clear {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 8px;
    display: grid;
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    translate: 0 -50%;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: rgba(255, 249, 238, 0.82);
    background: transparent;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
  }
  :is(.events-package-mobile-airport, .events-package-direct) .events-package-mobile-address__clear:hover {
    color: rgba(255, 249, 238, 1);
    background: rgba(255, 249, 238, 0.08);
  }
  :is(.events-package-mobile-airport, .events-package-direct) .events-package-mobile-address__clear:focus-visible {
    outline: 2px solid rgba(31, 122, 109, 0.95);
    outline-offset: 1px;
  }
  .events-package-mobile-airport .events-package-mobile-airport__zone {
    --airport-field-order: 2;
    flex: 0 0 100%;
    min-width: 0;
    margin: -6px 0 0;
    padding: 0 14px;
    color: rgba(255, 245, 228, 0.74);
    font-size: 12px;
    line-height: 1.25;
  }
  .events-package-mobile-airport .events-package-mobile-airport__zone span {
    color: rgba(255, 245, 228, 0.62);
    font-weight: 600;
  }
  .events-package-mobile-airport .events-package-mobile-airport__zone strong {
    color: rgba(255, 249, 238, 0.88);
    font-weight: 750;
  }
  /* Native temporal inputs must fit their containing cells, including WebKit. */
  .events-package-mobile-airport input:is([type="date"], [type="time"]) {
    width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }
  .events-package-mobile-airport .services-expand__field--date input[type="date"] {
    padding-inline: 8px 28px;
  }

  .events-package-mobile-airport .services-expand__field--date select[data-package-date-choice] {
    width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    padding-inline: 8px 28px;
    appearance: none;
  }
  .events-package-mobile-airport .services-expand__field--date .services-expand__date-overlay {
    left: 8px;
  }
  .events-package-mobile-airport .services-expand__field--date .services-expand__date-icon {
    right: 7px;
  }
  .events-package-mobile-airport .services-expand__field--time,
  .events-package-mobile-airport .services-expand__field--time .services-expand__date-wrap {
    min-width: 0;
    overflow: clip;
  }
  .events-package-mobile-airport input::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
  }
  .events-package-mobile-airport .services-expand__date-wrap:has(.services-expand__date-overlay:not([hidden])) input::-webkit-datetime-edit {
    opacity: 0;
  }
  .events-mobile-route .events-package-primary-form--trip > legend,
  .events-mobile-route .events-package-primary-form--trip .events-package-service > legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .events-mobile-route .events-package-primary-form--trip {
    gap: 10px;
  }

  .events-mobile-route .events-package-primary-form--trip:has(.events-package-service-open--airport_transfer) {
    gap: 0;
  }

  .events-mobile-route .events-package-primary-form--trip:has(.events-package-service-open--airport_transfer) > p {
    margin-bottom: 5px;
  }

  .events-mobile-route .events-package-primary-form--trip > p {
    margin: 0;
    line-height: 1.35;
  }

  .events-mobile-route .events-package-trip {
    display: grid;
    gap: 9px;
    min-width: 0;
  }

  .events-mobile-route .events-package-trip__pair,
  .events-mobile-route .events-package-trip__schedule {
    display: grid;
    gap: 9px;
    align-items: start;
    min-width: 0;
  }

  .events-mobile-route .events-package-trip__pair {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5em), 1fr));
  }

  .events-mobile-route .events-package-trip__schedule--direct {
    grid-template-columns: minmax(0, 1fr) 86px;
  }

  .events-mobile-route .events-package-trip__schedule--direct.has-passengers {
    grid-template-columns: 84px minmax(0, 1fr) 86px;
  }

  .events-mobile-route .events-package-trip__schedule--hourly {
    grid-template-columns: 58px minmax(118px, 1fr) 86px;
  }

  .events-mobile-route .events-package-trip__cell {
    min-width: 0;
  }

  .events-mobile-route .events-package-trip__cell--passengers {
    width: 84px;
  }

  .events-mobile-route .events-package-trip__cell--duration {
    width: 58px;
  }

  .events-mobile-route .events-package-trip__cell--time {
    width: 86px;
    justify-self: end;
  }

  .events-mobile-route .events-package-primary-form--trip .events-package-field:not(:where(.events-package-mobile-airport *)) {
    align-content: start;
    gap: 6px;
    font-size: 13px;
  }

  .events-mobile-route .events-package-primary-form--trip .services-expand__label:not(:where(.events-package-mobile-airport *)) {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 0;
    color: rgba(255, 245, 228, 0.74);
    font-size: 11.5px;
    line-height: 1.2;
    font-weight: 700;
    overflow-wrap: anywhere;
  }

  .events-mobile-route .events-package-mobile-passengers {
    display: grid;
    grid-template-rows: auto 48px;
    gap: 6px;
    min-width: 0;
  }

  .events-mobile-route .events-package-mobile-passengers__control {
    width: 84px;
    min-width: 84px;
    max-width: 84px;
    padding-inline: 8px;
    text-align: center;
    text-align-last: center;
    font-weight: 700;
  }

  .events-mobile-route .events-package-primary-form--trip :is(input:not([type="checkbox"]), select, .place-autocomplete input):not(:where(.events-package-mobile-airport *)) {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    height: 48px;
    max-height: 48px;
    padding: 0 12px;
    border-radius: 9px;
    border-color: rgba(236, 220, 189, 0.38);
    background-color: rgba(15, 17, 19, 0.46);
    color: rgba(255, 249, 238, 0.96);
    color-scheme: dark;
    font-size: 13px;
    line-height: 48px;
    font-weight: 650;
    scroll-margin-block: 80px;
  }

  .events-mobile-route .events-package-primary-form--trip :is(input, select):not(:where(.events-package-mobile-airport *)):focus-visible {
    outline: 2px solid var(--brand, #1f7a6d);
    outline-offset: 2px;
  }

  .events-mobile-route .events-package-trip__field--address [data-package-address] {
    display: block;
  }

  .events-mobile-route .events-package-trip__field--address input {
    padding-inline: 38px 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='10.8' cy='10.8' r='5.8' stroke='%23fff9ee' stroke-width='2'/%3E%3Cpath d='M15.2 15.2 20 20' stroke='%23fff9ee' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
    background-size: 18px 18px;
    text-overflow: ellipsis;
    cursor: pointer;
  }

  .events-mobile-route .events-package-trip__temporal .services-expand__date-wrap {
    display: block;
    position: relative;
    height: 48px;
  }

  .events-mobile-route .events-package-trip__temporal input {
    padding-inline: 8px 28px !important;
  }

  .events-mobile-route .events-package-trip__temporal .services-expand__date-overlay {
    left: 8px;
    font-size: 13px;
  }

  .events-mobile-route .events-package-trip__temporal .services-expand__date-icon {
    right: 7px;
    width: 16px;
    height: 16px;
  }

  .events-mobile-route .events-package-trip__cell--duration input {
    padding-inline: 8px;
    text-align: center;
  }

  .events-mobile-route .events-package-trip__cell--bags {
    margin-top: 3px;
  }

  .events-mobile-route [data-package-field-error],
  .events-mobile-route [data-package-address-error]:not([hidden]) {
    display: block;
    margin-top: 6px;
    color: #e8b6b6;
    font-size: 12px;
    line-height: 1.35;
  }

  .events-mobile-route .airport-mobile-hotel-search-sheet__list .place-autocomplete__panel {
    position: static !important;
    display: grid !important;
    gap: 4px !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .events-mobile-route .airport-mobile-hotel-search-sheet__list .place-autocomplete__item {
    border: 0;
  }

  .events-mobile-route .airport-mobile-hotel-search-sheet__list .place-autocomplete__item-button {
    min-height: 52px;
    padding: 7px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 650;
  }

  .events-mobile-route .airport-mobile-hotel-search-sheet__list .place-autocomplete__item-button:focus-visible {
    border-color: rgba(31, 122, 109, 0.38);
    background: rgba(31, 122, 109, 0.18);
  }

  .events-mobile-route .events-package-trip .events-package-help {
    margin: 6px 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .events-mobile-route .events-package-primary-form--trip .events-package-service-disclosure > summary {
    font-size: 0.9375rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .events-mobile-route .events-package-vehicle-card {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    grid-template-areas:
      "gallery fare"
      "vehicle fare"
      "action action";
    gap: 8px 10px;
    min-width: 0;
    margin: 2px 0 0;
    padding: 8px 0 0;
    border-top: 1px solid rgba(236, 220, 189, 0.16);
  }

  .events-package-vehicle-card__gallery {
    position: relative;
    grid-area: gallery;
    display: block;
    width: 136px;
    height: 108px;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 9px;
    background: #0f1113;
    color: rgba(255, 249, 238, 0.96);
    font: inherit;
    cursor: pointer;
  }

  .events-package-vehicle-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 77%;
  }

  .events-package-vehicle-card__gallery-label {
    position: absolute;
    right: 7px;
    bottom: 7px;
    max-width: calc(100% - 14px);
    padding: 5px 7px;
    border: 1px solid rgba(236, 220, 189, 0.36);
    border-radius: 7px;
    background: rgba(15, 17, 19, 0.82);
    color: rgba(255, 249, 238, 0.96);
    font-size: 11px;
    line-height: 1;
    font-weight: 750;
    white-space: nowrap;
  }

  .events-package-vehicle-card__gallery:focus-visible {
    outline: 2px solid rgba(31, 122, 109, 0.95);
    outline-offset: 2px;
  }

  .events-package-vehicle-card__vehicle {
    grid-area: vehicle;
    margin: 0;
    color: rgba(255, 249, 238, 0.9);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
  }

  .events-package-vehicle-card__fare {
    grid-area: fare;
    align-self: stretch;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 6px;
    min-width: 0;
    min-height: 132px;
    padding: 16px 12px;
    background: linear-gradient(135deg, rgba(255, 249, 238, 0.04), rgba(31, 122, 109, 0.05) 48%, rgba(15, 17, 19, 0.6));
  }

  .events-package-vehicle-card__fare > span {
    align-self: end;
    color: rgba(247, 226, 170, 0.92);
    font-size: 13px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .events-package-vehicle-card__fare strong {
    align-self: center;
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
    color: rgba(255, 249, 238, 0.98);
    font-size: clamp(2rem, 11vw, 2.875rem);
    line-height: 0.96;
    font-weight: 500;
    letter-spacing: -0.045em;
    white-space: nowrap;
  }

  .events-package-vehicle-card__currency {
    color: rgba(61, 158, 122, 0.98);
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.02em;
  }

  .events-package-vehicle-card > .events-package-button {
    grid-area: action;
    width: 100%;
    min-height: 50px;
    margin: 0;
    border-radius: 9px;
  }

  .events-mobile-route .events-package-mobile-contact {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }

  .events-mobile-route .events-package-mobile-contact__header {
    display: grid;
    gap: 10px;
    margin: 0;
  }

  .events-mobile-route .events-package-mobile-contact__header h3,
  .events-mobile-route .events-package-mobile-contact__title {
    margin: 0;
  }

  .events-mobile-route .events-package-mobile-contact__header h3 {
    font-size: 1.125rem;
    line-height: 1.3;
  }

  .events-mobile-route .events-package-mobile-contact__title {
    font-size: 1rem;
    line-height: 1.35;
  }

  .events-mobile-route .events-package-mobile-contact .events-package-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
  }

  .events-mobile-route .events-package-mobile-contact .events-package-steps button {
    min-width: 0;
    padding-inline: 0;
    overflow-wrap: anywhere;
    text-align: left;
  }

  .events-mobile-route .events-package-mobile-contact .events-package-review,
  .events-mobile-route .events-package-mobile-contact .events-package-summary {
    min-width: 0;
  }

  .events-mobile-route .events-package-mobile-contact .events-package-review ol {
    margin-block: 10px;
    padding-left: 20px;
  }

  .events-mobile-route .events-package-mobile-contact__fields {
    display: grid;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .events-mobile-route .events-package-mobile-contact__fields > legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .events-mobile-route .events-package-mobile-contact__fields .events-package-field {
    gap: 6px;
    min-width: 0;
  }

  .events-mobile-route .events-package-mobile-contact__fields .services-expand__control {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid rgba(236, 220, 189, 0.38);
    border-radius: 9px;
    background: rgba(15, 17, 19, 0.46);
    color: rgba(255, 249, 238, 0.96);
    font: inherit;
    font-size: 14px;
  }

  .events-mobile-route .events-package-mobile-contact__fields .services-expand__control:focus-visible {
    outline: 2px solid var(--brand, #1f7a6d);
    outline-offset: 2px;
  }

  .events-mobile-route .events-package-mobile-contact__notice {
    margin: 0;
    color: var(--muted);
    font-size: 0.8125rem;
    line-height: 1.45;
  }

  .events-mobile-route .events-package-mobile-contact__actions .events-package-button {
    width: 100%;
    min-height: 50px;
  }

}

@media (max-width: 350px) {
  .events-mobile-route .events-package-vehicle-card {
    grid-template-columns: 116px minmax(0, 1fr);
  }

  .events-package-vehicle-card__gallery {
    width: 116px;
    height: 92px;
  }

  .events-package-vehicle-card__fare {
    min-height: 116px;
    padding-inline: 9px;
  }

  .events-package-vehicle-card__fare strong {
    gap: 4px;
    font-size: clamp(1.75rem, 10vw, 2.1rem);
  }

  .events-package-vehicle-card__currency {
    font-size: 12px;
  }
}

/* Public package review only. Existing contact nodes keep their values and listeners. */
@media (min-width: 721px) {
  .events-package-review__selectors { display: grid; gap: 16px; margin-bottom: 24px; }
  .events-package-review__selectors .events-package-field { margin: 0; }
  .events-package-review__selectors p { margin: 0; }
  .events-package-review__selectors select { width: 100%; min-width: 0; min-height: 48px; font: inherit; font-size: .875rem; }
  #contact .content:has(form[data-package-receipt-desktop]) { max-width: 880px; }
  #contact .content:has(form[data-package-receipt-desktop]) > :is(h2, .subtitle) { display: none; }
  form[data-package-receipt-desktop] .form-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  form[data-package-receipt-desktop] .form-grid > .form-row { display: none; }
  form[data-package-receipt-desktop] [data-contact-service-panel="event_special"] { min-width: 0; }
  .contact-event-package-context .events-package-receipt--desktop { max-width: 880px; gap: 24px; }
  .events-package-receipt--desktop header { display: grid; gap: 8px; }
  .events-package-receipt--desktop h3 { font-size: 1.5rem; line-height: 1.35; }
  .events-package-receipt--desktop .events-package-receipt__reference { justify-content: space-between; padding-block: 16px; border-block: 1px solid rgba(236,220,189,.3); }
  .events-package-receipt--desktop .events-package-receipt__reference > div { min-width: 0; }
  .events-package-receipt--desktop .events-package-receipt__reference-value { display: block; margin-top: 6px; font-size: 1rem; font-weight: 600; }
  .events-package-receipt--desktop [data-reference-status]:empty { display: none; }
  .events-package-receipt--desktop .events-package-receipt__summary { margin: 0; gap: 8px 24px; grid-template-columns: 120px minmax(0, 1fr); }
  .events-package-receipt--desktop .events-package-receipt__summary dd { overflow-wrap: anywhere; }
  .events-package-receipt--desktop .events-package-receipt__itinerary { list-style: none; padding: 0; }
  .events-package-receipt--desktop .events-package-receipt__itinerary > li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 8px 24px; padding: 16px 0; margin: 0; border-top: 1px solid rgba(236,220,189,.3); align-items: start; }
  .events-package-receipt--desktop .events-package-receipt__itinerary > li > p { grid-column: 2; }
  .events-package-receipt--desktop .events-package-receipt__schedule { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0; gap: 12px 24px; }
  .events-package-receipt--desktop .events-package-receipt__schedule dt { color: var(--muted); font-size: .875rem; margin-bottom: 4px; }
  .events-package-receipt--desktop .events-package-receipt__schedule dd { margin: 0; }
  .events-package-receipt--desktop .events-package-receipt__total { border-top: 1px solid rgba(236,220,189,.3); padding-top: 20px; }
  .events-package-receipt--desktop .events-package-receipt__total .events-package-receipt__amount { margin-top: 8px; font-size: 1.5rem; }
  .events-package-receipt--desktop .events-package-receipt__actions button { border-radius: 8px; min-height: 48px; }
  #contact .content:has(form[data-package-review-desktop]) { max-width: 1120px; }
  #contact .content:has(form[data-package-review-desktop]) > :is(h2, .subtitle) { display: none; }
  form[data-package-review-desktop] .form-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px 40px; align-items: start; }
  form[data-package-review-desktop] .events-package-contact__title { grid-column: 1 / -1; margin: 0; font-size: 1.5rem; line-height: 1.35; }
  form[data-package-review-desktop] .contact-service-switcher { grid-column: 1 / -1; }
  form[data-package-review-desktop] [data-contact-service-panel="event_special"] { grid-column: 1; grid-row: 3; min-width: 0; }
  form[data-package-review-desktop] .events-package-contact__fields { grid-column: 2; grid-row: 3; display: grid; gap: 16px; min-width: 0; }
  form[data-package-review-desktop] .form-grid > .form-row { display: none; }
  form[data-package-review-desktop] .events-package-contact__fields > h3 { font-size: 1.125rem; margin: 0 0 4px; }
  form[data-package-review-desktop] .events-package-contact__fields :is(.form-field, .form-actions) { margin: 0; }
  form[data-package-review-desktop] .events-package-contact__fields label.visually-hidden { position: static !important; display: block; width: auto !important; height: auto !important; margin: 0 0 8px !important; padding: 0 !important; overflow: visible !important; clip: auto !important; clip-path: none; white-space: normal !important; font-size: .875rem; font-weight: 600; }
  form[data-package-review-desktop] .events-package-contact__fields :is(input, textarea) { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid rgba(236,220,189,.3); border-radius: 10px; background: rgba(22,18,17,.62); color: var(--fg); font: inherit; font-size: .875rem; padding: 12px; }
  form[data-package-review-desktop] .events-package-contact__fields input { min-height: 48px; }
  form[data-package-review-desktop] .events-package-contact__fields textarea { min-height: 112px; resize: vertical; }
  form[data-package-review-desktop] .events-package-contact__fields #contact-submit { border-radius: 8px; min-height: 48px; font: inherit; font-weight: 600; }
  form[data-package-review-desktop] .events-package-contact__fields :is(input, textarea):focus-visible { outline: 2px solid var(--accent, #1f7a6d); outline-offset: 2px; }
  form[data-package-review-desktop] .events-package-contact__fields [aria-invalid="true"] { border-color: #d46a6a; }
  form[data-package-review-desktop] .events-package-contact__fields [data-i18n="contact.footer"] { margin: 0; }
  form[data-package-review-desktop] .contact-event-special-editor__picker { margin: 0 0 20px; }
  form[data-package-review-desktop] .contact-event-special-editor { padding: 0; margin: 0; border: 0; border-radius: 0; background: none; gap: 0; }
  form[data-package-review-desktop] [data-contact-event-special-body]:empty { display: none; }
  form[data-package-review-desktop] [data-contact-event-picker-control] { width: 100%; white-space: normal; height: auto; min-height: 48px; padding: 10px 32px 10px 12px; font-size: .875rem; text-align: left; }
  form[data-package-review-desktop] .contact-event-package-context { gap: 0; }
  form[data-package-review-desktop] .events-package-review > :is(h4,p) { margin: 0 0 8px; }
  form[data-package-review-desktop] .events-package-review > h4 { font-size: 1.125rem; }
  form[data-package-review-desktop] .events-package-review__mode { color: var(--muted); }
  form[data-package-review-desktop] .events-package-review__places { display: grid; gap: 16px; margin: 24px 0; }
  form[data-package-review-desktop] .events-package-review__places dt { color: var(--muted); font-size: .875rem; margin-bottom: 4px; }
  form[data-package-review-desktop] .events-package-review__places dd { margin: 0; font-size: .9375rem; line-height: 1.5; overflow-wrap: anywhere; }
  form[data-package-review-desktop] .events-package-review ol { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 20px 0; }
  form[data-package-review-desktop] .events-package-review__leg { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 4px 12px; padding: 12px 0; }
  form[data-package-review-desktop] .events-package-review__leg h5 { grid-row: 1 / span 2; margin: 0; font-size: .9375rem; }
  form[data-package-review-desktop] .events-package-review__leg > :not(h5) { grid-column: 2; margin: 0; font-size: .875rem; line-height: 1.5; }
  form[data-package-review-desktop] .events-package-review__leg .events-package-review__route { font-weight: 400; color: var(--muted); }
  form[data-package-review-desktop] .events-package-review > .events-package-button { border: 1px solid var(--border, rgba(255,255,255,.14)); padding: 10px 14px; margin: 0 0 20px; }
  form[data-package-review-desktop] .events-package-summary { padding: 20px 0 0; border: 0; border-top: 1px solid var(--border, rgba(255,255,255,.14)); border-radius: 0; background: none; }
  form[data-package-review-desktop] .events-package-summary h4 { margin: 0 0 8px; font-size: 1rem; }
  form[data-package-review-desktop] .events-package-summary__amount { font-size: 1.5rem; margin: 0 0 16px; }
  form[data-package-review-desktop] .events-package-summary details { margin-top: 16px; }
  form[data-package-review-desktop] .events-package-summary .events-package-help { margin: 12px 0 0; }
}

/* Linked Direct Transfer reuses the Airport controls without changing other Direct forms. */
.events-package-direct { display: grid; gap: 20px; min-width: 0; }
.events-package-direct > h3,
.events-package-direct > p { margin: 0; }
.events-package-direct .events-package-fields-grid { align-items: start; }
.events-package-direct fieldset { min-width: 0; margin: 0; }
.events-package-direct legend { font-weight: 700; }
.events-package-direct .events-package-fixed strong,
.events-package-direct .events-package-help { overflow-wrap: anywhere; }
.events-package-direct__schedule,
.events-package-direct__baggage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; align-items: start; }
.events-package-direct__schedule.is-shared { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 850px; }
.events-package-direct__schedule .services-expand__label { min-height: 2.5em; }
.events-package-direct__schedule .events-package-primary-form { gap: 12px; }
.events-package-direct__quote { display: grid; gap: 16px; border-top: 1px solid var(--border); padding-top: 16px; }
.events-package-direct-journey { min-width: 0; margin-block: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.events-package-direct-journey h4 { margin: 0 0 12px; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.events-package-direct-journey > .events-package-field { margin-bottom: 12px; overflow-wrap: anywhere; }
.events-package-direct-journey__times { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
.events-package-direct-journey__times .events-package-primary-form { min-width: 0; }
@media (max-width: 720px) {
  .events-mobile-route .events-package-direct-journey__times { gap: 12px; }
  .events-mobile-route .events-package-direct-journey__times .services-expand__label { display: block; min-height: 3em; }
  .events-mobile-route .events-package-direct-journey__times .services-expand__control { max-width: 100%; }
}
.events-package-direct__quote [data-airport-price] { min-width: 0; overflow-wrap: anywhere; }
.events-package-direct__quote .events-package-airport__price { display: block; margin-top: 8px; }
.events-package-direct__quote .events-package-airport__price:not(.is-quoted) { font-size: 1rem; }
.events-package-direct [data-airport-actions] { display: flex; gap: 16px; justify-content: space-between; align-items: center; }
.events-package-direct [data-airport-actions] > .events-package-button--primary { margin-left: auto; }
.events-package-direct .services-hourly-panel__disclaimer-title { text-transform: none; letter-spacing: normal; }
.events-package-direct .events-package-airport__conditions { margin: 0; }
@media (min-width: 721px) {
  .events-package-offer-grid:not(.events-package-offer-grid--single) { grid-template-rows: auto auto; }
  .events-package-offer-grid:not(.events-package-offer-grid--single) > .events-package-offer { grid-row: span 2; grid-template-rows: subgrid; row-gap: 16px; }
  .events-package-step-one .events-package-offer-grid:not(.events-package-offer-grid--single) .events-package-offer__mode { margin: 12px 0; }
  .events-package-direct .events-package-fields-grid > .events-package-passenger-bands { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .events-package-direct { gap: 16px; }
  .events-package-direct > fieldset > .events-package-fields-grid { grid-template-columns: minmax(0, 1fr); }
  .events-package-direct__schedule,
  .events-package-direct__schedule.is-shared,
  .events-package-direct__baggage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .events-package-direct__schedule .services-expand__field { order: 0; grid-column: auto; }
  .events-package-direct__schedule.is-shared > .services-expand__field--date { grid-column: 1 / -1; }
  .events-package-direct .services-expand__date-wrap { width: 144px; max-width: 100%; }
  .events-package-direct .services-expand__time-wrap { width: var(--airport-time-basis, 86px); }
  .events-package-direct .events-package-mobile-address__clear[hidden] { display: none; }
  .events-package-direct [data-airport-actions] { flex-wrap: wrap; }
}

/* Public package configurator only; selection, review and mobile retain their layout. */
@media (min-width: 721px) {
  .events-package-desktop-header { margin-bottom: 20px; }
  .events-package-desktop-nav { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
  .events-package-desktop-header h3 { margin: 0 0 8px; font-size: 1.35rem; line-height: 1.3; }
  .events-package-desktop-header .events-package-event-heading__meta { margin: 0; font-size: .875rem; line-height: 1.5; }
  .events-package-desktop-config { font-family: inherit; font-size: 14px; line-height: 1.5; min-width: 0; }
  .events-package-desktop-config h3 { font-size: 1.25rem; line-height: 1.3; margin: 20px 0 12px; }
  .events-package-desktop-config h4 { font-size: 1rem; line-height: 1.4; margin: 20px 0 8px; }
  .events-package-desktop-config p { font-size: 14px; line-height: 1.5; margin: 0 0 12px; }
  .events-package-desktop-config :is(input,select,textarea,button) { font-family: inherit; }
  .events-package-desktop-config .services-expand__label { font-size: 13px; line-height: 1.3; }
  .events-package-desktop-config .events-package-help { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
  .events-package-desktop-selection { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 24px; }
  .events-package-desktop-selection > p { margin: 0; }
  .events-package-desktop-destination { min-width: 0; font-size: 14px; }
  .events-package-desktop-destination summary { cursor: pointer; font-size: inherit; line-height: 1.5; }
  .events-package-desktop-destination summary span + span { margin-left: 12px; text-decoration: underline; text-underline-offset: 3px; color: var(--muted); }
  .events-package-desktop-destination p { margin: 10px 0 0; overflow-wrap: anywhere; }
  .events-package-desktop-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,320px); gap: 28px; align-items: start; }
  .events-package-desktop-main { min-width: 0; }
  .events-package-desktop-main > .events-package-airport { display: block; margin: 0; padding: 0; }
  .events-package-desktop-main .events-package-primary-form { padding: 0; margin: 0; border: 0; min-width: 0; }
  .events-package-desktop-shared { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
  .events-package-desktop-shared .events-package-passenger-bands { margin: 0; }
  .events-package-desktop-table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; table-layout: fixed; }
  .events-package-desktop-table th { font-size: 13px; font-weight: 700; text-align: left; }
  .events-package-desktop-table thead th { padding: 10px 0; color: var(--muted); }
  .events-package-desktop-table th:first-child { width: 44%; }
  .events-package-desktop-table td, .events-package-desktop-table tbody th { padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, 0.14); vertical-align: top; }
  .events-package-desktop-table td { padding-left: 14px; vertical-align: bottom; }
  .events-package-desktop-table tbody th { font-size: 14px; font-weight: 400; padding-right: 8px; }
  .events-package-desktop-table .services-expand__field { margin: 0; min-width: 0; }
  .events-package-desktop-table input { width: 100%; min-width: 0; box-sizing: border-box; }
  .events-package-desktop-table label:has(input[type=time]) > span:first-child { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .events-package-desktop-table .events-package-desktop-destination { margin-top: 8px; }
  .events-package-desktop-summary { min-width: 0; border-left: 1px solid rgba(255, 255, 255, 0.14); padding-left: 28px; }
  .events-package-desktop-summary h4 { margin-top: 0; }
  .events-package-desktop-roundtrip { display: flex; align-items: center; gap: 8px; }
  .events-package-desktop-roundtrip svg { flex: 0 0 24px; }
  .events-package-desktop-summary [data-airport-price] { margin-top: 24px; }
  .events-package-desktop-summary .events-package-airport__price { display: block; margin: 8px 0 0; font-size: 1.65rem; padding: 0; border: 0; border-radius: 0; background: none; }
  .events-package-desktop-status { margin-top: 8px !important; }
  .events-package-desktop-summary [data-airport-actions] { display: grid; gap: 10px; margin: 20px 0; }
  .events-package-desktop-summary .events-package-button { width: 100%; }
  .events-package-desktop-summary .events-package-option-copy { margin: 0; padding: 0; border: 0; }
  .events-package-desktop-summary .events-package-option-copy summary { font-size: 14px; cursor: pointer; }
  .events-package-desktop-summary .events-package-option-copy ul { display: block; padding-left: 18px; margin: 14px 0 0; }
  .events-package-desktop-summary .events-package-option-copy li { display: block; margin: 0; font-size: 14px; line-height: 1.5; text-align: left; overflow-wrap: normal; word-break: normal; }
  .events-package-desktop-summary .events-package-option-copy li + li { margin-top: 16px; }
  .events-package-desktop-summary .events-package-option-copy li strong { display: block; margin-bottom: 6px; }
  .events-package-desktop-summary .events-package-desktop-notice { color: var(--muted); font-size: 13px; margin: 14px 0 0; }
  .events-package-desktop-config .events-package-desktop-field-error { display: block; font-size: 13px; color: var(--error, #e8a29b); line-height: 1.4; margin-top: 6px; }
  .events-package-desktop-config .events-package-desktop-field-error[hidden] { display: none; }
  .events-package-desktop-config summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
  .events-package-desktop-main .events-package-airport__leg .events-package-airport__extras { align-items: end; }
  .events-package-desktop-main .events-package-airport__leg .events-package-airport__extras .services-expand__label { min-height: 2.6em; }
  .events-package-desktop-main .events-package-airport__route { display: flex; flex-wrap: wrap; gap: 16px; }
  .events-package-desktop-main .events-package-airport__route > * { flex: 1 1 200px; min-width: 0; }
  .events-package-desktop-main .events-package-airport__closing:empty, .events-package-desktop-main .events-package-direct__quote:empty, .events-package-desktop-main .events-package-airport__actions:empty { display: none; }
}
@media (min-width: 721px) and (max-width: 1050px) {
  .events-package-desktop-columns { grid-template-columns: minmax(0,1fr); }
  .events-package-desktop-summary { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.14); padding: 24px 0 0; }
}

/* Package review only: keep configuration, mobile and shared form controls intact. */
@media (min-width: 721px) {
  form[data-package-review-desktop] .events-package-review__selectors p,
  form[data-package-review-desktop] .events-package-review > p { font-size: 14px; line-height: 1.5; }
  form[data-package-review-desktop] .events-package-review-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 20px 0; font-size: 14px; line-height: 1.5; }
  form[data-package-review-desktop] .events-package-review-table th { text-align: left; font-weight: 400; }
  form[data-package-review-desktop] .events-package-review-table thead th { font-size: 13px; font-weight: 600; color: var(--muted); padding: 0 0 10px; }
  form[data-package-review-desktop] .events-package-review-table th:first-child { width: 52%; }
  form[data-package-review-desktop] .events-package-review-table tbody th,
  form[data-package-review-desktop] .events-package-review-table td { padding: 14px 12px 14px 0; border-top: 1px solid rgba(255,255,255,.14); vertical-align: top; overflow-wrap: break-word; }
  form[data-package-review-desktop] .events-package-review-table__time { font-weight: 600; white-space: nowrap; }
  form[data-package-review-desktop] .events-package-review-table__date { display: block; margin-bottom: 6px; }
  form[data-package-review-desktop] .events-package-review-table .events-package-help { font-size: 13px; margin: 6px 0 0; }
  form[data-package-review-desktop] .events-package-review .events-package-desktop-destination { margin: 12px 0; }
  form[data-package-review-desktop] .events-package-review .events-package-desktop-destination summary { white-space: normal; overflow-wrap: break-word; }
  form[data-package-review-desktop] .events-package-review > .events-package-help { font-size: 13px; line-height: 1.5; margin-top: 12px; }
  form[data-package-review-desktop] .events-package-summary--review { display: block; padding: 0; border: 0; }
  form[data-package-review-desktop] .events-package-summary--review details { margin: 0; }
  form[data-package-review-desktop] .events-package-review-conditions summary { cursor: pointer; font-size: 14px; font-weight: 600; }
  form[data-package-review-desktop] .events-package-review-conditions summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
  form[data-package-review-desktop] .events-package-review-conditions ul { display: block; margin: 14px 0 0; padding: 0; list-style: none; }
  form[data-package-review-desktop] .events-package-review-conditions li { display: block; margin: 0; text-align: left; font-size: 14px; line-height: 1.5; overflow-wrap: normal; word-break: normal; }
  form[data-package-review-desktop] .events-package-review-conditions li + li { margin-top: 16px; }
  form[data-package-review-desktop] .events-package-review-conditions strong { display: block; margin-bottom: 6px; }
  form[data-package-review-desktop] .events-package-review-conditions p { font-size: inherit; line-height: inherit; margin: 0; }
  form[data-package-review-desktop] .events-package-review-total { margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.14); }
  form[data-package-review-desktop] .events-package-review-total .events-package-summary__amount { margin: 0; }
}

@media (min-width: 721px) {
  #contact .content:has(form[data-package-receipt-desktop]) { max-width: 1120px; }
  .events-package-receipt--desktop { width: 100%; max-width: 1120px; }
  .contact-event-package-context .events-package-receipt--desktop { max-width: none; }
  .events-package-receipt--desktop header > p { font-size: 14px; line-height: 1.5; }
  .events-package-receipt--desktop .events-package-receipt__columns { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
  .events-package-receipt--desktop .events-package-receipt__columns > * { min-width: 0; }
  .events-package-receipt--desktop .events-package-receipt__reference > div { flex: 1 1 320px; }
  .events-package-receipt--desktop .events-package-receipt__reference-value { overflow-wrap: anywhere; }
  .events-package-receipt--desktop .events-package-receipt__summary { grid-template-columns: minmax(80px, 100px) minmax(0, 1fr); font-size: 14px; line-height: 1.5; }
  .events-package-receipt--desktop .events-package-receipt__journeys > .events-package-help { margin: 24px 0 12px; font-size: 13px; }
  .events-package-receipt--desktop .events-package-receipt__table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 14px; line-height: 1.5; text-align: left; }
  .events-package-receipt--desktop .events-package-receipt__table th, .events-package-receipt--desktop .events-package-receipt__table td { padding: 14px 12px; vertical-align: top; border-bottom: 1px solid rgba(236,220,189,.14); overflow-wrap: break-word; }
  .events-package-receipt--desktop .events-package-receipt__table th:first-child { width: 52%; padding-left: 0; }
  .events-package-receipt--desktop .events-package-receipt__table thead th { color: var(--muted); font-size: 13px; font-weight: 400; }
  .events-package-receipt--desktop .events-package-receipt__table tbody th { font-weight: 400; }
  .events-package-receipt--desktop .events-package-receipt__table td > span { white-space: nowrap; font-weight: 600; }
  .events-package-receipt--desktop .events-package-receipt__table td > p { margin-bottom: 6px; font-size: inherit; }
  .events-package-receipt--desktop .events-package-receipt__table tr:last-child > * { border-bottom: 0; }
  .events-package-receipt--desktop .events-package-receipt__itinerary > li { grid-template-columns: minmax(0, 1fr); gap: 8px; font-size: 14px; }
  .events-package-receipt--desktop .events-package-receipt__itinerary > li > p { grid-column: 1; }
  .events-package-receipt--desktop .events-package-receipt__schedule { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
  .events-package-receipt--desktop .events-package-receipt__side { display: grid; gap: 20px; }
  .events-package-receipt--desktop .events-package-receipt__total { border: 0; padding: 0; }
  .events-package-receipt--desktop .events-package-receipt__total .events-package-receipt__amount { color: rgba(255, 224, 140, .98); font-size: 24px; font-weight: 700; line-height: 1.2; }
  .events-package-receipt--desktop .events-package-receipt__conditions { margin: 0; text-align: left; font-size: 14px; line-height: 1.5; }
  .events-package-receipt--desktop .events-package-receipt__conditions summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
  .events-package-receipt--desktop .events-package-receipt__conditions ul { display: block; list-style: none; padding: 0; margin: 16px 0 0; }
  .events-package-receipt--desktop .events-package-receipt__conditions li { display: block; padding: 0; margin: 0; text-align: left; font-size: 14px; line-height: 1.5; overflow-wrap: normal; word-break: normal; }
  .events-package-receipt--desktop .events-package-receipt__conditions li + li { margin-top: 16px; }
  .events-package-receipt--desktop .events-package-receipt__conditions strong { display: block; margin-bottom: 6px; }
  .events-package-receipt--desktop .events-package-receipt__conditions p { margin: 0; font-size: inherit; line-height: inherit; }
  .events-package-receipt--desktop .events-package-receipt__actions { align-items: flex-start; }
  .events-package-receipt--desktop .events-package-receipt__actions button { flex: 1 1 180px; white-space: normal; }
}

@media (max-width: 720px) {
  .events-mobile-route .events-package-mobile-detail .events-package-mobile-header { gap: 4px; margin-bottom: 12px; }
  .events-mobile-route .events-package-mobile-detail .events-package-event-heading__meta { margin-top: 6px; gap: 2px; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer { gap: 12px; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__mode { margin: 8px 0; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__mode p { margin: 0; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__disclosure { margin-top: 8px; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__disclosure > summary { min-height: 44px; padding: 10px 0; line-height: 1.5; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__details { gap: 16px; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__details h5 { margin: 0; font-size: 14px; line-height: 1.5; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__details li:not(.events-package-inclusion) { display: block; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__details li:not(.events-package-inclusion) strong { display: block; margin-bottom: 4px; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__controls { gap: 12px; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__controls > .events-package-help { margin: 0; }
  .events-mobile-route .events-package-mobile-detail .events-package-offer__controls > .events-package-button--primary { margin-top: 0; }
}

@media (max-width: 720px) {
  .events-mobile-route .events-package-mobile-config { min-width: 0; padding: 14px; background: #101214; border-radius: 8px; }
  .events-package-mobile-config__header { display: grid; justify-items: start; gap: 6px; margin-bottom: 16px; }
  .events-package-mobile-config__header h3 { margin: 0; font-size: 18px; line-height: 1.35; overflow-wrap: break-word; }
  .events-package-mobile-config__header p { margin: 0; color: var(--muted); }
  .events-package-mobile-config__step { margin: 0 0 12px; font-size: 16px; line-height: 1.4; }
  .events-package-mobile-config__selection { display: grid; gap: 4px; margin: 0 0 16px; overflow-wrap: break-word; }
  .events-package-mobile-config__selection strong { font-size: 16px; }
  .events-package-mobile-config__selection span { color: var(--muted); }
  .events-package-mobile-config .events-package-direct { gap: 12px; }
  .events-package-mobile-config .events-package-primary-form { gap: 8px; }
  .events-package-mobile-config .events-package-direct > fieldset > .events-package-help { margin: 0 0 8px; }
  .events-package-mobile-config .events-package-desktop-destination { min-width: 0; margin: 0; }
  .events-package-mobile-config .events-package-desktop-destination summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 44px; cursor: pointer; }
  .events-package-mobile-config .events-package-desktop-destination summary span:first-child { flex: 1 1 180px; font-weight: 600; }
  .events-package-mobile-config .events-package-desktop-destination summary span:last-child { text-decoration: underline; }
  .events-package-mobile-config .events-package-desktop-destination p { margin: 8px 0; overflow-wrap: break-word; }
  .events-package-mobile-config .events-package-direct-journey { margin: 0; padding: 12px 0 0; border-top: 1px solid var(--border); }
  .events-package-mobile-config .events-package-direct-journey h4 { margin: 0 0 8px; font-size: 15px; line-height: 1.4; overflow-wrap: break-word; }
  .events-package-mobile-config .events-package-direct-journey__times { gap: 12px; }
  .events-package-mobile-config .events-package-direct-journey .services-expand__label { display: block; min-height: 0; margin: 0; font-size: 14px; line-height: 1.4; }
  .events-package-mobile-config .events-package-direct-journey .services-expand__field { display: grid; grid-column: auto; width: 100%; gap: 4px; min-width: 0; margin: 0; }
  .events-package-mobile-config .events-package-direct-journey .services-expand__date-wrap { width: 100%; min-width: 0; max-width: 100%; }
  .events-package-mobile-config .events-package-direct-journey .services-expand__control { width: 100%; min-width: 0; max-width: 100%; min-height: 48px; box-sizing: border-box; font-size: 16px; }
  .events-package-mobile-config .events-package-direct-journey > .services-expand__field { margin-bottom: 8px; }
  .events-package-mobile-config .events-package-mobile-timezone { margin: 0; color: var(--muted); font-size: 14px; }
  .events-package-mobile-config .events-package-mobile-conditions { margin: 12px 0 0; }
  .events-package-mobile-config .events-package-mobile-conditions > button { min-height: 44px; padding: 8px 0; }
  .events-package-mobile-config .events-package-mobile-conditions > p { margin: 4px 0 0; }
  .events-package-mobile-config .events-package-layout__actions { min-width: 0; display: grid; gap: 12px; margin-top: 12px; }
  .events-package-mobile-config .events-package-layout__actions > p { margin: 0; }
  .events-package-mobile-config .events-package-layout__actions > .events-package-button { width: 100%; }
  .events-package-mobile-config .events-package-vehicle-card__fare > span { text-transform: none; letter-spacing: normal; overflow-wrap: break-word; }
  .events-package-mobile-config .events-package-vehicle-card__fare strong { display: flex; flex-wrap: wrap; gap: 4px 6px; min-width: 0; font-size: 32px; line-height: 1.15; }
  .events-package-mobile-config .events-package-vehicle-card__currency { font-size: 14px; }
  .events-package-mobile-config :is(summary,[data-package-mobile-result]):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  body[data-events-package-details-dialog-active="true"] .events-mobile-route:has(.events-package-mobile-config) { overflow: hidden; }
  [data-package-config-dialog] .events-package-details-dialog__body { overscroll-behavior: contain; }
  [data-package-config-dialog] .events-package-details-dialog__body li { display: block; }
  [data-package-config-dialog] .events-package-details-dialog__body li strong { display: block; margin-bottom: 4px; }
}

@media (max-width: 320px) {
  .events-mobile-route .events-package-mobile-config .events-package-vehicle-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "gallery" "vehicle" "fare" "action"; }
}

/* Mobile package review: one itinerary and one total beside the existing submit action. */
@media (max-width: 720px) {
  .events-mobile-route .events-package-mobile-contact {
    padding: 14px 14px max(18px, env(safe-area-inset-bottom));
    background: #101214;
    border-radius: 8px;
    gap: 20px;
  }
  .events-mobile-route .events-package-mobile-contact__header > .events-package-button { justify-self: start; }
  .events-mobile-route .events-package-mobile-contact__header p { margin: 0; color: var(--muted); }
  .events-mobile-route .events-package-mobile-contact .events-package-review {
    padding: 16px 0 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.18);
    margin: 0;
    border-radius: 0;
    background: none;
    min-width: 0;
  }
  .events-mobile-route .events-package-mobile-contact .events-package-review h4 { margin: 0 0 4px; font-size: 1.125rem; }
  .events-mobile-route .events-package-mobile-contact .events-package-review__mode { margin: 0 0 16px; color: var(--muted); }
  .events-mobile-route .events-package-mobile-contact .events-package-review__places { display: grid; gap: 12px; margin: 12px 0; }
  .events-mobile-route .events-package-mobile-contact .events-package-review__places div { display: block; min-width: 0; }
  .events-mobile-route .events-package-mobile-contact .events-package-review__places dt { color: var(--muted); font-weight: 600; }
  .events-mobile-route .events-package-mobile-contact .events-package-review__places dd { margin: 3px 0 0; overflow-wrap: anywhere; }
  .events-mobile-route .events-package-mobile-contact .events-package-route-detail summary { padding-block: 10px; cursor: pointer; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 16px 0 8px; font-size: 0.875rem; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table th,
  .events-mobile-route .events-package-mobile-contact .events-package-review-table td { padding: 10px 6px; vertical-align: top; text-align: left; border-bottom: 1px solid rgba(255,255,255,.18); overflow-wrap: anywhere; font-weight: 400; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table th:first-child { width: 46%; padding-left: 0; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table thead th { color: var(--muted); font-weight: 600; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table__date,
  .events-mobile-route .events-package-mobile-contact .events-package-review-table__time { display: block; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table__time { font-variant-numeric: tabular-nums; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-table__date { margin-bottom: 6px; }
  .events-mobile-route .events-package-mobile-contact form { min-width: 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); }
  .events-mobile-route .events-package-mobile-contact__fields > legend { position: static; width: auto; height: auto; clip-path: none; overflow: visible; margin-bottom: 12px; font-size: 1.125rem; font-weight: 600; }
  .events-mobile-route .events-package-mobile-contact__fields .services-expand__control { font-size: 1rem; }
  .events-mobile-route .events-package-mobile-contact .events-package-summary--review { border: 0; border-radius: 0; padding: 0; background: none; box-shadow: none; margin: 20px 0 8px; }
  .events-mobile-route .events-package-mobile-contact .events-package-summary--review > .events-package-offer__details-trigger { width: 100%; padding: 12px; min-height: 48px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; text-align: left; text-decoration: none; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-total { margin-top: 16px; padding: 0; border: 0; }
  .events-mobile-route .events-package-mobile-contact .events-package-review-total h4 { margin: 0 0 4px; font-size: 1rem; }
  .events-mobile-route .events-package-mobile-contact .events-package-summary__amount { margin: 0; font-size: 1.5rem; overflow-wrap: anywhere; }
  .events-mobile-route .events-package-mobile-contact__privacy { margin: 12px 0 0; color: var(--muted); font-size: 0.8125rem; line-height: 1.5; }
  .events-package-details-dialog[data-package-review-dialog] .events-package-details-dialog__body li { display: block; }
  .events-package-details-dialog[data-package-review-dialog] .events-package-details-dialog__body li strong { display: block; }
  .events-package-details-dialog[data-package-review-dialog] .events-package-details-dialog__body li p { margin: 6px 0 16px; }
}

/* Registered package receipt: mobile only; values come from its historical projection. */
@media (max-width: 720px) {
  .events-mobile-route .events-package-receipt--mobile { display: grid; gap: 20px; min-width: 0; padding: 16px 14px max(20px, env(safe-area-inset-bottom)); border-radius: 8px; background: #101214; }
  .events-package-receipt--mobile header h3 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; font-size: 1.375rem; line-height: 1.25; }
  .events-package-receipt--mobile .events-package-receipt__check { flex: 0 0 auto; color: var(--brand, #1f7a6d); }
  .events-package-receipt--mobile header p { margin: 8px 0 0; color: var(--muted); line-height: 1.5; }
  .events-package-receipt--mobile .events-package-receipt__reference { display: grid; gap: 10px; min-width: 0; }
  .events-package-receipt--mobile .events-package-receipt__reference > div > span { display: block; }
  .events-package-receipt--mobile .events-package-receipt__reference > div > span:first-child { color: var(--muted); }
  .events-package-receipt--mobile .events-package-receipt__reference-value { margin-top: 4px; overflow-wrap: anywhere; word-break: normal; user-select: text; }
  .events-package-receipt--mobile .events-package-receipt__reference button { justify-self: start; }
  .events-package-receipt--mobile [data-reference-status]:empty { display: none; }
  .events-package-receipt--mobile .events-package-receipt__summary { display: grid; gap: 16px; padding-top: 16px; margin: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .events-package-receipt--mobile .events-package-receipt__summary > div { min-width: 0; }
  .events-package-receipt--mobile .events-package-receipt__summary dt { color: var(--muted); margin: 0 0 4px; }
  .events-package-receipt--mobile .events-package-receipt__summary dd { margin: 0; overflow-wrap: anywhere; }
  .events-package-receipt--mobile .events-package-receipt__event { font-weight: 600; font-size: 1.125rem; line-height: 1.4; }
  .events-package-receipt--mobile .events-package-receipt__summary .events-package-receipt__mode { color: var(--muted); margin-top: 4px; }
  .events-package-receipt--mobile .events-package-receipt__journeys { min-width: 0; border-top: 1px solid rgba(255,255,255,.18); padding-top: 16px; }
  .events-package-receipt--mobile h4 { margin: 0 0 8px; font-size: 1.125rem; }
  .events-package-receipt--mobile .events-package-receipt__table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .875rem; line-height: 1.45; }
  .events-package-receipt--mobile .events-package-receipt__table th,
  .events-package-receipt--mobile .events-package-receipt__table td { padding: 10px 6px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255,255,255,.18); font-weight: 400; overflow-wrap: anywhere; }
  .events-package-receipt--mobile .events-package-receipt__table th:first-child { width: 46%; padding-left: 0; }
  .events-package-receipt--mobile .events-package-receipt__table thead th { color: var(--muted); }
  .events-package-receipt--mobile .events-package-receipt__table td > span { font-variant-numeric: tabular-nums; }
  .events-package-receipt--mobile .events-package-receipt__table td p { margin: 0 0 6px; font-size: inherit; }
  .events-package-receipt--mobile .events-package-receipt__itinerary { list-style: none; margin: 0; padding: 0; }
  .events-package-receipt--mobile .events-package-receipt__itinerary > li { display: block; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.18); overflow-wrap: anywhere; }
  .events-package-receipt--mobile .events-package-receipt__schedule { display: grid; gap: 8px; margin: 10px 0; }
  .events-package-receipt--mobile .events-package-receipt__schedule dt { color: var(--muted); }
  .events-package-receipt--mobile .events-package-receipt__schedule dd { margin: 0; }
  .events-package-receipt--mobile .events-package-receipt__total { padding: 16px 0; border-block: 1px solid rgba(255,255,255,.18); }
  .events-package-receipt--mobile .events-package-receipt__total > strong { font-weight: 400; }
  .events-mobile-route .events-package-receipt--mobile .events-package-receipt__amount { margin: 4px 0 0; color: rgba(255,224,140,.98); font-size: 1.5rem; font-weight: 700; overflow-wrap: anywhere; }
  .events-package-receipt--mobile .events-package-receipt__actions { display: grid; gap: 10px; }
  .events-package-receipt--mobile .events-package-button { min-height: 48px; white-space: normal; }
  .events-package-receipt--mobile [data-package-action="receipt-conditions"] { text-align: left; }
  .events-package-receipt--mobile [data-package-action="whatsapp"] { border-color: var(--brand, #1f7a6d); }
  .events-package-details-dialog[data-package-receipt-dialog] .events-package-details-dialog__body li { display: block; text-align: left; }
  .events-package-details-dialog[data-package-receipt-dialog] .events-package-details-dialog__body li strong { display: block; }
  .events-package-details-dialog[data-package-receipt-dialog] .events-package-details-dialog__body li p { margin: 6px 0 16px; }
}
/* Independent Hourly days reuse the accepted Events form and summary. */
@media (min-width: 721px) {
  .events-package-hourly-config { background: #101214; padding: 24px; border-radius: 8px; color: var(--fg); }
  .events-package-hourly-desktop__header > p { margin: 0 0 8px; color: var(--muted); font-size: 16px; line-height: 1.4; }
  .events-package-hourly-desktop__header .events-package-desktop-nav { margin-bottom: 16px; }
  .events-package-hourly-desktop__header .events-package-steps { margin-bottom: 12px; }
  .events-package-hourly-config .events-package-desktop-config { font-size: 16px; line-height: 1.4; }
  .events-package-hourly-config .events-package-desktop-config > h3 { margin: 0 0 6px; font-size: 24px; }
  .events-package-hourly-config .events-package-hourly-desktop__mode { margin: 0 0 24px; font-size: 16px; }
  .events-package-hourly-config .events-package-desktop-columns { gap: 24px; grid-template-columns: minmax(0,1fr) minmax(240px,280px); }
  .events-package-hourly-config .events-package-desktop-summary { padding-left: 24px; }
  .events-package-hourly-config .events-package-desktop-summary.is-sticky { position: sticky; top: 88px; }
  .events-package-hourly-config .services-expand__label { font-size: 15px; line-height: 1.4; }
  .events-package-hourly-desktop__principal { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(0, 1.6fr); gap: 20px; align-items: start; }
  .events-package-hourly-desktop__common { display: grid; grid-template-columns: minmax(0,2fr) minmax(150px,1fr); gap: 20px; align-items: start; margin-top: 20px; }
  .events-package-hourly-desktop :is(label,fieldset,div) { min-width: 0; }
  .events-package-hourly-desktop .events-package-passenger-bands { margin: 0; }
  .events-package-hourly-desktop :is(input,select) { font-size: 16px; min-height: 48px; width: 100%; max-width: 100%; box-sizing: border-box; }
  .events-package-hourly-desktop .services-expand__field { margin: 0; }
  .events-package-hourly-desktop .events-package-hourly-mobile__hint { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
  .events-package-hourly-desktop .events-package-hourly-mobile__hint[hidden] { display: none; }
  .events-package-hourly-desktop__fixed { display: grid; gap: 4px; font-size: 15px; }
  .events-package-hourly-config .events-package-hourly-desktop__address { margin: 6px 0 0; overflow-wrap: anywhere; font-size: 14px; color: var(--muted); }
  .events-package-hourly-desktop__address:empty { display: none; }
  .events-package-hourly-config .events-package-hourly-desktop__single-end { margin-top: 16px; font-size: 16px; }
  .events-package-hourly-desktop__agenda { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 12px 0 0; font-size: 16px; }
  .events-package-hourly-desktop__agenda :is(th,td) { padding: 8px 6px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255,255,255,.18); font-weight: 400; overflow-wrap: anywhere; }
  .events-package-hourly-desktop__agenda thead th { color: var(--muted); font-weight: 600; }
  .events-package-hourly-config .events-package-hourly-desktop__agenda th:first-child { width: 20%; padding-left: 0; }
  .events-package-hourly-config .events-package-hourly-desktop__agenda th:nth-child(2) { width: 30%; }
  .events-package-hourly-config .events-package-hourly-desktop__agenda th:nth-child(3) { width: 30%; }
  .events-package-hourly-config .events-package-hourly-desktop__agenda td:nth-child(2) { width: auto; }
  .events-package-hourly-desktop__agenda .events-package-button { min-height: 44px; padding: 4px 0; white-space: normal; text-decoration: underline; }
  .events-package-hourly-desktop__agenda button[hidden], .events-package-hourly-desktop__editor-row[hidden] { display: none; }
  .events-package-hourly-desktop__end-date { display: block; margin-top: 4px; }
  .events-package-hourly-desktop__issue { display: grid; gap: 4px; margin-top: 4px; font-size: 14px; color: var(--muted); }
  .events-package-hourly-desktop__issue:empty { display: none; }
  .events-package-hourly-config .events-package-hourly-desktop__editor-row td { padding: 0 0 16px; }
  .events-package-hourly-desktop__editor { border-left: 2px solid var(--brand, #1f7a6d); padding: 12px 16px; }
  .events-package-hourly-desktop__editor-fields { display: grid; grid-template-columns: minmax(0,2fr) minmax(150px,1fr); gap: 16px; align-items: start; }
  .events-package-hourly-desktop__editor-fields > div:first-child { grid-row: span 2; }
  .events-package-hourly-config .events-package-hourly-desktop__end { display: grid; gap: 4px; margin: 0; font-size: 16px; }
  .events-package-hourly-desktop__editor-actions { display: flex; gap: 16px; justify-content: flex-end; flex-wrap: wrap; margin-top: 12px; }
  .events-package-hourly-desktop__editor-actions .events-package-button--secondary { padding: 8px 16px; text-decoration: none; }
  .events-package-hourly-desktop__gallery { display: grid; gap: 6px; padding: 0; border: 0; background: none; color: inherit; text-align: left; width: 100%; cursor: pointer; text-decoration: underline; }
  .events-package-hourly-desktop__gallery img { width: 100%; max-width: 256px; height: auto; aspect-ratio: 4 / 3; max-height: 192px; object-fit: cover; object-position: center bottom; border-radius: 4px; }
  .events-package-hourly-desktop__gallery span { padding: 8px 0; }
  .events-package-hourly-desktop__gallery:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
}
@media (min-width: 721px) and (forced-colors: none) {
  .events-package-hourly-desktop input:is([type="date"], [type="time"]) { color-scheme: dark; }
}
@media (min-width: 721px) and (max-width: 1199px) {
  .events-package-hourly-config .events-package-desktop-columns { grid-template-columns: minmax(0,1fr); }
  .events-package-hourly-config .events-package-desktop-summary { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); padding: 20px 0 0; }
}
@media (min-width: 721px) and (max-width: 850px) {
  .events-package-hourly-desktop__principal, .events-package-hourly-desktop__common, .events-package-hourly-desktop__editor-fields { grid-template-columns: minmax(0,1fr); }
  .events-package-hourly-desktop__editor-fields > div:first-child { grid-row: auto; }
}
.events-package-hourly-table { table-layout: fixed; width: 100%; }
.events-package-hourly-table th, .events-package-hourly-table td { vertical-align: top; overflow-wrap: break-word; }
.events-package-hourly-table th:first-child { width: 24%; }
.events-package-hourly-table td:nth-child(2) { width: 34%; }
.events-package-hourly-table input { min-width: 0; max-width: 100%; }
.events-package-hourly-table th > span { display: block; margin-bottom: .5rem; }
.events-package-hourly-review { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .events-mobile-route .events-package-mobile-contact--hourly { gap: 12px; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-mobile-contact__header { gap: 2px; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-mobile-contact__header > h3 { font-size: 16px; font-weight: 400; line-height: 1.4; overflow-wrap: normal; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-mobile-contact__header > .events-package-button { min-height: 44px; padding: 8px 0; text-decoration: underline; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-review h4 { font-size: 20px; line-height: 1.3; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-review__mode { margin-bottom: 12px; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-review > .events-package-button { min-height: 44px; margin-top: 4px; padding: 8px 0; text-decoration: underline; }
  .events-package-hourly-review--mobile { font-size: 16px; line-height: 1.4; overflow-wrap: normal; }
  .events-package-hourly-review__pickups { display: grid; gap: 12px; margin: 0 0 12px; }
  .events-package-hourly-review__pickups > div { min-width: 0; }
  .events-package-hourly-review__pickups dt { color: var(--muted); font-weight: 600; }
  .events-package-hourly-review__pickups dd { margin: 4px 0 0; overflow-wrap: anywhere; }
  .events-package-hourly-review--mobile .events-package-hourly-review__context { display: grid; gap: 4px; margin: 0 0 8px; color: var(--muted); font-size: 14px; }
  .events-package-hourly-review--mobile .events-package-hourly-review__table { border-collapse: collapse; table-layout: fixed; width: 100%; margin: 0; font-size: 16px; }
  .events-package-hourly-review--mobile .events-package-hourly-review__table th,
  .events-package-hourly-review--mobile .events-package-hourly-review__table td { padding: 8px 4px; border-bottom: 1px solid rgba(255,255,255,.18); text-align: left; vertical-align: top; overflow-wrap: normal; word-break: normal; font-weight: 400; }
  .events-package-hourly-review--mobile .events-package-hourly-review__table th:first-child { width: 40%; padding-left: 0; }
  .events-package-hourly-review--mobile .events-package-hourly-review__table th:nth-child(2) { width: 27%; }
  .events-package-hourly-review--mobile .events-package-hourly-review__table thead th { color: var(--muted); font-weight: 600; overflow-wrap: anywhere; hyphens: auto; }
  .events-package-hourly-review--mobile .events-package-hourly-review__table td { font-variant-numeric: tabular-nums; }
  .events-package-hourly-review__end-date { display: block; margin-top: 4px; }
  /* Historical Hourly confirmation shares the accepted review table only. */
  .events-mobile-route .events-package-receipt--hourly { gap: 12px; }
  .events-package-receipt--hourly header h3 { margin-bottom: 8px; }
  .events-package-receipt--hourly header p { margin-top: 6px; }
  .events-package-receipt--hourly .events-package-receipt__reference { gap: 6px; }
  .events-package-receipt--hourly .events-package-receipt__summary { gap: 4px; padding-top: 12px; }
  .events-package-receipt--hourly .events-package-receipt__summary .events-package-receipt__event { margin: 0 0 6px; color: var(--muted); font-size: 16px; font-weight: 400; line-height: 1.4; overflow-wrap: anywhere; }
  .events-package-receipt--hourly .events-package-receipt__summary h4 { margin: 0; font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
  .events-package-receipt--hourly .events-package-receipt__summary .events-package-receipt__mode { margin: 0; }
  .events-package-receipt--hourly .events-package-receipt__journeys { border: 0; padding: 0; }
  .events-package-receipt--hourly .events-package-receipt__journeys h5 { margin: 0 0 4px; font-size: 16px; line-height: 1.4; }
  .events-package-receipt--hourly .events-package-receipt__journeys > p { margin: 0 0 8px; }
  .events-package-receipt--hourly .events-package-hourly-review__table th,
  .events-package-receipt--hourly .events-package-hourly-review__table td { overflow-wrap: anywhere; }
  .events-package-receipt--hourly .events-package-receipt__total { border: 0; padding: 0; }
  .events-package-receipt--hourly [data-package-action="receipt-conditions"] { justify-self: start; min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; text-decoration: underline; }
  .events-mobile-route .events-package-mobile-contact--hourly .events-package-summary--review > .events-package-offer__details-trigger { width: auto; min-height: 44px; border: 0; padding: 8px 0; border-radius: 0; text-decoration: underline; }
}

@media (max-width: 720px) {
  .events-mobile-route .events-package-hourly-mobile-config { text-align: left; }
  .events-package-hourly-mobile__header { display: grid; gap: 2px; margin-bottom: 12px; }
  .events-package-hourly-mobile__header > p,
  .events-package-hourly-mobile__header > h3 { margin: 0; text-align: left; overflow-wrap: break-word; }
  .events-package-hourly-mobile__header > h3 { font-size: 20px; line-height: 1.3; }
  .events-package-hourly-mobile__header .events-package-button { justify-self: start; min-height: 44px; padding: 8px 0; border: 0; text-decoration: underline; background: none; }
  .events-package-hourly-mobile__event { font-size: 16px; line-height: 1.4; }
  .events-package-hourly-mobile__step { color: var(--muted); padding-bottom: 4px; }
  .events-package-hourly-mobile .events-package-primary-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0; padding: 0; border: 0; min-width: 0; }
  .events-package-hourly-mobile .services-expand__field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; min-width: 0; margin: 0; }
  .events-package-hourly-mobile .services-expand__label { margin: 0; min-height: 0; text-align: left; }
  .events-package-hourly-mobile input { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 48px; font-size: 16px; }
  .events-package-hourly-mobile input[type="date"],
  .events-package-hourly-mobile input[type="time"] { display: block; width: 100%; min-inline-size: 0; max-inline-size: 100%; -webkit-appearance: none; appearance: none; }
  .events-package-hourly-mobile .events-package-primary-form > *,
  .events-package-hourly-mobile__editor > *,
  .events-package-hourly-mobile__schedule > * { min-width: 0; max-width: 100%; }
  .events-package-hourly-mobile input::-webkit-date-and-time-value { min-width: 0; padding: 0; text-align: left; }
  .events-package-hourly-mobile input::-webkit-datetime-edit { min-width: 0; padding: 0; }
  .events-package-hourly-mobile .events-package-passenger-bands { margin: 0; padding: 0; min-width: 0; }
  .events-package-hourly-mobile p { margin: 0; text-align: left; }
  .events-package-hourly-mobile__hint { color: var(--muted); margin-top: 6px !important; font-size: 14px; line-height: 1.4; }
  .events-package-hourly-mobile__duration,
  .events-package-hourly-mobile__help { color: var(--muted); font-size: 14px; line-height: 1.45; }
  .events-package-hourly-mobile__dates { line-height: 1.5; }
  .events-package-hourly-mobile__days { list-style: none; padding: 0; margin: 12px 0 0; }
  .events-package-hourly-mobile__days > li { margin: 0; padding: 4px 0; border-top: 1px solid rgba(255,255,255,.18); }
  .events-package-hourly-mobile__row { display: flex; align-items: center; gap: 8px; min-height: 44px; }
  .events-package-hourly-mobile__row > div { flex: 1; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: baseline; gap: 4px 8px; padding: 0; line-height: 1.4; }
  .events-package-hourly-mobile__date { font-weight: 600; }
  .events-package-hourly-mobile__range { font-variant-numeric: tabular-nums; }
  .events-package-hourly-mobile__exception,
  .events-package-hourly-mobile__issue { grid-column: 1 / -1; color: var(--muted); font-size: 14px; line-height: 1.4; }
  .events-package-hourly-mobile__issue { color: var(--text); }
  .events-package-hourly-mobile__link { min-width: 44px; min-height: 44px; padding: 10px 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
  .events-package-hourly-mobile__link:focus-visible { outline: 2px solid var(--accent, #28b8a7); outline-offset: 3px; }
  .events-package-hourly-mobile__link:active { opacity: .7; }
  .events-package-hourly-mobile__editor:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0 0 8px; padding: 8px 0 4px 12px; border-left: 2px solid rgba(255,255,255,.18); }
  .events-package-hourly-mobile__row > .events-package-hourly-mobile__link { text-align: right; }
  .events-package-hourly-mobile__row > [hidden] { display: none; }
  .events-package-hourly-mobile__schedule { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); align-items: start; gap: 12px; }
  .events-package-hourly-mobile__schedule .events-package-hourly-mobile__end { display: grid; gap: 6px; }
  .events-package-hourly-mobile__schedule [data-hourly-mobile-end] { display: flex; align-items: center; min-height: 48px; }
  .events-package-hourly-mobile__editor-actions > .events-package-button { min-height: 44px; padding: 10px 16px; margin-left: auto; }
  .events-package-hourly-mobile__editor-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; }
  .events-package-hourly-mobile__end { line-height: 1.4; }
  .events-package-hourly-mobile-config > .events-package-layout__actions { margin-top: 16px; }
}
@media (max-width: 720px) {
  .events-package-hourly .events-package-fields-grid { grid-template-columns: minmax(0, 1fr); }
  .events-package-hourly-table, .events-package-hourly-table tbody { display: block; }
  .events-package-hourly-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .events-package-hourly-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--border-color, #555); }
  .events-package-hourly-table th, .events-package-hourly-table td { display: block; width: auto !important; padding: 0; border: 0; min-width: 0; }
  .events-package-hourly-table th, .events-package-hourly-table td:nth-child(2) { grid-column: 1 / -1; }
  .events-package-hourly-table input[type="time"], .events-package-hourly-table input[type="date"] { width: auto; max-width: 100%; min-height: 44px; }
  .events-package-hourly-review table { table-layout: fixed; width: 100%; }
  .events-package-hourly-review th, .events-package-hourly-review td { padding: .5rem .25rem; overflow-wrap: anywhere; vertical-align: top; }
}

/* Hourly review only: preserve the shared fields, configuration and mobile. */
@media (min-width: 721px) {
  form[data-package-hourly-review] [data-package-hourly-review-picker] { display: none; }
  form[data-package-hourly-review] .form-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  form[data-package-hourly-review] .events-package-review--hourly-desktop { margin: 0; padding: 0; }
  form[data-package-hourly-review] .events-package-review--hourly-desktop > header { margin-bottom: 20px; }
  form[data-package-hourly-review] .events-package-review__event { margin: 0 0 12px; color: var(--muted); font-size: .875rem; line-height: 1.5; }
  form[data-package-hourly-review] .events-package-review__heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; }
  form[data-package-hourly-review] .events-package-review__heading h4 { margin: 0; font-size: 1.25rem; line-height: 1.4; }
  form[data-package-hourly-review] .events-package-review--hourly-desktop .events-package-button { padding: 8px 0; min-height: 40px; text-decoration: underline; white-space: normal; text-align: left; }
  form[data-package-hourly-review] .events-package-review__mode { margin: 0; font-size: .9375rem; line-height: 1.5; }
  form[data-package-hourly-review] .events-package-hourly-review--desktop { font-size: .9375rem; line-height: 1.5; overflow-wrap: normal; }
  form[data-package-hourly-review] .events-package-hourly-review__pickups { display: grid; gap: 16px; margin: 0 0 20px; }
  form[data-package-hourly-review] .events-package-hourly-review__pickups > div { min-width: 0; }
  form[data-package-hourly-review] .events-package-hourly-review__pickups dt { color: var(--muted); font-weight: 600; }
  form[data-package-hourly-review] .events-package-hourly-review__pickups dd { margin: 4px 0 0; overflow-wrap: anywhere; }
  form[data-package-hourly-review] .events-package-hourly-review__context { display: grid; gap: 2px; color: var(--muted); margin: 0 0 8px; font-size: .875rem; }
  form[data-package-hourly-review] .events-package-hourly-review__table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0; }
  form[data-package-hourly-review] .events-package-hourly-review__table th,
  form[data-package-hourly-review] .events-package-hourly-review__table td { padding: 10px 8px; border-bottom: 1px solid rgba(255,255,255,.18); text-align: left; vertical-align: top; overflow-wrap: normal; word-break: normal; font-weight: 400; }
  form[data-package-hourly-review] .events-package-hourly-review__table th:first-child { width: 40%; padding-left: 0; }
  form[data-package-hourly-review] .events-package-hourly-review__table th:nth-child(2) { width: 28%; }
  form[data-package-hourly-review] .events-package-hourly-review__table thead th { color: var(--muted); font-weight: 600; }
  form[data-package-hourly-review] .events-package-hourly-review__table td { font-variant-numeric: tabular-nums; }
  form[data-package-hourly-review] .events-package-hourly-review__end-date { display: block; margin-top: 4px; }
  form[data-package-hourly-review] #events-package-hourly-notes-help { margin: 6px 0 0; font-size: .875rem; line-height: 1.5; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  form[data-package-hourly-review] .form-grid { grid-template-columns: minmax(0, 1fr); }
  form[data-package-hourly-review] .events-package-contact__fields { grid-column: 1; grid-row: 4; }
}

/* Historical Hourly receipt only; other confirmations and mobile are unchanged. */
@media (min-width: 721px) {
  .events-package-receipt--hourly-desktop { gap: 20px; }
  .events-package-receipt--hourly-desktop header h3 { margin: 0 0 10px; font-size: 1.5rem; line-height: 1.35; }
  .events-package-receipt--hourly-desktop header > p { margin: 6px 0 0; }
  .events-package-receipt--hourly-desktop .events-package-receipt__reference { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px 16px; margin: 0; padding-block: 16px; border-block: 1px solid rgba(255,255,255,.18); }
  .events-package-receipt--hourly-desktop .events-package-receipt__reference > div { flex: 0 1 auto; min-width: 0; max-width: 100%; }
  .events-package-receipt--hourly-desktop .events-package-receipt__reference > div > span { display: block; }
  .events-package-receipt--hourly-desktop .events-package-receipt__reference > div > span:first-child { color: var(--muted); font-size: .875rem; }
  .events-package-receipt--hourly-desktop .events-package-receipt__reference-value { margin-top: 4px; overflow-wrap: anywhere; word-break: normal; user-select: text; }
  .events-package-receipt--hourly-desktop .events-package-receipt__reference [data-reference-status]:not(:empty) { flex-basis: 100%; }
  .events-package-receipt--hourly-desktop .events-package-receipt__columns { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 40px; }
  .events-package-receipt--hourly-desktop .events-package-receipt__summary { display: block; margin: 0 0 24px; }
  .events-package-receipt--hourly-desktop .events-package-receipt__event { margin: 0 0 10px; color: var(--muted); font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
  .events-package-receipt--hourly-desktop .events-package-receipt__summary h4 { font-size: 1.25rem; line-height: 1.4; }
  .events-package-receipt--hourly-desktop .events-package-receipt__mode { margin: 4px 0 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }
  .events-package-receipt--hourly-desktop .events-package-receipt__hourly-schedule h5 { margin: 0 0 4px; font-size: 1rem; line-height: 1.5; }
  .events-package-receipt--hourly-desktop .events-package-receipt__hourly-schedule > p { margin: 0 0 10px; font-size: .875rem; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table th,
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table td { padding: 10px 8px; border-bottom: 1px solid rgba(255,255,255,.18); text-align: left; vertical-align: top; overflow-wrap: normal; word-break: normal; font-weight: 400; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table th:first-child { width: 40%; padding-left: 0; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table th:nth-child(2) { width: 28%; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table thead th { color: var(--muted); font-weight: 600; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__table td { font-variant-numeric: tabular-nums; }
  .events-package-receipt--hourly-desktop .events-package-hourly-review__end-date { display: block; margin-top: 4px; }
  .events-package-receipt--hourly-desktop .events-package-receipt__side { gap: 20px; }
  .events-package-receipt--hourly-desktop .events-package-receipt__amount { margin: 6px 0 0; overflow-wrap: anywhere; }
  .events-package-receipt--hourly-desktop .events-package-receipt__actions { display: grid; gap: 12px; }
  .events-package-receipt--hourly-desktop .events-package-receipt__actions button { min-width: 0; max-width: 100%; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  .events-package-receipt--hourly-desktop .events-package-receipt__columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
