/* --- Proměnné a Reset --- */



:root {



    --primary-color: #A4C3B2; /* Světlá eukalyptová */



    --primary-dark: #6B8E78;  /* Tmavší eukalyptová (pro běžné nadpisy) */



    --sage-box: #9AA8A0;      /* Odpočet */



    



    --text-main: #333333;     /* Běžný text */



    --text-headline: #43694d; /* SPECIÁLNÍ BARVA PRO HLAVNÍ NADPIS */



    



    --text-white: #ffffff;



    --bg-light: #F5F7F6;



    --bg-white: #ffffff;



    



    --font-heading: 'Playfair Display', serif;



    --font-body: 'Montserrat', sans-serif;



}







* { margin: 0; padding: 0; box-sizing: border-box; }







html { 



    scroll-behavior: smooth;



    scroll-padding-top: 90px;



    scrollbar-gutter: stable; 



}







body {



    font-family: var(--font-body);



    color: var(--text-main);



    line-height: 1.6;



    background-color: var(--bg-white);



    padding-top: 0; 



    overflow-x: hidden;



}







h1, h2, h3 { font-family: var(--font-heading); color: var(--primary-dark); }







.container { width: 90%; max-width: 1100px; margin: auto; }



.text-center { text-align: center; }



.section-padding { padding: 30px 0; }



.bg-light { background-color: var(--bg-light); }







.p-center { text-align: justify; hyphens: auto; }







.section-title {



    font-size: 2.5rem; margin-bottom: 30px; position: relative;



    display: inline-block; color: var(--primary-dark);



}



.section-title::after {



    content: ''; display: block; width: 60px; height: 3px;



    background-color: var(--primary-color); margin: 15px auto 0;



}







/* --- NAVIGACE --- */



.navbar {



    position: fixed; top: 0; width: 100%; padding: 15px 0; z-index: 1000;



    background: rgba(255, 255, 255, 0.98);



    box-shadow: 0 2px 10px rgba(0,0,0,0.1);



    transform: translateY(-100%); transition: transform 0.4s ease;



}



.navbar.scrolled { transform: translateY(0); }



.nav-container { display: flex; justify-content: space-between; align-items: center; }



.logo {



    font-family: var(--font-heading); font-size: 1.5rem; color: var(--primary-dark);



    font-weight: 700; text-decoration: none; transition: color 0.3s;



}



.nav-links { display: flex; list-style: none; gap: 30px; }



.nav-links a {



    text-decoration: none; color: var(--text-main); font-weight: 600;



    text-transform: uppercase; font-size: 0.85rem; letter-spacing: 1px; transition: color 0.3s;



}



.nav-links a:hover { color: var(--primary-dark); }



.menu-toggle { display: none; font-size: 1.5rem; cursor: pointer; color: var(--text-main); }







/* --- HERO SEKCE --- */



.hero-section {



    height: 100vh; min-height: 600px; 



    background-image: url('pozadi.png'); background-size: cover; 



    background-position: center center; background-repeat: no-repeat;



    position: relative; display: flex; align-items: center; justify-content: center;



    color: var(--text-main); padding: 0 15px; 



}



.hero-content { 



    position: relative; z-index: 1; padding: 20px; width: 100%; max-width: 900px; 



    margin: -30px auto 0 auto; text-align: center;



}



.hero-content > * { opacity: 0; animation: fadeInUp 1s ease-out forwards; }



.hero-content h1 { 



    font-size: clamp(2rem, 5vw, 4rem); color: var(--text-headline); margin-bottom: 10px; 



    line-height: 1.1; font-weight: 700; animation-delay: 0.5s;



}



.subtitle-top { 



    font-size: clamp(0.8rem, 2vw, 1rem); letter-spacing: 4px; text-transform: uppercase; 



    margin-bottom: 15px; color: #888; font-weight: 600; animation-delay: 0.2s;



}



.surname { 



    font-size: clamp(1.2rem, 3vw, 1.6rem); font-family: var(--font-heading); 



    margin-bottom: 25px; font-style: italic; color: var(--primary-dark); animation-delay: 0.8s;



}



