/**
 * Vlastní úpravy Shoptet — chrapatko.cz
 * Nahrazuje: klient/chrapatko-cz/style.css + inline styly z HEAD
 * Závisí na: Splide core CSS, GLightbox CSS (načteny před tímto souborem)
 */

/* ============================================================
   ZÁKLAD — žádný horizontální scroll na mobilu
   ============================================================ */

html, body {
    overflow-x: hidden;
    max-width:  100%;
}

/* ============================================================
   BARVY — uprav zde, propíší se všude
   ============================================================ */

:root {
    --color-primary:   #C8102E;   /* BeefeEater červená */
    --color-secondary: #9e0c24;   /* tmavší červená — hover stavy */
    --color-accent:    #C8102E;   /* červená — tlačítka, akcenty */
    --color-text:      #1a1a1a;   /* téměř černá — text */
    --color-white:     #ffffff;
    --color-dark:      #000000;   /* černá — ceny, nadpisy */

    /* Galerie */
    --gallery-radius:                   0px;
    --gallery-arrow-opacity:            0.5;
    --gallery-arrow-background:         var(--color-primary);
    --gallery-arrow-color:              #fff;
    --gallery-play-background:          var(--color-accent);
    --gallery-play-color:               #fff;
    --gallery-main-border-color:        transparent;
    --gallery-thumbnail-border-color:   transparent;
    --gallery-thumbnail-border-color-active: var(--color-primary);
    --gallery-lightbox-background:      rgba(0, 0, 0, 0.6);
}


/* ============================================================
   ZÁKLADNÍ TYPOGRAFIE A BARVY
   ============================================================ */

body {
    font-size: 16px;
}

.h1, .h2, .h3, .h4, .h5, .h6,
body, h1, h2, h3, h4, h5, h6 {
    color: var(--color-dark);
}


/* ============================================================
   HEADER
   ============================================================ */

#header {
    background-color: #000000;
}

#header .container {
    position: relative;
    max-width: 1550px;
    width: 100%;
}

.navigation-in {
    background-color: #000000;
}

/* Tlačítka v navigaci */
.navigation-buttons a[data-target="search"],
.navigation-buttons a[data-target="search"]:hover,
.navigation-buttons a[data-target="login"],
.navigation-buttons a[data-target="login"]:hover {
    background-color: var(--color-primary);
}

.menu-helper > span {
    background-color: var(--color-primary);
}

.navigation-in ul.menu-level-2 {
    background-color: #ffffff;
    border-color:     #dddddd;
}

.navigation-in ul.menu-level-2 a {
    color: #222222 !important;
}

.navigation-in ul.menu-level-2 a:hover {
    color: var(--color-primary) !important;
}

.navigation-buttons > a {
    border-left-color: #000000;
}

.navigation-buttons {
    border-right-color: #000000;
}

/* Vyhledávání v headeru (desktop) — přesunuto JS */
@media (min-width: 992px) {
    header#header .navigation-wrapper #navigation        { order: 1; width: 90%; }
    header#header .navigation-wrapper .menu-helper       { order: 2; width: 80px; }
    header#header .navigation-wrapper .navigation-buttons { margin-left: auto; }
    header#header .navigation-wrapper .navigation-buttons a[data-target="search"] { display: none; }

    header#header .navigation-wrapper .search {
        min-width: 480px;
        margin-left: auto;
    }
    header#header .navigation-wrapper .search form input {
        background: none;
        border: 1px solid var(--_color-header-dropdown-border);
        border-radius: 0;
        color: #fff;
        height: 45px;
    }
    header#header .navigation-wrapper .search form input::placeholder {
        color: var(--_color-header-dropdown-border);
    }
    header#header .navigation-wrapper .search form input:hover,
    header#header .navigation-wrapper .search form input:focus {
        box-shadow: none;
    }
    header#header .navigation-wrapper .search form button.btn-arrow-right {
        height: 45px;
        background: none;
        border: none;
    }
    header#header .navigation-wrapper .search form button.btn-arrow-right:before {
        display: flex;
        font-family: "shoptet";
        content: "" !important;
        font-size: 22px !important;
        color: #fff !important;
    }
}

