/* Olszany.pl 0.1.68 — jeden spójny kolor organizacji na całej publicznej podstronie */
:root{
  --org-accent:#0B6B50;
  --org-accent-dark:#074533;
  --org-overlay-rgb:5,49,37;
}

/* Baner bez zdjęcia: delikatny gradient z koloru ustawionego przez Mega Admina. */
.village-hero,
.parish-hero,
.osp-hero,
.huragan-hero,
.school-hero,
.kgw-hero,
.olszaniacy-hero,
.biblioteka-hero{
  background:linear-gradient(
    135deg,
    color-mix(in srgb,var(--org-accent) 22%,#fff) 0%,
    color-mix(in srgb,var(--org-accent) 9%,#fff) 60%,
    #fff 100%
  );
}

/* Baner ze zdjęciem: ta sama fotografia, ale nakładka zawsze w kolorze danej organizacji. */
.village-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--village-hero);
}
.parish-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--parish-hero);
}
.osp-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--osp-hero);
}
.huragan-hero.has-photo:before{
  background:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.95),rgba(var(--org-overlay-rgb),.66),rgba(var(--org-overlay-rgb),.24)),var(--huragan-hero);
  background-size:cover;
  background-position:center;
}
.school-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--school-hero);
}
.kgw-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--kgw-hero);
}
.olszaniacy-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--olsz-hero);
}
.biblioteka-hero.has-photo:before{
  background-image:linear-gradient(90deg,rgba(var(--org-overlay-rgb),.94),rgba(var(--org-overlay-rgb),.62),rgba(var(--org-overlay-rgb),.18)),var(--bibl-hero);
}

/* Górne menu i identyfikacja używają tego samego koloru — koniec zielonego paska w złotej Parafii. */
.organization-page .desktop-nav a.is-active,
.organization-page .desktop-nav a:hover{
  color:var(--org-accent-dark)!important;
}
.organization-page .desktop-nav a[href^="#"]:after{
  background:var(--org-accent)!important;
}
.organization-page .village-identity .identity-kicker,
.organization-page .parish-identity .identity-kicker{
  color:var(--org-accent-dark)!important;
}

/* Logo pozostaje nietknięte: białe pole, brak filtrów i brak przebarwiania obrazu. */
.organization-page :is(.village-identity,.parish-identity,.osp-identity,.huragan-crest-card,.school-identity,.kgw-identity,.olszaniacy-identity,.biblioteka-identity){
  background:rgba(255,255,255,.94);
}
.organization-page :is(.village-identity,.parish-identity,.osp-identity,.huragan-crest-card,.school-identity,.kgw-identity,.olszaniacy-identity,.biblioteka-identity) img{
  filter:none!important;
}