.date { 



    font-size: clamp(1rem, 2.5vw, 1.3rem); margin-bottom: 40px; font-weight: 500; 



    letter-spacing: 2px; text-transform: uppercase; color: #999; animation-delay: 1.1s;



}







/* --- ODPOČET --- */



.countdown { display: flex; justify-content: center; gap: clamp(10px, 3vw, 20px); }



.time-box {



    background: var(--sage-box); width: clamp(60px, 10vw, 90px); height: clamp(60px, 10vw, 90px);



    border-radius: 6px; display: flex; flex-direction: column; justify-content: center; align-items: center;



    color: white; box-shadow: 0 5px 15px rgba(0,0,0,0.1); opacity: 0; animation: fadeInUp 0.8s ease-out forwards;



}



.time-box:nth-child(1) { animation-delay: 1.2s; }



.time-box:nth-child(2) { animation-delay: 1.4s; }



.time-box:nth-child(3) { animation-delay: 1.6s; }



.time-box:nth-child(4) { animation-delay: 1.8s; }



.time-box span { font-size: clamp(1.2rem, 4vw, 2rem); font-weight: 700; line-height: 1; }



.time-box small { font-size: clamp(0.5rem, 1.5vw, 0.7rem); text-transform: uppercase; margin-top: 5px; }







/* --- ABOUT & DETAILY --- */











.details-grid { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }



.detail-card {



    flex: 1; min-width: 250px; text-align: center; padding: 20px;



    border: 1px solid #eee; border-radius: 10px; transition: transform 0.3s; background: white;



}



.detail-card:hover { transform: translateY(-5px); border-color: var(--primary-color); }



.detail-card .icon { font-size: 2.5rem; margin-bottom: 15px; transition: transform 0.3s; }



.detail-card:hover .icon { transform: scale(1.2); }



.detail-card h3 { margin-bottom: 10px; font-size: 1.3rem; }







/* --- TIMELINE --- */
.timeline { position: relative; max-width: 800px; margin: 0 auto; }
.timeline::after {
    content: ''; position: absolute; width: 2px; background-color: var(--primary-dark);
    top: 0; bottom: 0; left: 50%; margin-left: -1px; opacity: 0.4;
}
.timeline-item { padding: 5px 40px; position: relative; width: 50%; font-size: 0; }
.left { left: 0; text-align: right; }
.right { left: 50%; text-align: left; }
.timeline-item::after {
    content: ''; position: absolute; width: 14px; height: 14px;
    background-color: var(--primary-color); border-radius: 50%;
    border: 3px solid var(--bg-white); right: -7px; top: 16px; z-index: 10;
}
.right::after { left: -7px; }

/* užší a kompaktní bílý štítek */
.timeline-content {
    padding: 12px 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    max-width: 260px;
    font-size: 0;              /* schová prázdné mezery mezi <span> a <h3> */
}
.timeline-item.left  .timeline-content { margin-left:  auto; }
.timeline-item.right .timeline-content { margin-right: auto; }

/* větší čas */
.timeline-content .time {
    display: block;
    color: var(--primary-dark);
    font-weight: 700;
    font-size: 1.5rem;         /* bylo 1.2rem */
    font-family: var(--font-heading);
    line-height: 1.1;
    margin: 0;
}

