:root {
            --dark-bg: #0b0b0b; /* Głęboki granat/czerń */
            --text-light: #fff6df;
            /* Złoto „metalicze” (mniej żółte, bardziej eleganckie) */
            --gold-accent: #c6a24a; /* akcent */
            --gold-soft: #e6d19a;   /* jaśniejsze złoto */
            --gold-deep: #8d6f2a;   /* ciemne złoto */
            --gold-glow: rgba(198,162,74,0.32);
            --panel-bg: rgba(198,162,74,0.08);
            --card-bg: #141414;
            --font-primary: 'Roboto', sans-serif;
            --font-secondary: 'Playfair Display', serif;
        }

        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
            /* offset dla stałego (fixed) menu – żeby nagłówki/sekcje nie chowały się pod paskiem */
            scroll-padding-top: 90px;
        }

        body {
            background-color: var(--dark-bg);
            color: var(--text-light);
            font-family: var(--font-primary);
            line-height: 1.6;
            font-weight: 300;
            /* stały header ma 80px – dajemy globalny offset, żeby strony (np. Wydarzenia) nie były "ucięte" */
            padding-top: 80px;
        }

        h1, h2, h3 {
            font-family: var(--font-secondary);
            color: var(--text-light);
            font-weight: 700;
        }

        h2 {
            text-align: center;
            font-size: 2.5rem;
            margin-bottom: 2.5rem;
            color: var(--gold-accent);
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        a {
            color: var(--text-light);
            text-decoration: none;
            transition: color 0.3s ease;
        }

        img {
            max-width: 100%;
            display: block;
        }

        .content-section {
            padding: 5rem 2rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        /* --- Header & Navigation --- */
        .main-header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
            /* tylko czerń + złoto (bez niebieskich tonów) */
            background: rgba(0, 0, 0, 0.86);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(212, 175, 55, 0.2);
        }

        .main-nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 2rem;
            height: 80px;
        }

        .nav-links {
            display: flex;
            gap: 2rem;
        }

        .nav-links a {
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.9rem;
            padding: 1rem 0;
            position: relative;
        }

        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: 1rem;
            left: 0;
            width: 0;
            height: 2px;
            background-color: var(--gold-accent);
            transition: width 0.3s ease-in-out;
        }

        .nav-links a:hover {
            color: var(--gold-accent);
        }

        .nav-links a:hover::after {
            width: 100%;
        }

        .logo-link {
            padding: 0 2rem;
        }

        .logo-img {
            height: 50px;
            transition: transform 0.3s ease;
        }
        .logo-img:hover {
            transform: scale(1.05);
        }

        .hamburger, .mobile-menu {
            display: none;
        }

        /* --- Hero Section --- */
        /* ZMIANA: Tło pobierane z folderu img */
        .hero-section {
            height: calc(100vh - 80px);
            /* Tło + pozycjonowanie. Przyciemnienie robimy w ::before, żeby zdjęcie było lepiej widoczne */
            background: url('../img/hero-bg.jpg') no-repeat center 35%/cover;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: #fff;
        }

        .hero-content h1 {
            font-size: 4rem;
            text-shadow: 2px 2px 10px rgba(0,0,0,0.7);
        }

        /* --- News Section --- */
        .news-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }

        .news-card {
            background-color: var(--card-bg);
            border-radius: 8px;
            overflow: hidden;
            border: 1px solid rgba(212, 175, 55, 0.2);
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .news-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 10px 30px rgba(212, 175, 55, 0.2); /* Hover Glow */
        }

        .news-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        .card-content {
            padding: 1.5rem;
        }

        .card-content time {
            font-size: 0.8rem;
            color: var(--gold-accent);
            display: block;
            margin-bottom: 0.5rem;
        }

        .card-content h3 {
            font-size: 1.4rem;
            margin-bottom: 0.5rem;
        }

        .card-content p {
            font-size: 0.9rem;
            color: #ccc;
        }

        /* --- Events Section --- */
        .events-section {
            background-color: var(--card-bg);
        }

        .events-list {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            max-width: 800px;
            margin: 0 auto;
        }

        .event-item {
            display: flex;
            align-items: center;
            background-color: var(--dark-bg);
            padding: 1rem 1.5rem;
            border-left: 5px solid var(--gold-accent);
            transition: background-color 0.3s ease;
        }

        .event-item:hover {
            background-color: rgba(198, 162, 74, 0.08);
        }

        .event-date {
            text-align: center;
            margin-right: 1.5rem;
            color: var(--gold-accent);
        }

        .event-date .day {
            font-size: 2.5rem;
            font-weight: 700;
            line-height: 1;
        }

        .event-date .month {
            font-size: 1rem;
            text-transform: uppercase;
        }

        .event-details h3 {
            font-size: 1.5rem;
            color: var(--text-light);
        }

        .event-details p {
            color: #bbb;
        }

        /* --- Classes Section --- */
        .classes-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
        }

        .class-tile {
            position: relative;
            overflow: hidden;
            border-radius: 8px;
            height: 350px;
        }

        .class-tile img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease;
        }

        .class-tile:hover img {
            transform: scale(1.1);
        }

        .tile-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
            padding: 2rem 1.5rem;
            color: #fff;
            text-align: center;
        }

        .tile-overlay h3 {
            font-size: 1.5rem;
            text-transform: uppercase;
        }

        /* --- Footer --- */
        .main-footer {
            background-color: #05050f;
            padding: 3rem 0 0 0;
            border-top: 2px solid var(--gold-accent);
        }

        .footer-content {
            display: flex;
            flex-wrap: wrap;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            gap: 2rem;
        }

        .footer-map, .footer-info {
            flex: 1;
            min-width: 300px;
        }
        .footer-map iframe {
            filter: invert(100%) grayscale(80%);
        }

        .footer-info h3 {
            font-size: 1.8rem;
            color: var(--gold-accent);
            margin-bottom: 1rem;
        }

        .footer-info p {
            margin-bottom: 0.5rem;
            color: #ccc;
        }

        .social-media {
            margin-top: 1.5rem;
            display: flex;
            align-items: center;
            gap: 14px;
            flex-wrap: wrap;
        }

        .social-media a {
            margin-right: 0;
            color: var(--text-light);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            text-decoration: none;
            font-weight: 700;
            letter-spacing: .3px;
        }

        .social-media svg{
            width: 30px;
            height: 30px;
        }

        .social-media .social-label{
            font-size: .95rem;
        }

        .social-media .bip-logo{
            height: 34px;
            width: 34px;
            object-fit: contain;
            display: inline-block;
            vertical-align: middle;
            border-radius: 4px;
        }

        .social-media a.bip-link:hover .bip-logo{
            transform: translateY(-1px) scale(1.04);
            transition: transform .2s ease;
        }

        .social-media a:hover {
            color: var(--gold-accent);
        }

        .footer-bottom {
            text-align: center;
            padding: 1.5rem 2rem;
            margin-top: 2rem;
            border-top: 1px solid rgba(212, 175, 55, 0.2);
            font-size: 0.8rem;
            color: #888;
        }

        /* eDoręczenia: taki sam rozmiar jak reszta danych kontaktowych (np. email) */
        .footer-edor{
            margin-top: .35rem;
            color: #ccc;
            font-size: inherit;
        }

        /* --- Responsive Design --- */
        @media (max-width: 1024px) {
            .nav-links {
                display: none;
            }
            
            .main-nav {
                justify-content: space-between;
            }

            .logo-link {
                flex-grow: 1;
                text-align: center;
                padding: 0;
                margin-left: 30px; /* Space for hamburger */
            }
            
            .hamburger {
                display: flex;
                flex-direction: column;
                justify-content: space-around;
                width: 30px;
                height: 25px;
                background: transparent;
                border: none;
                cursor: pointer;
                z-index: 10;
                position: absolute;
                right: 2rem;
            }
            
            .hamburger span {
                width: 30px;
                height: 3px;
                background: var(--text-light);
                border-radius: 5px;
                transition: all 0.3s linear;
            }
            
            .hamburger.is-active span:nth-child(1) {
                transform: rotate(45deg) translate(5px, 6px);
            }
            .hamburger.is-active span:nth-child(2) {
                opacity: 0;
            }
            .hamburger.is-active span:nth-child(3) {
                transform: rotate(-45deg) translate(5px, -6px);
            }

            .mobile-menu {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 1.5rem;
                background: var(--dark-bg);
                position: absolute;
                top: 80px;
                left: 0;
                width: 100%;
                padding: 2rem 0;
                transform: translateY(-150%);
                transition: transform 0.3s ease-in-out;
                border-bottom: 1px solid rgba(212, 175, 55, 0.2);
            }

            .mobile-menu.is-active {
                transform: translateY(0);
            }
            .mobile-menu a {
                font-size: 1.2rem;
                color: var(--text-light);
            }
        }

        @media (max-width: 768px) {
            .hero-content h1 { font-size: 3rem; }
            h2 { font-size: 2rem; }
            .content-section { padding: 3rem 1rem; }
            
            .footer-content {
                flex-direction: column;
            }
            .footer-map {
                height: 250px;
            }
        }

        /* Scroll reveal animation */
        .reveal {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

/* --- Dodatkowe akcenty złota (WP) --- */
.section-title{ text-shadow: 0 2px 20px rgba(212,175,55,0.25); }
.news-card, .event-card{ border: 1px solid rgba(212,175,55,0.35); box-shadow: 0 10px 30px rgba(0,0,0,0.35); background: linear-gradient(180deg, rgba(212,175,55,0.06), rgba(0,0,0,0)); }
.news-card:hover, .event-card:hover{ border-color: rgba(243,210,122,0.8); box-shadow: 0 14px 34px rgba(0,0,0,0.45); }
.btn-primary{ background: linear-gradient(135deg, var(--gold-accent), var(--gold-soft)); color: #0b0b0b; }
.btn-secondary{ border-color: rgba(243,210,122,0.9); color: var(--gold-soft); }
.btn-secondary:hover{ background: rgba(243,210,122,0.14); }
.calendar-wrap{ background: rgba(212,175,55,0.10); border: 1px solid rgba(212,175,55,0.35); border-radius: 18px; padding: 18px; box-shadow: 0 12px 30px rgba(0,0,0,0.35); }
.calendar-compact{ width: 100%; max-width: 520px; margin: 0 auto; }
#mgokis-calendar{ width: 100%; max-width: 520px; margin: 0 auto; }
.cal-day.has-event{ background: linear-gradient(135deg, rgba(212,175,55,0.28), rgba(243,210,122,0.12)); border: 1px solid rgba(243,210,122,0.7); }
.cal-day.has-event:hover{ background: rgba(243,210,122,0.22); }
.gallery-grid img{ border: 1px solid rgba(243,210,122,0.55); }

/* Duże złote kafelki z linkami (statyczne) */
.library-links-grid,
.kultura-links-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 18px 0 26px;
}

/* O nas: 3 kafelki w jednym rzędzie na desktopie, responsywnie na mniejszych ekranach */
.about-links-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px){
  .about-links-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .about-links-grid{ grid-template-columns: 1fr; }
}
.library-link-tile,
.kultura-link-tile{
  position:relative;
  border-radius: 20px;
  padding: 20px 18px;
  text-decoration:none;
  border: 1px solid rgba(243,210,122,0.65);
  background: linear-gradient(135deg, rgba(212,175,55,0.22), rgba(0,0,0,0.22));
  box-shadow: 0 14px 34px rgba(0,0,0,0.45);
  overflow:hidden;
  min-height: 112px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.library-link-tile::after,
.kultura-link-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(1200px 220px at 20% 0%, rgba(243,210,122,0.30), transparent 55%);
  pointer-events:none;
}
.library-link-title,
.kultura-link-title{
  position:relative;
  z-index:1;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--gold-soft);
  font-size: 1.05rem;
  text-shadow: 0 10px 26px rgba(0,0,0,0.55);
}
.library-link-cta,
.kultura-link-cta{
  position:relative;
  z-index:1;
  margin-top: 12px;
  display:inline-flex;
  align-items:center;
  gap: 10px;
  color: rgba(255,246,223,0.92);
  font-weight: 700;
}
.library-link-cta::after,
.kultura-link-cta::after{
  content:"→";
  font-size: 1.25rem;
  line-height: 1;
  opacity: .9;
}
.library-link-tile:hover,
.kultura-link-tile:hover{
  transform: translateY(-6px);
  border-color: rgba(243,210,122,0.95);
  box-shadow: 0 18px 46px rgba(0,0,0,0.55);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.library-link-tile:focus,
.kultura-link-tile:focus{ outline: 2px solid rgba(243,210,122,0.85); outline-offset: 4px; }

/* Home: mniejszy kafelek CTA dla zasobów biblioteki (pod nagłówkiem, nad wpisami) */
.library-cta-row{
  margin: 10px 0 18px;
  display:flex;
  justify-content:flex-start;
}
.library-link-tile--mini{
  padding: 14px 16px;
  min-height: 84px;
  max-width: 360px;
}
@media (max-width: 640px){
  .library-cta-row{ margin: 8px 0 16px; }
  .library-link-tile--mini{ max-width: 100%; width: 100%; }
}


/* Calendar layout */
.cal-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.cal-title{ font-family: var(--font-secondary); color: var(--gold-soft); font-size: 1.2rem; letter-spacing: .5px; text-transform: capitalize; }
.cal-nav{ width:42px; height:42px; border-radius: 12px; border:1px solid rgba(243,210,122,0.7); background: rgba(212,175,55,0.10); color: var(--gold-soft); font-size: 26px; line-height: 1; cursor:pointer; }
.cal-nav:hover{ background: rgba(243,210,122,0.16); }
.cal-grid{ display:grid; grid-template-columns: repeat(7, 1fr); gap:10px; }
.cal-weekdays > div{ text-align:center; color: rgba(255,246,223,0.85); font-weight: 600; }
.cal-day{ display:flex; align-items:center; justify-content:center; height:44px; border-radius: 14px; background: rgba(255,255,255,0.04); color: var(--text-light); text-decoration:none; border: 1px solid rgba(212,175,55,0.12); }
.cal-day:hover{ background: rgba(212,175,55,0.12); }
.cal-day.is-empty{ visibility:hidden; }
.cal-legend{ margin-top: 12px; color: rgba(255,246,223,0.8); font-size:.95rem; display:flex; align-items:center; gap:10px; }
.cal-legend .dot{ width:12px; height:12px; border-radius: 999px; background: rgba(212,175,55,0.45); border:1px solid rgba(243,210,122,0.85); display:inline-block; }

/* Gallery */
.gallery-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:14px; }
.gallery-grid a{ display:block; border-radius: 18px; overflow:hidden; }
.gallery-grid img{ width:100%; height:220px; object-fit: cover; display:block; border-radius: 18px; }

