/* Bundled stylesheet. See assets/src/css/manifest.json. */

/* One quiet, bilingual visual hierarchy for the five cinema experiences.
   This layer deliberately targets only the shared creative-program hero. */
.tm-unified-page-hero--cinema {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: clamp(455px, 35vw, 555px);
  border: 0;
  background: #181719;
  color: #f7f4ee;
}
.tm-unified-page-hero--cinema .tm-unified-page-hero__copy {
  min-width: 0;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(42px, 4.6vw, 78px) clamp(34px, 4.75vw, 84px);
  text-align: start;
}
.tm-unified-page-hero--cinema .tm-unified-page-hero__title {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.05rem, 3vw, 3.5rem);
  line-height: 1.30;
  font-weight: 700;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.tm-unified-page-hero--cinema .tm-unified-page-hero__description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  max-width: 46ch;
  margin: clamp(16px, 1.8vw, 27px) 0 0;
  overflow: hidden;
  color: #d7d2cb;
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0;
  text-align: start;
  text-wrap: pretty;
  overflow-wrap: break-word;
}
.tm-unified-page-hero--cinema .tm-unified-page-hero__image {
  min-height: clamp(455px, 35vw, 555px);
  background: #29252a;
}
.tm-unified-page-hero--cinema .tm-unified-page-hero__image img {
  display: block;
  object-fit: cover;
  object-position: center;
}
/* A text-only hero remains elegant when a page has no uploaded artwork. */
.tm-unified-page-hero--cinema.tm-unified-page-hero--text-only {
  grid-template-columns: minmax(0, 1fr);
  min-height: 290px;
  border: 0;
}
.tm-unified-page-hero--cinema.tm-unified-page-hero--text-only .tm-unified-page-hero__copy {
  width: min(1220px, calc(100% - 80px));
  max-width: 1220px;
  padding: clamp(44px, 5vw, 75px) 0;
  margin-inline: auto;
}
.tm-unified-page-hero--cinema.tm-unified-page-hero--text-only .tm-unified-page-hero__description {
  max-width: 69ch;
}
/* The first content area is now the actual carousel, not a second introduction. */
:is(.tm-gourara-reels, .tm-cine-social) {
  padding-top: clamp(28px, 3.2vw, 48px) !important;
}
.tm-workshops-page {
  padding-top: clamp(28px, 3.2vw, 48px) !important;
}
.tm-sunset-page {
  min-height: 0;
  padding: clamp(28px, 3.2vw, 48px) 0 clamp(32px, 4vw, 60px) !important;
}
.tm-sunset-page__galleries {
  padding-top: 0 !important;
}
.tm-special-screenings-page {
  background: #f4f2ef;
}
.tm-special-screenings-page .tm-films-catalog-page {
  padding-top: clamp(24px, 3.2vw, 48px) !important;
}
/* A two-column hero should not squeeze six lines into a tablet-sized column. */
@media (max-width: 980px) {
  .tm-unified-page-hero--cinema {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__image {
    order: -1;
    min-height: 0;
    height: clamp(210px, 37vw, 350px);
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__copy {
    padding: clamp(27px, 4.4vw, 42px) clamp(24px, 5vw, 54px) clamp(32px, 5vw, 48px);
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__title {
    max-width: 24ch;
    font-size: clamp(1.8rem, 4.35vw, 2.75rem);
    line-height: 1.35;
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__description {
    display: block;
    max-width: 72ch;
    overflow: visible;
    font-size: clamp(15px, 2vw, 17px);
    line-height: 1.85;
    margin-top: 15px;
  }
  .tm-unified-page-hero--cinema.tm-unified-page-hero--text-only .tm-unified-page-hero__copy {
    width: calc(100% - 48px);
    padding: 40px 0;
  }
}
@media (max-width: 580px) {
  .tm-unified-page-hero--cinema .tm-unified-page-hero__image {
    height: clamp(190px, 54vw, 275px);
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__copy {
    padding: 28px 22px 32px;
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__title {
    max-width: none;
    font-size: clamp(1.65rem, 6.1vw, 2.1rem);
    line-height: 1.4;
  }
  .tm-unified-page-hero--cinema .tm-unified-page-hero__description {
    margin-top: 13px;
    font-size: 15px;
    line-height: 1.95;
  }
  .tm-unified-page-hero--cinema.tm-unified-page-hero--text-only .tm-unified-page-hero__copy {
    width: calc(100% - 44px);
    padding: 32px 0;
  }
  :is(.tm-gourara-reels, .tm-cine-social, .tm-workshops-page, .tm-sunset-page) {
    padding-top: 26px !important;
  }
}
