/* Popis snímku galerie (editor: slide-title, slide-subtitle, slide-desc, button) */
.slide-title{border:0;margin:0;padding:5px;background:0;font-size:2.5rem;font-weight:800;line-height:1.1;width:100%}
.slide-subtitle{border:0;margin:0;padding:8px 15px;background:0;font-size:1.2rem;font-weight:800;line-height:1;width:100%;max-width:100%}
.slide-desc{border:0;margin:0;padding:15px;background:0;font-size:1rem;font-weight:100;line-height:1;width:100%}
.desc .button{display:inline-block;font-size:1.2rem;font-weight:800;color:#FFF;background:#FF0000;border:3px solid #FF0000;line-height:normal;margin:15px 4px;padding:8px 40px}
.desc .button:hover{text-decoration:none!important;color:#000!important;background:#FFF!important}

/* Animace částí popisu se spustí znovu při každém zobrazení snímku (Swiper; FlexSlider ponechán pro zpětnou kompatibilitu) */
.swiper-slide-active .desc .slide-title,.flex-active-slide .desc .slide-title{animation:fadeInDown 3s 1.3s both}
.swiper-slide-active .desc .slide-subtitle,.flex-active-slide .desc .slide-subtitle{animation:fadeInRight 3s 2.1s both}
.swiper-slide-active .desc .slide-desc,.flex-active-slide .desc .slide-desc,
.swiper-slide-active .desc .button,.flex-active-slide .desc .button{animation:fadeInLeft 3s 3.1s both}
/* Před inicializací Swiperu části skrýt, aby po spuštění animace „neproblikly“ */
.swiper:not(.swiper-initialized) .desc :is(.slide-title,.slide-subtitle,.slide-desc,.button){opacity:0}
@media (prefers-reduced-motion:reduce){
.desc :is(.slide-title,.slide-subtitle,.slide-desc,.button){animation:none!important;opacity:1!important}
}

/* Titulní galerie (Swiper, index_title.php) */
.slider_top{width:100%;top:0;left:0;right:0;bottom:0;z-index:98;height:100%}
/* flow-root: popis obalí i plovoucí obsah z editoru (float obrázku / nadpisu); stín jen při barvě pozadí – viz function_php.php (vychozi='g') */
.slider_top .desc{display:flow-root;border-radius:6px;margin:0 40px 0 40px!important}
.slider_top .swiper-wrapper,.slider_top .swiper-slide{height:100%}
.slider_top .swiper-slide{position:relative;overflow:hidden}
.slider_top .slider-top-desc-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;padding-top:20px;padding-bottom:20px}
/* Svislá pozice popisu ($header_valign); auto okraje = při přetečení se popis neořízne a zůstane posuvný */
.slider_top .desc-valign-top>.desc{margin-bottom:auto!important}
.slider_top .desc-valign-center>.desc{margin-top:auto!important;margin-bottom:auto!important}
.slider_top .desc-valign-bottom>.desc{margin-top:auto!important}
.slider_top .slider-top-desc-overlay .desc{animation:none!important;transition:none!important;transform:none!important}
.slider_top .swiper-slide .fh5co-cover{transform:scale(1.11) translate3d(-1.2%,0,0);transform-origin:center center;will-change:transform;transition:transform 10s linear}
.slider_top .swiper-slide-active .fh5co-cover{transform:scale(1.03) translate3d(0,0,0)}
.slider_top video{transform:none!important}
.title-gallery-media{isolation:isolate;overflow:hidden}
.title-gallery-media--cover,.title-gallery-media--content{background-size:cover;background-position:center center!important}
.title-gallery-media--content{height:100%!important}
.title-gallery-focus--top:is(.title-gallery-media--cover,.title-gallery-media--content){background-position:center 20%!important}
.title-gallery-focus--bottom:is(.title-gallery-media--cover,.title-gallery-media--content){background-position:center 80%!important}
.title-gallery-content-frame{position:absolute;inset:0;isolation:isolate;overflow:hidden;background-image:var(--title-gallery-image);background-size:cover;background-position:center}
.title-gallery-content-window{position:relative;z-index:1;height:100%;padding:0!important;overflow:hidden}
.title-gallery-content-window .title-gallery-media--content{width:100%!important}
.title-gallery-media--blur{display:grid;place-items:start center;background-position:center center!important;background-size:cover!important}
.slider_top .swiper-slide .title-gallery-media--blur{position:absolute;inset:0;width:auto;height:auto;transform:none!important;transition:none!important}
/* Rozmazané pozadí (režim blur i content) */
.title-gallery-content-frame::before,.title-gallery-media--blur::before{content:"";position:absolute;z-index:0;inset:-30px;background-image:var(--title-gallery-image);background-size:cover;background-position:center;filter:blur(22px) brightness(.7);transform:scale(1.11) translate3d(-1.2%,0,0);transform-origin:center center;will-change:transform}
.swiper-slide-active .title-gallery-content-frame::before,.swiper-slide-active .title-gallery-media--blur::before{animation:title-gallery-blur-zoom 10s linear both}
.title-gallery-media--blur::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 25%,transparent 75%,rgba(0,0,0,.12));pointer-events:none}
.title-gallery-media__stage{position:relative;z-index:1;display:inline-block;width:fit-content;max-width:96%;height:var(--title-gallery-height);max-height:calc(100% - 20px)}
.title-gallery-media__image{position:relative;z-index:1;display:block;width:auto;max-width:96%;height:var(--title-gallery-height);max-height:calc(100% - 20px);object-fit:contain;box-shadow:0 12px 36px rgba(0,0,0,.32);transform-origin:center top;will-change:transform}
.title-gallery-media__stage .title-gallery-media__image{width:auto;max-width:100%;height:100%;max-height:none}
.swiper-slide-active .title-gallery-media__image{animation:title-gallery-image-zoom 10s linear both}
.title-gallery-media--blur .container{position:relative;z-index:2}
@keyframes title-gallery-blur-zoom{from{transform:scale(1.11) translate3d(-1.2%,0,0)}to{transform:scale(1.03) translate3d(0,0,0)}}
/* Šířka obrázku zůstává stabilní, animuje se jen svislá rezerva. */
@keyframes title-gallery-image-zoom{from{transform:scaleY(1.11)}to{transform:scaleY(1.03)}}
@media (prefers-reduced-motion:reduce){
.swiper-slide-active .title-gallery-content-frame::before,.swiper-slide-active .title-gallery-media--blur::before,.swiper-slide-active .title-gallery-media__image{animation:none}
.slider_top .swiper-slide .fh5co-cover{transition:none!important;transform:none!important}
}
@media screen and (max-width:768px){
.title-gallery-media__image{max-width:100%;max-height:calc(100% - 8px);box-shadow:none}
.title-gallery-media--blur::before,.title-gallery-content-frame::before{filter:blur(14px) brightness(.68)}
}