/* Olszany.pl 0.1.69 — kicker Huraganu zawsze biały na hero */
.organization-page .huragan-hero .huragan-kicker{color:#fff!important}

/* 1.1.12 — wspólny wygląd dokumentów na stronach organizacji */
.organization-page .document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.organization-page .document-list a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:.16s ease}
.organization-page .document-list a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--org-accent) 35%,#dce6e1);background:#fbfdfc}
.organization-page .document-list a>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.organization-page .document-list small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.organization-page .document-list strong{font-size:11px;color:var(--org-accent-dark)}
.organization-page .doc-icon{display:grid!important;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff0ef;color:#b42318;font-size:11px!important;font-weight:900}
@media(max-width:700px){.organization-page .document-list{grid-template-columns:1fr}.organization-page .document-list a{grid-template-columns:42px minmax(0,1fr)}.organization-page .document-list strong{display:none}}

/* Olszany.pl 1.1.35 — stabilny układ 100% / 50% bez „masonry”.
   Sekcje 50% są grupowane w dwie równe, niezależne kolumny. Każdy kafel
   zajmuje 100% szerokości swojej kolumny, więc nie powstają schodki ani
   przypadkowo węższe karty. Sekcja 100% zawsze zaczyna nowy pełny wiersz. */
@media (min-width:951px){
  .organization-page .org-section-layout-root{display:block!important;}
  .organization-page .org-section-layout-root > [data-section-key]{
    width:100%!important;
    max-width:none!important;
    min-width:0;
    margin-bottom:18px!important;
  }
  .organization-page .org-section-layout-root > .org-section-split-group{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    align-items:start;
    width:100%;
    margin:0 0 18px;
  }
  .organization-page .org-section-split-column{
    display:flex;
    flex-direction:column;
    gap:18px;
    min-width:0;
  }
  .organization-page .org-section-split-column > [data-section-key]{
    position:static!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0;
    margin:0!important;
    box-sizing:border-box;
  }
  .organization-page .org-section-layout-root > :last-child{margin-bottom:0!important;}
}
@media (max-width:950px){
  .organization-page .org-section-layout-root{display:block!important;height:auto!important;}
  .organization-page .org-section-layout-root > [data-section-key]{
    position:static!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    margin-bottom:18px!important;
  }
}

/* Olszany.pl 1.1.30 — wspólne Aktualności + Wydarzenia, maks. 4 łącznie */
.organization-page .organization-recent-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow);
}
.organization-page .organization-recent-head{margin-bottom:16px}
.organization-page .organization-recent-head h2{margin:4px 0 2px}
.organization-page .organization-recent-head p{margin:0}
.organization-page .organization-recent-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.organization-page .organization-recent-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fbfdfc;
  color:inherit;
  text-decoration:none;
  transition:.16s ease;
}
.organization-page .organization-recent-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--org-accent) 38%,var(--line));
  box-shadow:0 12px 28px rgba(20,55,43,.08);
}
.organization-page .organization-recent-card>img{
  width:100%;
  height:150px;
  object-fit:cover;
  background:#eef3f0;
}
.organization-page .organization-recent-card-body{padding:15px 16px 16px;min-width:0}
.organization-page .organization-recent-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:7px}
.organization-page .organization-recent-type{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--org-accent-dark)}
.organization-page .organization-recent-meta time{font-size:11px;font-weight:800;color:var(--muted)}
.organization-page .organization-recent-card h3{margin:0;font-size:19px;line-height:1.2}
.organization-page .organization-recent-card p{margin:8px 0 0;color:var(--muted);line-height:1.45}
.organization-page .organization-recent-location{display:block;margin-top:7px;color:var(--muted);font-weight:700}
.organization-page .organization-recent-more{display:inline-block;margin-top:11px;font-size:12px;font-weight:900;color:var(--org-accent-dark)}
@media(min-width:951px){
  .organization-page .organization-recent-section[data-layout-width="50"] .organization-recent-grid{grid-template-columns:1fr}
  .organization-page .organization-recent-section[data-layout-width="50"] .organization-recent-card>img{height:125px}
}
@media(max-width:700px){
  .organization-page .organization-recent-section{padding:18px;border-radius:20px}
  .organization-page .organization-recent-grid{grid-template-columns:1fr}
  .organization-page .organization-recent-card>img{height:180px}
  .organization-page .organization-recent-head .text-link{display:none}
}

/* Olszany.pl 1.1.38 — globalna responsywność wnętrza sekcji ustawionych na 50%.
   50% steruje WYŁĄCZNIE szerokością zewnętrznej sekcji na PC. Wewnętrzne
   kafelki, formularze i siatki dopasowują się do dostępnej połowy, zamiast
   zachowywać desktopowe 3/4/5 kolumn i tworzyć efekt „50% z 50%”. */