/* Galeria „foldery” (albumy wydarzeń) */
.album-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}

/* Kafelki albumów – tylko zdjęcie + tytuł (bez opisów) */
.album-tile{ border-radius: 18px; overflow:hidden; border: 1px solid rgba(198,162,74,0.35); background: rgba(0,0,0,0.35); box-shadow: 0 10px 30px rgba(0,0,0,0.35); }
.album-tile-link{ position:relative; display:block; text-decoration:none; }
.album-tile-img{ width:100%; height: 220px; object-fit: cover; object-position: center; display:block; filter: saturate(0.95) contrast(1.02); }
.album-tile-link::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.82) 100%); }
.album-tile-title{ position:absolute; left: 12px; right: 12px; bottom: 12px; z-index: 1; color: var(--gold-soft); font-weight: 700; font-size: 1.05rem; letter-spacing: .4px; text-shadow: 0 10px 26px rgba(0,0,0,0.65); overflow-wrap:anywhere; }
.album-tile:hover{ transform: translateY(-6px); border-color: rgba(230,209,154,0.9); box-shadow: 0 16px 38px rgba(0,0,0,0.45); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }

/* Lightbox */
.lightbox{ position:fixed; inset:0; background: rgba(0,0,0,0.82); display:none; align-items:center; justify-content:center; padding: 24px; z-index: 9999; }
.lightbox.is-open{ display:flex; }
.lightbox-inner{ max-width: 980px; width: 100%; background: rgba(20,20,20,0.92); border:1px solid rgba(243,210,122,0.55); border-radius: 18px; padding: 14px; box-shadow: 0 18px 60px rgba(0,0,0,0.55); position: relative; }
.lightbox-inner img{ width:100%; height:auto; border-radius: 14px; display:block; }
.lightbox-caption{ margin-top: 10px; color: rgba(255,246,223,0.9); }
.lightbox-close{ position:absolute; top: 10px; right: 10px; width: 42px; height: 42px; border-radius: 12px; border: 1px solid rgba(243,210,122,0.7); background: rgba(212,175,55,0.12); color: var(--gold-soft); font-size: 26px; cursor:pointer; }