/* Statický náhled galerie (ul.slides: insert_galery.php typ S, include_galery_title.php) */
.slider_gal1{width:25%;margin:15px auto;position:relative}
.slider_gal2{width:50%;margin:15px auto;position:relative}
.slider_gal3{width:75%;margin:15px auto;position:relative}
.slider_gal{width:100%;margin:15px 0;position:relative}
:is(.slider_gal,.slider_gal1,.slider_gal2,.slider_gal3) .slides{margin:0;padding-left:0;list-style:none;overflow:hidden}
:is(.slider_gal,.slider_gal1,.slider_gal2,.slider_gal3) .slides::after{content:"";clear:both;display:block}
:is(.slider_gal,.slider_gal1,.slider_gal2,.slider_gal3) .slides li{position:relative;list-style:none;margin-right:-100%;width:325px;aspect-ratio:4/3;float:left;background-size:100% auto;background-repeat:no-repeat;background-position:left center}
:is(.slider_gal,.slider_gal1,.slider_gal2,.slider_gal3) .slides img{position:relative;z-index:0;width:auto;margin:0 auto}
:is(.slider_gal,.slider_gal1,.slider_gal2,.slider_gal3) .gal_obal{width:95%!important;float:left;display:inherit;padding:0;margin:0 2.5%;overflow:hidden;position:relative}

