/* Catalog Movies: scoped translation of project_Catalog FilmsPage; shared UI tokens. */
.gc-movie-filter-sticky {
  position: sticky;
  z-index: 40;
  top: 4rem;
  border-bottom: 1px solid var(--gc-border);
  background: color-mix(in srgb, var(--gc-bg) 95%, transparent);
  backdrop-filter: blur(1rem);
}

.gc-movie-filter-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: .65rem;
  align-items: center;
  padding-block: .7rem;
}

.gc-movie-filter-bar > p {
  color: var(--gc-subtle);
  font-size: .68rem;
  white-space: nowrap;
}

.gc-movie-filter { position: relative; min-width: 0; }

.gc-movie-filter-trigger {
  display: flex;
  width: 100%;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .45rem .7rem;
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius);
  background: var(--gc-surface);
  color: var(--gc-muted);
  text-align: left;
  transition: border-color 150ms ease, color 150ms ease, background-color 150ms ease;
}

.gc-movie-filter-trigger > span:first-child { display: grid; gap: .05rem; min-width: 0; }
.gc-movie-filter-trigger small { color: var(--gc-subtle); font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; }
.gc-movie-filter-trigger strong { overflow: hidden; font-family: var(--gc-heading); font-size: .78rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.gc-movie-filter-trigger:hover,
.gc-movie-filter-trigger.is-open { border-color: var(--gc-accent); color: var(--gc-text); }
.gc-movie-filter-trigger.is-active { border-color: color-mix(in srgb, var(--gc-accent) 55%, var(--gc-border)); background: color-mix(in srgb, var(--gc-accent) 7%, var(--gc-surface)); color: var(--gc-accent); }
.gc-movie-filter-trigger.is-open .gc-icon-small { transform: rotate(180deg); }

.gc-movie-filter-menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + .4rem);
  left: 0;
  width: max(100%, 13rem);
  max-height: min(24rem, 65vh);
  overflow-y: auto;
  padding: .35rem;
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius);
  background: var(--gc-surface);
  box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--gc-bg) 55%, transparent);
}

.gc-movie-filter-menu a {
  display: flex;
  justify-content: space-between;
  padding: .6rem .7rem;
  border-radius: .2rem;
  color: var(--gc-muted);
  font-size: .82rem;
}

.gc-movie-filter-menu a:hover { background: var(--gc-elevated); color: var(--gc-text); }
.gc-movie-filter-menu a.is-selected { color: var(--gc-accent); }

.gc-movie-catalog-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gc-border);
}

.gc-movie-catalog-actions { display: flex; align-items: center; gap: .55rem; }

.gc-view-switcher {
  display: flex;
  overflow: hidden;
  border: 1px solid var(--gc-border);
  border-radius: .25rem;
  background: var(--gc-surface);
}

.gc-view-switcher button {
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  color: var(--gc-subtle);
  transition: color 150ms ease, background-color 150ms ease;
}

.gc-view-switcher button + button { border-left: 1px solid var(--gc-border); }
.gc-view-switcher button:hover { color: var(--gc-text); }
.gc-view-switcher button.is-active { background: color-mix(in srgb, var(--gc-accent) 13%, var(--gc-surface)); color: var(--gc-accent); }
.gc-view-switcher svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.gc-sort-future {
  margin-top: .3rem;
  padding: .55rem .7rem .3rem;
  border-top: 1px solid var(--gc-border);
  color: var(--gc-subtle);
  font-family: var(--gc-heading);
  font-size: .55rem;
  letter-spacing: .08em;
  line-height: 1.4;
}

.gc-movie-catalog { display: grid; gap: 1rem; }
.gc-movie-catalog { grid-template-columns: 1fr; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.gc-movie-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius);
  background: var(--gc-surface);
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.gc-movie-card:hover {
  border-color: color-mix(in srgb, var(--gc-accent) 48%, var(--gc-border));
  transform: translateY(-1px);
  box-shadow: 0 .8rem 2rem color-mix(in srgb, var(--gc-bg) 65%, transparent);
}