/* Single */
.single-section{ padding: 120px 0 70px; }
.single-container{ max-width: 980px; }
.single-header{ text-align:center; margin-bottom: 8px; }
.single-title{ text-align:center; margin: 0 auto 6px; }
.single-meta{ text-align:center; opacity: .92; }
.single-container .section-title{ line-height: 1.2; overflow-wrap: anywhere; }
.single-hero{ margin: 18px 0 22px; display:flex; justify-content:center; }
.single-thumb{ width:100%; max-width: 920px; max-height: 460px; height:auto; object-fit: cover; object-position: center; border-radius: 18px; border: 1px solid rgba(230,209,154,0.55); display:block; margin:0 auto; }
.single-content{ color: rgba(255,246,223,0.92); line-height: 1.8; }
.single-content a{ color: var(--gold-soft); }


/* --- Dodatki: etykiety i CTA --- */
.section-cta{
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 24px;
}

/* CTA w kolumnie (np. „Zasoby biblioteki online”) */
.section-cta.section-cta-column{
  flex-direction: column;
}

/* Mocny, czytelny przycisk dla „Zasoby biblioteki online” */
.btn.btn-library{
  font-size: 1.05rem;
  padding: 14px 22px;
  min-width: 280px;
  justify-content: center;
  background: linear-gradient(135deg, var(--gold-accent), var(--gold-soft));
  color: #0b0b0b !important;
  border: 1px solid rgba(198,162,74,.65);
  box-shadow: 0 12px 26px rgba(0,0,0,.35), 0 0 0 3px rgba(198,162,74,.10);
}
.btn.btn-library:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0,0,0,.42), 0 0 0 3px rgba(198,162,74,.14);
}