/* Unified modern gallery skin (include_galery.php + include_galery_title.php) */
.gallery-modern{margin-top:12px;margin-bottom:12px}
.gallery-title{font-size:1.3rem;font-weight:700;color:#1f3c55;letter-spacing:.01em;margin:0 0 12px 0}
.count_gal{font-size:.9rem;font-weight:500;color:#64748b}

.gallery-modern-grid .col-sm-12,
.gallery-modern-slider .slides li{padding-top:6px;padding-bottom:6px}

.gallery-modern .gal_foto,
.gallery-modern .one_foto,
.gallery-modern .slider_gal .gal_obal,
.gallery-modern .slider_gal1 .gal_obal,
.gallery-modern .slider_gal2 .gal_obal,
.gallery-modern .slider_gal3 .gal_obal{
border:1px solid #d8dde3;
border-radius:12px;
background-color:#fff;
box-shadow:0 3px 10px rgba(15,23,42,.08);
overflow:hidden;
transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.gallery-modern .slider_gal .gal_obal,
.gallery-modern .slider_gal1 .gal_obal,
.gallery-modern .slider_gal2 .gal_obal,
.gallery-modern .slider_gal3 .gal_obal{
width:100% !important;
margin:0 !important;
}

.gallery-modern .slider_gal .gal_obal .gal_foto,
.gallery-modern .slider_gal1 .gal_obal .gal_foto,
.gallery-modern .slider_gal2 .gal_obal .gal_foto,
.gallery-modern .slider_gal3 .gal_obal .gal_foto{
border:0;
border-radius:0;
box-shadow:none;
margin:0;
max-width:none;
}

.gallery-modern .gal_foto,
.gallery-modern .one_foto,
.gallery-modern .gal_obal .gal_foto{
transition:transform .28s ease,filter .28s ease;
transform-origin:center center;
}

.gallery-modern a:hover .gal_foto,
.gallery-modern a:hover .one_foto{
box-shadow:0 8px 20px rgba(15,23,42,.14);
border-color:#bcc8d3;
transform:translateY(-2px);
}

.gallery-modern a:hover .gal_obal .gal_foto,
.gallery-modern a:focus .gal_obal .gal_foto{
transform:scale(1.025);
filter:saturate(1.05) brightness(1.02);
}

.gallery-modern .gal_foto .tit,
.gallery-modern .one_foto .tit{
background:linear-gradient(180deg,rgba(17,24,39,.35),rgba(17,24,39,.7));
font-size:.9rem;
line-height:1.5em;
padding:6px 12px;
}

.gallery-modern-swiper .swiper-slide .media-container,
.gallery-modern-swiper .swiper-slide .media-link{
display:block;
border:1px solid #d8dde3;
border-radius:12px;
background:#fff;
box-shadow:0 3px 10px rgba(15,23,42,.08);
overflow:hidden;
transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.gallery-modern-swiper .swiper-slide{
overflow:hidden;
-webkit-backface-visibility:hidden;
backface-visibility:hidden;
transform:translateZ(0);
}

.gallery-modern-swiper .media-image,
.gallery-modern-swiper .gallery-video{
display:block;
width:calc(100% + 2px) !IMPORTANT;
max-width:none;
margin-right:-1px;
height:auto;
transition:transform .28s ease,filter .28s ease;
}

.gallery-modern-swiper .swiper-slide a:hover .media-container,
.gallery-modern-swiper .swiper-slide a:focus .media-container,
.gallery-modern-swiper .swiper-slide a:hover .media-link,
.gallery-modern-swiper .swiper-slide a:focus .media-link{
transform:translateY(-2px);
box-shadow:0 8px 20px rgba(15,23,42,.14);
border-color:#bcc8d3;
}

.gallery-modern-swiper .swiper-slide a:hover .media-image,
.gallery-modern-swiper .swiper-slide a:focus .media-image{
transform:scale(1.02);
filter:saturate(1.05) brightness(1.02);
}
.gallery-modern-swiper .media-description,
.gallery-modern-swiper .media-caption{padding:8px 10px;color:#334155;font-size:.92rem}
/* Velký slide (s3 = s): přehledný rozměr i na širokých obrazovkách. */
.gallery-compact-gallery{max-width:980px;margin-left:auto;margin-right:auto}
.gallery-compact-gallery .swiper-slide .media-container,
.gallery-compact-gallery .swiper-slide .media-link{
height:clamp(280px,48vw,520px);
display:flex;
align-items:center;
justify-content:center;
}
.gallery-compact-gallery .swiper-slide .media-container > a{display:block;width:100%;height:100%}
.gallery-compact-gallery .media-image,
.gallery-compact-gallery .gallery-video{
width:100% !important;
height:100%;
margin:0;
object-fit:contain;
}

@media screen and (max-width: 768px) {
    .fh5co-hero {
        min-height: 250px;
    }

    .slider_top .slider-top-desc-overlay {
        overflow-y: auto;
        padding: 14px 12px 42px;
    }

    .slider_top .desc {
        position: static;
        width: 100%;
        margin: 0 !important;
        overflow: visible;
    }

    .slider_top .slide-title {
        font-size: clamp(.9rem, 4.5vw, 1.25rem);
        line-height: 1.15;
        overflow-wrap: anywhere;
        hyphens: auto;
    }
}