/* Mobilní navigace — barvy */
@media (max-width: 992px) {
    .navigation-in > ul > li > a > span,
    .navigation-in > ul > li > a > b,
    .navigation-in a { color: #ffffff; }

    /* ── Hamburger ikona (3 pruhy) ── */
    /* varianta A: span pruhy */
    .menu-helper > span { background-color: #ffffff !important; }

    /* varianta B: font-ikona */
    .navigation-buttons a[data-target="navigation"] {
        color: #ffffff !important;
    }

    /* varianta C: SVG ikona */
    .navigation-buttons a[data-target="navigation"] svg,
    .navigation-buttons a[data-target="navigation"] svg path,
    .navigation-buttons a[data-target="navigation"] svg line,
    .navigation-buttons a[data-target="navigation"] svg rect,
    .navigation-buttons a[data-target="navigation"] svg circle {
        fill:   #ffffff !important;
        stroke: #ffffff !important;
    }

    /* ── Křížek (X) při otevřeném menu ── */
    /* Shoptet přidává třídu navigation-window-visible na <body> */

    /* varianta A: hamburger tlačítko v headeru se změní na X */
    .navigation-window-visible .navigation-buttons a[data-target="navigation"],
    .navigation-window-visible .navigation-buttons a[data-target="navigation"]::before,
    .navigation-window-visible .navigation-buttons a[data-target="navigation"]::after {
        color: #ffffff !important;
        opacity: 1 !important;
    }

    /* varianta B: samostatné tlačítko uvnitř .navigation-in (font-ikona) */
    .navigation-close,
    .navigation-in .navigation-close,
    .navigation-in [class*="close"],
    .navigation-in [class*="icon-close"],
    .navigation-in button[aria-label],
    .navigation-in > button {
        color:            #ffffff !important;
        opacity:          1 !important;
        background-color: transparent !important;
    }

    /* varianta C: křížek jako SVG */
    .navigation-close svg,
    .navigation-close svg path,
    .navigation-close svg line,
    .navigation-close svg rect,
    .navigation-in [class*="close"] svg,
    .navigation-in [class*="close"] svg path,
    .navigation-in [class*="close"] svg line,
    .navigation-in > button svg,
    .navigation-in > button svg path,
    .navigation-in > button svg line {
        fill:   #ffffff !important;
        stroke: #ffffff !important;
    }

    /* varianta D: ::before pseudo-element (shoptet icon font) */
    .navigation-close::before,
    .navigation-in [class*="close"]::before,
    .navigation-in > button::before {
        color: #ffffff !important;
    }
}

.top-nav-button {
    background: none !important;
    border: none !important;
}

.container {
    max-width: 1278px;
}


/* ============================================================
   NAVIGAČNÍ MENU S OBRÁZKY
   ============================================================ */

#navigation .menu-level-2 > li > a:has(.menu-image) {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-left: 20px;
}

#navigation .menu-level-2 > li > a:has(.menu-image) .menu-image {
    width: 50px;
    min-width: 50px;
}


/* ============================================================
   ZÁLOŽKY (TABS)
   ============================================================ */

.shp-tab-link {
    background-color: var(--color-primary);
    border-color:     var(--color-primary);
    color:            var(--color-white);
}

.shp-tab-link:hover,
.active .shp-tab-link {
    background-color: var(--color-secondary);
    border-color:     var(--color-secondary);
    color:            var(--color-white);
}

.shp-tabs,
.shp-tabs-holder {
    border-color: var(--color-primary);
}

/* Záložky Podobné/Souvisejíci schovány (jsou přesunuty JS) */
.type-detail .shp-tabs-holder li[data-testid="tabRelatedProducts"],
.type-detail .shp-tabs-holder li[data-testid="tabAlternativeProducts"] {
    display: none !important;
}


/* ============================================================
   PŘÍZNAKY (FLAGS / BADGES)
   ============================================================ */

