/* ══ HERO ══ */
.real-hero {
    min-height:38vh; display:flex; align-items:center;
    padding:120px 6% 60px; position:relative; overflow:hidden;
    background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
}
.real-hero::after {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 60% 80% at 60% 50%,rgba(240,165,0,.06) 0%,transparent 70%);
    pointer-events:none;
}
.real-hero-content { position:relative; z-index:1; max-width:700px; }
.real-hero h1 { font-size:clamp(2.5rem,7vw,5rem); margin-bottom:1rem; }
.nav-active { color:var(--gold) !important; }
.nav-active::after { transform:scaleX(1) !important; }

/* ══ SEKCJA ══ */
.real-section { padding:56px 6%; min-height:30vh; }

/* ══ GRID ══ */
.real-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:1.5rem;
}

/* ══ KARTA ══ */
.real-card {
    background:var(--card); border:1px solid var(--border); border-radius:12px;
    overflow:hidden; cursor:pointer; outline:none;
    transition:transform .22s, border-color .22s, box-shadow .22s;
    display:flex; flex-direction:column;
    -webkit-tap-highlight-color:transparent;
    text-decoration:none; color:inherit;
}
.real-card:hover,.real-card:focus-visible {
    transform:translateY(-4px);
    border-color:rgba(240,165,0,.3);
    box-shadow:0 10px 36px rgba(0,0,0,.4);
}
.real-img {
    width:100%; aspect-ratio:16/9; overflow:hidden;
    background:var(--card2); position:relative;
}
.real-img img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .4s ease;
}
.real-card:hover .real-img img { transform:scale(1.05); }
.real-img-placeholder {
    width:100%; height:100%;
    display:flex; align-items:center; justify-content:center;
    font-size:3rem; color:var(--border2);
    background:linear-gradient(135deg,var(--card),var(--card2));
}
.real-count {
    position:absolute; bottom:.55rem; right:.55rem;
    background:rgba(0,0,0,.72); color:var(--text2);
    font-size:.68rem; font-weight:700;
    padding:.22rem .5rem; border-radius:20px;
    display:flex; align-items:center; gap:.3rem;
    backdrop-filter:blur(4px);
}
.real-zoom-icon {
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,0); color:rgba(255,255,255,0);
    transition:background .25s,color .25s;
}
.real-card:hover .real-zoom-icon { background:rgba(0,0,0,.28); color:rgba(255,255,255,.9); }
.real-body { padding:1.1rem 1.4rem 1.4rem; flex:1; display:flex; flex-direction:column; }
.real-date { font-size:.67rem; color:var(--muted); font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.4rem; }
.real-body h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.35rem; color:var(--text); text-transform:uppercase; line-height:1.1; margin-bottom:.5rem; }
.real-body p { font-size:.88rem; color:var(--muted); line-height:1.65; flex:1; }

/* ══ EMPTY ══ */
.real-empty { text-align:center; padding:5rem 1rem; color:var(--muted); }
.real-empty-icon { font-size:4rem; margin-bottom:1rem; display:block; }
.real-empty h3 { font-family:'Barlow Condensed',sans-serif; font-size:2rem; color:var(--text2); margin-bottom:.5rem; }

/* ══════════════════════════════
   LIGHTBOX — SIDE BY SIDE
══════════════════════════════ */
#lightbox-bg {
    display:none; position:fixed; inset:0; z-index:2000;
    background:rgba(0,0,0,.92); backdrop-filter:blur(10px);
}
#lightbox-bg.open { display:block; }

#lightbox {
    display:none; position:fixed; inset:0; z-index:2001;
    align-items:center; justify-content:center;
    padding:.75rem;
    animation:lbFadeIn .22s ease;
}
#lightbox.open { display:flex; }
@keyframes lbFadeIn { from{opacity:0;transform:scale(.97)} to{opacity:1;transform:scale(1)} }

.lb-close {
    position:fixed; top:1rem; right:1rem; z-index:2020;
    width:40px; height:40px; border-radius:50%;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
    color:#fff; font-size:1rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .18s;
}
.lb-close:hover { background:rgba(255,255,255,.24); }

/* Główny wrapper — lewo + prawo */
.lb-wrap {
    display:grid;
    grid-template-columns:1fr 400px;
    gap:0;
    width:100%; max-width:1200px;
    height:min(90vh, 720px);
    background:var(--card);
    border:1px solid var(--border2);
    border-radius:14px; overflow:hidden;
}

