﻿/* CLS FIX: skryt slajdy krome prvniho pred init FlexSlideru; JS je pri startu odkryje inline stylem (bez !important) - 2026-09-15 */
.flexslider .slides > li:not(:first-child) { display: none; }

/* ==========================================================================
   KOMENTARE / RECENZE  — pridano LOKALNE 2026-08-19 (migrace recenzi + styl)
   Umisteno na ZACATKU souboru zamerne: nize v souboru je neuzavreny
   @media (min-width:1400px) blok, takze pridani na konec by styly "vnorilo".
   ========================================================================== */
#komentare { margin-top: 32px; }

/* --- formular pro novy komentar --- */
#komentare #commentForm { margin-bottom: 28px; }
#komentare .nadpis { font-size: 20px; font-weight: 600; margin-bottom: 12px; }
#komentare #addComment .left_input { display: flex; gap: 12px; flex-wrap: wrap; }
#komentare #addComment input[type="text"],
#komentare #addComment textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    font-size: 15px;
    margin-bottom: 12px;
    box-sizing: border-box;
}
#komentare #addComment .left_input input[type="text"] { flex: 1 1 220px; }
#komentare #addComment #ulozit {
    background: #e9822a;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-size: 15px;
    cursor: pointer;
}
#komentare #addComment #ulozit:hover { background: #d5741f; }

/* --- seznam recenzi --- */
#komentare hr { border: 0; border-top: 1px solid #e5e5e5; margin: 24px 0; }
#commentsList { list-style: none; margin: 0; padding: 0; }
#commentsList .comment {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 3px solid #e9822a;
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 14px;
}
#commentsList .commentHeader {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin-bottom: 6px;
}
#commentsList .autor { display: none; }           /* staticky popisek "Autor:" skryt */
#commentsList .in_span { font-weight: 600; font-size: 16px; color: #222; }
#commentsList .komentar_datum { font-size: 13px; color: #999; white-space: nowrap; }
#commentsList .commentContent { font-size: 15px; line-height: 1.6; color: #333; }
#commentsList .commentContent p { margin: 0 0 8px; }
#commentsList .commentContent p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
    #commentsList .comment { padding: 12px 14px; }
    #komentare #addComment .left_input { flex-direction: column; gap: 0; }
    /* OPRAVA: ve sloupci by se flex-basis 220px aplikoval na VYSKU -> prilis vysoka pole */
    #komentare #addComment .left_input input[type="text"] { flex: 0 0 auto; width: 100%; }
}

/* ==========================================================================
   PUVODNI OBSAH styles_mk.css NASLEDUJE BEZE ZMENY
   ========================================================================== */

.center-me {
    display: flex;
    justify-content: center;    /* vodorovné zarovnání */
    align-items: center;        /* svislé zarovnání */
    text-align: center;          /* zarovnání textu (volitelné) */
    /* height: 100%; */           /* musí mít nějakou výšku */
}

.videolide-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.videolide-table th,
.videolide-table td {
    border: 1px solid #e5e5e5;
    padding: 10px;
}

.videolide-table th {
    background: #f7f7f7;
    font-weight: 600;
}

.videolide-table tr:nth-child(even) {
    background: #fafafa;
}

@media (min-width: 1400px) {
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container,
    #messageBox {
        max-width: 1500px !important;
    }
} /* LOKALNE OPRAVA: doplnena chybejici uzaviraci zavorka @media(min-width:1400px) */

.button-wrap {
    margin-top: auto;


}

/* =========================================
   WRAPPER SLIDERU
   ========================================= */

.twentytwenty-wrapper-custom {
    position: relative;
}


/* =========================================
   TLAČÍTKO ZVĚTŠIT
   ========================================= */

.twentytwenty-zoom-button {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 100;

    border: none;
    background: rgba(0, 0, 0, 0.70);
    color: #fff;

    padding: 8px 12px;

    font-size: 14px;
    line-height: 1.2;

    cursor: pointer;
}

.twentytwenty-zoom-button:hover {
    background: #e9822a;
}