.flag.default-variant     { background-color: var(--color-secondary); }
.flag.flag-freeshipping   { background-color: var(--color-secondary); }


/* ============================================================
   HVĚZDIČKY (HODNOCENÍ)
   ============================================================ */

.stars .star.is-active:hover,
.stars .star.star-half:before,
.stars .star.star-on:before {
    color: var(--color-primary);
}


/* ============================================================
   TLAČÍTKO DO KOŠÍKU
   ============================================================ */

.add-to-cart-button {
    background-color: var(--color-accent) !important;
    color:            var(--color-white) !important;
    border-color:     var(--color-accent) !important;
}

.add-to-cart-button:hover {
    background-color: var(--color-secondary) !important;
    color:            var(--color-white) !important;
    transform:        translateY(-1px);
    box-shadow:       0 4px 10px rgba(0,0,0,0.15);
}

.dkLabNoteCartMessage {
    color: var(--color-white);
}


/* ============================================================
   ZPĚT NAHORU
   ============================================================ */

#return-to-top {
    bottom: 100px;
}


/* ============================================================
   SYSTÉMOVÉ ZPRÁVY (MSG)
   ============================================================ */

.site-msg {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-white) !important;
    background: var(--color-accent) !important;
    text-align: center;
}

.site-msg.information .text {
    color: #000000 !important;
}

.site-msg.information {
    text-align: center;
    position: relative !important;
    left: 0 !important;
    bottom: 0 !important;
    max-width: 100% !important;
    width: 100%;
    box-shadow: 0 5px 10px rgba(0,0,0,0.16) !important;
    opacity: 0.9 !important;
    z-index: 10 !important;
    font-size: 14px;
    font-family: Arial, sans-serif;
}


/* ============================================================
   PODKATEGORIE S OBRÁZKY
   ============================================================ */

.type-category .subcategories.with-image {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
    margin: 50px auto;
}

@media (min-width: 768px) {
    .type-category .subcategories.with-image { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
    .type-category .subcategories.with-image { grid-template-columns: repeat(4, 1fr); }
}

.type-category .subcategories.with-image li {
    width: 100%;
    text-align: left;
    padding: 0;
}

.type-category .subcategories.with-image li a {
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    border: 1px solid #e7e7e7;
    transition: all 0.3s ease-out;
    padding: 10px;
}

.type-category .subcategories.with-image li a:hover {
    border-color: var(--color-primary);
    text-decoration: none;
}

.type-category .subcategories.with-image li a:after {
    content: "";
    font-family: "shoptet";
    transform: rotate(-90deg);
    font-size: 12px;
}

.type-category .subcategories.with-image li a .image {
    margin: 0;
    height: auto;
}

.type-category .subcategories.with-image li a .image img {
    max-height: 50px;
}

@media (min-width: 992px) {
    .type-category .subcategories.with-image li a .image img { max-height: 70px; }
}

.type-category .subcategories.with-image li a .text {
    font-weight: 500;
}


/* ============================================================
   HOMEPAGE — TABY SKRYTÉ, VŠE VIDITELNÉ
   ============================================================ */

.type-index .index-content-wrapper .shp-tabs-row     { display: none !important; }
.type-index .index-content-wrapper .tab-pane         { display: block !important; opacity: 1 !important; }

.type-index .index-content-wrapper .homepage-group-title {
    display: block;
    text-align: center;
    font-size: 24px;
    margin: 40px 0 30px;
    position: relative;
}

@media (min-width: 768px) {
    .type-index .index-content-wrapper .homepage-group-title { font-size: 28px; }
}


/* ============================================================
   HOMEPAGE — HLAVNÍ BANNER CAROUSEL
   ============================================================ */

.type-index #carousel .carousel-inner {
    overflow: hidden;
}

/* Tečky jsou absolutně uvnitř banneru — žádný extra padding */

.type-index #carousel .carousel-inner:not(.is-overflow) .splide__arrows { display: none; }
.type-index #carousel .carousel-control { display: none !important; }
.type-index #carousel .item img         { width: 100%; }