@media (min-width:951px){
  .organization-page .org-section-split-group{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .organization-page .org-section-split-group.is-single-half{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .organization-page .org-section-split-column{
    min-width:0;
    width:100%;
  }
  .organization-page .org-section-split-column:empty{min-height:1px}
  .organization-page .org-section-split-column > .org-section-half{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Wspólne bloki treści — w połowie strony nie mogą zachowywać układu 3–5 kolumn. */
  .organization-page .org-section-half :is(
    .teams-grid,
    .stats-grid,
    .activity-grid,
    .school-two-cols,
    .achievement-grid,
    .project-grid,
    .kgw-offer-grid,
    .recipe-grid,
    .workshop-grid,
    .performance-grid,
    .rehearsal-list,
    .group-grid,
    .repertoire-grid,
    .video-grid,
    .biblioteka-info,
    .library-events,
    .library-projects,
    .document-list
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Siatki osób/zdjęć — dwa sensowne kafle w połowie strony. */
  .organization-page .org-section-half :is(
    .council-grid,
    .osp-people-grid,
    .osp-vehicle-grid,
    .osp-equipment-grid,
    .staff-grid,
    .kgw-people,
    .olszaniacy-people,
    .opening-grid,
    .book-grid,
    .sponsor-grid,
    .huragan-gallery,
    .parish-gallery,
    .village-gallery,
    .osp-gallery,
    .school-gallery,
    .kgw-gallery
  ){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Kadra Huraganu ma własne karty — w połowie strony maksymalnie dwie. */
  .organization-page .org-section-half .squad-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Układy tekst + obraz / formularz + dane — w 50% przechodzą w jedną kolumnę. */
  .organization-page .org-section-half :is(
    .osp-contact-grid,
    .osp-recruitment-grid,
    .osp-mdp-grid,
    .recruitment-card,
    .stadium-card,
    .school-contact-grid,
    .recruitment-section,
    .school-history,
    .kgw-contact-grid,
    .tradition-card,
    .olszaniacy-contact,
    .parish-history-layout.has-photo
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Szkoła: jeden kafel zajęć ma wypełniać całą szerokość połowy. */
  .organization-page .org-section-half .activity-grid .activity-card,
  .organization-page .org-section-half .teams-grid > article{
    width:100%!important;
    max-width:none!important;
  }

  /* Huragan — blok naboru po przejściu do jednej kolumny. */
  .organization-page .org-section-half .recruitment-card>img{
    width:100%!important;
    height:190px!important;
    min-height:0!important;
    object-fit:cover;
  }
  .organization-page .org-section-half .recruitment-card>div{
    padding:18px!important;
  }

  /* Długie elementy tabelaryczne mogą przewijać się tylko wewnątrz swojej połowy. */
  .organization-page .org-section-half :is(.league-table-wrap,.table-scroll,.document-list){
    min-width:0!important;
    max-width:100%!important;
  }
}

/* 1.1.38 — uzupełnienie: wszystkie publiczne komponenty, które przy pełnej
   szerokości mają wiele kolumn, dostają bezpieczny układ dla połowy strony. */
@media (min-width:951px){
  .organization-page .org-section-half :is(
    .form-grid,
    .contact-cards,
    .meal-grid,
    .investment-grid,
    .celebration-public-grid,
    .sacrament-public-grid,
    .kgw-offer-grid,
    .recipe-grid,
    .workshop-grid,
    .performance-grid,
    .rehearsal-list,
    .group-grid,
    .repertoire-grid,
    .achievement-grid,
    .project-grid,
    .video-grid
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }

  .organization-page .org-section-half :is(.osp-stat-grid,.council-grid,.staff-grid,.huragan-board-grid,.olszaniacy-people,.kgw-people){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .organization-page .org-section-half :is(.soltys-card,.priest-contact-card){
    grid-template-columns:130px minmax(0,1fr)!important;
    align-items:center;
  }
  .organization-page .org-section-half :is(.soltys-contact,.priest-contact-list){
    grid-column:1/-1!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  .organization-page .org-section-half .director-card{
    grid-template-columns:110px minmax(0,1fr)!important;
  }

  .organization-page .org-section-half :is(.recruitment-section,.school-history,.parish-history-layout.has-photo,.tradition-card){
    grid-template-columns:minmax(0,1fr)!important;
  }

  .organization-page .org-section-half :is(.history-logo,.parish-history-photo){
    max-width:100%!important;
  }
}

/* Olszany.pl v1.1.43 — Biblioteka w sekcji 50%: kategorie jedna pod drugą,
   ale książki nadal po dwie w rzędzie. */
@media(min-width:951px){
  .organization-page .org-section-half .library-book-groups{grid-template-columns:1fr!important}
  .organization-page .org-section-half .library-book-group .book-grid,
  .organization-page .org-section-half .library-book-groups.is-single .book-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
