/* Safety net: WP outputs explicit width/height attributes on every <img>,
   which implicitly constrains size. Our migrated <img> tags have none,
   and Bootstrap 5's reset does not include max-width:100% on plain img
   (only on .img-fluid), so without this rule full-resolution source
   images (now served instead of WP's small generated thumbnails) can
   overflow their container at native pixel size. */
img {
    max-width: 100%;
    height: auto;
}

/* Matches WP's explicit width="250" on the single-afisha poster image */
.afisha-image img {
    width: 250px;
    max-width: 100%;
}

/* Репертуар: постер-расписание крупно и по центру на всю ширину (клиент просил
   «должно быть большой размер» — было ограничено узкой колонкой ~736px). */
.repertuar-article {
    max-width: 980px;
    margin: 0 auto;
}
.repertuar-poster {
    margin: 24px 0 8px;
    text-align: center;
}
.repertuar-poster img {
    width: 100%;
    max-width: 950px;
    height: auto;
    border-radius: 6px;
}

/* Header container: match old site's 1320px width. Bootstrap's .container caps at
   1140px in the 1200–1399px range, so on ~1366px laptops the nav overflowed and the
   language switcher overlapped the last menu items (Жаңалықтар/Театрға бару) — clicks
   hit the menu dropdown instead of the language link (client bug #6). A flat 1320px
   max-width (like the old site) gives the row enough width to fit without collision. */
.head-nav .navbar-container {
    max-width: 1320px;
}

/* Nav: allow collapse to shrink so eye + language-menu stay visible */
.head-nav .navbar-collapse {
    min-width: 0;
    flex-shrink: 1;
    overflow: visible;
}
.head-nav .navbar-collapse .navbar-nav {
    min-width: 0;
    flex-wrap: nowrap;
}
.head-nav .navbar-collapse .navbar-nav .nav-link {
    /* keep original theme sizing (19.2px / 8px) to match old site 1:1 */
    white-space: nowrap;
}
.head-nav .navbar-collapse .eye {
    flex-shrink: 0;
    margin-left: 10px;
    margin-right: 0;
}
.head-nav .navbar-collapse .language-menu {
    flex-shrink: 0;
}

/* Screen reader icon: lift above BVI button so they don't overlap */
#text_plugin {
    bottom: 80px !important;
    right: 20px !important;
    z-index: 9998 !important;
}

/* BVI eye button in nav: match old site (16px icon, no padding) */
.head-nav .eye a {
    display: inline-flex;
    align-items: center;
    padding: 0;
    font-size: 1rem;
    color: #fff;
}

/* Pagination: match old site (bordered pills, active = yellow) */
.pagination-wrap .pagination {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
}
.pagination-wrap .page-item { list-style: none; }
.pagination-wrap .page-link {
    border: 0.8px solid #ddd;
    border-radius: 5px;
    padding: 7px 15px;
    margin: 0 5px;
    color: #333;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}
.pagination-wrap .page-item.active .page-link,
.pagination-wrap .page-link:hover {
    border-color: #f8b400;
    background: #f8b400;
    color: #fff;
}
.pagination-wrap .page-item.disabled .page-link {
    color: #aaa;
    background: #fff;
}
/* убрать текст "Showing X of Y results" и отцентрировать пагинацию (как на старом) */
.pagination-wrap nav p { display: none !important; }
.pagination-wrap nav,
.pagination-wrap nav > .d-sm-flex { justify-content: center !important; }
/* на мобиле показывать номера страниц (как на старом), а не «Назад/Вперёд» */
@media (max-width: 575.98px) {
    .pagination-wrap nav > .d-sm-none { display: none !important; }
    .pagination-wrap nav > .d-none { display: flex !important; justify-content: center !important; }
    .pagination-wrap .pagination { flex-wrap: wrap; }
    .pagination-wrap .page-link {
        padding: 5px 9px;
        margin: 2px;
        font-size: 14px;
        min-width: 32px;
        text-align: center;
    }
}

/* Collective (artist) detail — match old site */
.artist-single .artist-name {
    font-size: 40px;
    font-weight: 600;
    color: #000;
    margin: 0 0 8px;
}
.artist-single .artist-position {
    font-size: 19.2px;
    font-weight: 400;
    color: #212529;
    margin: 0 0 8px;
}
.artist-single .artist-photo {
    border: 1.6px solid #b2bfca;
    border-radius: 12px;
    padding: 10px;
    background: #b2bfca;
}
.artist-single .artist-photo img {
    border-radius: 6px;
    display: block;
    width: 100%;
}
.artist-single .artist-bio {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 28px;
}
.artist-single .artist-bio p {
    font-size: 16px;
    margin: 0 0 16px;
}

/* Mobile menu: accessibility (BVI) button as a bordered pill (match old site) */
.mobile-bvi-wrap {
    padding: 12px 20px 28px;
}
.mobile-bvi-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0.8px solid rgba(0, 79, 206, 0.18);
    border-radius: 8px;
    padding: 12px 16px;
    color: #004fce;
    background: #f0f4ff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