.type-index #carousel .splide__arrows .splide__arrow {
    background:  rgba(0,0,0,0.35);
    padding:     20px 15px !important;
    opacity:     0.4 !important;
    transition:  all 0.3s ease-out;
}

.type-index #carousel .splide__arrows .splide__arrow:hover {
    opacity:    1 !important;
    background: rgba(0,0,0,0.55);
}

.type-index #carousel .splide__arrows .splide__arrow:before {
    color: #fff !important;
}

/* Carousel pagination — přesunuto ZA obecné .splide__pagination pravidlo níže (jinak !important nestačí) */


/* ============================================================
   HOMEPAGE — BANNERY (4-sloupce)
   ============================================================ */

.type-index .next-to-carousel-banners {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin-top: 0;
    padding: 10px;
    order: -1;
}

@media (min-width: 768px) {
    .type-index .next-to-carousel-banners {
        grid-template-columns: repeat(4, 1fr);
        padding: 0;
        gap: 20px;
        margin-top: 35px;
        margin-bottom: 15px;
    }
}

.type-index .next-to-carousel-banners:before,
.type-index .next-to-carousel-banners:after { display: none; }

.type-index .next-to-carousel-banners .banner-wrapper {
    padding:  0 !important;
    margin:   0 !important;
    overflow: hidden;
    position: relative;
}

/* Padding-top trik — spolehlivěji než aspect-ratio, obsah nemůže přebít výšku */
.type-index .next-to-carousel-banners .banner-wrapper::before {
    content:     "";
    display:     block;
    padding-top: 100%;   /* čtverec — výška = šířka */
}

/* Všechny přímé děti (text, a, obrázky) jsou absolutní uvnitř wrapperu */
.type-index .next-to-carousel-banners .banner-wrapper > * {
    position: absolute;
    top:      0;
    left:     0;
    right:    0;
    bottom:   0;
}

.type-index .next-to-carousel-banners .banner-wrapper a:after {
    content:    "";
    position:   absolute;
    bottom:     0;
    left:       0;
    width:      100%;
    height:     150px;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    z-index:    0;
}

.type-index .next-to-carousel-banners .banner-wrapper a img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: all 0.3s ease-out;
}

.type-index .next-to-carousel-banners .banner-wrapper a:hover img {
    opacity: 0.85;
}

.type-index .next-to-carousel-banners .banner-wrapper .extended-banner-title {
    position:   absolute;
    top:        auto;
    bottom:     20px;
    left:       0;
    right:      0;
    width:      100%;
    text-align: center;
    text-transform: uppercase;
    font-size:  15px;
    background: none;
    box-shadow: none;
    border:     0;
    color:      #fff;
    font-weight: 700;
    z-index:    1;
    padding:    0 15px;
}

@media (min-width: 768px) {
    .type-index .next-to-carousel-banners .banner-wrapper .extended-banner-title { font-size: 28px; }
}

/* První banner — obdélník (2× širší, stejně vysoký jako čtverce) */
.type-index .next-to-carousel-banners .banner-wrapper:first-child {
    grid-column: span 2;
}

.type-index .next-to-carousel-banners .banner-wrapper:first-child::before {
    /* 50% ze šířky = výška 2 sloupců, ale gap (20px) šířku navyšuje → odečteme gap/2 = 10px */
    padding-top: calc(50% - 10px);
}


/* ============================================================
   PRODUKTY — OBECNÝ CAROUSEL (Splide šipky)
   ============================================================ */