.badge{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 10px;
  background: rgba(212, 175, 55, .18);
  border: 1px solid rgba(212, 175, 55, .45);
  color: var(--gold-accent);
}

.gallery-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
}
.gallery-item{
  display:flex;
  align-items:center;
  justify-content:center;
    border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(212, 175, 55, .35);
  background: rgba(0,0,0,.25);
}
.gallery-item img{
  width:100%;
  height: 220px;
  object-fit: contain;
  display:block;
}
.pagination, .nav-links .current{
  color: inherit;
}



/* === v3: poprawa estetyki zdjęć + mobile === */

/* Hero: lepsza czytelność na zdjęciu */
.hero-section{ position:relative;
  background-position: center 35%;
  background-size: cover;
}
.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  /* jaśniej niż wcześniej, żeby zdjęcie w tle było lepiej widoczne */
  background: radial-gradient(circle at 30% 20%, rgba(212,175,55,0.26), transparent 60%),
              linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.45));
  pointer-events:none;
}
.hero-section .hero-content{ position:relative; z-index:2; }

/* O nas: czytelna typografia + film pod tekstem */
.about-wrap{
  max-width: 940px;
  margin: 0 auto;
}
.about-text{
  font-size: 18px;
  line-height: 1.85;
  color: rgba(245,245,245,0.92);
}
.about-text p{ margin: 0 0 16px; }
.about-text strong{ color: var(--gold-accent); font-weight: 700; }
.about-media{
  margin-top: 20px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(243,210,122,0.45);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  display: flex;
  justify-content: center;
}
.about-video{
  width: 100%;
  max-width: 920px;
  max-height: 520px;
  border-radius: 14px;
  background: #000;
  outline: none;
}