/* nadpis pod časem – s hezkým zalomením delších textů */
.timeline-content h3 {
    display: block;
    font-size: 1.05rem;
    line-height: 1.25;
    margin: 6px 0 0 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* --- TLAČÍTKA (SJEDNOCENÝ STYL PRO VŠECHNA TLAČÍTKA) --- */



.gallery-placeholder { padding: 40px; border: 2px dashed var(--primary-color); border-radius: 10px; background: var(--bg-light); color: #666; max-width: 700px; margin: 0 auto; }







/* Zde jsou všechna tlačítka webu */



.btn-svatba, 



.btn-submit, 



.btn-upload-submit, 



.map-btn, 



.btn-zip,



.btn-download-lb {



    display: inline-block;



    background-color: #6B8E78 !important; /* Základní tmavší zelená */



    color: white !important;



    



    padding: 15px 40px;



    border-radius: 5px;



    border: none;



    



    font-family: 'Montserrat', sans-serif;



    font-size: 1rem;



    font-weight: 600;



    text-transform: uppercase;



    letter-spacing: 1px;



    text-decoration: none;



    text-align: center;



    



    box-shadow: 0 4px 6px rgba(0,0,0,0.1);



    transition: background-color 0.3s ease, transform 0.2s;



    cursor: pointer;



    



    min-width: 200px;



}







/* Specifická šířka pro upload tlačítko */



.btn-upload-submit { 



    width: 100%; 



}







/* Specifická úprava pro tlačítko v Lightboxu */



.btn-download-lb {



    margin-top: 20px;



    padding: 12px 30px;



    font-size: 0.9rem;



    box-shadow: 0 4px 15px rgba(0,0,0,0.3);



}







/* HOVER EFEKT (STEJNÝ PRO VŠECHNY) */



.btn-svatba:hover, 



.btn-submit:hover, 



.btn-upload-submit:hover, 



.map-btn:hover, 



.btn-zip:hover,



.btn-download-lb:hover {



    background-color: #A4C3B2 !important; /* Světlejší zelená */



    transform: translateY(-2px); /* Nadskočení */



    color: white !important;



}







/* --- KONTAKT A FORMULÁŘ --- */



.contact-wrapper { max-width: 800px; margin: auto; }



.contact-cards { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }



.contact-box { background: white; padding: 20px; min-width: 200px; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }



.form-container { max-width: 600px; margin: 50px auto 0 auto; text-align: left; }



.contact-form { display: flex; flex-direction: column; gap: 20px; }



.contact-form input, .contact-form textarea {



    width: 100%; padding: 15px; border: 1px solid #ddd; border-radius: 5px;



    font-family: var(--font-body); font-size: 1rem; background-color: #fff; transition: border-color 0.3s;



}



.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--primary-dark); }



.btn-submit { width: 100%; }







/* --- PATIČKA --- */



footer { background-color: var(--primary-dark); color: white; padding: 30px 0; text-align: center; }



footer h3 { font-size: 1.8rem; margin-bottom: 5px; color: white; }



footer p { color: rgba(255,255,255,0.8); font-size: 0.9rem; }







/* --- RESPONSIVITA --- */



@media (max-width: 1024px) {



    .menu-toggle { display: block; color: var(--text-main); }



    .nav-links { display: none; flex-direction: column; position: absolute; top: 60px; left: 0; width: 100%; background: white; padding: 20px; text-align: center; box-shadow: 0 5px 10px rgba(0,0,0,0.1); }



    .nav-links.active { display: flex; }



    .timeline::after { left: 31px; }



    .timeline-item { width: 100%; padding-left: 70px; padding-right: 25px; }



    .timeline-item::after { left: 22px; right: auto; }



    .left { text-align: left; } .right { left: 0; }



    .details-grid, .contact-cards { flex-direction: column; }
/* Na mobilu zarovnat všechny štítky doleva */
    .timeline-item.left  .timeline-content,
    .timeline-item.right .timeline-content {
        margin-left: 0;
        margin-right: auto;
    }


}



@media (max-width: 768px) {



    .about-container { flex-direction: column; }



    .about-image { order: 2; width: 100%; margin-top: 20px; }



    .about-image img { margin: 0 auto; }



    .form-container { width: 100%; padding: 0 10px; }



}







/* --- ANIMACE --- */



@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }



.reveal-on-scroll { opacity: 0; transform: translateY(40px); transition: all 0.8s ease-out; }



.reveal-on-scroll.active { opacity: 1; transform: translateY(0); }



.timeline-item.left .reveal-on-scroll { transform: translateX(-50px); }



.timeline-item.right .reveal-on-scroll { transform: translateX(50px); }



.timeline-item .reveal-on-scroll.active { opacity: 1; transform: translateX(0); }







/* --- SLIDESHOW --- */