/* =========================================
   SPOLEČNÉ MODÁLNÍ OKNO
   ========================================= */

.twentytwenty-modal {
    display: none;

    position: fixed;
    z-index: 99999;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.92);

    align-items: center;
    justify-content: center;

    padding: 30px;

    box-sizing: border-box;
}


/* Modal otevřený */

.twentytwenty-modal.is-open {
    display: flex;
}


/* =========================================
   OBSAH MODALU
   ========================================= */

.twentytwenty-modal-content {
    position: relative;

    width: 100%;
    max-width: 1500px;
    max-height: 90vh;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* Slider v modalu */

#twentytwenty-modal-slider {
    width: 100%;
    max-width: 1500px;
}


/* =========================================
   ZAVŘÍT
   ========================================= */

.twentytwenty-modal-close {
    position: absolute;

    top: 20px;
    right: 25px;

    z-index: 100001;

    width: 45px;
    height: 45px;

    border: none;
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.7);

    color: #fff;

    font-size: 34px;
    line-height: 40px;

    cursor: pointer;
}

.twentytwenty-modal-close:hover {
    background: #e9822a;
}


/* =========================================
   MOBIL
   ========================================= */

@media (max-width: 767px) {

    .twentytwenty-modal {
        padding: 10px;
    }

    .twentytwenty-modal-content {
        max-height: 95vh;
    }

    .twentytwenty-zoom-button {
        right: 8px;
        bottom: 8px;

        padding: 7px 9px;

        font-size: 12px;
    }

    .twentytwenty-modal-close {
        top: 10px;
        right: 10px;

        width: 40px;
        height: 40px;

        font-size: 30px;
    }

}


/* CALCULOID oříznutí DIV na výšku*/

.iframe-wrapper {
    width: 100%;
    height: 600px;
    overflow: hidden;
}


.iframe-wrapper iframe {
    display: block;
    width: 100%;
    height: 600px;
    border: 0;
}

/* MOBIL */
@media (max-width: 767px) {
    .iframe-wrapper {
        width: 100%;
        height: 880px !important;
        overflow: hidden;
    }
    
    
    .iframe-wrapper iframe {
    display: block;
    width: 100%;
    height: 880px !important;
    border: 0;
}

    
}


/* ==========================================================================
   VYSKAKOVACI OKNO (akce)
   Obsah se bere ze skryte stranky "Vyskakovaci okno", vykresluje app/views/footer.php,
   otevira www/js/public.js po 3 s (pokud ho navstevnik uz nezavrel).
   Puvodni pravidla ve starem www/styles/screen.css pocitala s popupem, ktery je JEDEN
   VELKY OBRAZEK — jen tmave pozadi a vycentrovany img, bez podkladu pod textem.
   Tenhle obsah je hlavne text, proto bila karta.
   ========================================================================== */

.popupAction {
    display: none;          /* zobrazeni resi public.js */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2000;
    padding: 1rem;
    background-color: rgba(0, 0, 0, .7);
    overflow-y: auto;
}

.popupActionContainer {
    position: relative;
    max-width: 620px;
    margin: 6vh auto;
    padding: 2.25rem 1.75rem 1.5rem;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
    text-align: center;
}

.popupActionContainer p,
.popupActionContainer h2,
.popupActionContainer h3 {
    margin: 0 0 .9rem;
}

.popupActionContainer > *:last-child {
    margin-bottom: 0;
}

.popupAction img {
    max-width: 100%;
    height: auto;
}

/* span v HTML obsahuje &nbsp;, proto font-size:0 a krizek az v ::before */
.popupAction .closepopup {
    position: absolute;
    top: .35rem;
    right: .6rem;
    width: 36px;
    height: 36px;
    font-size: 0;
    line-height: 36px;
    text-align: center;
    color: #6c757d;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: color .15s ease-in-out;
}

.popupAction .closepopup::before {
    content: "\00d7";
    font-size: 2rem;
    line-height: 36px;
}

.popupAction .closepopup:hover {
    color: #212529;
}

