:root {
    --prozen-es-bg: #f0f2f5;
    --prozen-es-bg-caption: #f8f9fa;
    --prozen-es-bullet-bg: rgba(0, 0, 0, 0.1);
    --prozen-es-bullet-border: rgba(0, 0, 0, 0.25);
    --prozen-es-bullet-active: rgba(0, 0, 0, 0.7);
}

html[data-theme="dark"] {
    --prozen-es-bg: rgba(255, 255, 255, 0.1);         
    --prozen-es-bg-caption: rgba(255, 255, 255, 0.04);
    --prozen-es-bullet-bg: rgba(255, 255, 255, 0.2);
    --prozen-es-bullet-border: rgba(255, 255, 255, 0.4);
    --prozen-es-bullet-active: #fff;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) {
        --prozen-es-bg: rgba(255, 255, 255, 0.1);
        --prozen-es-bg-caption: rgba(255, 255, 255, 0.04);
        --prozen-es-bullet-bg: rgba(255, 255, 255, 0.2);
        --prozen-es-bullet-border: rgba(255, 255, 255, 0.4);
        --prozen-es-bullet-active: #fff;
    }
}

/* --- АНТИ-МИГАНИЕ (FOUC & CLS Fix) --- */
.wp-block-gallery.prozen-es-slider-active:not(.prozen-loaded) {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    opacity: 0 !important;
}
.wp-block-gallery.prozen-es-slider-active:not(.prozen-loaded) figure.wp-block-image {
    flex: 0 0 100% !important;
    min-width: 100% !important;
}
@media (min-width: 768px) {
    .wp-block-gallery.prozen-es-slider-active[data-slides-per-view="2"]:not(.prozen-loaded) figure.wp-block-image { flex: 0 0 50% !important; min-width: 50% !important; }
    .wp-block-gallery.prozen-es-slider-active[data-slides-per-view="3"]:not(.prozen-loaded) figure.wp-block-image { flex: 0 0 33.333% !important; min-width: 33.333% !important; }
    .wp-block-gallery.prozen-es-slider-active[data-slides-per-view="4"]:not(.prozen-loaded) figure.wp-block-image { flex: 0 0 25% !important; min-width: 25% !important; }
    .wp-block-gallery.prozen-es-slider-active[data-slides-per-view="5"]:not(.prozen-loaded) figure.wp-block-image { flex: 0 0 20% !important; min-width: 20% !important; }
    .wp-block-gallery.prozen-es-slider-active[data-slides-per-view="6"]:not(.prozen-loaded) figure.wp-block-image { flex: 0 0 16.666% !important; min-width: 16.666% !important; }
}
.wp-block-gallery.prozen-es-slider-active.prozen-loaded {
    animation: prozenFadeIn 0.4s ease-out forwards !important;
}
@keyframes prozenFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* ------------------------------------ */

/* Обёртка слайдера */
.wp-block-gallery.prozen-es-slider-active {
    display: block !important;
    position: relative !important;
    overflow: visible !important;
    padding: 0 !important;
    margin-bottom: 30px !important;
    
    /* ИЗМЕНЕНИЕ: Делаем саму галерею контейнером для измерения cqw */
    container-type: inline-size !important; 
}

/* Зона самого слайдера */
.wp-block-gallery.prozen-es-slider-active .swiper-container-wrapper {
    overflow: hidden !important;
    position: relative !important;
    margin: 0 -6px !important;
}

/* Swiper-лента */
.prozen-es-slider-active .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

/* Слайд */
.prozen-es-slider-active .swiper-slide {
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    padding: 0 6px !important; 
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
}

/* Внутренняя карточка */
.prozen-es-slider-active .prozen-es-slide-inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: var(--prozen-es-bg) !important;
    border-radius: var(--prozen-es-radius) !important;
    border: var(--prozen-es-border) !important;
    overflow: hidden !important;
    /* ИЗМЕНЕНИЕ: Убрали container-type отсюда */
}

/* Если есть подпись — делаем нижние углы прямыми */
.prozen-es-slider-active:has(figcaption.blocks-gallery-caption) .prozen-es-slide-inner {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Область изображения (контейнер <figure>) */
.prozen-es-slider-active .prozen-es-img-wrap {
    width: 100% !important;
    flex-grow: 1 !important; 
    flex-shrink: 1 !important;
    box-sizing: border-box !important;
    padding: 0 !important; 
    margin: 0 !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* Сама картинка */
/* Сама картинка */
.prozen-es-slider-active .prozen-es-img-wrap img {
    display: block !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    /* Фолбэк для старых браузеров */
    max-height: 60vh !important; 
    /* По умолчанию (мобильные) делаем 1:1 (квадрат) */
    max-height: 100cqw !important; 
    object-fit: contain !important;
}

/* Возвращаем пропорции 4:3 для планшетов и компьютеров (шире 768px) */
@media (min-width: 768px) {
    .prozen-es-slider-active .prozen-es-img-wrap img {
        max-height: 75cqw !important; 
    }
}

.prozen-es-slider-active .prozen-es-img-wrap a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 100% !important;
    outline: none !important;
}

.prozen-es-slider-active .prozen-es-slide-inner figcaption {
    flex-grow: 0 !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 4px 8px 10px !important;
    text-align: center !important;
    font-size: 0.8125em !important;
    line-height: 1.3 !important;
    color: inherit !important;
    opacity: 0.85 !important;
}

/* ── Общая подпись галереи ── */
.prozen-es-slider-active figcaption.blocks-gallery-caption {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    text-align: center;
    font-size: 0.875em;
    color: inherit !important;
    opacity: 0.8 !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    background: var(--prozen-es-bg-caption) !important;
    border-radius: 0 0 var(--prozen-es-radius) var(--prozen-es-radius) !important;
    border-top: none !important;
}

/* ── Навигационные кнопки ── */
.prozen-es-slider-active .swiper-button-next,
.prozen-es-slider-active .swiper-button-prev {
    width: 44px !important;
    height: 44px !important;
    background: var(--prozen-es-nav-bg) !important; 
    border-radius: 50% !important;
    color: var(--prozen-es-arr) !important; 
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, transform 0.2s ease !important;

    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    user-select: none !important;
}

.prozen-es-slider-active .swiper-button-next::after,
.prozen-es-slider-active .swiper-button-prev::after {
    font-size: 16px !important;
    font-weight: 700 !important;
}
.prozen-es-slider-active:hover .swiper-button-next,
.prozen-es-slider-active:hover .swiper-button-prev {
    opacity: 1 !important;
    pointer-events: auto !important;
}
.prozen-es-slider-active .swiper-button-next:hover,
.prozen-es-slider-active .swiper-button-prev:hover {
    transform: scale(1.08) !important;
}
.prozen-es-slider-active .swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ── Пагинация ── */
.prozen-es-slider-active .swiper-pagination {
    position: relative !important;
    bottom: auto !important;
    margin-top: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1 !important;
}
.prozen-es-slider-active .swiper-pagination-bullet {
    margin: 0 !important;
    width: 10px !important;
    height: 10px !important;
    background: var(--prozen-es-dot-in) !important; 
    border: 2px solid var(--prozen-es-dot-in) !important;
    opacity: 1 !important;
    transition: transform 0.2s, background 0.2s, border-color 0.2s !important;
    box-sizing: border-box !important;
}
.prozen-es-slider-active .swiper-pagination-bullet-active {
    background: var(--prozen-es-dot-ac) !important; 
    border-color: var(--prozen-es-dot-ac) !important;
    transform: scale(1.2) !important;
}