.slideshow-container { max-width: 100%; position: relative; margin: auto; display: flex; justify-content: center; align-items: center; height: 350px; }



.mySlides { display: none; text-align: center; width: 100%; }



.mySlides img { height: 300px; width: auto; max-width: 90%; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); object-fit: contain; cursor: zoom-in; transition: transform 0.3s; }



.mySlides img:hover { transform: scale(1.02); }



.prev, .next { cursor: pointer; position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; color: var(--primary-dark); font-weight: bold; font-size: 24px; transition: 0.3s ease; user-select: none; background-color: rgba(255,255,255,0.7); border-radius: 50%; z-index: 5; }



.next { right: 10px; } .prev { left: 10px; }



.prev:hover, .next:hover { background-color: var(--primary-dark); color: white; }



.fade { animation-name: fade; animation-duration: 2.5s; }



@keyframes fade { from {opacity: 0} to {opacity: 1} }







/* --- STYLY PRO GALERII --- */



.mrizka-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; margin-top: 30px; }



.media-box, .fotka-box-gallery { height: 160px; overflow: hidden; border-radius: 8px; cursor: pointer; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; background: #fff; position: relative; }



.media-box:hover, .fotka-box-gallery:hover { transform: scale(1.05); box-shadow: 0 8px 15px rgba(0,0,0,0.15); z-index: 2; }



.media-box img, .media-box video, .fotka-box-gallery img { width: 100%; height: 100%; object-fit: cover; }



.video-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 30px; color: white; text-shadow: 0 0 10px rgba(0,0,0,0.5); pointer-events: none; }







/* --- LIGHTBOX (Sjednocený) --- */



.lightbox-modal {



    display: none;



    position: fixed;



    z-index: 9999;



    left: 0;



    top: 0;



    width: 100%;



    height: 100%;



    /* Decentní tmavě šedá */



    background-color: rgba(30, 30, 30, 0.95); 



    backdrop-filter: blur(5px);



    animation: fadeIn 0.3s ease-out;



}







.lightbox-content, .lightbox-media {



    max-width: 100%; 



    max-height: 75vh;



    border-radius: 4px;



    box-shadow: 0 0 30px rgba(0,0,0,0.5);



    transition: none;



    animation: zoomIn 0.3s ease-out;



}







.lightbox-content-wrapper {



    position: absolute;



    top: 50%;



    left: 50%;



    transform: translate(-50%, -50%);



    max-width: 90%;



    max-height: 90vh;



    display: flex;



    flex-direction: column;



    align-items: center;



    justify-content: center;



}







/* Ovládací prvky */



.lb-close {



    position: fixed; /* Fixní pozice v okně */



    top: 20px;



    right: 30px;



    font-size: 50px;



    line-height: 1;



    z-index: 20000; /* VELMI VYSOKÝ INDEX - aby šel kliknout */



    color: rgba(255,255,255,0.7);



    cursor: pointer;



    transition: 0.3s;



    user-select: none;



}







.lb-prev, .lb-next {



    position: fixed; /* Fixní pozice v okně */



    top: 50%;



    /* DŮLEŽITÉ: Pouze vertikální centr, ŽÁDNÉ uhýbání */



    transform: translateY(-50%);



    font-size: 40px;



    background: rgba(255,255,255,0.1);



    border-radius: 50%;



    width: 60px;



    height: 60px;



    display: flex;



    align-items: center;



    justify-content: center;



    z-index: 20000;



    color: rgba(255,255,255,0.7);



    cursor: pointer;



    user-select: none;



    transition: 0.3s;



}







.lb-prev { left: 20px; }



.lb-next { right: 20px; }







/* Hover pro šipky a křížek */



.lb-close:hover, .lb-prev:hover, .lb-next:hover {



    color: white;



    background-color: rgba(255,255,255,0.2);



    /* DŮLEŽITÉ: Žádné transform scale, aby to neuskakovalo */



}







/* Animace Lightbox */



@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }



@keyframes zoomIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }







/* Skrytí reklam Webzdarma */



