/* Карусель выставок и просмотр фотографии во весь экран.
   Вынесено из отдельной страницы «Выставки» — используется на странице
   «Об авторе». */

.exhib-carousel {
    position: relative; width: 100%; border-radius: 4px; overflow: hidden;
    background: #f9f9f9; height: 350px;
    display: flex; align-items: center; justify-content: center;
}
.exhib-carousel-inner {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
}
.exhib-carousel-inner img {
    display: none; width: 100%; height: 100%; object-fit: contain;
    cursor: zoom-in; padding: 0; background: transparent;
}
.exhib-carousel-inner img.active { display: block; }

.exhib-prev, .exhib-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(19, 27, 36, 0.6); color: white; border: none;
    padding: 10px 15px; cursor: pointer; font-size: 1.2rem;
    transition: 0.3s; border-radius: 4px; z-index: 10;
}
.exhib-prev:hover, .exhib-next:hover { background: rgba(19, 27, 36, 1); }
.exhib-prev { left: 10px; }
.exhib-next { right: 10px; }

#lightbox {
    display: none; position: fixed; z-index: 10000; left: 0; top: 0;
    width: 100%; height: 100%; background: rgba(19, 27, 36, 0.98);
    align-items: center; justify-content: center; flex-direction: column;
    padding: 20px; box-sizing: border-box;
}
#lb-close {
    position: absolute; top: 20px; right: 20px; width: 45px; height: 45px;
    background: #fff; color: #131b24; display: flex; justify-content: center;
    align-items: center; border-radius: 8px; font-size: 35px; cursor: pointer;
    z-index: 10007;
}
#lb-img {
    cursor: crosshair; position: relative; z-index: 10005;
    max-height: 85vh !important; max-width: 100%; object-fit: contain;
    border-radius: 4px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
}

.modal-nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1); color: white; border: none;
    padding: 15px; font-size: 2rem; cursor: pointer; z-index: 10008;
    border-radius: 8px; transition: 0.3s;
}
.modal-nav:hover { background: rgba(255, 255, 255, 0.3); }
.m-prev { left: 20px; }
.m-next { right: 20px; }

#magnifier {
    position: absolute; width: 280px; height: 280px; border: 3px solid #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.8); border-radius: 20px;
    pointer-events: none; display: none; background-repeat: no-repeat;
    z-index: 10006; background-color: #131b24;
}

@media (max-width: 768px) {
    .exhib-carousel { height: 250px; }
    #lb-img { cursor: zoom-in; transition: transform 0.3s ease; }
    #lb-img.zoomed { transform: scale(1.6); cursor: zoom-out; }
    #magnifier { display: none !important; }
    .modal-nav { display: none; }
}