.products:not(.products-top)                 { overflow: visible; }
.products:not(.products-top) .product        { position: relative; background: #fff; border: none !important; padding: 0; }
.products:not(.products-top) .splide__track  { padding-left: 1px !important; }
.products:not(.products-top) .splide__pagination { padding: 10px; }

@media (max-width: 767px) {
    .products:not(.products-top) .splide__pagination {
        bottom: 0;
        right:  0;
        justify-content: center;
        margin: 0;
    }
}

/* FIX: konflikt JGM Splide CSS (.is-active vs .is-overflow) */
.type-detail .products-additional.splide.is-initialized .splide__list,
.additional-wrapper .splide.is-initialized .splide__list {
    display:    flex !important;
    flex-wrap:  nowrap !important;
}

/* Podobné/Souvisejíci — vždy viditelné */
.products-additional .inactive,
.products-additional .active { display: block !important; }

.additional-wrapper #productsRelated,
.additional-wrapper #productsAlternative,
.related-wrapper #productsRelated,
.related-wrapper #productsAlternative { opacity: 1 !important; }

.additional-wrapper h2,
.related-wrapper h2 {
    opacity: 1;
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .additional-wrapper h2, .related-wrapper h2 { margin-bottom: 20px; }
}

.browse-p            { display: none !important; }
.splide__track       { width: 100% !important; }


/* ============================================================
   SPLIDE ŠIPKY (pro produktové carousely)
   ============================================================ */

.splide__arrows .splide__arrow {
    opacity:     0.5 !important;
    transition:  0.3s;
    display:     flex;
    justify-content: center;
    font-size:   15px;
    min-width:   auto;
    padding:     25px 12px !important;
    color:       #fff;
    background:  var(--gallery-arrow-background);
    border-radius: 0 !important;
}

@media (max-width: 550px) {
    .splide__arrows .splide__arrow { font-size: 13px !important; }
}

.splide__arrows .splide__arrow:before { color: #fff; }
.splide__arrows .splide__arrow:disabled { display: none !important; }
.splide__arrows .splide__arrow:hover { opacity: 1 !important; }

.splide__arrows .splide__arrow.splide__arrow--next {
    right: -25px;
    border-top-right-radius:    0 !important;
    border-bottom-right-radius: 0 !important;
}

.splide__arrows .splide__arrow.splide__arrow--prev {
    left: -25px;
    border-top-left-radius:    0 !important;
    border-bottom-left-radius: 0 !important;
}

@media (max-width: 550px) {
    .splide__arrows .splide__arrow.splide__arrow--next { right: -20px; }
    .splide__arrows .splide__arrow.splide__arrow--prev { left:  -20px; }
}

.splide__arrows .splide__arrow > svg { display: none !important; }

/* Šipky používají SVG-less unicode znaky (šipky z gallery-icons fontu) */
.splide__arrows .splide__arrow.splide__arrow--next:before { content: "❯"; }
.splide__arrows .splide__arrow.splide__arrow--prev:before { content: "❮"; }


/* ============================================================
   SPLIDE PAGINACE
   ============================================================ */

.splide__pagination {
    position: relative !important;
    margin:   15px auto 20px !important;
}

.splide__pagination .splide__pagination__page {
    background:    var(--color-accent);
    width:         13px;
    height:        13px;
    opacity:       1;
    border-radius: 100%;
}

.splide__pagination .splide__pagination__page.is-active,
.splide__pagination .splide__pagination__page:hover {
    background:  var(--color-primary) !important;
    transform:   none;
}

/* ============================================================
   CAROUSEL HOMEPAGE — PAGINACE (musí být ZA obecným blokem výše!)
   Obě pravidla mají !important → vyhrává pozdější v kódu
   ============================================================ */

.type-index #carousel .splide__pagination {
    position:        absolute !important;
    bottom:          15px !important;
    left:            50% !important;
    right:           auto !important;
    width:           auto !important;
    transform:       translateX(-50%);
    justify-content: center;
    margin:          0 !important;
    padding:         0;
}

.type-index #carousel .splide__pagination .splide__pagination__page {
    border:        2px solid #fff !important;
    background:    transparent !important;
    width:         14px !important;
    height:        14px !important;
    border-radius: 50% !important;
    padding:       0 !important;
    box-sizing:    border-box !important;
    opacity:       0.75;
    margin:        0 4px;
}

.type-index #carousel .splide__pagination .splide__pagination__page.is-active,
.type-index #carousel .splide__pagination .splide__pagination__page:hover {
    background:    #fff !important;
    opacity:       1;
    transform:     none;
}

