:root {
    --gold: #d4af37;
    --dark: #0d0d0d;
    --card: #1a1a1a;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Segoe UI', sans-serif; background: var(--dark); color: white; padding-bottom: 80px; overflow-x: hidden; }

/* HERO */
.hero {
    height: 100vh;
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('foto.png') center/cover no-repeat;
    display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px;
}
.hero-description { max-width: 600px; margin: 15px auto 30px; line-height: 1.6; color: #eee; }
.gold-text { color: var(--gold); font-size: 2.2rem; margin: 10px 0; }

.btn-primary {
    background: var(--gold); color: black; border: none; padding: 15px 40px;
    border-radius: 50px; font-weight: bold; cursor: pointer; transition: 0.3s;
}

/* SEKCE S OBRÁZKY (SVĚTLÉ) */
.split-section { position: relative; padding: 100px 0; min-height: 100vh; display: flex; align-items: center; }
.side-image {
    position: absolute; top: 0; right: 0; width: 45%; height: 100%;
    background-size: cover; background-position: center; z-index: 0;
    mask-image: linear-gradient(to left, rgba(0,0,0,1) 20%, rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 20%, rgba(0,0,0,0) 100%);
    opacity: 0.98; /* Maximálně světlé */
    filter: brightness(1.2);
}
.img-light-1 { background-image: url('foto1.jpg'); }
.img-light-2 { background-image: url('foto2.jpg'); }
.img-light-3 { background-image: url('foto3.jpg'); }

.container { position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; padding: 0 20px; width: 100%; }
.section-title { color: var(--gold); font-size: 2.5rem; margin-bottom: 40px; }

/* ZBOŽÍ */
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; max-width: 650px; }
.card { background: var(--card); padding: 25px; border-radius: 15px; border: 1px solid #333; cursor: pointer; text-align: center; }
.price { color: var(--gold); font-weight: bold; margin-top: 10px; }
.cat-label { color: var(--gold); margin: 30px 0 15px; border-left: 4px solid var(--gold); padding-left: 15px; }
.spacer { height: 40px; }

/* DOBA */
.opening-card { background: var(--card); padding: 30px; border-radius: 20px; border: 1px solid #333; max-width: 450px; }
.opening-row { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #222; }
.opening-row.closed { color: #888; }
.opening-row.closed strong { color: #ff5555; }

/* KONTAKT */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-info-card { background: var(--card); padding: 30px; border-radius: 20px; border: 1px solid #333; }
.info-item { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; font-size: 1.1rem; }
.fb-button { display: block; background: #1877F2; color: white; text-align: center; padding: 15px; border-radius: 10px; text-decoration: none; font-weight: bold; margin-top: 20px; }
.map-box { border-radius: 20px; overflow: hidden; border: 1px solid #333; }

/* MODAL */
.modal { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); align-items: center; justify-content: center; }
.modal-content { background: #222; padding: 40px; border-radius: 20px; border: 1px solid var(--gold); width: 90%; max-width: 400px; text-align: center; position: relative; }
.close-btn { position: absolute; right: 20px; top: 10px; font-size: 35px; cursor: pointer; color: var(--gold); }
.modal-price { color: var(--gold); font-size: 1.5rem; margin: 15px 0; font-weight: bold; }

/* MENU */
.nav-bar { position: fixed; bottom: 0; width: 100%; background: #000; display: flex; justify-content: space-around; padding: 12px 0; border-top: 1px solid var(--gold); z-index: 1000; }
.nav-bar button { background: none; border: none; color: #888; display: flex; flex-direction: column; align-items: center; cursor: pointer; font-size: 0.8rem; } 
/* --- OPTIMALIZACE PRO MOBILY --- */
@media (max-width: 768px) {
    .split-section {
        flex-direction: column !important; /* Fotka a text půjdou pod sebe */
        padding: 40px 20px !important;
    }

    .side-image {
        position: relative !important;
        width: 100% !important;
        height: 250px !important; /* Fotka bude nahoře jako banner */
        mask-image: none !important;
        -webkit-mask-image: none !important;
        opacity: 1 !important;
        filter: brightness(1) !important;
    }

    .product-grid {
        grid-template-columns: 1fr !important; /* Karty zboží budou pod sebou */
    }

    .contact-grid {
        grid-template-columns: 1fr !important;
    }

    .section-title {
        font-size: 1.8rem !important;
    }

    .hero h1 {
        font-size: 1.6rem !important;
    }

    /* Aby se mapa a karty nelepily na okraje */
    .container {
        padding: 0 15px !important;
    }
}