/* ── Lewa: zdjęcie ── */
.lb-left {
    position:relative; display:flex; flex-direction:column;
    background:#000; overflow:hidden;
}
.lb-img-wrap {
    flex:1; display:flex; align-items:center; justify-content:center;
    position:relative; min-height:0;
    overflow:hidden;
}
.lb-img-wrap img {
    max-width:100%; max-height:100%;
    object-fit:contain; display:block;
    transition:opacity .22s;
}
.lb-spinner {
    display:none; position:absolute; inset:0;
    align-items:center; justify-content:center;
    background:rgba(0,0,0,.4);
}
.lb-spinner::after {
    content:''; width:32px; height:32px; border-radius:50%;
    border:3px solid rgba(255,255,255,.15); border-top-color:var(--gold);
    animation:spin .7s linear infinite;
}
@keyframes spin { to{transform:rotate(360deg)} }

/* Strzałki — nad zdjęciem */
.lb-prev, .lb-next {
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:40px; height:40px; border-radius:50%;
    background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.15);
    color:#fff; font-size:1.5rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .18s; backdrop-filter:blur(4px);
    padding-bottom:2px;
}
.lb-prev { left:.75rem; }
.lb-next { right:.75rem; }
.lb-prev:hover,.lb-next:hover { background:rgba(0,0,0,.8); }

/* Miniatury pod zdjęciem */
.lb-thumbs {
    display:flex; gap:.35rem; padding:.6rem .75rem;
    overflow-x:auto; background:rgba(0,0,0,.4);
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.15) transparent; flex-shrink:0;
}
.lb-thumbs:empty { display:none; }
.lb-thumbs::-webkit-scrollbar { height:3px; }
.lb-thumbs::-webkit-scrollbar-thumb { background:rgba(255,255,255,.2); border-radius:2px; }
.lb-thumb {
    flex-shrink:0; width:54px; height:42px; border-radius:5px;
    overflow:hidden; cursor:pointer; border:2px solid transparent;
    transition:border-color .15s, opacity .15s; opacity:.5;
}
.lb-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.lb-thumb.active { border-color:var(--gold); opacity:1; }
.lb-thumb:hover { opacity:.8; }

/* ── Prawa: info ── */
.lb-right {
    display:flex; flex-direction:column;
    border-left:1px solid var(--border);
    overflow:hidden;
}
.lb-right-inner {
    flex:1; overflow-y:auto; padding:1.75rem 1.5rem;
    display:flex; flex-direction:column; gap:.75rem;
    scrollbar-width:thin; scrollbar-color:var(--border2) transparent;
}
.lb-right-inner::-webkit-scrollbar { width:4px; }
.lb-right-inner::-webkit-scrollbar-thumb { background:var(--border2); border-radius:2px; }

.lb-counter-badge {
    font-size:.68rem; font-weight:700; color:var(--gold);
    letter-spacing:.1em; text-transform:uppercase;
    display:block;
}
.lb-right-inner h2 {
    font-family:'Barlow Condensed',sans-serif; font-weight:900;
    font-size:1.75rem; color:var(--text); text-transform:uppercase;
    line-height:1.05; letter-spacing:-.01em;
}
.lb-date {
    font-size:.7rem; color:var(--muted); font-weight:600;
    letter-spacing:.1em; text-transform:uppercase;
}
.lb-desc {
    font-size:.9rem; color:var(--text2); line-height:1.75;
    flex:1;
}
/* Formatowanie HTML w opisie */
.lb-desc p    { margin-bottom:.65rem; }
.lb-desc p:last-child { margin-bottom:0; }
.lb-desc strong,.lb-desc b { color:var(--text); font-weight:600; }
.lb-desc em,.lb-desc i { color:var(--gold-lt); font-style:italic; }
.lb-desc ul, .lb-desc ol { padding-left:1.25rem; margin-bottom:.65rem; }
.lb-desc li { margin-bottom:.3rem; }
.lb-desc h3,.lb-desc h4 { font-family:'Barlow Condensed',sans-serif; font-weight:700; color:var(--text); margin-bottom:.4rem; text-transform:uppercase; }

/* ══ MOBILE — lightbox pod sobą ══ */
@media (max-width:700px) {
    #lightbox { padding:.5rem; align-items:flex-start; overflow-y:auto; }
    .lb-wrap {
        grid-template-columns:1fr;
        grid-template-rows:auto auto;
        height:auto; max-height:none;
        width:100%;
    }
    .lb-left { min-height:240px; }
    .lb-right { border-left:none; border-top:1px solid var(--border); }
    .lb-right-inner { padding:1.1rem 1.1rem; max-height:45vh; }
    .lb-close { top:.5rem; right:.5rem; }
    .real-section { padding:40px 5%; }
    .real-grid { grid-template-columns:1fr 1fr; gap:.75rem; }
}
@media (max-width:420px) {
    .real-grid { grid-template-columns:1fr; }
}
