/* Базовые визуальные токены унаследованы с filarmonia.online (шаблон progressive):
   шрифт Gotham Pro, основной цвет текста #131313, фон #fff. */

@font-face {
    font-family: 'Gotham Pro';
    src: url('../fonts/GothamPro.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Gotham Pro';
    src: url('../fonts/GothamPro-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Gotham Pro';
    src: url('../fonts/GothamPro-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-color: #f1f1f1;
    color: #131313;
    font-family: 'Gotham Pro', Arial, sans-serif;
}

/* Убираем штатную жёлтую заливку ссылок в PDF (оверлей DearFlip/pdf.js
   над кликабельными областями) полностью, без замены — область остаётся
   кликабельной, курсор сам меняется на pointer, этого достаточно.
   Правим не сам dflip.min.css (сторонняя библиотека), а переопределяем
   здесь, каскад подключается после неё — источник опирается на
   opacity:.1 и background-color:#ff0/#2196f3, поэтому сбрасываем всё. */
section.linkAnnotation a,
a.linkAnnotation,
a.customLinkAnnotation,
.customHtmlAnnotation,
.customVideoAnnotation,
section.linkAnnotation a:hover,
a.linkAnnotation:hover,
.highlightAnnotation:hover,
a.customLinkAnnotation:hover {
    background-color: transparent !important;
    border: 0 !important;
    opacity: 1 !important;
}

/* Светло-серый фон вокруг вьюера (токен сайта #f1f1f1) — страницы PDF
   почти всегда белые, на чисто белом фоне страницы сайта они сливались. */
#catalog-viewer {
    position: fixed;
    inset: 0;
    overflow: hidden;
    background-color: #f1f1f1;
}

/* Кнопка-триггер меню — фиксированная, верхний правый угол, поверх вьюера.
   Позиция/тень взяты 1-в-1 с filarmonia.online: button#showmenu.shadow
   (top:66px;right:60px десктоп, top:26px;right:15px ≤768px). */
#catalog-showmenu {
    display: block;
    position: fixed;
    top: 66px;
    right: 60px;
    width: 48px;
    height: 48px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 24px;
    background-color: #fff;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.75);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18M3 12h18M3 18h18" stroke="%23131313" stroke-width="2" stroke-linecap="round"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px;
    cursor: pointer;
    z-index: 1000;
}

/* Панель меню: fade (не slide), 50% ширины на десктопе, белый фон — как
   оверлей-меню основного сайта (ul#menu в templates/operating/progressive).
   Появление/скрытие через jQuery fadeIn/fadeOut('fast'), тот же механизм,
   что и на filarmonia.online. */
#catalog-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    box-sizing: border-box;
    padding: 30px 60px;
    background-color: #fff;
    color: #131313;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.75);
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    z-index: 1001;
}
#catalog-menu::-webkit-scrollbar {
    display: none;
}

/* Верхняя строка панели с крестиком — та же высота, что и строка
   "Мои билеты" в оригинале (li#user: padding 28px 0, итого ~104px). */
.catalog-menu-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 48px;
    padding: 28px 0;
    box-sizing: border-box;
}

#catalog-close {
    display: block;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 22px;
    background-color: transparent;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 5l14 14M19 5L5 19" stroke="%23131313" stroke-width="2" stroke-linecap="round"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    cursor: pointer;
}

#catalog-seasons {
    list-style: none;
    margin: 0;
    padding: 0;
}

.catalog-season {
    margin: 0;
}

.catalog-season-toggle {
    display: block;
    width: 100%;
    padding: 18px 15px 18px 0;
    border: 0;
    background: none;
    text-align: left;
    font-family: inherit;
    font-size: 20px;
    font-weight: 700;
    color: #131313;
    cursor: pointer;
    min-height: 44px;
    box-sizing: border-box;
}
.catalog-season-toggle::after {
    content: '';
    float: right;
    width: 12px;
    height: 12px;
    margin-top: 6px;
    border-right: 2px solid #131313;
    border-bottom: 2px solid #131313;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}
.catalog-season.open > .catalog-season-toggle::after {
    transform: rotate(-135deg);
    margin-top: 10px;
}

.catalog-editions {
    list-style: none;
    margin: 0;
    padding: 0 0 12px 0;
    max-height: 0;
    overflow: hidden;
}
.catalog-season.open .catalog-editions {
    max-height: none;
}

.catalog-edition-link {
    display: block;
    padding: 10px 0;
    font-size: 16px;
    line-height: 1.4;
    color: #131313;
    text-decoration: none;
    min-height: 44px;
    box-sizing: border-box;
}
.catalog-edition-link:hover {
    text-decoration: underline;
}
.catalog-edition-link.active {
    font-weight: 700;
    text-decoration: underline;
}

/* Как на основном сайте: панель на всю ширину уже с 1024px. */
@media only screen and (max-width: 1024px) {
    #catalog-menu {
        width: 100%;
    }
}

/* Мобильная адаптация: меню — полноэкранный оверлей. */
@media only screen and (max-width: 768px) {
    #catalog-menu {
        padding: 24px;
        padding-top: max(24px, env(safe-area-inset-top));
    }
    #catalog-showmenu {
        top: max(26px, env(safe-area-inset-top));
        right: max(15px, env(safe-area-inset-right));
    }
}
