/* Shared visual refinement for inner pages: theatrical editorial, light and tactile. */
@font-face {
  font-family: "Tryam Editorial";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("assets/fonts/prata-regular.ttf") format("truetype");
}

@font-face {
  font-family: "Tryam Display";
  font-style: normal;
  font-display: swap;
  font-weight: 400 800;
  src: url("assets/fonts/wix-madefor-display-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Tryam Display";
  font-style: normal;
  font-display: swap;
  font-weight: 400 800;
  src: url("assets/fonts/wix-madefor-display-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Tryam Text";
  font-style: normal;
  font-display: swap;
  font-weight: 400 800;
  src: url("assets/fonts/wix-madefor-text-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Tryam Text";
  font-style: normal;
  font-display: swap;
  font-weight: 400 800;
  src: url("assets/fonts/wix-madefor-text-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --paper: #f3f4f1;
  --white: #fbfbf7;
  --line: rgba(20, 32, 44, .14);
  --shadow: 0 30px 80px rgba(35, 55, 72, .13);
}

.catalog-page,
.characters-page,
.extras-page,
.selection-page,
.show-page {
  font-family: "Tryam Text", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  background:
    radial-gradient(circle at 8% 5%, rgba(255, 255, 255, .96), transparent 31rem),
    radial-gradient(circle at 92% 18%, rgba(13, 167, 181, .055), transparent 27rem),
    var(--paper);
}

.catalog-page::after,
.characters-page::after,
.extras-page::after,
.selection-page::after,
.show-page::after {
  content: "";
  position: fixed;
  z-index: 60;
  inset: 0;
  pointer-events: none;
  opacity: .045;
  background-image:
    radial-gradient(circle at 17% 29%, #14202c 0 .45px, transparent .75px),
    radial-gradient(circle at 71% 61%, #14202c 0 .35px, transparent .7px);
  background-position: 0 0, 7px 9px;
  background-size: 13px 13px, 17px 17px;
  mix-blend-mode: multiply;
}

.catalog-page h1,
.catalog-page h2,
.catalog-page h3,
.characters-page h1,
.characters-page h2,
.characters-page h3,
.extras-page h1,
.extras-page h2,
.extras-page h3,
.selection-page h1,
.selection-page h2,
.selection-page h3,
.show-page h1,
.show-page h2,
.show-page h3,
.show-page .fact-main strong,
.show-page .booking-card > strong {
  font-family: "Tryam Editorial", Georgia, serif;
  font-weight: 400;
  letter-spacing: -.03em;
}

.catalog-page .site-header,
.characters-page .site-header,
.extras-page .site-header,
.selection-page .site-header,
.show-page .site-header,
.catalog-page .site-header.is-scrolled,
.characters-page .site-header.is-scrolled,
.extras-page .site-header.is-scrolled,
.selection-page .site-header.is-scrolled,
.show-page .site-header.is-scrolled {
  background: rgba(243, 244, 241, .88);
  box-shadow: 0 10px 36px rgba(20, 32, 44, .035);
}

.catalog-page .button,
.characters-page .button,
.extras-page .button,
.selection-page .button,
.show-page .button {
  border-radius: 11px 11px 25px 11px;
  font-weight: 760;
}

.page-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 34px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: #5c6973;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: 0;
}
.page-back:hover { color: var(--orange); }
.page-back:focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }

/* Shows catalog */
.catalog-intro {
  background:
    radial-gradient(ellipse at 85% 18%, rgba(241, 75, 35, .07), transparent 25rem),
    linear-gradient(145deg, #f7f8f4, #eef3f1);
}

.catalog-list {
  background:
    radial-gradient(ellipse at 12% 28%, rgba(255, 196, 61, .07), transparent 30rem),
    var(--white);
}

.catalog-card img { box-shadow: 0 24px 64px rgba(35, 55, 72, .12); }
.catalog-card:nth-child(3n + 1) img { border-radius: 52px 12px 28px 12px; }
.catalog-card:nth-child(3n + 2) img { border-radius: 12px 52px 12px 28px; }
.catalog-card:nth-child(3n) img { border-radius: 28px 12px 52px 12px; }
.catalog-help > .page-shell { border-radius: 18px 18px 56px 18px; box-shadow: 0 30px 90px rgba(20, 32, 44, .12); }

/* Character programs */
.characters-hero {
  background:
    radial-gradient(ellipse at 76% 26%, rgba(241, 75, 35, .08), transparent 28rem),
    radial-gradient(ellipse at 18% 68%, rgba(255, 196, 61, .09), transparent 26rem),
    linear-gradient(132deg, #f8f8f5, #edf3f1);
}

.hero-photo,
.character-photo,
.editorial-note,
.drawer-panel { box-shadow: 0 28px 76px rgba(35, 55, 72, .12); }
.character-card button { border-radius: 22px 8px 42px 8px; }
.character-card:nth-child(even) button { border-radius: 8px 42px 8px 22px; }
.characters-catalog { background: radial-gradient(ellipse at 88% 14%, rgba(13, 167, 181, .07), transparent 28rem), var(--white); }

/* Extras */
.extras-hero {
  background:
    radial-gradient(ellipse at 80% 24%, rgba(13, 167, 181, .1), transparent 29rem),
    radial-gradient(ellipse at 12% 70%, rgba(255, 196, 61, .09), transparent 24rem),
    linear-gradient(135deg, #f8f8f5, #eef3f1);
}

.extras-catalog { background: radial-gradient(ellipse at 9% 35%, rgba(241, 75, 35, .055), transparent 28rem), var(--white); }
.extra-feature { border-color: rgba(20, 32, 44, .11); box-shadow: 0 28px 76px rgba(35, 55, 72, .11); }
.extra-feature-wide { border-radius: 54px 12px 32px 12px; }
.extra-feature-portrait { border-radius: 12px 46px 12px 28px; }
.extra-feature-yellow { border-radius: 28px 12px 54px 12px; }
.extras-cta-layout { box-shadow: 0 30px 90px rgba(20, 32, 44, .16); }

/* Individual show pages */
.show-page,
.show-page .show-hero,
.show-page .show-language {
  background:
    radial-gradient(ellipse at 84% 18%, rgba(241, 75, 35, .055), transparent 28rem),
    linear-gradient(140deg, #f8f5ed, #f0f3ee);
}

.show-photo-arch,
.story-image,
.video-frame,
.booking-card,
.gallery-editorial figure { box-shadow: 0 28px 78px rgba(35, 55, 72, .14); }
.show-photo-arch { border-radius: 48% 48% 32px 12px / 18% 18% 32px 12px; }
.show-facts,
.show-gallery { background: radial-gradient(ellipse at 12% 22%, rgba(255, 196, 61, .06), transparent 26rem), var(--white); }
.booking-card { border-radius: 12px 12px 38px 12px; }

@media (max-width: 767px) {
  .catalog-page::after,
  .characters-page::after,
  .extras-page::after,
  .show-page::after { opacity: .035; }

  .catalog-card:nth-child(n) img,
  .extra-feature,
  .extra-feature-wide,
  .extra-feature-portrait,
  .extra-feature-yellow { border-radius: 28px 10px 38px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .catalog-card img,
  .character-photo,
  .extra-feature,
  .show-photo-arch { transition: none; }
}