/* Kafelki: zawsze pokazuj zdjęcie i wyśrodkuj */
.card-image,
.event-thumb{
  background-color: rgba(0,0,0,0.35);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.event-item{ display:grid; grid-template-columns: 110px 1fr; gap: 14px; align-items:center; }
.event-thumb{
  width:110px;
  height:74px;
  border-radius: 14px;
  border: 1px solid rgba(243,210,122,0.45);
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
  background-color: rgba(0,0,0,0.25);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.event-thumb-img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* bez ucinania */
  object-position: center;
  background: rgba(0,0,0,0.25);
}

.event-meta{ margin-bottom: 6px; }
.event-meta-date{
  display:inline-block;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgba(245,245,245,0.82);
  padding: 6px 10px;
  border: 1px solid rgba(243,210,122,0.35);
  border-radius: 999px;
  background: rgba(0,0,0,0.30);
}

/* Galeria: bez brutalnego przycinania */
.gallery-grid{ gap: 16px; }
.gallery-item{
  display:block;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(243,210,122,0.45);
  background: rgba(0,0,0,0.25);
  aspect-ratio: 1 / 1;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit: contain;      /* zamiast cover – nie ucina */
  object-position: center;
  display:block;
  padding: 10px;
  background: radial-gradient(circle at 30% 20%, rgba(243,210,122,0.10), rgba(0,0,0,0.25));
}

/* Mini-galeria na stronie głównej – też bez przycinania */
.home-gallery .gallery-item{ aspect-ratio: 4 / 3; }
.home-gallery .gallery-item img{ object-fit: contain; }

/* Obrazki w treści wpisu – responsywnie */
.entry-content img,
.single-content img{
  max-width:100%;
  height:auto;
  display:block;
  margin: 14px auto;
  border-radius: 16px;
}

/* Mobile */
@media (max-width: 860px){
  .container{ padding-left: 18px; padding-right: 18px; }
  .nav-links-left, .nav-links-right{ display:none; }
  #hamburger-menu{ display:block; }
  /* Hero na mobile: normalne proporcje jak w starszych wersjach (pełniejsza wysokość + stabilny kadr) */
  .hero-section{
    height: auto;              /* unikamy problemów z 100vh na mobile */
    min-height: 88svh;         /* bliżej pełnego ekranu */
    padding: 96px 0 72px;      /* bez przycięcia treści */
    background-position: center center;
  }
  .hero-content h1{ font-size: clamp(28px, 8vw, 44px); }
  .news-grid{ grid-template-columns: 1fr; }
  .events-list{ display:flex; flex-direction:column; gap: 14px; }
  .event-item{ grid-template-columns: 1fr; align-items:stretch; }
  .event-thumb{ width:100%; height: 180px; }
  .event-date{ width: fit-content; }
  .gallery-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .gallery-grid{ grid-template-columns: 1fr; }
  .home-gallery .gallery-item{ aspect-ratio: 1 / 1; }
}

/* === v3.1: naprawa miniatur (background na <a>) + estetyka galerii + mobile === */
.news-card .card-image{
  background-color: rgba(0,0,0,0.35);
  display:block;
  height: 220px;
  width: 100%;
  background-position:center;
  background-size: contain;
  background-repeat:no-repeat;
}
.news-card .card-image:focus{ outline: 2px solid rgba(212,175,55,.8); outline-offset: 3px; }

.event-item{
  gap: 1rem;
}
.event-thumb{
  flex: 0 0 160px;
  width: 160px;
  height: 96px;
  border-radius: 14px;
  border: 1px solid rgba(212,175,55,.35);
  background: rgba(0,0,0,.25);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

.btn.btn-outline{
  background: transparent;
  color: var(--gold-accent);
  border: 1px solid rgba(212,175,55,.55);
}
.btn.btn-outline:hover{
  background: rgba(212,175,55,.12);
}

.gallery-item{
  display:block;
}
.gallery-item img{
  height: 180px;
  object-fit: contain;          /* ważne: nie przycinamy */
  background: rgba(0,0,0,.35);  /* elegancka „ramka” */
  padding: 10px;
}

/* lepsze proporcje na stronie głównej */
.home-gallery .gallery-item img{
  height: 220px;
}

/* Mobile */
@media (max-width: 768px){
  .news-grid{
    grid-template-columns: 1fr !important;
    gap: 1.2rem;
  }
  .news-card .card-image{ height: 200px; }

  .event-item{
    flex-direction: column;
    align-items: flex-start;
  }
  .event-thumb{
    width: 100%;
    flex: none;
    height: 200px;
  }
  .event-date{
    margin-top: .5rem;
  }

  .gallery-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .9rem;
  }
  .gallery-item img{
    height: 140px;
    padding: 8px;
  }
}

@media (max-width: 420px){
  .gallery-grid{
    grid-template-columns: 1fr !important;
  }
  .gallery-item img{ height: 170px; }
}


/* ===== Nadchodzące wydarzenia – pionowa lista (jak wcześniej) ===== */
.events-list{
  max-width: 980px;
  margin: 0 auto;
  display: flex !important;
  flex-direction: column;
  gap: 14px;
}

.event-item{
  display: grid !important;
  grid-template-columns: 170px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(212,175,55,0.28);
  background: rgba(0,0,0,0.28);
  box-shadow: 0 14px 35px rgba(0,0,0,0.35);
  text-decoration: none;
}

.event-thumb{
  width: 170px;
  height: 110px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(212,175,55,0.35);
  background: rgba(0,0,0,0.35);
}

.event-thumb-img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* pełne zdjęcie, bez ucinania */
  display: block;
}