div[style*="clear:both"][style*="height:90px"][style*="z-index:99"], div[style*="width:728px"][style*="height:90px"], div:has(script[src*="/floatad.js"]) { display: none !important; }











/* --- VÝBĚR FOTEK A HROMADNÉ STAŽENÍ --- */







/* Úprava media boxu, aby se do něj dal umístit checkbox */



.media-box {



    position: relative;



    /* Resetovat pointer, protože klikací je teď vnitřní div */



    cursor: default; 



}







/* Klikací plocha pro lightbox (aby checkbox neotevíral fotku) */



.media-click-area {



    width: 100%;



    height: 100%;



    cursor: pointer;



}







/* Checkbox v levém horním rohu */



.select-media {



    position: absolute;



    top: 10px;



    left: 10px;



    width: 24px;



    height: 24px;



    z-index: 10; /* Aby byl nad fotkou */



    cursor: pointer;



    accent-color: #6B8E78; /* Barva zaškrtnutí (Chrome/Edge/Firefox) */



    



    /* Vylepšení viditelnosti */



    background: white;



    border: 2px solid white;



    box-shadow: 0 2px 5px rgba(0,0,0,0.3);



    border-radius: 4px;



}







/* Plovoucí lišta pro výběr */



.floating-download-bar {



    position: fixed;



    /* ZMĚNA 1: Schováme to hodně hluboko (-400px), aby to nečouhalo ani na mobilu */



    bottom: -400px; 



    left: 50%;



    transform: translateX(-50%);



    



    background-color: white;



    padding: 15px 30px;



    border-radius: 50px;



    box-shadow: 0 5px 20px rgba(0,0,0,0.2);



    



    display: flex;



    align-items: center;



    gap: 20px;



    z-index: 9000;



    



    /* ZMĚNA 2: Přidáme animaci i pro průhlednost */



    transition: bottom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s, visibility 0.3s;



    



    border: 1px solid #eee;



    flex-wrap: wrap;



    justify-content: center;







    /* ZMĚNA 3: Ve výchozím stavu bude úplně neviditelná */



    opacity: 0;



    visibility: hidden;



}







/* Třída, která lištu vysune nahoru a zviditelní */



.floating-download-bar.active {



    bottom: 30px;



    opacity: 1;



    visibility: visible;



}







/* Tlačítko na plovoucí liště (Stáhnout vybrané) */



.btn-download-selected {



    background-color: #6B8E78;



    color: white;



    border: none;



    padding: 10px 25px; /* Menší padding než u hlavního tlačítka */



    border-radius: 30px; /* Kulaté rohy, aby ladilo s lištou */



    



    font-family: 'Montserrat', sans-serif;



    font-weight: 600;



    text-transform: uppercase; /* Velká písmena (stejně jako nahoře) */



    letter-spacing: 1px;       /* Rozestupy písmen (stejně jako nahoře) */



    font-size: 0.85rem;        /* Menší velikost písma */



    



    cursor: pointer;



    transition: 0.3s;



    box-shadow: 0 4px 10px rgba(107, 142, 120, 0.3);



}







.btn-download-selected:hover {



    background-color: #A4C3B2;



    transform: translateY(-2px);



}







/* Tlačítko pro zrušení výběru (Decentní šedé) */



.btn-cancel-selection {



    background-color: transparent;



    color: #666;



    border: 1px solid #ccc;



    padding: 10px 20px;



    border-radius: 30px;



    font-weight: 600;



    cursor: pointer;



    font-size: 0.85rem;



    transition: 0.3s;



    font-family: 'Montserrat', sans-serif;



}







.btn-cancel-selection:hover {



    background-color: #f0f0f0;



    color: #333;



    border-color: #999;



}







/* Úprava plovoucí lišty pro lepší rozložení na mobilu */



.floating-download-bar {



    /* Původní styly zůstávají, jen přidáme flex-wrap pro jistotu */



    flex-wrap: wrap;



    justify-content: center;



}











.slide-img {



    cursor: pointer;



    transition: transform 0.3s ease;



}



.slide-img:hover {



    transform: scale(1.02);



}