@media (max-width: 767px) {
    .type-index #carousel .splide__pagination {
        bottom: 8px !important;
    }
    .type-index #carousel .splide__pagination .splide__pagination__page {
        width:         11px !important;
        height:        11px !important;
        border-radius: 50% !important;
        padding:       0 !important;
        margin:        0 3px;
    }
}


/* ============================================================
   VÝBĚROVÉ OBJEDNÁNÍ
   ============================================================ */

.advanced-order .products       { padding-right: 1px; }
.advanced-order .products .product { display: block; }
.advanced-order .p-all          { display: none; }


/* ============================================================
   PRODUKTOVÁ KARTA
   ============================================================ */

.products-block .p {
    border-style: none;
    padding-bottom: 15px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.products-block .p:hover {
    transform:  translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}

.products-block .p-in {
    padding: 15px;
}

/* Fotka produktu */
.products-block .p-img {
    height:     260px;
    overflow:   hidden;
    text-align: center;
}

.products-block .p-img img {
    max-height:  260px;
    width:       auto;
    max-width:   100%;
    object-fit:  contain;
    display:     inline-block;
    transition:  transform 0.35s ease;
}

.products-block .p:hover .p-img img {
    transform: scale(1.05);
}

/* Textová část */
.products-block .p-bottom {
    padding-top: 10px;
}

.p-detail-inner .p-short-description {
    font-size: 100%;
}

/* Název produktu */
.products .name {
    font-size:   16px;
    font-weight: 600;
    line-height: 1.35;
    min-height:  44px;
}

/* Zkrácený popis — max 2 řádky */
.products .p-desc {
    display:            -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow:           hidden;
    line-height:        1.5;
    max-height:         3em;
}

/* Cena */
.price-final,
.products .price-final {
    font-size:   22px;
    font-weight: 700;
    color:       var(--color-primary);
}

/* Tlačítko */
.products .btn {
    padding:        12px 22px;
    font-weight:    600;
    letter-spacing: 0.5px;
}


/* ============================================================
   DOSTUPNOST (AVAILABILITY)
   ============================================================ */

.availability {
    display:       inline-block;
    background:    #eaf7ea;
    color:         #2a7a2a;
    padding:       4px 12px;
    border-radius: 4px;
    font-size:     13px;
    font-weight:   600;
}

.availability:before {
    content: "✔ ";
}

/* VYPRODÁNO */
.availability.is-soldout-custom {
    background:       transparent !important;
    background-color: transparent !important;
    border:           none !important;
    box-shadow:       none !important;
    padding:          0 !important;
    color:            #d13b2f !important;
    display:          block !important;
    text-align:       center;
}

.availability.is-soldout-custom::before,
.availability.is-soldout-custom *::before {
    content: none !important;
    display: none !important;
}

.availability.is-soldout-custom *,
.availability.is-soldout-custom span,
.availability.is-soldout-custom strong {
    background:       transparent !important;
    background-color: transparent !important;
    color:            #d13b2f !important;
    border:           none !important;
    box-shadow:       none !important;
    padding:          0 !important;
}


/* ============================================================
   GALERIE NA DETAILU PRODUKTU
   Struktura selektorů kopíruje JGM gallery pro správnou specificitu
   ============================================================ */

/* Skryté původní Shoptet elementy galerie */
.type-detail .p-image-wrapper #wrap,
.type-detail .p-image-wrapper .p-image,
.type-detail .p-image-wrapper .p-main-image,
.type-detail .p-image-wrapper .p-thumbnails-wrapper,
.type-detail .p-image-wrapper .p-thumbs-wrapper { display: none; }

/* Wrapper */
.type-detail .gallery-new { margin-bottom: 35px; }

/* Hlavní slider — track */
.type-detail .gallery-new #main-slider { margin-bottom: 10px; }

.type-detail .gallery-new #main-slider .splide__track {
    border-radius: var(--gallery-radius);
    box-shadow:    0 0 0 1px var(--gallery-main-border-color);
}