@media (max-width: 575px) {
    .popupActionContainer {
        margin: 3vh auto;
        padding: 2rem 1.1rem 1.25rem;
    }
}


/* ==========================================================================
   DROBECKOVA NAVIGACE
   screen.css ma #nav{display:none} a stare odsazeni z predchoziho designu.
   styles_mk.css se nacita az za nim, takze na prebiti staci stejna specificita.
   Drobecky vypisuji basicView.php, kategorieView.php a eshopkategorieView.php.
   ========================================================================== */

#nav {
    display: block;
    margin: 0 0 1.25rem;
    padding: 0;
    font-size: .9rem;
    line-height: 1.5;
    color: #adb5bd;
}

#nav a {
    height: auto;
    padding: 0;
    color: #6c757d;
    text-decoration: none;
}

#nav a:hover {
    color: #007cba;
    text-decoration: underline;
}

/* oddelovac &raquo; je ve <span>, ktery stare pravidlo schovavalo spolu s #nav */
#nav span {
    display: inline;
    margin: 0 .35rem;
    color: #ced4da;
}

@media (max-width: 575px) {
    #nav {
        margin-bottom: 1rem;
        font-size: .82rem;
    }
}

/* ==========================================================================
   LISTA E-SHOPU (#secoundMenu)
   screen.css ji pozicuje natvrdo na top:74px, jenze hlavni menu (#topmenu) je
   fixed a vysoke 87px — a kdyz se zalomi do dvou radku, 118px. Lista se pak
   schovala pod nej a nebyly videt polozky, lupa ani kosik.
   Dale: ikony mely height:40px + overflow-y:hidden, cimz se glyf orizl zespodu,
   a obsah listy nebyl svisle vycentrovany.
   styles_mk.css se nacita az za screen.css, takze na prebiti staci stejna specificita.
   ========================================================================== */

/* --- odsazeni pod hlavicku podle jeji skutecne vysky --- */
.secoundMenu { top: 87px; }

/* menu se lame do dvou radku -> hlavicka ma 118px */
@media (min-width: 992px) and (max-width: 1463px) {
    .secoundMenu { top: 118px; }
}

/* mobilni hlavicka s hamburgerem ma 85px */
@media (max-width: 991px) {
    .secoundMenu { top: 85px; }
}

/* --- obsah listy svisle na stred --- */
.secoundMenu .navbar {
    padding-top: 0;
    padding-bottom: 0;
}

.secoundMenu .navbar > .container-fluid {
    align-items: center;
    min-height: 48px;
}

.secoundMenu .navbar-nav {
    padding-top: 0;
    align-items: center;
}

/* --- ikony: zrusit orez a vycentrovat --- */
.secoundMenu .search_icon,
.secoundMenu .basketBox {
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
}

.secoundMenu .basketBox a {
    display: flex;
    align-items: center;
}

/* puvodne height:40px + overflow-y:hidden pri fontu 32px -> glyf se orizl zespodu */
.secoundMenu .search_icon i,
.secoundMenu .basketBox i {
    display: block;
    height: auto;
    overflow: visible;
    line-height: 1;
}

/* ==========================================================================
   PEREX NOVINEK
   screen.css ma .short_it{height:70px;overflow:hidden} — perex se tim orizne
   na dva radky. Na prani klienta dvojnasobek. Prepisujeme jen .short_it,
   .hpn_text ze stejneho pravidla zustava na 70px.
   ========================================================================== */

.short_it {
    height: 140px;
}

/* ==========================================================================
   CENIKOVE SLOUPCE (.cenik-box)
   Texty a seznamy ve sloupcich mensim pismem. Trida se pridava v editoru
   obsahu k boxu: <div class="col-md border-box cenik-box">.
   Pouzito na: /kazety-vhs-hi8-aj/, /filmove-kotouce/, /dia-nega-foto/.
   Nadpisy s cenou (h2) zustavaji. a.button nema vlastni font-size a dedi ho
   z <p>, proto ho vracime na zakladni velikost.
   ========================================================================== */

