/* Existing Template Styles */
@import url('https://fonts.googleapis.com/css2?family=Mogra&family=Shadows+Into+Light+Two&display=swap');

*, *:after, *:before {
    box-sizing: border-box;
}

body {
    background-image: url(/assets/images/dennipozadizk1234.png);
    background-repeat: repeat-y;
    background-size: 100% auto;
    background-position: top center;
    background-attachment: fixed;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    min-height: 100vh;
    font-family: "Shadows Into Light Two", cursive;
    
    /* OPRAVA: Zamezí horizontálnímu posunování (přetékání webu do stran) */
    overflow-x: hidden; 
    margin: 0;
}

/* Práce s obrázky – zamezí tomu, aby libovolný obrázek přetekl displej */
img {
    max-width: 100%;
    height: auto;
}
.container-fluid{
    padding-top: 40vh;
}

/* Ikony */
.icon-wrapper {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 3.9rem;
    height: 3.9rem;
    background-color: #f5c6ec;
    border-radius: 50%;
}
.icon-wrapper i {
    color: #e11299;
    font-size: 3.9rem;
}

.icon-wrapper2 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    background-color: #f5c6ec;
    border-radius: 50%;
}
.icon-wrapper2 i {
    color: #e11299;
    font-size: 2rem;
}

/* Banners / Titles */
header {
    margin-bottom: -20px;
}
page_title, page_url {
    display: none !important;
}

.filter-section {
    background-color: #FFF8E8;
    padding: 40px 0;
}
.filter-btn {
    background-color: #ff9999;
    border: none;
    padding: 10px 20px;
    margin: 5px;
    border-radius: 20px;
    color: white;
    transition: background-color 0.3s;
}
.filter-btn:hover {
    background-color: #ff6666;
}

/* Animenu CSS */
.animenu__btn {
    display: none;
    cursor: pointer;
    background-color: #fadfb5;
    border: 0;
    padding: 10px;
    height: 40px;
    width: 100px; /* OPRAVA: Pevnější rozměr tlačítka pro mobilní menu */
}
.animenu__btn:hover {
    background-color: #ffb9e9;
}
.animenu__btn__bar {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: .15s cubic-bezier(0.75, -0.55, 0.25, 1.55);
}
.animenu__btn__bar + .animenu__btn__bar {
    margin-top: 4px;
}
.animenu__btn--active .animenu__btn__bar {
    margin: 0;
    position: absolute;
}
.animenu__btn--active .animenu__btn__bar:nth-child(1) {
    transform: rotate(45deg);
}
.animenu__btn--active .animenu__btn__bar:nth-child(2) {
    opacity: 0;
}
.animenu__btn--active .animenu__btn__bar:nth-child(3) {
    transform: rotate(-45deg);
}
.animenu {
    display: flex;
    justify-content: center;
    position: relative;
}
.animenu ul {
    padding: 0;
    list-style: none;
    border-radius: 10px;
}
.animenu li, .animenu a {
    display: inline-flex;
    font-size: 1.8rem; /* OPRAVA: Použití rem pro lepší responzivitu místo natvrdo 30px */
    flex: 1;
    justify-content: center;
}
.animenu a {
    color: black;
    text-decoration: none;
}
.animenu__nav {
    background-color: #fadfb5;
    border: 1px solid black;
    width: 100%;
    position: relative;
}
.animenu__nav > li {
    position: relative;
}
.animenu__nav > li > a {
    padding: 1rem 1.5rem; /* OPRAVA: Zmenšen padding z 3rem na 1.5rem, aby se menu nepothalo na menších PC */
    border-right: 1px solid black;
}
.animenu__nav > li > a.pravyOkraj {
    border-radius: 0px 10px 10px 0px;
    border-right: none;
}
.animenu__nav > li:hover > ul {
    opacity: 1;
    visibility: visible;
    margin: 0;
    border-radius: 10px;
}
.animenu__nav > li:hover > a {
    color: black;
    background-color: #ffb9e9;
}
.animenu__nav > li:hover > a.levyOkraj {
    border-radius: 10px 0px 0px 10px;
}
.animenu__nav > li:hover > a.pravyOkraj {
    border-radius: 0px 10px 10px 0px;
    border-right: none;
}
.animenu__nav > li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    margin: 0;
}
.animenu__nav > li:focus-within > a {
    color: black;
    background-color: #ffb9e9;
}
.animenu__nav > li:focus-within > a.levyOkraj {
    border-radius: 10px 0px 0px 10px;
}
.animenu__nav > li:focus-within > a.pravyOkraj {
    border-radius: 0px 10px 10px 0px;
}
.animenu__nav__hasDropdown:before {
    content: "";
    position: absolute;
    border: 4px solid transparent;
    border-bottom: 0;
    border-top-color: currentColor;
    top: 50%;
    margin-top: -2px;
    right: 10px;
}
.animenu__nav__dropdown {
    min-width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    margin: 20px 0 0 0;
    background-color: #ffe5cc;
    transition: margin .15s, opacity .15s;
}
.animenu__nav__dropdown > li {
    width: 100%;
    border-bottom: 1px solid #eee;
}
.animenu__nav__dropdown > li:first-child > a:after {
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    left: 1em;
    top: -6px;
    border: 6px solid transparent;
    border-top: 0;
    border-bottom-color: inherit;
}
.animenu__nav__dropdown > li:last-child {
    border: 0;
}
.animenu__nav__dropdown a {
    padding: 10px;
    width: 100%;
    border-color: #ffe5cc;
}
.animenu__nav__dropdown a:hover,
.animenu__nav__dropdown a:focus-within {
    background-color: #0186ba;
    border-color: #0186ba;
    color: #fff;
}

