.bg-cream {
  background: #fcf8ee;
  color: #000;
}
.bg-cream .button.btn-white {
  background: #000;
  color: #fff;
}
.bg-cream .button.btn-white::after {
  content: url(/wp-content/themes/twoten-blocks/assets/icons/button-arrow-white.svg);
}

.bg-black {
  background: #000;
  color: #fff;
}

.bg-blue-grey {
  background: #202124 !important;
  color: #fff;
}

.bg-grey {
  background: #f2f2f2;
  color: #000;
}

.bg-light-grey {
  background: #f8f8f8;
  color: #000;
}

.bg-mint {
  background: rgba(216, 235, 235, 0.4);
  color: #000;
}

.bg-green,
.bg-dark {
  background: rgb(14, 39, 40);
  color: #fff;
}

.bg-blue {
  background: #181e28;
  color: #fff;
}

.bg-brown {
  background: #eae2cf;
  color: #000;
}

.bg-pink {
  background: #ffe1d7;
  color: #000;
}

.bg-white {
  background: #fff;
  color: #000;
}

.bg-off-white {
  background: #f8f8f8;
  color: #000;
}

.bg-green .button,
.bg-dark .button,
.bg-brown .button,
.bg-light-text .button {
  border: 1px solid #fff;
}
.bg-green .button::after,
.bg-dark .button::after,
.bg-brown .button::after,
.bg-light-text .button::after {
  content: url(/wp-content/themes/twoten-blocks/assets/icons/button-arrow.svg) !important;
}
.bg-green .button.btn-black,
.bg-dark .button.btn-black,
.bg-brown .button.btn-black,
.bg-light-text .button.btn-black {
  background: #fff !important;
  color: #000 !important;
}
.bg-green .button.btn-black::after,
.bg-dark .button.btn-black::after,
.bg-brown .button.btn-black::after,
.bg-light-text .button.btn-black::after {
  content: url("/wp-content/themes/twoten-blocks/assets/icons/button-arrow-white.svg") !important;
}

.bg-light-text {
  color: #fff !important;
}
.bg-light-text .button {
  color: #fff !important;
}

#page.bg-black header .header-container {
  background: rgba(255, 255, 255, 0.75);
}

/* ------------------------------------------------------------------------
 * Page chrome: hide everything that isn't the exhibition block.
 * The body class is added in init.php when a singular post has the block.
 * ---------------------------------------------------------------------- */
html:has(body.exhibition-stand-page) {
  /* iPad / touch kiosk: no rubber-band bounce, no double-tap zoom. */
  overscroll-behavior: none;
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
}

body.exhibition-stand-page {
  background: #000;
  color: #fff;
  overscroll-behavior: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
body.exhibition-stand-page #masthead,
body.exhibition-stand-page #newsletter-signup,
body.exhibition-stand-page #colophon,
body.exhibition-stand-page #cookie-banner,
body.exhibition-stand-page .cookie-banner,
body.exhibition-stand-page #mobile-nav-container,
body.exhibition-stand-page .embeddedMessagingFrame,
body.exhibition-stand-page #embeddedMessagingFrame,
body.exhibition-stand-page .embedded-messaging,
body.exhibition-stand-page .embeddedMessagingConversationButtonWrapper,
body.exhibition-stand-page .embeddedMessagingConversationButton {
  display: none !important;
}
body.exhibition-stand-page #page,
body.exhibition-stand-page #primary {
  background: #000;
  padding: 0;
  margin: 0;
}
body.exhibition-stand-page.exhibition-stand-light {
  background: #fff;
  color: #000;
}
body.exhibition-stand-page.exhibition-stand-light #page,
body.exhibition-stand-page.exhibition-stand-light #primary {
  background: #fff;
}