.event-details{ padding: 0; }

.event-meta{ margin: 0 0 8px 0; }

.event-meta-date{
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgba(212,175,55,0.95);
  padding: 6px 10px;
  border: 1px solid rgba(212,175,55,0.35);
  border-radius: 999px;
  background: rgba(0,0,0,0.40);
}

.event-details h3{
  margin: 0 0 6px 0;
  font-size: 18px;
  line-height: 1.25;
}

.event-details p{ margin: 0; color: rgba(255,255,255,0.82); }

@media (max-width: 768px){
  .event-item{ grid-template-columns: 1fr; }
  .event-thumb{ width: 100%; height: 200px; }
}

/* ===== Sekcja Fotorelacje na stronie głównej ===== */
.ph-home-grid{
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.ph-home-card{ margin: 0; }

.ph-home-link{
  display: block;
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(212,175,55,0.28);
  background: rgba(0,0,0,0.28);
  box-shadow: 0 14px 35px rgba(0,0,0,0.35);
  text-decoration: none;
}

.ph-home-img{
  width: 100%;
  height: 240px;
  object-fit: cover;
  display:block;
  filter: saturate(0.95) contrast(1.05);
}

.ph-home-link::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,0.78), rgba(0,0,0,0.10));
}

.ph-home-date{
  position:absolute;
  left: 14px;
  top: 14px;
  z-index: 2;
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 999px;
  color: rgba(212,175,55,0.95);
  border: 1px solid rgba(212,175,55,0.35);
  background: rgba(0,0,0,0.45);
}

.ph-home-title{
  position:absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  z-index: 2;
  color: rgba(255,255,255,0.95);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  text-shadow: 0 10px 25px rgba(0,0,0,0.65);
}

@media (max-width: 860px){
  .ph-home-grid{ grid-template-columns: 1fr; }
  .ph-home-img{ height: 220px; }
}


/* =============================
   Lightbox fotorelacji (czarno-złoty)
   Klik w zdjęcie w bloku Galeria -> overlay + przewijanie
============================= */

html.mgokis-lb--lock,
html.mgokis-lb--lock body{overflow:hidden;}