/* Checkboxes */
.todo {
    cursor: pointer;
    display: inline-block;
}
.todo-switch {
    display: inline-block;
    background: #f5c6ec;
    border-radius: 50%;
    margin-left: 20px;
    width: 18px;
    height: 18px;
    border: 3px solid #d982b5;
    position: relative;
    vertical-align: middle;
    transition: background 1s;
}
.todo-switch:before,
.todo-switch:after {
    content: "";
    color: #e11299;
}
.todo-checkbox:checked + .todo-switch {
    background: #f5c6ec;
}
.todo-checkbox:checked + .todo-switch:before {
    content: "\2713";
    color: #e11299;
    font-size: 1.3em;
    transition: all 0.25s ease;
    position: absolute;
    top: -30px;
    left: -2px; 
}
.todo-checkbox {
    position: absolute;
    visibility: hidden;
}
.todo-label {
    font-size: 0.8em;
    margin-left: 8px;
    letter-spacing: 2px;
    position: relative;
    color: black;
    text-transform: none;
}

/* Product Card CSS (snip1418) */
.snip1418 {
    position: relative;
    overflow: hidden;
    margin: 10px auto; /* OPRAVA: Vycentrování karet */
    max-width: 100%;     /* OPRAVA: 100% aby karta nepřetékala z displeje */
    width: 100%;
    background: #ffffff;
    text-align: left;
    color: #000000;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
    font-size: 16px;
    transform: translateZ(0);
    perspective: 20em;
    border: 5px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(
      45deg,
      #D60A92,
      #941987,
      #F3954B,
      #F0B155,
      #D65938,
      #E7BBDF
    );
}
.snip1418 * {
    box-sizing: border-box;
    transition: all 0.3s ease-out;
}
.snip1418 img {
    max-width: 100%;
    vertical-align: top;
    position: relative;
}
.snip1418 .add-to-cart {
    position: absolute;
    top: 0;
    right: 0;
    height: 45px;
    padding-right: 5px;
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5em; /* OPRAVA: Mírné zmenšení textu tlačítek, aby se vešel na displej */
    opacity: 0;
    background-color: #e11299;
    transform: rotateX(-90deg);
    transform-origin: 100% 0;
}
.snip1418 .add-to-cart i {
    display: inline-block;
    margin-right: 10px;
    width: 45px;
    line-height: 45px;
    text-align: center;
    background-color: #e11299;
    color: #ffffff;
    font-size: 1.4em;
}
.snip1418 figcaption {
    padding: 15px;
}
.snip1418 h3,
.snip1418 p {
    margin: 0;
}
.snip1418 h3 {
    font-size: 1.3em;
    font-weight: 700;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.snip1418 p {
    font-size: 1em;
    letter-spacing: 1px;
    font-weight: 400;
    line-height: 1.4; /* OPRAVA: Nahrazeno řádkování z 40px na flexibilních 1.4 */
}
.snip1418 p span {
    background-color: #f5c6ec;
    border-radius: 20px;
    padding: 6px;
    display: inline-block; /* OPRAVA: Aby štítek hezky vypadal i při zalomení */
}

.snip1418 > a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.snip1418 .add-to-cart a {
    display: inline-flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
    padding: 0;
}

.snip1418:hover .add-to-cart,
.snip1418.hover .add-to-cart {
    opacity: 1;
    transform: rotateX(0deg);
}
.snip1418:hover .add-to-cart i,
.snip1418.hover .add-to-cart i {
    background-color: #db43a6;
}

/* ==========================================
   MEDIA QUERIES (Pro mobily do šířky 767px)
   ========================================== */
@media screen and (max-width: 767px) {
    body {
        background-image: url(/assets/images/dennipozadizkMobile123.png); 
        background-position: center 60px;
        background-repeat: repeat-y;
        background-size: 100% auto;
        -webkit-background-size: 100% auto;
        -moz-background-size: 100% auto;
        -o-background-size: 100% auto;
        background-attachment: scroll;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        min-height: 100vh;
    }
    
    html {
        min-height: 100%;
        height: 100%;
    }
.container-fluid{

    padding-top: 10vh;
}
    /* Zmenšení velkých ikon na mobilu */
    .icon-wrapper {
        width: 2.8rem;
        height: 2.8rem;
    }
    .icon-wrapper i {
        font-size: 2.8rem;
    }

    /* Úprava animenu na mobilu */
    .animenu__btn {
        display: inline-block;
    }
    .animenu__nav,
    .animenu__nav__dropdown {
        display: none;
    }
    .animenu__nav {
        position: absolute;      /* Plovoucí menu přes obsah */
        top: 100%;               /* Hned pod tlačítkem menu */
        left: 0;
        right: 0;
        width: 100%;
        z-index: 999;            /* Aby bylo vždy NAD ostatním obsahem */
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15); /* Jemný stín pro oddělení od pozadí */
        border-radius: 12px;
        overflow: hidden;
    }
    .animenu__nav > li {
        width: 100%;
        display: block;          /* Položky pod sebou */
        border-right: 0;
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }
    .animenu__nav > li:last-child {
        border: 0;
    }
    .animenu__nav > li:first-child > a:after {
        content: '';
        position: absolute;
        height: 0;
        width: 0;
        left: 1em;
        top: -6px;
        border: 6px solid transparent;
        border-top: 0;
        border-bottom-color: inherit;
    }
   .animenu__nav > li > a {
        width: 100%;
        display: block;
        padding: 14px 20px;      /* Pohodlnější klikání na mobilu */
        text-align: center;
        font-size: 1.6rem;
    }
    .animenu__nav a:hover, .animenu__nav a .active {
        background-color: #0186ba;
        border-color: #0186ba;
        color: #fff;
    }
    .animenu__nav__dropdown {
        position: static;
        background-color: #ffe5cc;
        margin: 0;
        transition: none;
        visibility: visible;
        opacity: 1;
    }
    .animenu__nav__dropdown > li:first-child > a:after {
        display: none !important;
        content: none !important;
    }
    .animenu__nav__dropdown a {
        padding-left: 20px; /* OPRAVA: Překlep v původním kódu "20 20px" */
        width: 100%;
    }
    /* 2. Zruší rotaci čárek mobilního tlačítka (kdyby ten křížek pocházel z něj) */
    .animenu__btn--active .animenu__btn__bar:nth-child(1),
    .animenu__btn--active .animenu__btn__bar:nth-child(3) {
        transform: none !important;
    }
    .animenu__btn--active .animenu__btn__bar:nth-child(2) {
        opacity: 1 !important;
    }
}