.cenik-box p,
.cenik-box li {
    font-size: .95rem;
}

.cenik-box a.button {
    font-size: 1.1rem;
}

/* piktogramy pred radky textu (v HTML width="30" height="30") zmensit na vysku textu;
   CSS ma prednost pred HTML atributy width/height */
.cenik-box img[width="30"] {
    width: auto;
    height: 1.25em;
    vertical-align: -.3em;
}

/* radky s piktogramem jsou samostatne <p> s vychozim margin-bottom 1rem -> mensi mezery;
   ostatnich <p> v boxu (uvodni text, prazdne odstavce pred tlacitkem) se netyka */
.cenik-box p:has(> img[width="30"]) {
    margin-bottom: .35rem;
}

/* tlacitko na konci boxu vzdy dole, aby byla tlacitka v rade zarovnana;
   box je flex sloupec (inline style), nekterym <p> v editoru chybi margin-top:auto */
.cenik-box > p:last-child:has(> a.button) {
    margin-top: auto;
}

/* --- vyhledavani: vysledky stranky --- */
#searchresults { list-style: none; padding: 0; margin: 0 0 20px; }
.search-result-item { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #eee; }
.search-result-item a { text-decoration: none; display: block; }
.search-result-title { display: block; font-weight: 700; color: #212529; font-size: 1.1rem; }
.search-result-item a:hover .search-result-title { color: #ff7900; }
.search-result-snippet { display: block; color: #555; font-size: 0.92rem; margin-top: 4px; }
#search-results-page mark { background: #ffe0b3; color: inherit; padding: 0 2px; }

/* --- vyhledavani: box v patice --- */
.footer-search-wrap { display: flex; flex-direction: column; align-items: center; margin-bottom: 25px; }
.footer-search-wrap form { display: flex; width: 100%; max-width: 560px; position: relative; }
.footer-search-wrap input[type="text"] {
    flex: 1;
    border-radius: 6px 0 0 6px;
    border: 1px solid #555;
    padding: 10px 14px 10px 38px;
    background: #fff;
    color: #212529;
}
.footer-search-wrap .footer-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    pointer-events: none;
}
.footer-search-wrap button {
    border-radius: 0 6px 6px 0;
    border: 1px solid #ff7900;
    background: #ff7900;
    color: #fff;
    padding: 10px 18px;
    cursor: pointer;
}
.footer-search-wrap button:hover { background: #e06c00; }

/* --- vyhledavani: "zive" napovidani (dropdown) --- */
.footer-search-suggest {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 6px 14px rgba(0,0,0,0.12);
    z-index: 50;
    display: none;
    max-height: 340px;
    overflow-y: auto;
    text-align: left;
}
.footer-search-suggest a {
    display: block;
    padding: 8px 14px;
    color: #212529;
    text-decoration: none;
    border-bottom: 1px solid #f1f1f1;
    font-size: 0.9rem;
}
.footer-search-suggest a:hover,
.footer-search-suggest a.active { background: #fff3e6; }
.footer-search-suggest .suggest-snippet { display: block; color: #777; font-size: 0.8rem; }
.footer-search-suggest .suggest-empty,
.footer-search-suggest .suggest-loading { padding: 10px 14px; color: #777; font-size: 0.9rem; }

/* ===========================================================================
   KALKULACKA CENY DIGITALIZACE (.price-calc) - nahrada Calculoid iframe.
   Pridano 2026-10-23. Pouziva se na kalkulacka-ceny-digitalizace (VHS),
   kalkulacka-ceny-digitalizace-8mm (8mm film), kalkulacka-ceny-skenovani (foto/dia).
   JS logika v www/js/public.js (funkce initPriceCalculators).
   =========================================================================== */
.price-calc {
    max-width: 920px;
    margin: 0 auto;
    padding: 24px 28px;
    background: #fff8f0;
    border: 1px solid #ffd9ad;
    border-radius: 14px;
    text-align: center;
}
.price-calc-variants {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 18px;
    padding-top: 10px;
}
.price-calc-variant {
    background: #fff;
    border: 1px solid #ffb366;
    color: #ff7900;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 8px 18px;
    border-radius: 999px;
    cursor: pointer;
}
.price-calc-variant-wrap {
    position: relative;
    display: inline-block;
}
.price-calc-variant-tag {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: #2ca02c;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    padding: 2px 9px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.price-calc-variant:hover { background: #fff3e6; }
.price-calc-variant.active {
    background: #ff7900;
    color: #fff;
    border-color: #ff7900;
    box-shadow: 0 4px 10px rgba(255, 121, 0, 0.3);
}
.price-calc-variant.active:hover { background: #ff8c1a; }
.price-calc-variant-desc {
    font-size: 0.8rem;
    color: #777;
    text-align: center;
    margin: -8px 0 16px;
}
.price-calc-slider-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}
.price-calc-minmax {
    font-size: 0.85rem;
    color: #777;
    white-space: nowrap;
    flex: 0 0 auto;
}
.price-calc-range {
    flex: 1 1 auto;
    accent-color: #ff7900;
    height: 6px;
}
.price-calc-input-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 18px;
}
.price-calc-number {
    width: 80px;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    padding: 6px 4px;
    border: 1px solid #ffb366;
    border-radius: 8px;
    color: #212529;
}
.price-calc-input-row span { color: #555; font-size: 1rem; }
.price-calc-total {
    font-size: 1.15rem;
    margin-bottom: 4px;
}
.price-calc-price {
    color: #ff7900;
    font-size: 1.7rem;
}
.price-calc-perunit {
    font-size: 0.85rem;
    color: #888;
    font-weight: 400;
    transition: color 0.2s ease;
}
.price-calc-perunit-discount {
    color: #2ca02c;
    font-weight: 700;
}
.price-calc-strop {
    font-size: 0.95rem;
    text-align: center;
    margin: 0 0 16px;
}
.price-calc-extra {
    border-top: 1px dashed #ffd9ad;
    padding-top: 14px;
    text-align: left;
}
.price-calc-extra p {
    margin: 0 0 8px;
    font-size: 0.95rem;
}
.price-calc-extra p:last-child { margin-bottom: 0; }
.price-calc-extra p i {
    color: #ff7900;
    margin-right: 6px;
    font-size: 1.05rem;
    vertical-align: -1px;
}
.price-calc-note {
    font-size: 0.75rem;
    color: #888;
    text-align: center;
    margin: 14px 0 0;
    white-space: nowrap;
}
.price-calc-formats {
    max-width: 820px;
    margin: 18px auto 0;
    padding: 16px 22px;
    background: #fff8f0;
    border: 1px solid #ffd9ad;
    border-radius: 12px;
    text-align: center;
}
.price-calc-formats p {
    margin: 0 0 8px;
    font-size: 0.92rem;
}
.price-calc-formats p:last-child { margin-bottom: 0; }
.price-calc-formats p i {
    color: #ff7900;
    margin-right: 6px;
    font-size: 1.05rem;
    vertical-align: -1px;
}
.price-calc-cenik td {
    padding: 6px 8px !important;
    font-size: 0.88rem;
}
.price-calc-cenik tr:first-child td {
    font-size: 0.85rem;
    background: #fff3e6;
}
.price-calc-badge-wrap {
    text-align: center;
    margin-bottom: 18px;
}
.price-calc-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ffa64d, #ff7900);
    color: #fff;
    font-weight: 700;
    font-size: 1.15rem;
    letter-spacing: 0.3px;
    padding: 10px 28px;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(255, 121, 0, 0.35);
}
.price-calc-badge i { margin-right: 8px; }
@media (max-width: 575px) {
    .price-calc { padding: 18px 16px; }
    .price-calc-badge { font-size: 0.95rem; padding: 8px 20px; }
    .price-calc-slider-row { gap: 8px; }
    .price-calc-minmax { font-size: 0.75rem; }
    .price-calc-price { font-size: 1.4rem; }
    .price-calc-note { white-space: normal; }
}
