@font-face {
  font-family: AGRFT;
  src: url('../../../themes/agrft-festival/assets/fonts/bc-eric-machat-regular.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: AGRFT;
  src: url('../../../themes/agrft-festival/assets/fonts/bc-eric-machat-semibold.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: AGRFTHeadline;
  src: url('../../../themes/agrft-festival/assets/fonts/bc-eric-machat-headline-semibold-italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Eric Machat Headline";
  src: url('../../../themes/agrft-festival/assets/fonts/bc-eric-machat-headline-semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --booking-paper: #fff;
  --booking-ink: var(--agrft-violet, #442299);
  --booking-body-surface: var(--booking-paper);
  --booking-body-ink: var(--booking-ink);
  --booking-control-surface: var(--booking-body-ink);
  --booking-control-ink: var(--booking-body-surface);
  --booking-accent: var(--agrft-pink, #ff3366);
  --booking-surround: var(--agrft-grey, #e3e3e3);
  --booking-footer: #fff;
  --booking-footer-surface: var(--booking-footer);
  --booking-footer-ink: var(--booking-ink);
  --booking-footer-edge: var(--booking-body-surface);
  --booking-rule: var(--agrft-lavender, #7755bb);
}

html[data-agrft-contrast="light"] {
  --booking-paper: #fff;
  --booking-ink: #000;
  --booking-accent: #000;
  --booking-surround: #000;
  --booking-footer: #000;
  --booking-footer-ink: #fff;
  --booking-rule: #000;
  color-scheme: light;
}

html[data-agrft-contrast="dark"] {
  --booking-paper: #000;
  --booking-ink: #fff;
  --booking-accent: #fff;
  --booking-surround: #fff;
  --booking-footer: #fff;
  --booking-footer-ink: #000;
  --booking-rule: #fff;
  color-scheme: dark;
}

.agrft-booking-page {
  margin: 0;
  color: var(--booking-body-ink);
  background: var(--booking-body-surface);
  font: 18px/1.4 AGRFT, Arial, sans-serif;
}

.agrft-booking-page * {
  box-sizing: border-box;
}

.agrft-booking-stage {
  width: min(100%, 390px);
  min-height: 100dvh;
  margin: auto;
  overflow: clip;
  background: var(--booking-body-surface);
}

.agrft-booking-header {
  --booking-header-mark-half: 75px;
  --booking-header-link-gap: 8px;
  position: sticky;
  top: 0;
  z-index: 10;
  height: 96px;
  background: var(--booking-body-surface);
  font-size: 16px;
}

.agrft-booking-header__inner {
  position: relative;
  height: 96px;
}

.agrft-booking-header a {
  min-width: 0;
  min-height: 44px;
  color: var(--booking-body-ink);
  text-decoration: none;
  white-space: nowrap;
}

.agrft-booking-header__reservations,
.agrft-booking-header__contact {
  position: absolute;
  top: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--booking-body-surface);
  font-weight: 600;
  line-height: 18px;
}

.agrft-booking-header__reservations span,
.agrft-booking-header__contact span {
  display: block;
}

.agrft-booking-header__reservations {
  right: calc(50% + var(--booking-header-mark-half) + var(--booking-header-link-gap));
  align-items: flex-start;
  text-align: left;
}

.agrft-booking-header__brand {
  position: absolute;
  top: 23px;
  left: 50%;
  width: 150px;
  height: 50px;
  background: var(--agrft-header-artwork, none) center / 150px 50px no-repeat;
  transform: translateX(-50%);
}

.agrft-booking-header__contact {
  left: calc(50% + var(--booking-header-mark-half) + var(--booking-header-link-gap));
  align-items: flex-end;
  text-align: right;
}

.agrft-booking-page main {
  display: grid;
  gap: 16px;
  min-height: 60vh;
  padding: 24px 12px 56px;
  background: var(--booking-body-surface);
}

.agrft-booking-page h1,
.agrft-booking-page h2,
.agrft-booking-page h3,
.agrft-booking-page p {
  overflow-wrap: anywhere;
}

.agrft-booking-page h1 {
  margin: 24px 0 16px;
  font-size: 1.65rem;
  font-weight: 600;
  line-height: 1.15;
}

.agrft-booking-page h2,
.agrft-ticket h3 {
  margin: 20px 0 16px;
  color: var(--booking-accent);
  font-family: AGRFTHeadline, AGRFT, sans-serif;
  font-size: 2.1rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
}

.agrft-booking-page h3 {
  font-size: 1.7rem;
}

.agrft-booking-page p {
  margin: 0 0 16px;
}

.agrft-booking-page a {
  color: inherit;
  text-underline-offset: 3px;
}

.agrft-booking-location__link,
.agrft-booking-location__address {
  color: inherit;
}

.agrft-booking-location__link {
  text-decoration: underline;
}

.agrft-booking-location__address {
  text-decoration: none;
}

.agrft-booking-location {
  position: relative;
  padding-left: 22px;
}

.agrft-booking-location::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14.4px;
  height: 36px;
  background: var(--booking-accent);
  content: "";
  -webkit-mask: var(--agrft-icon-location-pin) center / contain no-repeat;
  mask: var(--agrft-icon-location-pin) center / contain no-repeat;
  transform: translateY(-50%);
}

.agrft-booking-page label {
  display: block;
  margin: 18px 0 8px;
}

.agrft-booking-page input:not([type="checkbox"]),
.agrft-booking-page button {
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  color: var(--booking-body-ink);
  background: var(--booking-body-surface);
  border: 2px solid var(--booking-body-ink);
  border-radius: 0;
  font: inherit;
}

.agrft-booking-page button,
.agrft-booking-page a.agrft-booking-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 12px 0;
  padding: 10px 12px;
  border: 2px solid var(--booking-ink);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.agrft-booking-page .agrft-booking-primary {
  color: #fff;
  background: var(--booking-ink);
  border-color: var(--booking-ink);
}

.agrft-booking-page .agrft-booking-danger {
  color: var(--booking-accent);
  background: var(--booking-paper);
  border-color: var(--booking-accent);
}

.agrft-booking-page button:disabled {
  opacity: .5;
  cursor: default;
}

.agrft-booking-page [data-agrft-save-receipt][hidden] {
  display: none;
}

.agrft-booking-page :focus-visible {
  outline: none;
  outline-offset: 0;
  box-shadow: none;
}

.agrft-booking-page [role="alert"] {
  padding: 12px;
  border: 2px solid var(--booking-accent);
}

.agrft-ticket {
  overflow: hidden;
  padding: 0 24px 24px;
  background: var(--booking-surround);
  border: 0;
  box-shadow: none;
  scroll-margin-top: 108px;
}

.agrft-booking-card,
.agrft-booking-edit {
  padding: 24px;
  background: var(--booking-surround);
  border: 0;
  box-shadow: none;
}

.agrft-private-result {
  display: grid;
  gap: 16px;
}

.agrft-overview-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.agrft-overview-card {
  padding: 24px;
  background: var(--booking-surround);
  border: 0;
}

.agrft-overview-card h2 {
  margin-top: 0;
  margin-bottom: 20px;
  color: var(--booking-ink);
  font-size: 1.8rem;
}

.agrft-overview-card > :last-child,
.agrft-overview-expiry {
  margin-bottom: 0;
}

.agrft-overview-expiry {
  margin-top: 0 !important;
  font-size: 1rem;
  text-align: center;
}

.agrft-overview {
  padding: 8px 0 0;
  background: var(--booking-paper);
}

.agrft-overview > h1 {
  margin: 24px 0 16px;
  color: var(--booking-ink);
  font-family: "Eric Machat Headline", AGRFT, sans-serif;
  font-size: 3rem;
  line-height: 1;
  text-align: center;
}

.agrft-overview-intro {
  margin-bottom: 2px !important;
  text-align: center;
}

.agrft-overview-card > p,
.agrft-overview-card__locations p {
  margin-bottom: 12px;
}

.agrft-overview-card__quantity {
  color: var(--booking-accent);
  font-weight: 600;
}

.agrft-booking-page .agrft-overview-card .agrft-booking-primary {
  color: #fff;
  background: var(--booking-accent);
  border-color: var(--booking-accent);
}

.agrft-ticket > :first-child,
.agrft-booking-card > :first-child,
.agrft-booking-edit > :first-child {
  margin-top: 0;
}

.agrft-ticket__status {
  margin: 0 -24px 24px !important;
  padding: 22px 24px;
  color: #fff;
  background: var(--booking-ink);
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
  text-transform: uppercase;
}

.agrft-ticket h2 {
  margin-top: 32px;
  font-size: 2.6rem;
}

.agrft-ticket__datetime,
.agrft-ticket__note,
.agrft-booking-locations,
.agrft-reservation-quantity,
.agrft-reservation-numbers,
.agrft-reservation-arrival,
.agrft-reservation-rule,
.agrft-ticket__mail {
  margin-bottom: 12px;
}

.agrft-reservation-quantity,
.agrft-reservation-arrival {
  color: var(--booking-accent);
  font-weight: 600;
}

.agrft-reservation-numbers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.agrft-reservation-number-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 62px;
  padding: 8px 10px;
  color: #fff;
  background: var(--booking-accent);
}

.agrft-reservation-number-card span {
  min-width: 0;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.agrft-reservation-number-card strong {
  font-size: 2rem;
  line-height: 1;
}

.agrft-reservation-rule {
  height: 1px;
  margin-top: 10px;
  border: 0;
  background: var(--booking-rule);
}

.agrft-ticket__mail {
  margin-top: 22px;
}

.agrft-ticket__mail p:last-child {
  margin-bottom: 0;
}

.agrft-ticket__actions {
  margin-top: 28px;
}

.agrft-ticket__actions .agrft-booking-resend,
.agrft-ticket__actions .agrft-booking-secondary {
  margin: 12px 0 0;
}

:is(.agrft-ticket, .agrft-booking-edit) :is(.agrft-booking-secondary, .agrft-booking-danger):not(.agrft-booking-primary) {
  background: var(--booking-surround);
}

.agrft-booking-edit {
  margin-top: 0;
}

.agrft-booking-edit h3 {
  margin: 0 0 16px;
  color: var(--booking-ink);
  font-family: AGRFT, Arial, sans-serif;
  font-size: 1.45rem;
  font-style: normal;
  text-transform: uppercase;
}

.agrft-booking-confirm {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: color-mix(in srgb, var(--booking-ink) 24%, transparent);
}

.agrft-booking-confirm__panel {
  width: min(100%, 342px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  padding: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--booking-ink);
  background: #fff;
  box-shadow: 0 10px 36px color-mix(in srgb, var(--booking-ink) 22%, transparent);
}

.agrft-booking-confirm__panel h2 {
  margin: 0 0 24px;
  color: inherit;
  font-family: AGRFT, Arial, sans-serif;
  font-size: 1.35rem;
  font-style: normal;
  line-height: 1.25;
}

.agrft-booking-confirm__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.agrft-booking-page .agrft-booking-confirm__yes,
.agrft-booking-page .agrft-booking-confirm__no {
  margin: 0;
  color: #fff;
}

.agrft-booking-page .agrft-booking-confirm__yes {
  background: var(--booking-accent);
  border-color: var(--booking-accent);
}

.agrft-booking-page .agrft-booking-confirm__no {
  background: var(--booking-ink);
  border-color: var(--booking-ink);
}

.agrft-booking-dialog-open {
  overflow: hidden;
  overscroll-behavior: none;
}

.agrft-booking-stepper {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  gap: 0;
  align-items: center;
  min-height: 48px;
  padding: 6px;
  background: var(--booking-paper);
  border: 2px solid var(--booking-ink);
}

.agrft-booking-stepper button {
  width: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  color: #fff;
  background: var(--booking-accent);
  border: 0;
  font-size: 1.6rem;
}

.agrft-booking-stepper button:last-child {
  justify-self: end;
}

.agrft-booking-stepper input {
  height: 36px;
  padding: 0;
  border: 0 !important;
  font-size: 1.35rem !important;
  text-align: center;
  appearance: textfield;
}

.agrft-booking-stepper input::-webkit-inner-spin-button {
  appearance: none;
}

.agrft-booking-availability {
  margin-top: 8px !important;
  font-size: .84rem;
}

.agrft-booking-footer {
  position: relative;
  height: 788px;
  overflow: hidden;
  padding: 0 24px;
  background: var(--booking-surround);
  scroll-margin-top: 96px;
  text-align: center;
}

.agrft-booking-footer__teeth {
  position: absolute;
  inset: 0 0 auto;
  height: 195px;
  background: var(--booking-paper);
  -webkit-mask: var(--agrft-icon-teeth-fill) top center / 390px 195px no-repeat;
  mask: var(--agrft-icon-teeth-fill) top center / 390px 195px no-repeat;
}

.agrft-booking-footer__logo {
  position: absolute;
  top: 222px;
  left: 50%;
  width: 200px;
  height: 90px;
  transform: translateX(-50%);
}

.agrft-booking-footer__label {
  position: absolute;
  top: 314px;
  right: 24px;
  left: 24px;
  font-size: 1.17rem;
}

.agrft-booking-footer__university-logo {
  position: absolute;
  bottom: 28px;
  left: 50%;
  display: block;
  width: min(240px, calc(100% - 40px));
  transform: translateX(-50%);
}

.agrft-booking-footer__university-logo::before {
  display: block;
  width: 100%;
  aspect-ratio: 240 / 25.46;
  background: var(--booking-ink);
  content: "";
  -webkit-mask: var(--agrft-ul-artwork, none) center / contain no-repeat;
  mask: var(--agrft-ul-artwork, none) center / contain no-repeat;
}

.agrft-booking-footer hr {
  position: absolute;
  right: 24px;
  left: 24px;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--booking-rule);
}

.agrft-booking-footer hr:nth-of-type(1) {
  top: 380px;
}

.agrft-booking-footer hr:nth-of-type(2) {
  top: 548px;
}

.agrft-booking-footer p {
  margin: 0;
}

.agrft-booking-footer__question {
  position: absolute;
  top: 412px;
  right: 24px;
  left: 24px;
  font-size: 1.17rem;
}

.agrft-booking-footer__email {
  position: absolute;
  top: 450px;
  right: 24px;
  left: 24px;
}

.agrft-booking-footer__email a {
  display: block;
  overflow-wrap: normal;
  color: var(--booking-accent);
  font-family: "Eric Machat Headline", sans-serif;
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 2.5rem;
  text-decoration: none;
  white-space: nowrap;
}

.agrft-booking-footer__nav {
  position: absolute;
  top: 578px;
  right: 24px;
  left: 24px;
  display: grid;
  gap: 12px;
  font-size: 1.17rem;
}

.agrft-booking-footer__nav a {
  font-weight: 600;
}

.agrft-booking-footer__nav a:first-child {
  color: var(--booking-accent);
}

.agrft-booking-footer__copyright {
  position: absolute;
  top: 694px;
  right: 24px;
  left: 24px;
  font-size: 1rem;
  line-height: 1.2rem;
}

.agrft-booking-skip {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100;
  padding: 8px 12px;
  color: #000;
  background: #fff;
  transform: translateY(-150%);
}

.agrft-booking-skip:focus {
  transform: none;
}

.screen-reader-text,
.agrft-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.agrft-booking-page [hidden] {
  display: none !important;
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-header__brand {
  background-image: var(--agrft-header-artwork-contrast, none);
}

html[data-agrft-contrast="dark"] .agrft-booking-header__brand {
  filter: invert(1);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-footer__teeth {
  background: var(--booking-footer-edge);
  -webkit-mask: var(--agrft-icon-teeth-fill) top center / 390px 195px no-repeat;
  mask: var(--agrft-icon-teeth-fill) top center / 390px 195px no-repeat;
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-footer {
  color: var(--booking-footer-ink);
  background: var(--booking-footer-surface);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-footer :is(a, .agrft-booking-footer__university-logo) {
  color: var(--booking-footer-ink);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-footer hr {
  border-color: var(--booking-footer-ink);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-footer__university-logo::before {
  background: var(--booking-footer-ink);
}

html[data-agrft-contrast="light"] .agrft-booking-footer__logo { filter: brightness(0) invert(1); }
html[data-agrft-contrast="dark"] .agrft-booking-footer__logo { filter: brightness(0); }

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-stepper button,
html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-page .agrft-booking-primary,
html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-page .agrft-booking-confirm__yes,
html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-page .agrft-booking-confirm__no {
  color: var(--booking-control-ink);
  background: var(--booking-control-surface);
  border-color: var(--booking-control-surface);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) :is(.agrft-booking-card, .agrft-ticket, .agrft-booking-edit, .agrft-overview-card) {
  color: var(--booking-body-ink);
  background: var(--booking-body-surface);
  outline: 2px solid var(--booking-body-ink);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) :is(.agrft-ticket__status, .agrft-reservation-number-card, .agrft-overview-card .agrft-booking-primary) {
  color: var(--booking-control-ink);
  background: var(--booking-control-surface);
  border-color: var(--booking-control-surface);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) :is(.agrft-ticket, .agrft-booking-edit) :is(.agrft-booking-secondary, .agrft-booking-danger):not(.agrft-booking-primary) {
  background: var(--booking-body-surface);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-confirm {
  background: color-mix(in srgb, var(--booking-body-ink) 35%, transparent);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-confirm__panel {
  color: var(--booking-body-ink);
  background: var(--booking-body-surface);
  box-shadow: none;
  outline: 2px solid var(--booking-body-ink);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-page input:not([type="checkbox"]) {
  color: var(--booking-body-ink);
  caret-color: var(--booking-body-ink);
  background: var(--booking-body-surface);
  border-color: var(--booking-body-ink);
}

html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-page input::placeholder {
  color: var(--booking-body-ink);
  opacity: .7;
}

@media (min-width: 768px) {
  .agrft-booking-stage {
    width: 100%;
  }

  .agrft-booking-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(90px, max-content) 150px minmax(90px, max-content) minmax(0, 1fr);
    column-gap: clamp(24px, 2vw, 32px);
    align-items: center;
    width: min(calc(100vw - 32px), 1088px);
    margin-inline: auto;
  }

  .agrft-booking-header__brand {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 3;
    justify-self: center;
    align-self: start;
    margin-top: 23px;
    transform: none;
  }

  .agrft-booking-header__reservations,
  .agrft-booking-header__contact {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    align-self: start;
    margin-top: 26px;
  }

  .agrft-booking-header__reservations {
    grid-column: 2;
    justify-self: end;
  }

  .agrft-booking-header__contact {
    grid-column: 4;
    justify-self: start;
  }

  .agrft-booking-page main {
    grid-template-columns: minmax(0, 366px);
    justify-content: center;
  }

  .agrft-booking-footer__teeth,
  html:is([data-agrft-contrast="light"], [data-agrft-contrast="dark"]) .agrft-booking-footer__teeth {
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
  }
}

@media (max-width: 389px) {
  .agrft-booking-header {
    --booking-header-mark-half: 60px;
  }

  .agrft-booking-header__brand {
    top: 26px;
    width: 120px;
    height: 44px;
    background-size: 120px 40px;
  }

  .agrft-booking-footer {
    padding-right: 20px;
    padding-left: 20px;
  }

  .agrft-booking-footer hr,
  .agrft-booking-footer__label,
  .agrft-booking-footer__question,
  .agrft-booking-footer__email,
  .agrft-booking-footer__nav,
  .agrft-booking-footer__copyright {
    right: 20px;
    left: 20px;
  }

  .agrft-booking-footer__email a {
    font-size: 2.2rem;
  }
}

@media (max-height: 430px) {
  .agrft-booking-confirm {
    place-items: start center;
  }

  .agrft-booking-confirm__actions {
    grid-template-columns: 1fr;
  }
}

@media (forced-colors: active) {
  .agrft-booking-page :focus-visible {
    outline: 3px solid Highlight !important;
    outline-offset: 3px;
    box-shadow: none !important;
  }

  .agrft-booking-page button,
  .agrft-booking-page a.agrft-booking-secondary,
  .agrft-booking-stepper button,
  .agrft-booking-page .agrft-booking-confirm__yes,
  .agrft-booking-page .agrft-booking-confirm__no {
    color: ButtonText;
    background: ButtonFace;
    border-color: ButtonText;
  }

  .agrft-booking-confirm__panel {
    outline: 2px solid ButtonText;
  }

  .agrft-booking-location::before {
    background: CanvasText;
    forced-color-adjust: none;
  }
}

@page {
  margin: 0;
}

@media print {
  .agrft-booking-page,
  .agrft-booking-stage,
  .agrft-booking-page main {
    width: 100%;
    min-height: 0;
    color: #000 !important;
    background: #fff !important;
    box-shadow: none;
  }

  .agrft-booking-page main {
    padding: 0;
  }

  .agrft-booking-skip,
  .agrft-booking-header,
  .agrft-booking-footer,
  .agrft-booking-page button,
  .agrft-booking-page form,
  .agrft-booking-page a.agrft-booking-secondary {
    display: none !important;
  }

  .agrft-booking-location__link,
  .agrft-booking-location__address {
    color: #000 !important;
  }

  .agrft-booking-location__link {
    text-decoration: none;
  }

  .agrft-booking-location::before {
    background: #000 !important;
  }

  .agrft-ticket,
  .agrft-booking-card,
  .agrft-booking-edit,
  .agrft-ticket :is(h1, h2, h3, .agrft-reservation-number-card) {
    color: #000 !important;
    border-color: #000 !important;
  }

  .agrft-reservation-number-card {
    background: #fff !important;
  }

  .agrft-ticket,
  .agrft-booking-card,
  .agrft-booking-edit {
    padding: 0;
  }
}