/* Aktivní stav rozbaleného menu */
.animenu__nav--active {
    display: block !important;
}
.animenu__nav--active .animenu__nav__dropdown {
    display: block;
}

/* High DPI display optimization */
@media only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (min-resolution: 192dpi),
       only screen and (min-resolution: 2dppx) {
    body {
        background-size: 100% auto;
        -webkit-background-size: 100% auto;
    }
}
@media screen and (max-width: 767px) {
    
    /* Vypne všechny generované čáry/stříšky u položek menu */
    .animenu__nav *,
    .animenu__nav *:before,
    .animenu__nav *:after {
        content: none !important;
        display: none !important;
    }

    /* Ujistí se, že samotný seznam a jeho odkaz mají viditelný text */
    .animenu__nav li,
    .animenu__nav a {
        display: block !important;
    }

    /* Resetuje transformace tlačítka, pokud čára vycházela z něj */
    .animenu__btn__bar {
        position: static !important;
        transform: none !important;
        margin: 4px auto !important;
    }
   
}
@media screen and (max-width: 767px) {

    /* 1. Pozadí s planetou - zarovnané nahoru pod vyhlašovací lištu */
    body {
        background-image: url(/assets/images/dennipozadizkMobile123.png);
       
        background-repeat: repeat-y;
        background-size: 100% auto;
        background-attachment: scroll;
        /*padding-top: 10px !important;  Jemný odstup od vyhledávače */
        overflow-x: hidden;
    }

    /* 2. Zrušení všech divokých záporných okrajů u obsahu */
    main,
    .container,
    header,
    .filter-section {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* 3. Tlačítko menu (proužky) - usazeno plynule */
    .animenu {
        margin: 10px auto !important;
        position: relative !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .animenu__btn {
        display: inline-block !important;
        width: 60px !important; /* Pevná rozumná šířka tlačítka pro prst */
        height: 40px !important;
        margin: 0 auto !important;
        position: relative !important;
        top: 0 !important;
    }


    .animenu__nav > li {
        width: 100% !important;
        display: block !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    }

    .animenu__nav > li > a {
        width: 100% !important;
        display: block !important;
        padding: 12px !important;
        text-align: center !important;
    }

    /* 5. Odstranění nechtěných bílých čar a šipek přes menu */
    .animenu__nav *:before,
    .animenu__nav *:after {
        display: none !important;
        content: none !important;
    }
    
}