/* Šablona Firemní — vlastní styly nad Bootstrapem 5 */

:root {
    --theme-primary: #1d4ed8;
    --theme-primary-dark: #1e40af;
    --theme-dark: #0f172a;
    --theme-light: #f8fafc;
}

body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: #1e293b;
}

/* Navigace */
.theme-navbar {
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(8px);
    box-shadow: 0 1px 8px rgba(15, 23, 42, .08);
}
.theme-navbar .navbar-brand { color: var(--theme-primary); }
.theme-navbar .nav-link { color: #334155; font-weight: 500; }
.theme-navbar .nav-link:hover { color: var(--theme-primary); }

/* Hero */
.theme-hero {
    background: linear-gradient(135deg, var(--theme-dark) 0%, var(--theme-primary-dark) 100%);
    color: #fff;
    padding: 9rem 0 4rem;
}
.theme-hero .lead { color: rgba(255, 255, 255, .85); }

/* Sekce a karty */
.theme-section:nth-of-type(even) { background: var(--theme-light); }

.theme-card {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    transition: transform .15s ease, box-shadow .15s ease;
}
.theme-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .1);
}
.theme-card .card-img-top {
    border-radius: .75rem .75rem 0 0;
    object-fit: cover;
    max-height: 200px;
}

/* Obsah z editoru */
.theme-content img { max-width: 100%; height: auto; border-radius: .5rem; }
.theme-content h2, .theme-content h3 { margin-top: 1.5rem; font-weight: 700; }
.theme-content a { color: var(--theme-primary); }

/* Patička */
.theme-footer {
    background: var(--theme-dark);
    color: #94a3b8;
}
.theme-footer a { color: #cbd5e1; text-decoration: none; }
.theme-footer a:hover { color: #fff; }

/* Plynulý scroll pro one-page kotvy */
html { scroll-behavior: smooth; scroll-padding-top: 70px; }

/* --- Galerie --- */
.gallery-album-card { transition: transform .2s, box-shadow .2s; overflow: hidden; }
.gallery-album-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.gallery-album-thumb { position: relative; height: 200px; overflow: hidden; background: #f1f5f9; }
.gallery-album-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.gallery-album-card:hover .gallery-album-thumb img { transform: scale(1.05); }
.gallery-album-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 3rem; color: #cbd5e1; }
.gallery-album-count { position: absolute; bottom: 8px; right: 8px; background: rgba(0,0,0,.55); color: #fff; font-size: .75rem; padding: 2px 8px; border-radius: 20px; }
.gallery-thumb { position: relative; overflow: hidden; border-radius: 6px; background: #f1f5f9; aspect-ratio: 1; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.gallery-thumb:hover img { transform: scale(1.07); }
.gallery-thumb-caption { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,.5); color: #fff; font-size: .72rem; padding: 4px 6px; transform: translateY(100%); transition: transform .2s; }
.gallery-thumb:hover .gallery-thumb-caption { transform: translateY(0); }

/* Lightbox */
.gallery-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 9999; display: flex; align-items: center; justify-content: center; }
.gallery-lb-inner { max-width: 90vw; max-height: 90vh; text-align: center; }
.gallery-lb-inner img { max-width: 100%; max-height: 80vh; border-radius: 4px; }
.gallery-lb-caption { color: #e2e8f0; margin-top: .5rem; font-size: .9rem; }
.gallery-lb-close, .gallery-lb-prev, .gallery-lb-next { position: absolute; background: rgba(255,255,255,.15); border: none; color: #fff; font-size: 1.5rem; cursor: pointer; border-radius: 50%; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.gallery-lb-close { top: 16px; right: 16px; }
.gallery-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); font-size: 2rem; }
.gallery-lb-next { right: 16px; top: 50%; transform: translateY(-50%); font-size: 2rem; }
.gallery-lb-close:hover, .gallery-lb-prev:hover, .gallery-lb-next:hover { background: rgba(255,255,255,.3); }
