/* Gourara Lab & Cine Pocket now use the homepage film / jury rails.
   Isolated from the home page, so existing homepage and other initiatives
   retain their own layout, controls and scripts. */
.tm-gourara-reels .tm-initiative-match-carousel {
  position: relative;
  direction: inherit;
  padding: 0 0 clamp(48px, 5.5vw, 78px) !important;
  margin: 0;
  background: transparent !important;
  color: #111318;
  overflow: visible;
}
.tm-gourara-reels .tm-initiative-match-carousel + .tm-initiative-match-carousel {
  border-top: 1px solid rgba(17, 19, 24, .1);
  padding-top: clamp(38px, 4.5vw, 62px) !important;
}
.tm-gourara-reels .tm-initiative-match-carousel[dir="ltr"] { direction: ltr !important; }
.tm-gourara-reels .tm-initiative-match-carousel[dir="rtl"] { direction: rtl !important; }
.tm-gourara-reels .tm-initiative-match-carousel,
.tm-gourara-reels .tm-initiative-match-carousel * { box-sizing: border-box; }
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__inner, .tm-home-juries__inner) {
  display: grid;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  gap: clamp(24px, 3vw, 36px) !important;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__header, .tm-home-juries__header) {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between;
  min-height: 0;
  gap: 20px !important;
  padding: 0 0 18px !important;
  margin: 0;
  border-bottom: 1px solid #d8d8d8 !important;
}
.tm-gourara-reels .tm-initiative-match-carousel__heading { display: block; min-width: 0; color: inherit; text-decoration: none; }
.tm-gourara-reels .tm-initiative-match-carousel__kicker {
  display: block;
  margin: 0 0 10px;
  font-family: var(--tm-font-heading, var(--tm-font-body, Arial, sans-serif));
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .025em;
  color: #a75239;
}
.tm-gourara-reels .tm-initiative-match-carousel__heading h2 {
  width: auto;
  max-width: 100%;
  margin: 0 !important;
  color: #111318 !important;
  font-family: var(--tm-font-heading, var(--tm-font-body, Arial, sans-serif)) !important;
  font-size: clamp(2rem, 3vw, 3.05rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel-wrap, .tm-home-juries__carousel-wrap) {
  position: relative;
  width: min(1240px, calc(100% - 74px));
  max-width: 100%;
  margin-inline: auto;
  overflow: visible;
}
.tm-gourara-reels .tm-initiative-match-carousel.tm-home-juries .tm-home-juries__carousel-wrap {
  width: min(1120px, calc(100% - 74px));
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel, .tm-home-juries__carousel) {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: flex-start;
  --tm-match-gap: clamp(12px, 1.4vw, 20px);
  gap: var(--tm-match-gap);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 4px 0 14px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  transform: none !important;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel, .tm-home-juries__carousel)::-webkit-scrollbar { display: none; }
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card, .tm-home-jury-card) {
  flex: 0 0 calc((100% - var(--tm-match-gap) - var(--tm-match-gap) - var(--tm-match-gap)) / 4) !important;
  width: calc((100% - var(--tm-match-gap) - var(--tm-match-gap) - var(--tm-match-gap)) / 4) !important;
  max-width: none;
  min-width: 0;
  aspect-ratio: 2 / 3 !important;
  scroll-snap-align: start;
  border-radius: 18px !important;
  overflow: hidden;
  background: #d7dade;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__button, .tm-home-jury-card__button) {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 18px !important;
  background: #d7dade;
  overflow: hidden;
  cursor: pointer;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__button, .tm-home-jury-card__button) img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  transition: transform .35s ease, filter .35s ease;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__button, .tm-home-jury-card__button):hover img {
  transform: scale(1.035);
  filter: saturate(1.02) contrast(1.04);
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__mobile-copy, .tm-home-jury-card__mobile-copy) { display: none; }
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow, .tm-home-juries__arrow) {
  position: absolute;
  z-index: 4;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  min-width: 0;
  padding: 0;
  border: 1px solid rgba(17, 19, 24, .20);
  border-radius: 50%;
  background: rgba(255, 255, 255, .78);
  color: #111318;
  box-shadow: 0 8px 24px rgba(17, 19, 24, .10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: Arial, sans-serif;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  opacity: .88;
  transition: opacity .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow, .tm-home-juries__arrow):not(:disabled):hover {
  opacity: 1;
  color: #fff;
  background: #111318;
  transform: translateY(-50%) scale(1.04);
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow, .tm-home-juries__arrow):disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow--right, .tm-home-juries__arrow--right) { right: -62px; }
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow--left, .tm-home-juries__arrow--left) { left: -62px; }
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__button, .tm-home-jury-card__button, .tm-home-films__arrow, .tm-home-juries__arrow):focus-visible { outline: 3px solid #6d91aa; outline-offset: 3px; }
.tm-gourara-reels .tm-initiative-match-carousel__empty {
  display: grid;
  place-items: center;
  min-height: 160px;
  padding: 36px 20px;
  text-align: center;
  color: #575a60;
  background: rgba(255, 255, 255, .65);
  border: 1px solid #d8d8d8;
}
.tm-gourara-reels .tm-initiative-match-carousel__empty p { margin: 0; font-size: 16px; line-height: 1.85; }
/* The LTR version keeps previous on the left and next on the right. */
.tm-gourara-reels .tm-initiative-match-carousel[dir="ltr"] :is(.tm-home-films__prev, .tm-home-juries__prev) {
  left: -62px;
  right: auto;
}
.tm-gourara-reels .tm-initiative-match-carousel[dir="ltr"] :is(.tm-home-films__next, .tm-home-juries__next) {
  right: -62px;
  left: auto;
}
/* Page-specific modal exceptions use the same homepage film/jury dialog shells. */
.tm-initiative-match-modal[hidden] { display: none !important; }
.tm-initiative-match-modal { direction: inherit; }
.tm-initiative-match-modal .tm-home-film-modal__panel,
.tm-initiative-match-modal .tm-home-jury-modal__panel { border-radius: 0; }
.tm-initiative-match-modal .tm-home-film-modal__media img,
.tm-initiative-match-modal .tm-home-jury-modal__media img { min-height: 100%; }
.tm-initiative-match-modal--image-only :is(.tm-home-film-modal__panel, .tm-home-jury-modal__panel) {
  grid-template-columns: minmax(0, 1fr);
  width: min(560px, 100%);
  max-height: calc(100dvh - 48px);
}
.tm-initiative-match-modal--image-only :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) {
  min-height: 0;
  max-height: calc(100dvh - 48px);
  aspect-ratio: 2 / 3;
  background: #111318;
}
.tm-initiative-match-modal--image-only :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) img { object-fit: contain; }
.tm-initiative-match-modal__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 16px;
  margin-top: 24px;
  padding-block: 9px;
  border-bottom: 2px solid #b66442;
  color: #111318;
  font-weight: 700;
  text-decoration: none;
}
.tm-initiative-match-modal__link:hover { color: #a44b34; }
.tm-initiative-match-modal__link:focus-visible { outline: 3px solid #6d91aa; outline-offset: 3px; }
@media (max-width: 1180px) {
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel-wrap, .tm-home-juries__carousel-wrap),
  .tm-gourara-reels .tm-initiative-match-carousel.tm-home-juries .tm-home-juries__carousel-wrap { width: calc(100% - 58px); }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow--right, .tm-home-juries__arrow--right) { right: -48px; }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow--left, .tm-home-juries__arrow--left) { left: -48px; }
  .tm-gourara-reels .tm-initiative-match-carousel[dir="ltr"] :is(.tm-home-films__prev, .tm-home-juries__prev) { left: -48px; right: auto; }
  .tm-gourara-reels .tm-initiative-match-carousel[dir="ltr"] :is(.tm-home-films__next, .tm-home-juries__next) { right: -48px; left: auto; }
}
@media (max-width: 1099px) and (min-width: 821px) {
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card, .tm-home-jury-card) {
    flex: 0 0 calc((100% - var(--tm-match-gap) - var(--tm-match-gap)) / 3) !important;
    width: calc((100% - var(--tm-match-gap) - var(--tm-match-gap)) / 3) !important;
  }
}
@media (max-width: 820px) {
  .tm-gourara-reels .tm-initiative-match-carousel {
    padding-bottom: clamp(32px, 5vw, 48px) !important;
  }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__inner, .tm-home-juries__inner) { gap: 20px !important; }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel-wrap, .tm-home-juries__carousel-wrap),
  .tm-gourara-reels .tm-initiative-match-carousel.tm-home-juries .tm-home-juries__carousel-wrap { width: 100%; }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel, .tm-home-juries__carousel) {
    gap: 14px !important;
    width: calc(100% + 32px) !important;
    max-width: none !important;
    margin-inline: -16px !important;
    padding: 4px 16px 16px !important;
    scroll-padding-inline: 16px !important;
  }
  .tm-gourara-reels .tm-initiative-match-carousel .tm-home-film-card {
    flex: 0 0 min(62vw, 238px) !important;
    width: min(62vw, 238px) !important;
  }
  .tm-gourara-reels .tm-initiative-match-carousel .tm-home-jury-card {
    flex: 0 0 min(72vw, 286px) !important;
    width: min(72vw, 286px) !important;
  }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow, .tm-home-juries__arrow) { display: none !important; }
}
@media (max-width: 620px) {
  .tm-gourara-reels .tm-initiative-match-carousel__heading h2 { font-size: 1.9rem !important; }
  .tm-gourara-reels .tm-initiative-match-carousel__kicker { font-size: 11px; }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__header, .tm-home-juries__header) { padding-bottom: 14px !important; }
  .tm-initiative-match-modal { padding: 12px; }
  .tm-initiative-match-modal :is(.tm-home-film-modal__panel, .tm-home-jury-modal__panel) {
    display: block;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
  }
  .tm-initiative-match-modal :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 5;
  }
  .tm-initiative-match-modal :is(.tm-home-film-modal__content, .tm-home-jury-modal__content) { padding: 25px 22px 30px; }
  .tm-initiative-match-modal--image-only :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) {
    aspect-ratio: 2 / 3;
    max-height: calc(100dvh - 24px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__button, .tm-home-jury-card__button) img,
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__arrow, .tm-home-juries__arrow) { transition: none !important; }
}