.gc-movie-card:focus-within { border-color: var(--gc-accent); }
.gc-movie-card { display: grid; grid-template-columns: 12.5rem minmax(0, 1fr); min-height: 18.75rem; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card { display: flex; flex-direction: column; }

.gc-movie-poster {
  position: relative;
  display: block;
  min-height: 0;
  overflow: hidden;
  background: var(--gc-elevated);
}

.gc-movie-card .gc-movie-poster { height: 100%; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-poster { aspect-ratio: 2 / 3; }

.gc-movie-poster > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms cubic-bezier(.2,.8,.2,1);
}

.gc-movie-card:hover .gc-movie-poster > img { transform: scale(1.035); }

.gc-movie-poster-missing {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: 1rem;
  background: linear-gradient(145deg, var(--gc-surface), var(--gc-elevated));
  color: var(--gc-subtle);
  font-family: var(--gc-heading);
  font-size: .58rem;
  letter-spacing: .09em;
  text-align: center;
}

.gc-movie-upcoming,
.gc-movie-age {
  position: absolute;
  z-index: 2;
  padding: .25rem .42rem;
  border-radius: .2rem;
  background: color-mix(in srgb, var(--gc-bg) 86%, transparent);
  font-family: var(--gc-heading);
  font-size: .58rem;
  letter-spacing: .08em;
}

.gc-movie-upcoming { top: .6rem; left: .6rem; color: var(--gc-accent-light); }
.gc-movie-age { right: .6rem; bottom: .6rem; color: var(--gc-text); }

.gc-movie-card-body { min-width: 0; padding: 1.1rem; }
.gc-movie-card .gc-movie-card-body { display: flex; flex-direction: column; }
.gc-movie-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.gc-movie-card h2 { font-size: 1.45rem; font-weight: 500; line-height: 1.2; }
.gc-movie-card h2 a { transition: color 150ms ease; }
.gc-movie-card h2 a:hover { color: var(--gc-accent); }
.gc-movie-original { margin-top: .2rem; color: var(--gc-subtle); font-size: .78rem; }
.gc-movie-meta { margin-top: .65rem; color: var(--gc-muted); font-size: .78rem; }

.gc-movie-ratings { display: flex; flex: 0 0 auto; gap: .35rem; }
.gc-movie-rating { display: inline-flex; align-items: baseline; gap: .25rem; padding: .28rem .42rem; border: 1px solid currentColor; border-radius: .2rem; font-family: var(--gc-heading); font-size: .76rem; line-height: 1; }
.gc-movie-rating small { opacity: .75; font-size: .52rem; }
.gc-movie-rating.gc-rating-high { color: var(--gc-positive); }
.gc-movie-rating.gc-rating-mid { color: var(--gc-warning); }
.gc-movie-rating.gc-rating-low { color: var(--gc-error); }

.gc-movie-details { display: grid; gap: .38rem; margin-top: 1rem; font-size: .78rem; }
.gc-movie-details > div { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .7rem; }
.gc-movie-details dt { color: var(--gc-subtle); }
.gc-movie-details dd { overflow: hidden; margin: 0; color: var(--gc-muted); text-overflow: ellipsis; white-space: nowrap; }
.gc-movie-description { display: -webkit-box; overflow: hidden; margin-top: 1rem; color: var(--gc-muted); font-size: .82rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.gc-catalog-page .gc-movie-more {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: auto;
  padding-top: 1rem;
  color: var(--gc-accent);
  font-family: var(--gc-heading);
  font-size: .65rem;
  letter-spacing: .08em;
}

.gc-movie-more svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.8; }

.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-card-body { padding: .85rem; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-card-head { display: block; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card h2 { display: -webkit-box; overflow: hidden; font-size: 1rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-original { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-ratings { margin-top: .65rem; }
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-details,
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-description,
.gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-more { display: none; }

.gc-movie-sidebar-block li {
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: .7rem;
  padding: .75rem;
}

.gc-movie-sidebar-poster {
  display: block;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: .2rem;
  background: var(--gc-elevated);
}

.gc-movie-sidebar-poster img { width: 100%; height: 100%; object-fit: cover; }
.gc-movie-sidebar-poster span { display: grid; width: 100%; height: 100%; place-items: center; color: var(--gc-subtle); }
.gc-movie-sidebar-poster svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; }
.gc-movie-sidebar-block li > span { align-self: center; }
.gc-movie-sidebar-meta { display: block; margin-top: .35rem; color: var(--gc-subtle); font-size: .66rem; line-height: 1.4; }

.gc-movie-category-description {
  max-width: calc(100% - 21rem);
  margin-top: 2rem;
  padding: 1.5rem;
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius);
  background: var(--gc-surface-alt);
}

.gc-movie-category-description h2 { margin-top: .35rem; font-size: 1.45rem; font-weight: 500; }
.gc-movie-category-description p:not(.section-kicker) { max-width: 48rem; margin-top: .8rem; color: var(--gc-muted); font-size: .9rem; line-height: 1.7; }
.gc-movie-category-description a { color: var(--gc-accent); text-decoration: underline; text-underline-offset: .15em; }

@media (max-width: 1179px) {
  .gc-movie-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gc-movie-filter-bar > p { display: none; }
  .gc-movie-category-description { max-width: none; }
  .gc-movie-sidebar { margin-top: 1rem; }
}

@media (max-width: 900px) {
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
  .gc-movie-filter-sticky { position: relative; top: auto; }
  .gc-movie-filter-bar { grid-template-columns: 1fr; gap: .45rem; padding-block: .6rem; }
  .gc-movie-filter-trigger { min-height: 2.7rem; }
  .gc-movie-filter-menu { position: static; width: 100%; margin-top: .35rem; box-shadow: none; }
  .gc-movie-catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .gc-movie-catalog-actions { width: 100%; }
  .gc-movie-catalog-actions > .relative { flex: 1; }
  .gc-movie-catalog-actions .sort-trigger { min-width: 0; width: 100%; }
  .gc-movie-card { grid-template-columns: 7.2rem minmax(0, 1fr); min-height: 11rem; }
  .gc-movie-card .gc-movie-card-body { padding: .75rem; }
  .gc-movie-card h2 { display: -webkit-box; overflow: hidden; font-size: 1.05rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .gc-movie-card .gc-movie-card-head { display: block; }
  .gc-movie-card .gc-movie-ratings { margin-top: .5rem; }
  .gc-movie-card .gc-movie-details,
  .gc-movie-card .gc-movie-description { display: none; }
  .gc-movie-card .gc-movie-more { padding-top: .65rem; font-size: .58rem; }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card h2 { font-size: .9rem; }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-original { display: none; }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-meta { font-size: .68rem; }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-rating { font-size: .66rem; }
}

@media (max-width: 380px) {
  .gc-movie-card { grid-template-columns: 6.7rem minmax(0, 1fr); }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-card-body { padding: .7rem; }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-ratings { gap: .2rem; }
  .gc-catalog-page[data-gc-movie-view="grid"] .gc-movie-card .gc-movie-rating { padding-inline: .3rem; }
}


.gc-catalog-page{min-width:0}
.gc-catalog-page .gc-content-layout,.gc-catalog-feed{min-width:0}
.gc-catalog-page .gc-movie-catalog>#dle-content{display:contents}
.gc-catalog-page .gc-movie-catalog>.pagination,.gc-catalog-page .gc-movie-catalog>.message-info,.gc-catalog-page .gc-movie-catalog>#dle-content>.pagination,.gc-catalog-page .gc-movie-catalog>#dle-content>.message-info{grid-column:1/-1}
.gc-catalog-page .gc-movie-filter-sticky{position:relative;top:auto;backdrop-filter:none}
@media(min-width:640px){.gc-catalog-page.gc-catalog-sticky-ready .gc-movie-filter-sticky{position:sticky;top:var(--gc-catalog-header-height,72px);z-index:80}}
.gc-catalog-page :is(a,button,summary,input,select,textarea){scroll-margin-top:calc(var(--gc-catalog-header-height,72px) + var(--gc-catalog-nav-height,75px) + 16px)}
.gc-movie-filter>summary{list-style:none;cursor:pointer}
.gc-movie-filter>summary::-webkit-details-marker{display:none}
.gc-movie-filter[open]>.gc-movie-filter-trigger{border-color:var(--gc-accent);color:var(--gc-text)}
.gc-movie-filter[open]>.gc-movie-filter-trigger>.gc-icon{transform:rotate(180deg)}
.gc-movie-filter-menu{box-sizing:border-box;max-width:calc(100vw - 32px)}
.gc-movie-filter:last-of-type .gc-movie-filter-menu{left:auto;right:0}
.gc-movie-filter-menu a{min-height:44px;align-items:center;overflow-wrap:anywhere}
.gc-movie-filter-menu a[aria-current="page"]{color:var(--gc-accent);background:var(--gc-elevated)}
.gc-movie-filter-trigger .gc-icon{width:16px;height:16px;flex:none}
.gc-movie-filter-trigger.gc-is-active{color:var(--gc-accent);border-color:var(--gc-accent)}
.gc-view-switcher button{width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer}
.gc-view-switcher button[aria-pressed="true"]{background:color-mix(in srgb,var(--gc-accent) 13%,var(--gc-surface));color:var(--gc-accent)}
.gc-movie-card h2{margin:0;font-family:var(--gc-heading);overflow-wrap:anywhere}
.gc-movie-original{overflow-wrap:anywhere}
.gc-movie-card .gc-movie-poster{align-self:start;aspect-ratio:2/3;height:auto}
.gc-movie-poster>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.gc-movie-poster-missing{position:absolute;inset:0;font-size:10px}
.gc-movie-poster-missing>.gc-icon{width:28px;height:28px}
.gc-movie-meta{display:flex;flex-wrap:wrap;gap:4px 0}
.gc-movie-meta>span+span::before{content:" · ";white-space:pre}
.gc-movie-meta>span{min-width:0;overflow-wrap:anywhere}
.gc-movie-ratings{flex-wrap:wrap}
.gc-movie-ratings:empty,.gc-movie-meta:empty,.gc-movie-details:empty,.gc-movie-description:empty{display:none}
.gc-movie-description p{margin:0}
.gc-movie-details{padding:0;margin-bottom:0}
.gc-catalog-page .gc-movie-sidebar-block li{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px}
.gc-catalog-page .gc-movie-sidebar-block li::before{display:none}
.gc-movie-sidebar-poster{position:relative}
.gc-movie-sidebar-poster>span{position:absolute;inset:0}
.gc-movie-sidebar-poster img{position:relative;display:block}
.gc-catalog-page .gc-movie-sidebar-block li>span{min-width:0;overflow-wrap:anywhere}
.gc-catalog-side-empty{padding:16px;color:var(--gc-muted)}
.gc-movie-category-description>:first-child{margin-top:0}
.gc-movie-category-description>:last-child{margin-bottom:0}
.gc-movie-category-description{overflow-wrap:anywhere}
.gc-movie-category-description img{max-width:100%;height:auto}
.gc-catalog-page .pagination{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.gc-catalog-page .pagination__pages{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.gc-catalog-page .pagination a,.gc-catalog-page .pagination__pages>span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--gc-border);border-radius:var(--gc-radius)}
.gc-catalog-page .pagination__btn{font-style:normal;font-size:12px}
.gc-catalog-page .pagination__btn--prev::before{content:"Назад"}
.gc-catalog-page .pagination__btn--next::before{content:"Вперёд"}
.gc-catalog-all a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:var(--gc-radius);background:var(--gc-accent);color:var(--gc-on-accent)}
@media(max-width:639px){.gc-movie-filter-bar{grid-template-columns:1fr}.gc-movie-filter-menu{max-height:50vh}.gc-catalog-page .gc-movie-ratings{gap:4px}.gc-movie-card-head{min-width:0}.gc-movie-rating{padding-inline:5px}.gc-movie-original{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gc-movie-card,.gc-movie-poster>img,.gc-movie-filter-trigger,.gc-view-switcher button{transition:none}.gc-movie-card:hover,.gc-movie-card:hover .gc-movie-poster>img{transform:none}}

.gc-movie-filter-menu a.gc-is-active{color:var(--gc-accent)}
.gc-catalog-page .gc-movie-catalog:empty::before{content:"В этой категории пока нет публикаций.";padding:24px;color:var(--gc-muted)}
.gc-movie-card .gc-movie-poster{width:100%}

.gc-movie-catalog-actions{min-width:0}
.gc-view-switcher{flex-shrink:0}
@media(max-width:639px){.gc-catalog-page .gc-movie-catalog-actions .gc-news-sort{flex:1;min-width:0}.gc-catalog-page .gc-news-sort-control{flex:1;min-width:0;font-size:0;gap:0}.gc-catalog-page .gc-news-sort-control select{min-width:0;width:100%;font-size:13px}}

.gc-movie-filter-trigger[aria-disabled="true"]{opacity:.6;cursor:default}