#mgokis-lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:99999;
}
#mgokis-lightbox.is-open{display:flex;}

#mgokis-lightbox .mgokis-lb__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.92);
}

#mgokis-lightbox .mgokis-lb__panel{
  position:relative;
  width:min(1100px, calc(100vw - 32px));
  height:min(78vh, 800px);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,175,55,.35);
  border-radius:18px;
  background:rgba(0,0,0,.35);
  backdrop-filter: blur(8px);
  box-shadow: 0 24px 60px rgba(0,0,0,.55);
}

#mgokis-lightbox .mgokis-lb__img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:14px;
}

#mgokis-lightbox .mgokis-lb__btn{
  position:absolute;
  border:1px solid rgba(212,175,55,.45);
  background:rgba(0,0,0,.45);
  color:#d4af37;
  cursor:pointer;
  border-radius:999px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  line-height:1;
  transition: transform .15s ease, background .15s ease;
}
#mgokis-lightbox .mgokis-lb__btn:hover{transform:scale(1.04); background:rgba(0,0,0,.6);}

#mgokis-lightbox .mgokis-lb__close{top:14px; right:14px; font-size:32px;}
#mgokis-lightbox .mgokis-lb__prev{left:14px; top:50%; transform:translateY(-50%);}
#mgokis-lightbox .mgokis-lb__next{right:14px; top:50%; transform:translateY(-50%);}

#mgokis-lightbox .mgokis-lb__counter{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.35);
  background:rgba(0,0,0,.55);
  color:#f2e7c3;
  font-weight:600;
  letter-spacing:.02em;
  font-size:14px;
}

@media (max-width: 700px){
  #mgokis-lightbox .mgokis-lb__panel{height:72vh;}
  #mgokis-lightbox .mgokis-lb__btn{width:40px;height:40px;font-size:30px;}
}

/* =====================
   FOTORELACJE (lista) 
   ===================== */