/* v4.19.37 — Reliable finger swipes and readable card dialogs on phones. */
.tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-track] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y !important;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-track] > [data-tm-initiative-card] {
  scroll-snap-stop: normal !important;
  -webkit-user-select: none;
  user-select: none;
}
.tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-track] img {
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}
/* Keep the entire button, including the text overlay, tappable. */
.tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-open] {
  touch-action: pan-x pan-y;
  -webkit-tap-highlight-color: rgba(167,82,57,.15);
}
/* The modal is moved directly below <body> when opened to escape clipped rails. */
body > .tm-initiative-match-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  box-sizing: border-box;
}
body > .tm-initiative-match-modal .tm-home-film-modal__panel,
body > .tm-initiative-match-modal .tm-home-jury-modal__panel {
  box-sizing: border-box;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 820px) {
  .tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-track] {
    scroll-snap-type: x proximity !important;
    scroll-behavior: auto !important;
    touch-action: pan-x pan-y !important;
    overscroll-behavior-inline: contain;
  }
  .tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-track] > [data-tm-initiative-card] {
    scroll-snap-align: start !important;
  }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__mobile-copy, .tm-home-jury-card__mobile-copy) {
    position: absolute;
    z-index: 2;
    inset-inline: 0;
    bottom: 0;
    display: flex !important;
    align-items: flex-end;
    min-height: 76px;
    padding: 28px 14px 15px;
    color: #fff;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.86));
    pointer-events: none;
    text-align: start;
  }
  .tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-film-card__mobile-copy, .tm-home-jury-card__mobile-copy) strong {
    color: #fff !important;
    font-family: var(--tm-font-heading, var(--tm-font-body, sans-serif));
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  body > .tm-initiative-match-modal {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100vw;
    height: 100dvh;
    min-height: 0;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body > .tm-initiative-match-modal[hidden] { display: none !important; }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__panel, .tm-home-jury-modal__panel) {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch;
    width: min(510px, 100%) !important;
    max-height: 100% !important;
    min-height: 0;
    margin: 0 auto;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 12px !important;
    background: #fff;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) {
    flex: 0 0 auto;
    min-height: 0 !important;
    max-height: none !important;
    width: 100%;
    height: clamp(150px, 35dvh, 310px) !important;
    aspect-ratio: auto !important;
    background: #16191e;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) img {
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__content, .tm-home-jury-modal__content) {
    display: block;
    flex: 0 0 auto;
    min-width: 0;
    padding: 20px 20px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__content h3, .tm-home-jury-modal__content h3) {
    margin-bottom: 14px;
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__summary, .tm-home-jury-modal__bio) {
    font-size: 14px !important;
    line-height: 1.9;
    overflow-wrap: anywhere;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__close, .tm-home-jury-modal__close) {
    position: fixed !important;
    inset-block-start: calc(17px + env(safe-area-inset-top, 0px)) !important;
    inset-inline-start: calc(17px + env(safe-area-inset-left, 0px)) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #111318 !important;
    color: #fff !important;
    z-index: 3;
  }
  body > .tm-initiative-match-modal--image-only :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) {
    height: auto !important;
    max-height: 78dvh !important;
    aspect-ratio: 2 / 3 !important;
  }
  body > .tm-initiative-match-modal--image-only :is(.tm-home-film-modal__media, .tm-home-jury-modal__media) img {
    object-fit: contain !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tm-gourara-reels .tm-initiative-match-carousel [data-tm-initiative-track] { scroll-behavior: auto !important; }
}

/* Constrain the grid min-content size: otherwise the five posters stretch
   the entire grid column to ~1300px on a 390px phone, leaving no scroll. */
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__inner, .tm-home-juries__inner) {
  grid-template-columns: minmax(0, 1fr) !important;
  min-width: 0 !important;
}
.tm-gourara-reels .tm-initiative-match-carousel :is(.tm-home-films__carousel-wrap, .tm-home-juries__carousel-wrap) {
  min-width: 0 !important;
  max-width: 100% !important;
}


/* The scrollable modal content is separate from the close button. */
.tm-initiative-match-modal__scroll { display: contents; }
@media (max-width: 820px) {
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__panel, .tm-home-jury-modal__panel) {
    overflow: hidden !important;
  }
  body > .tm-initiative-match-modal .tm-initiative-match-modal__scroll {
    display: block !important;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }
  body > .tm-initiative-match-modal :is(.tm-home-film-modal__close, .tm-home-jury-modal__close) {
    position: absolute !important;
    inset-block-start: 12px !important;
    inset-inline-start: 12px !important;
    z-index: 5 !important;
    box-shadow: 0 3px 14px rgba(0,0,0,.32);
  }
}