.wp-block-acf-exhibition-stand {
  background: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
  padding: 60px 0;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  /* Full-screen stand mode: fill the display, tighter on short screens. */
  /* ---- top bar (optional logo / heading) ---- */
  /* ---- product carousel ---- */
  /* Product cards: same dimensions as the home page Product Slider, on a
     white card so the images read correctly against the black page. */
  /* ---- side-by-side cycling cards ---- */
  /* The "drum": a vertical list that scrolls so the active item sits in the
     middle, with neighbours fading out above and below. */
  /* progress bar that refills each interval */
  /* ---- light theme ---- */
}
@media (max-width: 880px) {
  .wp-block-acf-exhibition-stand {
    gap: 20px;
    padding: 40px 0;
  }
}
.wp-block-acf-exhibition-stand.is-fullscreen {
  min-height: 100vh;
  min-height: 100dvh;
  padding: 32px 0;
}
@media (max-width: 880px), (max-height: 900px) {
  .wp-block-acf-exhibition-stand.is-fullscreen {
    gap: 20px;
    padding: 20px 0;
  }
}
.wp-block-acf-exhibition-stand img {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
.wp-block-acf-exhibition-stand h2,
.wp-block-acf-exhibition-stand h3,
.wp-block-acf-exhibition-stand h4,
.wp-block-acf-exhibition-stand p {
  color: #fff;
}
.wp-block-acf-exhibition-stand .exh-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.wp-block-acf-exhibition-stand .exh-logo {
  max-height: 60px;
  width: auto;
}
@media (max-width: 620px) {
  .wp-block-acf-exhibition-stand .exh-logo {
    max-height: 40px;
  }
}
.wp-block-acf-exhibition-stand .exh-products-title {
  margin: 0;
  font-size: 30px;
  line-height: 1.1;
}
@media (max-width: 620px) {
  .wp-block-acf-exhibition-stand .exh-products-title {
    font-size: 22px;
  }
}
.wp-block-acf-exhibition-stand .exh-carousel {
  width: 100%;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  padding: 14px 0;
}
.wp-block-acf-exhibition-stand .exh-carousel.is-dragging {
  cursor: grabbing;
}
.wp-block-acf-exhibition-stand .exh-track {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 20px;
  width: max-content;
  will-change: transform;
}
.wp-block-acf-exhibition-stand .exh-track.is-dragging a {
  pointer-events: none;
}
.wp-block-acf-exhibition-stand .product-type-card {
  flex: 0 0 auto;
  /* Same 500px card as the home slider, shrinking on short screens so the
     carousel and both cards fit on one 16:9 display without scrolling. */
  height: 500px;
  aspect-ratio: 1/1;
  border-radius: 15px;
  border: 1px solid #babcbe;
  background: #fff;
  color: #000;
}
@media (max-width: 768px) {
  .wp-block-acf-exhibition-stand .product-type-card {
    height: 400px;
  }
}
@media (max-width: 620px) {
  .wp-block-acf-exhibition-stand .product-type-card {
    height: 300px;
    aspect-ratio: unset;
    width: 260px;
  }
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content {
  border-radius: 10px;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  width: 100%;
  /* With the Read More button gone the image fills the rest of the card. */
  /* No click-through on the stand: drop the Read More button and its
     wrapper so the image gets the space. */
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner h4 {
  margin: 0;
  color: #000;
  font-size: 30px;
  line-height: 34px;
  height: 60px;
}
@media (max-height: 900px) {
  .wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner h4 {
    font-size: 24px;
    line-height: 28px;
    height: 56px;
  }
}
@media (max-width: 620px) {
  .wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner h4 {
    font-size: 20px;
    font-weight: 300;
    line-height: 25px;
    letter-spacing: -0.8px;
    height: auto;
  }
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner p {
  color: #000;
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner .product-featured-image {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  width: 100%;
  margin-top: 12px;
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner .product-featured-image img {
  display: block;
  padding: 0;
  height: 100%;
  width: 100%;
  max-height: none;
  object-fit: contain;
  pointer-events: none;
  -webkit-user-drag: none;
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner .button {
  display: none !important;
}
.wp-block-acf-exhibition-stand .product-type-card .product-card-content .product-card-content-inner > div:has(> .button) {
  display: none;
}
.wp-block-acf-exhibition-stand.is-fullscreen .product-type-card {
  height: min(500px, 42vh);
}
@media (max-height: 900px) {
  .wp-block-acf-exhibition-stand.is-fullscreen .product-type-card {
    height: min(400px, 40vh);
  }
}
@media (max-width: 620px) {
  .wp-block-acf-exhibition-stand.is-fullscreen .product-type-card {
    height: min(300px, 36vh);
  }
}
.wp-block-acf-exhibition-stand .exh-cards {
  display: grid;
  grid-template-columns: repeat(var(--exh-card-count, 2), minmax(0, 1fr));
  gap: 20px;
}
@media (max-width: 1024px) {
  .wp-block-acf-exhibition-stand .exh-cards {
    /* iPad portrait: up to three across so the stand still fits one screen. */
    grid-template-columns: repeat(min(var(--exh-card-count, 2), 3), minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .wp-block-acf-exhibition-stand .exh-cards {
    grid-template-columns: 1fr;
  }
}
.wp-block-acf-exhibition-stand .exh-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #000;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 15px;
  padding: 24px 28px;
  overflow: hidden;
  cursor: pointer;
  container-type: inline-size;
  /* Vertical swipes on a card are handled in JS (next / previous). */
  touch-action: none;
}
@media (max-width: 1024px), (max-height: 900px) {
  .wp-block-acf-exhibition-stand .exh-card {
    padding: 20px;
  }
}
.wp-block-acf-exhibition-stand .exh-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}
.wp-block-acf-exhibition-stand .exh-eyebrow {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
@media (max-width: 880px), (max-height: 900px) {
  .wp-block-acf-exhibition-stand .exh-eyebrow {
    font-size: 20px;
  }
}
@container (max-width: 300px) {
  .wp-block-acf-exhibition-stand .exh-eyebrow {
    font-size: 18px;
  }
}
.wp-block-acf-exhibition-stand .exh-counter {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  opacity: 0.6;
  white-space: nowrap;
  flex-shrink: 0;
}
.wp-block-acf-exhibition-stand .exh-drum {
  --exh-item-h: 84px;
  --exh-visible: 3;
  flex: 1 1 auto;
  position: relative;
  height: calc(var(--exh-item-h) * var(--exh-visible));
  margin: 16px 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
}
@media (max-height: 900px) {
  .wp-block-acf-exhibition-stand .exh-drum {
    --exh-item-h: 72px;
    margin: 10px 0;
  }
}
@media (max-width: 620px) {
  .wp-block-acf-exhibition-stand .exh-drum {
    --exh-item-h: 64px;
  }
}
.wp-block-acf-exhibition-stand .exh-drum-list {
  list-style: none;
  margin: 0;
  padding: 0;
  /* Start with the first item centred: offset by (visible-1)/2 rows. */
  transform: translate3d(0, calc(var(--exh-item-h) * (var(--exh-visible) - 1) / 2), 0);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.wp-block-acf-exhibition-stand .exh-drum-list.no-transition {
  transition: none;
}
.wp-block-acf-exhibition-stand .exh-drum-item {
  color: var(--exh-text, currentColor);
  height: var(--exh-item-h);
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  opacity: 0.22;
  transform: scale(0.94);
  transform-origin: left center;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.wp-block-acf-exhibition-stand .exh-drum-item.is-active {
  opacity: 1;
  transform: scale(1);
}
.wp-block-acf-exhibition-stand .exh-drum-title {
  display: block;
  font-size: 40px;
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /* Narrower cards (three across, iPad portrait): smaller type that wraps
     to two lines instead of truncating. */
}
@media (max-height: 900px) {
  .wp-block-acf-exhibition-stand .exh-drum-title {
    font-size: 28px;
  }
}
@container (max-width: 500px) {
  .wp-block-acf-exhibition-stand .exh-drum-title {
    font-size: 28px;
    line-height: 1.1;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}
@container (max-width: 300px) {
  .wp-block-acf-exhibition-stand .exh-drum-title {
    font-size: 22px;
  }
}
.wp-block-acf-exhibition-stand .exh-drum-sub {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  opacity: 0.7;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wp-block-acf-exhibition-stand .exh-progress {
  height: 2px;
  width: 100%;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  overflow: hidden;
}
.wp-block-acf-exhibition-stand .exh-progress-bar {
  display: block;
  height: 100%;
  width: 100%;
  background: var(--exh-text, currentColor);
  transform-origin: left center;
  transform: scaleX(0);
}
.wp-block-acf-exhibition-stand .exh-progress-bar.is-running {
  animation: exh-progress var(--exh-interval, 5s) linear forwards;
}
@keyframes exh-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
.wp-block-acf-exhibition-stand .exh-empty {
  opacity: 0.6;
}
.wp-block-acf-exhibition-stand.is-light {
  background: #fff;
  color: #000;
}
.wp-block-acf-exhibition-stand.is-light h2,
.wp-block-acf-exhibition-stand.is-light h3,
.wp-block-acf-exhibition-stand.is-light h4,
.wp-block-acf-exhibition-stand.is-light p {
  color: #000;
}
.wp-block-acf-exhibition-stand.is-light .exh-card {
  background: #ececec;
  color: #000;
  border-color: transparent;
}
.wp-block-acf-exhibition-stand.is-light .exh-drum {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
}
.wp-block-acf-exhibition-stand.is-light .exh-drum-item {
  opacity: 0.3;
}
.wp-block-acf-exhibition-stand.is-light .exh-drum-item.is-active {
  opacity: 1;
}
.wp-block-acf-exhibition-stand.is-light .exh-progress {
  background: rgba(0, 0, 0, 0.12);
}

/*# sourceMappingURL=exhibition-stand.css.map */