.photohero{position:relative; border-radius:22px; overflow:hidden; border:1px solid rgba(212,175,55,.35); background:rgba(0,0,0,.35); box-shadow:0 18px 60px rgba(0,0,0,.55); margin:18px auto 28px;}
.photohero-link{display:block; position:relative;}
.photohero-img{width:100%; height:420px; object-fit:cover; object-position:center; display:block; filter:contrast(1.04) saturate(1.05);}
.photohero-overlay{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:22px 22px 18px; background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.78) 100%);}
.photohero-title{margin:8px 0 0; font-size:32px; line-height:1.1; color:#f2e7c3; text-shadow:0 10px 24px rgba(0,0,0,.6);}
.photo-date{display:inline-block; font-weight:700; letter-spacing:.04em; color:#d4af37; font-size:13px; text-transform:uppercase;}

.photolist{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; margin:0 auto;}
.photocard{border-radius:18px; overflow:hidden; border:1px solid rgba(212,175,55,.28); background:rgba(0,0,0,.35); box-shadow:0 12px 34px rgba(0,0,0,.45); transition:transform .15s ease, border-color .15s ease;}
.photocard:hover{transform:translateY(-3px); border-color:rgba(212,175,55,.45);}
.photocard-link{display:block; color:inherit; text-decoration:none;}
.photocard-imgwrap{width:100%; aspect-ratio:16/9; background:rgba(0,0,0,.35);}
.photocard-img{width:100%; height:100%; object-fit:cover; object-position:center; display:block;}
.photocard-body{padding:14px 14px 16px;}
.photocard-title{margin:8px 0 0; font-size:18px; line-height:1.25; color:#f2e7c3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

/* =====================
   FOTORELACJE (oś czasu jak w portalach)
   ===================== */
.ph-timeline{position:relative; margin:18px auto 10px; padding:6px 0 14px;}
.ph-timeline:before{content:""; position:absolute; left:110px; top:0; bottom:0; width:2px; background:rgba(212,175,55,.28);}
.ph-timeline-item{display:grid; grid-template-columns:220px 1fr; gap:22px; padding:16px 0;}
.ph-timeline-left{position:relative; padding-left:0; text-align:right;}
.ph-timeline-dot{position:absolute; left:110px; top:34px; width:12px; height:12px; border-radius:50%; background:#0b0b0b; border:2px solid rgba(212,175,55,.75); transform:translateX(-5px); box-shadow:0 0 0 6px rgba(212,175,55,.10);} 
.ph-timeline-date{font-weight:700; color:#d4af37; letter-spacing:.02em; font-size:14px; padding-right:26px; line-height:1.1;}
.ph-timeline-right{min-width:0;}
.ph-timeline-card{display:grid; grid-template-columns:360px 1fr; align-items:center; gap:18px; text-decoration:none; color:inherit; border-radius:16px; overflow:hidden; border:1px solid rgba(212,175,55,.25); background:rgba(0,0,0,.35); box-shadow:0 14px 36px rgba(0,0,0,.55); transition:transform .15s ease, border-color .15s ease;}
.ph-timeline-card:hover{transform:translateY(-2px); border-color:rgba(212,175,55,.45);} 
.ph-timeline-imgwrap{width:100%; aspect-ratio:16/9; background:rgba(0,0,0,.45);} 
.ph-timeline-img{width:100%; height:100%; object-fit:cover; object-position:center; display:block; filter:contrast(1.04) saturate(1.05);} 
.ph-timeline-title{margin:0; padding:16px 18px; font-size:34px; line-height:1.08; color:#f2e7c3; font-family:"Georgia","Times New Roman",serif; text-shadow:0 10px 26px rgba(0,0,0,.55);} 

@media (max-width: 1020px){
  .ph-timeline:before{left:26px;}
  .ph-timeline-item{grid-template-columns:1fr; gap:10px; padding:14px 0;}
  .ph-timeline-left{text-align:left; padding-left:54px;}
  .ph-timeline-dot{left:26px; top:18px; transform:translateX(-5px);} 
  .ph-timeline-date{padding-right:0;}
  .ph-timeline-card{grid-template-columns:1fr;}
  .ph-timeline-title{font-size:24px; padding:14px 16px 16px;}
}

/* =====================
   FOTORELACJE (pojedyncza) 
   ===================== */
.photo-gallery{margin-top:26px; padding-top:18px; border-top:1px solid rgba(212,175,55,.22);} 
.photo-gallery-title{margin:0 0 14px; color:#d4af37; letter-spacing:.06em; text-transform:uppercase; font-size:16px;}
.photo-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px;}
.photo-grid a{display:block; border-radius:14px; overflow:hidden; border:1px solid rgba(212,175,55,.25); background:rgba(0,0,0,.35);}
.photo-grid img{width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .18s ease;}
.photo-grid a:hover img{transform:scale(1.03);}

@media (max-width: 980px){
  .photolist{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .photohero-img{height:360px;}
  .photo-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 620px){
  .photolist{grid-template-columns:1fr;}
  .photohero-img{height:260px;}
  .photohero-title{font-size:24px;}
  .photo-grid{grid-template-columns:1fr;}
}


/* === FIX: hamburger zawsze złoty i widoczny (także na mobile) === */
#hamburger-menu{
  background: transparent !important;
  border: none !important;
}
#hamburger-menu span{
  background: var(--gold-accent) !important;
  display: block !important;
  opacity: 1 !important;
}
#hamburger-menu.is-active span{
  background: var(--gold-accent) !important;
}


/* === HERO: zawsze całe zdjęcie, nigdy nie ucięte === */
.hero,
.hero img,
.hero-image img {
  width: 100%;
  height: auto;
  max-height: 90vh;
  object-fit: contain;
  object-position: center;
  display: block;
}

@media (max-width: 768px) {
  .hero,
  .hero img,
  .hero-image img {
    max-height: 75vh;
  }
}

/* === HAMBURGER – ZŁOTY (jak w oryginalnym zipie) === */
button.menu-toggle,
button.menu-toggle::before,
button.menu-toggle::after {
  background-color: #d4af37 !important;
  border-color: #d4af37 !important;
}

button.menu-toggle::before,
button.menu-toggle::after {
  content: '';
  display: block;
}

button.menu-toggle svg,
button.menu-toggle span {
  fill: #d4af37 !important;
  background-color: #d4af37 !important;
}

/* === HERO MOBILE – ZAWSZE CAŁE ZDJĘCIE (NIE UCIĘTE) === */
@media (max-width: 768px) {
  .hero,
  .hero-section,
  .hero-banner {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 70vh;
  }
}


/* === CENTROWANIE TREŚCI WP (SINGLE/PAGE) NA DESKTOPIE === */
@media (min-width: 1024px) {
  .single-section .single-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
}




/* === STOPKA: email jako niebieski link (mailto) === */
.main-footer .footer-email-link {
  color: #4da3ff;
  text-decoration: underline;
}
.main-footer .footer-email-link:hover {
  opacity: 0.9;
}




/* ===== Klikalne nagłówki sekcji na stronie głównej ===== */
.section-title-link{
  color: var(--gold-accent);
  text-decoration: none;
}
.section-title-link:hover{
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* ===== CTA pod sekcjami: złoty kolor jak tytuły ===== */
.section-cta a.btn{
  color: var(--gold-accent);
  border: 1px solid rgba(212,175,55,0.55);
  background: transparent;
}
.section-cta a.btn:hover{
  background: rgba(212,175,55,0.12);
}