/* --- SLIDESHOW (POSOUVACÍ EFEKT) --- */



.slideshow-container {



    max-width: 100%;



    position: relative;



    margin: auto;



    /* DŮLEŽITÉ: Skryje vše, co přečuhuje */



    overflow: hidden; 



    height: 350px; 



}







/* Toto je ten "pás", ve kterém jsou obrázky vedle sebe */



.slides-wrapper {



    display: flex;



    height: 100%;



    transition: transform 0.8s ease-in-out; /* Hladký posun */



    width: 100%;



}







.mySlides {



    /* Každý slide zabere 100% šířky kontejneru */



    min-width: 100%; 



    height: 100%;



    display: flex; /* Vycentrování obrázku */



    align-items: center;



    justify-content: center;



}







.mySlides img {



    height: 340px;



    width: auto;



    max-width: 90%;



    border-radius: 10px;



    box-shadow: 0 5px 15px rgba(0,0,0,0.1);



    object-fit: contain;



    /* Zachováno klikání */



    cursor: pointer;



    transition: transform 0.3s ease;



}







.mySlides img:hover {



    transform: scale(1.02);



}







/* Šipky (zůstávají stejné) */



.prev, .next {



    cursor: pointer;



    position: absolute;



    top: 50%;



    transform: translateY(-50%);



    width: 50px;



    height: 50px;



    display: flex;



    align-items: center;



    justify-content: center;



    color: var(--primary-dark);



    font-weight: bold;



    font-size: 24px;



    transition: 0.3s ease;



    user-select: none;



    background-color: rgba(255,255,255,0.7);



    border-radius: 50%;



    z-index: 5;



}



.next { right: 10px; }



.prev { left: 10px; }



.prev:hover, .next:hover {



    background-color: var(--primary-dark);



    color: white;



}



/* --- ABOUT & DETAILY (Upraveno pro řádky) --- */



/* Odstraníme starý kontejner flex, nyní je to jen obal */

.about-container { 

    display: block; 

}



/* Styl pro jeden řádek (Text + Obrázek) */

.about-row {

    display: flex;

    align-items: center; /* TOTO ZAJISTÍ VERTIKÁLNÍ STŘED */

    justify-content: space-between;

    gap: 40px;

    margin-bottom: 20px;

}



.about-text {

    flex: 1; /* Zabere volné místo */

}



.about-text p {

    margin-bottom: 20px;

    color: #555;

}



.about-image {

    flex: 1; /* Zabere stejně místa jako text (nebo upravit dle potřeby) */

    display: flex;

    justify-content: center; /* Horizontální střed fotky */

}



.pribeh-img {

    width: 100%;

    max-width: 450px; /* Omezení šířky fotky */

    border-radius: 10px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.1);

    display: block;

    height: auto;

}



/* --- RESPONSIVITA PRO PŘÍBĚH --- */

@media (max-width: 768px) {

    .about-row {

        flex-direction: column; /* Na mobilu pod sebe */

        text-align: center;

    }

    

    .about-image {

        width: 100%;

        margin-top: 20px;

    }

    

    /* Na mobilu chceme pořadí: Text -> Obrázek (to je default) */

}



/* --- STYLY PRO BAREVNÉ BUBLINY V KARTĚ --- */



.color-palette {

    display: flex;

    justify-content: center; /* Zarovnání na střed */

    gap: 12px;               /* Mezera mezi bublinami */

    margin-top: 15px;        /* Odstup od textu nad nimi */

}



.color-bubble {

    display: inline-block;   /* Abychom mohli nastavit šířku a výšku */

    width: 25px;             /* Šířka bubliny */

    height: 25px;            /* Výška bubliny */

    border-radius: 50%;      /* Udělá z čtverce kruh */

    box-shadow: 0 2px 5px rgba(0,0,0,0.15); /* Jemný stín */

    transition: transform 0.3s ease;

}



.color-bubble:hover {

    transform: scale(1.2);   /* Zvětšení při najetí myší */

}