.type-detail .gallery-new #main-slider a {
    display:     flex;
    align-items: center;
    width:       100%;
    height:      100%;
}

.type-detail .gallery-new #main-slider a img {
    display:    block;
    width:      100%;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* Všechny šipky galerie — základní styl (stejný selektor jako JGM) */
.type-detail .gallery-new .splide__arrow {
    opacity:       var(--gallery-arrow-opacity) !important;
    transition:    0.3s;
    display:       flex;
    justify-content: center;
    font-size:     15px;
    min-width:     auto;
    padding:       25px 12px !important;
    color:         var(--gallery-arrow-color);
    background:    var(--gallery-arrow-background);
    border-radius: var(--gallery-radius) !important;
}

.type-detail .gallery-new .splide__arrow:before { color: var(--gallery-arrow-color); }
.type-detail .gallery-new .splide__arrow:disabled { display: none !important; }
.type-detail .gallery-new .splide__arrow:hover   { opacity: 1 !important; }
.type-detail .gallery-new .splide__arrow > svg   { display: none !important; }

/* Pozice šipek — double class pro vyšší specificitu než obecné .splide__arrows pravidlo */
.type-detail .gallery-new .splide__arrow.splide__arrow--next {
    right: 0;
    border-top-right-radius:    0 !important;
    border-bottom-right-radius: 0 !important;
}
.type-detail .gallery-new .splide__arrow.splide__arrow--next:before { content: "❯"; }

.type-detail .gallery-new .splide__arrow.splide__arrow--prev {
    left: 0;
    border-top-left-radius:    0 !important;
    border-bottom-left-radius: 0 !important;
}
.type-detail .gallery-new .splide__arrow.splide__arrow--prev:before { content: "❮"; }

/* Thumbnail slider */
.type-detail .gallery-new .thumbnail-slider {
    overflow:   hidden;
    margin-top: 8px;
}

.type-detail .gallery-new .thumbnail-slider li {
    display:        flex;
    justify-content: center;
    border:         1px solid var(--gallery-thumbnail-border-color) !important;
    border-radius:  var(--gallery-radius);
    overflow:       hidden;
    aspect-ratio:   1/1;
    cursor:         pointer;
    position:       relative;
    box-sizing:     border-box;
}

.type-detail .gallery-new .thumbnail-slider li.active-thumb,
.type-detail .gallery-new .thumbnail-slider li.is-active,
.type-detail .gallery-new .thumbnail-slider li:hover {
    border: 1px solid var(--gallery-thumbnail-border-color-active) !important;
}

.type-detail .gallery-new .thumbnail-slider li img {
    object-fit: cover;
    width:      100%;
    height:     100%;
}

/* Šipky thumbnail slideru — menší padding */
.type-detail .gallery-new .thumbnail-slider .splide__arrow {
    padding:   15px 10px !important;
    font-size: 12px;
}

/* Play ikona u video náhledů */
.gallery-play-icon,
.thumb-play-icon {
    position:        absolute;
    top:             50%;
    left:            50%;
    transform:       translate(-50%, -50%);
    background:      var(--gallery-play-background);
    color:           var(--gallery-play-color);
    width:           60px;
    height:          60px;
    border-radius:   var(--gallery-radius);
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       22px;
    opacity:         0.85;
    pointer-events:  none;
    z-index:         1;
}

.gallery-play-icon:after  { content: "▶"; }
.thumb-play-icon          { width: 28px; height: 28px; font-size: 11px; }
.thumb-play-icon:after    { content: "▶"; }

/* GLightbox přizpůsobení */
.glightbox-container .gslide-image img {
    object-fit: contain;
}


/* ============================================================
   INSTAGRAM FEED (pokud je použit)
   ============================================================ */

.insta-feed-wrapper {
    margin: 50px auto 0;
}

.insta-heading {
    font-size:   28px;
    font-weight: 700;
    text-align:  center;
    color:       var(--color-primary);
    margin-bottom: 25px;
}

.lightwidget-widget {
    width:   100% !important;
    max-width: 100% !important;
    display: block;
    border:  0;
}