.p-center {

    text-align: justify;   /* Zarovnání do bloku */

    hyphens: none;         /* ZÁKAZ dělení slov */

}



/* --- VZHLED ZPRÁVY "DĚKUJEME" --- */

#form-message {

    display: none;

    padding: 20px;

    margin-bottom: 25px;

    border-radius: 8px;

    text-align: center;

    font-weight: 500;

    font-size: 1.1rem;

    box-shadow: 0 4px 6px rgba(0,0,0,0.05);

}



.success-msg {

    display: block; /* Pro jistotu */

    background-color: #d4edda;

    color: #155724;

    border: 1px solid #c3e6cb;

}



.error-msg {

    display: block; /* Pro jistotu */

    background-color: #f8d7da;

    color: #721c24;

    border: 1px solid #f5c6cb;

}





/* Vynucení barvy pro telefonní odkazy a e-maily */

a[href^="tel:"],

a[href^="mailto:"],

.footer-info a, /* Pokud máš čísla v patičce */

.contact-link {

    color: #6b8e78 !important;

    text-decoration: none;

}



/* Pro Safari na iPhonech, které detekuje čísla automaticky */

[x-apple-data-detectors] {

    color: inherit !important;

    text-decoration: none !important;

    font-size: inherit !important;

    font-family: inherit !important;

    font-weight: inherit !important;

    line-height: inherit !important;

}




/* ===== ÚPRAVY LIGHTBOXU A PLOVOUCÍ LIŠTY (v2) ===== */

/* Wrapper – plná šířka displeje, ne jen šířka tlačítka */
.lightbox-content-wrapper {
    width: 96vw !important;
    max-width: 96vw !important;
    max-height: 96vh !important;
    gap: 10px;
}

/* Obrázek/video – využije skoro celou obrazovku */
.lightbox-content,
.lightbox-media {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: calc(96vh - 70px) !important; /* nech místo na tlačítko */
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

/* Tlačítko stáhnout – kompaktní */
.btn-download-lb {
    margin-top: 10px !important;
    padding: 8px 18px !important;
    font-size: 0.8rem !important;
    min-width: 0 !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
    flex-shrink: 0;
}

/* MOBIL – využít téměř celou obrazovku */
@media (max-width: 600px) {
    .lightbox-content-wrapper {
        width: 100vw !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        padding: 0 5px;
    }
    .lightbox-content,
    .lightbox-media {
        max-width: 100% !important;
        max-height: calc(100vh - 80px) !important; /* místo na tlačítko dole */
    }
    .btn-download-lb {
        padding: 7px 14px !important;
        font-size: 0.75rem !important;
        margin-top: 8px !important;
    }
    .lb-close { top: 10px !important; right: 15px !important; font-size: 36px !important; }
    .lb-prev, .lb-next {
        font-size: 24px !important;
        width: 40px !important;
        height: 40px !important;
        background: rgba(255,255,255,0.15) !important;
    }
    .lb-prev { left: 5px !important; }
    .lb-next { right: 5px !important; }
}

/* ===== Plovoucí lišta výběru ===== */
.floating-download-bar {
    padding: 8px 14px !important;
    gap: 10px !important;
    border-radius: 40px !important;
    max-width: 95vw;
    flex-wrap: nowrap !important;
}
.floating-download-bar #selected-count {
    font-size: 0.8rem;
    white-space: nowrap;
}
.btn-download-selected,
.btn-cancel-selection {
    padding: 7px 14px !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .floating-download-bar.active { bottom: 12px !important; }
    .floating-download-bar { padding: 6px 10px !important; gap: 6px !important; }
    .floating-download-bar #selected-count { font-size: 0.75rem; }

    .btn-download-selected {
        font-size: 0 !important;
        padding: 6px 12px !important;
    }
    .btn-download-selected::before {
        content: "↓ Stáhnout";
        font-size: 0.72rem;
        letter-spacing: 0.5px;
    }
    .btn-cancel-selection {
        font-size: 0 !important;
        padding: 6px 10px !important;
    }
    .btn-cancel-selection::before {
        content: "❌";
        font-size: 1rem;
    }
}