/*
Theme Name: SGP Wilki
Theme URI: https://sgpwilki.pl
Description: Motyw dla SGP Wilki
Version: 1.1
Author: SGP Wilki
Text Domain: sgpwilki
*/
/* ── TOKENS ── */
/* Paleta: Forest Moss #618B25 (główny) · Dusty Grape #4F4789 (rzadki akcent) · Soft Linen #E6EBE0 · Charcoal Brown #25291C · Midnight Violet #201335 */
:root {
  --forest:       #1E3208;
  --forest-mid:   #3A5C10;
  --forest-light: #618B25;
  --khaki:        #7A8C6A;
  --ember:        #4F4789;
  --ember-warm:   #6B64A8;
  --parchment:    #E6EBE0;
  --parchment-dk: #D4DAD0;
  --ink:          #25291C;
  --body-text:    #25291C;
  --muted:        #5C6E4C;
  --surface:      #F4F6EF;
  --surface2:     #E6EBE0;
  --divider:      rgba(37,41,28,0.12);
  --shadow:       0 2px 16px rgba(37,41,28,0.10);
  --ground:       var(--parchment);
  --fg:           var(--body-text);
  --card-bg:      #fff;
  --nav-bg:       rgba(230,235,224,0.93);
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --forest:#618B25;--forest-mid:#7AAD30;--forest-light:#96CC44;--khaki:#90A87A;
    --ember:#7B72BE;--ember-warm:#9B94D8;
    --parchment:#D4DBC8;--parchment-dk:#B8C4A8;
    --ink:#D4DBC8;--body-text:#C0CEAC;--muted:#8A9E78;--surface:#1A2410;--surface2:#222E14;
    --divider:rgba(192,218,150,0.12);--shadow:0 2px 16px rgba(0,0,0,0.30);
    --ground:#1A2410;--fg:#C0CEAC;--card-bg:#222E14;--nav-bg:rgba(26,36,16,0.95);
  }
}
:root[data-theme="dark"] {
  --forest:#618B25;--forest-mid:#7AAD30;--forest-light:#96CC44;--khaki:#90A87A;
  --ember:#7B72BE;--ember-warm:#9B94D8;
  --parchment:#D4DBC8;--parchment-dk:#B8C4A8;
  --ink:#D4DBC8;--body-text:#C0CEAC;--muted:#8A9E78;--surface:#1A2410;--surface2:#222E14;
  --divider:rgba(192,218,150,0.12);--shadow:0 2px 16px rgba(0,0,0,0.30);
  --ground:#1A2410;--fg:#C0CEAC;--card-bg:#222E14;--nav-bg:rgba(26,36,16,0.95);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:60px;}
body{background:var(--ground);color:var(--fg);font-family:'Barlow',sans-serif;line-height:1.6;overflow-x:hidden;}
/* ── SCROLL SNAP — jeden scroll = skok do następnej sekcji ── */
@media (prefers-reduced-motion: no-preference) {
  html{scroll-snap-type:y proximity;}
}
.hero,#o-nas,#kalendarz,#aktualnosci,#galeria,#sekcje,#stopnie,#kontakt{scroll-snap-align:start;}
img{max-width:100%;display:block;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:60px;gap:1rem;}
.nav-logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:34px;width:auto;object-fit:contain;}
.nav-logo-text{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.3rem;letter-spacing:0.06em;color:var(--forest);}
.nav-logo-text span{color:var(--forest);}
.nav-links{display:flex;gap:0.1rem;list-style:none;flex-wrap:nowrap;}
.nav-links a{font-family:'Barlow',sans-serif;font-weight:500;font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--fg);text-decoration:none;padding:0.4rem 0.55rem;border-radius:4px;transition:background 0.15s,color 0.15s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{background:var(--divider);color:var(--forest);}
.nav-links{margin-left:auto;}
.nav-theme-btn{background:none;border:1px solid var(--divider);border-radius:50%;width:32px;height:32px;cursor:pointer;color:var(--fg);font-size:0.85rem;display:flex;align-items:center;justify-content:center;transition:background 0.15s;flex-shrink:0;margin-left:auto;}
.nav-theme-btn:hover{background:var(--divider);}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--fg);padding:0.25rem;flex-shrink:0;}
.nav-hamburger svg{display:block;overflow:visible;}
.burger-line{transform-origin:11px 1.25px;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .2s ease;}
.burger-mid{transform-origin:11px 9px;}
.burger-bot{transform-origin:11px 16.75px;}
.nav-hamburger.open .burger-top{transform:translateY(7.75px) rotate(45deg);}
.nav-hamburger.open .burger-mid{opacity:0;transform:scaleX(0);}
.nav-hamburger.open .burger-bot{transform:translateY(-7.75px) rotate(-45deg);}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:var(--forest);}
.hero-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,26,20,0.95) 0%,rgba(14,26,20,0.55) 45%,rgba(14,26,20,0.15) 100%);}
.hero-bg-word{position:absolute;bottom:-0.1em;right:-0.02em;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(10rem,22vw,20rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.05);pointer-events:none;user-select:none;letter-spacing:-0.02em;z-index:1;}
.hero-content{position:relative;z-index:2;padding:0 2.5rem 5rem;}
.hero-eyebrow{font-family:'Barlow',sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:#96CC44;margin-bottom:1.25rem;}
.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(3.2rem,8.5vw,6.5rem);line-height:0.95;letter-spacing:-0.01em;color:var(--parchment);text-wrap:balance;max-width:800px;margin-bottom:0.75rem;}
.hero h1 em{font-style:normal;color:#96CC44;}
.hero-motto{font-family:'Lora',serif;font-style:italic;font-size:1.05rem;color:rgba(230,235,224,0.65);margin-bottom:0.35rem;}
.hero-abbr{font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(230,235,224,0.38);margin-bottom:2rem;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;gap:0.5rem;background:var(--forest-light);color:#fff;font-family:'Barlow',sans-serif;font-weight:600;font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;padding:0.75rem 1.5rem;border-radius:4px;border:none;cursor:pointer;transition:background .18s ease,transform .18s cubic-bezier(.22,.61,.36,1),box-shadow .18s ease;}
.btn-primary:hover{background:var(--forest-mid);transform:translateY(-2px);box-shadow:0 8px 20px rgba(97,139,37,0.3);}
.btn-primary:active{transform:translateY(0) scale(.97);}
.btn-ghost{display:inline-flex;align-items:center;gap:0.5rem;background:transparent;color:var(--parchment);font-family:'Barlow',sans-serif;font-weight:600;font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;padding:0.75rem 1.5rem;border-radius:4px;border:1px solid rgba(240,235,225,0.3);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s cubic-bezier(.22,.61,.36,1);}
.btn-ghost:hover{transform:translateY(-2px);}
.btn-ghost:active{transform:translateY(0) scale(.97);}
.btn-ghost:hover{background:rgba(240,235,225,0.08);border-color:rgba(240,235,225,0.5);}
.btn-more{display:flex;align-items:center;justify-content:center;gap:0.6rem;width:100%;padding:0.9rem;margin-top:2rem;border:1px solid var(--divider);border-radius:6px;background:transparent;color:var(--forest);font-family:'Barlow',sans-serif;font-weight:600;font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background 0.15s,border-color 0.15s;}
.btn-more:hover{background:var(--divider);border-color:var(--forest);}

/* ── SECTIONS ── */
.section{padding:6rem 2.5rem;position:relative;overflow:hidden;}
.section-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.section-label{font-family:'Barlow',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--forest-light);margin-bottom:0.75rem;}
.section-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(2.2rem,5vw,3.5rem);line-height:1;color:var(--forest);letter-spacing:-0.01em;text-wrap:balance;margin-bottom:1rem;}
.alt-bg{background:var(--surface);}

/* Sekcje z tłem — obraz ledwo widoczny, mocno przyciemniony na zielono (klimat, nie ilustracja) */
.section-has-bg{
  background-size:cover;
  background-position:center;
  background-color:#0d1a05;
  border-top:10px solid var(--forest);
}
.section-has-bg::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(9,18,4,0.93) 0%,rgba(13,26,6,0.9) 100%);
  pointer-events:none;z-index:0;
}
:root[data-theme="dark"] .section-has-bg::before{background:linear-gradient(160deg,rgba(6,12,3,0.95) 0%,rgba(9,18,4,0.93) 100%);}

/* Kalendarz — bez tła w ogóle, płaskie tło karty */
#kalendarz{background:var(--surface2);}

/* Każda pozostała sekcja z tłem — inny banner (sąsiednie się nie powtarzają) */
#aktualnosci-galeria-row.section-has-bg{background-image:url('../assets/banner3.jpg');}
#sekcje.section-has-bg                 {background-image:url('../assets/banner4.jpg');}
#stopnie.section-has-bg                {background-image:url('../assets/banner.jpg');}
#sprawnosci.section-has-bg             {background-image:url('../assets/banner2.jpg');}
#sprzet.section-has-bg                 {background-image:url('../assets/banner3.jpg');}

/* Biały zaokrąglony card na contencie sekcji */
.section-card > .section-inner{
  background:rgba(255,255,255,0.93);
  border-radius:18px;
  padding:2.5rem 2.75rem;
  box-shadow:0 6px 48px rgba(0,0,0,0.22);
}
:root[data-theme="dark"] .section-card > .section-inner{
  background:rgba(22,32,14,0.93);
  box-shadow:0 6px 48px rgba(0,0,0,0.45);
}

/* ── PAGE HERO (subpages) ── */
.post-hero-photo{width:100%;max-height:460px;overflow:hidden;margin-top:60px;}
.post-hero-photo img{width:100%;height:100%;max-height:460px;object-fit:cover;display:block;}
.post-hero-photo + .page-hero{padding-top:2.5rem;}
@media(max-width:640px){
  .post-hero-photo{max-height:230px;margin-top:56px;}
  .post-hero-photo img{max-height:230px;}
}

/* ── ANIMACJE: reveal-on-scroll ── */
@media (prefers-reduced-motion: no-preference) {
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1);}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .reveal-stagger > *{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1);}
  .reveal-stagger.in-view > *{opacity:1;transform:translateY(0);}
  .reveal-stagger.in-view > *:nth-child(1){transition-delay:.03s;}
  .reveal-stagger.in-view > *:nth-child(2){transition-delay:.09s;}
  .reveal-stagger.in-view > *:nth-child(3){transition-delay:.15s;}
  .reveal-stagger.in-view > *:nth-child(4){transition-delay:.21s;}
  .reveal-stagger.in-view > *:nth-child(5){transition-delay:.27s;}
  .reveal-stagger.in-view > *:nth-child(6){transition-delay:.33s;}
  .reveal-stagger.in-view > *:nth-child(7){transition-delay:.39s;}
  .reveal-stagger.in-view > *:nth-child(8){transition-delay:.45s;}
}
@media (prefers-reduced-motion: reduce) {
  .reveal,.reveal-stagger > *{opacity:1;transform:none;}
}

/* ── ANIMACJE: navbar ── */
nav{transition:box-shadow .3s ease,background .3s ease,padding .3s ease;}
nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,0.12);}
.nav-links a{position:relative;}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--forest-light);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.nav-links a:hover::after{transform:scaleX(1);}

/* ── LOADING SCREEN ── */
#sgpLoader{position:fixed;inset:0;z-index:9999;background:var(--forest);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;transition:opacity .5s ease,visibility .5s ease;}
#sgpLoader.loaded{opacity:0;visibility:hidden;pointer-events:none;}
.sgp-loader-mark{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.2rem;letter-spacing:.06em;color:var(--parchment);}
.sgp-loader-mark span{color:#96CC44;}
.sgp-loader-bar{width:160px;height:3px;background:rgba(255,255,255,0.15);border-radius:2px;overflow:hidden;}
.sgp-loader-bar::after{content:'';display:block;width:40%;height:100%;background:#96CC44;border-radius:2px;animation:sgpLoaderSlide 1.1s ease-in-out infinite;}
@keyframes sgpLoaderSlide{0%{transform:translateX(-100%);}100%{transform:translateX(350%);}}
@media (prefers-reduced-motion: reduce) {
  #sgpLoader{transition:none;}
  .sgp-loader-bar::after{animation:none;width:100%;}
}
.page-hero{padding:7rem 2.5rem 3rem;background:var(--forest);position:relative;overflow:hidden;}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,0.3) 0%,transparent 60%);}
.page-hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;}
.page-hero .section-label{color:#96CC44;}
.page-hero .section-title{color:var(--parchment);margin-bottom:0;}
.page-hero-bg-word{position:absolute;top:50%;right:-0.02em;transform:translateY(-50%);font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(6rem,15vw,13rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.05);pointer-events:none;user-select:none;letter-spacing:-0.02em;}

/* ── PHOTO PLACEHOLDERS ── */
.photo-ph{width:100%;position:relative;overflow:hidden;}
.photo-ph::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='28' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'/%3E%3C/svg%3E") center/60px;}
.photo-ph.obóz{background:linear-gradient(160deg,#1E3208 0%,#3A5C10 45%,#618B25 80%,#25291C 100%);}
.photo-ph.zbiórka{background:linear-gradient(160deg,#25291C 0%,#2E4010 40%,#4A7018 70%,#1A1E0C 100%);}
.photo-ph.zimowisko{background:linear-gradient(160deg,#1E3208 0%,#2E1A48 40%,#4F4789 70%,#E6EBE0 100%);}
.photo-ph.wyjazd{background:linear-gradient(160deg,#25291C 0%,#2E1A48 40%,#4F4789 75%,#3A5C10 100%);}
.photo-ph.sprzet{background:linear-gradient(160deg,#25291C 0%,#2E2E20 40%,#404830 70%,#25291C 100%);}
/* horizon line effect */
.photo-ph::before{content:'';position:absolute;bottom:28%;left:0;right:0;height:1px;background:rgba(255,255,255,0.08);}
.photo-ph-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:2.2rem;opacity:0.25;}
/* sizes */
.photo-ph.ratio-16-10{aspect-ratio:16/10;}
.photo-ph.ratio-16-9{aspect-ratio:16/9;}
.photo-ph.ratio-4-3{aspect-ratio:4/3;}
.photo-ph.ratio-1-1{aspect-ratio:1/1;}
.photo-ph.ratio-3-4{aspect-ratio:3/4;}
.photo-ph.ratio-3-2{aspect-ratio:3/2;}

/* ── O NAS ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-top:3rem;}
.about-text p{font-family:'Lora',serif;font-size:1rem;line-height:1.75;color:var(--fg);margin-bottom:1rem;}
.stat-row{display:flex;gap:2.5rem;margin-top:2rem;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;gap:0.2rem;}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.5rem;line-height:1;color:var(--forest);}
.stat-lbl{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pillar{position:relative;overflow:hidden;border-radius:10px;padding:1.75rem 1.5rem;display:flex;gap:1rem;align-items:flex-start;min-height:140px;}
.pillar::before{content:'';position:absolute;inset:0;background-image:var(--pillar-img);background-size:cover;background-position:center;filter:brightness(0.22) saturate(0.7);z-index:0;transition:filter .3s;}
.pillar:hover::before{filter:brightness(0.30) saturate(0.8);}
.pillar-icon{display:none;}
.pillar-body{position:relative;z-index:1;}
.pillar-body h4{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:0.04em;color:#fff;margin-bottom:0.3rem;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.pillar-body p{font-size:0.85rem;color:rgba(255,255,255,0.82);line-height:1.5;text-shadow:0 1px 3px rgba(0,0,0,0.4);}
@media(max-width:540px){.about-pillars{grid-template-columns:1fr;}}

/* ── CALENDAR ── */
.calendar-section{background:var(--surface2);}
.calendar-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;margin-top:2.5rem;}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;}
.cal-month-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.5rem;color:var(--forest);letter-spacing:0.02em;}
.cal-nav{display:flex;gap:0.5rem;}
.cal-btn{background:var(--card-bg);border:1px solid var(--divider);border-radius:4px;width:32px;height:32px;cursor:pointer;color:var(--fg);font-size:0.9rem;display:flex;align-items:center;justify-content:center;transition:background 0.15s;}
.cal-btn:hover{background:var(--divider);}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;}
.cal-wd{font-family:'Barlow',sans-serif;font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:0.4rem 0;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cal-cell{background:var(--card-bg);border-radius:4px;min-height:78px;padding:0.4rem;position:relative;transition:transform .18s ease,box-shadow .18s ease;animation:calCellIn .4s cubic-bezier(.22,.61,.36,1) backwards;}
.cal-cell:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1);z-index:1;}
.cal-cell.other-month{opacity:0.35;}
.cal-cell.today{box-shadow:inset 0 0 0 2px var(--ember);animation:calCellIn .4s cubic-bezier(.22,.61,.36,1) backwards,calPulse 2s ease-in-out .5s infinite;}
@keyframes calCellIn{from{opacity:0;transform:translateY(8px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes calPulse{0%,100%{box-shadow:inset 0 0 0 2px var(--ember);}50%{box-shadow:inset 0 0 0 2px var(--ember),0 0 0 4px rgba(79,71,137,0.12);}}
@media (prefers-reduced-motion: reduce){.cal-cell{animation:none;}.cal-cell.today{animation:none;}}
.cal-day-num{font-family:'Barlow',sans-serif;font-size:0.75rem;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;}
.cal-cell.today .cal-day-num{background:var(--ember);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.7rem;}
.cal-events{margin-top:0.3rem;display:flex;flex-direction:column;gap:2px;}
.cal-ev{font-size:0.6rem;font-weight:600;padding:1px 4px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:transform .15s ease,filter .15s ease;}
.cal-ev:hover{transform:scale(1.06);filter:brightness(1.12);}
.cal-ev:active{transform:scale(.96);}
.ev-zbiórka  {background:rgba(97,139,37,0.18);color:#3D5C10;}
.ev-obóz     {background:rgba(58,92,16,0.18);color:#2A4008;}
.ev-zimowisko{background:rgba(79,71,137,0.18);color:#2E2870;}
.ev-wyjazd   {background:rgba(37,41,28,0.18);color:#3A4020;}
:root[data-theme="dark"] .ev-zbiórka   {background:rgba(97,139,37,0.30);color:#B0D060;}
:root[data-theme="dark"] .ev-obóz      {background:rgba(97,139,37,0.22);color:#96CC44;}
:root[data-theme="dark"] .ev-zimowisko {background:rgba(123,114,190,0.30);color:#C0B8F0;}
:root[data-theme="dark"] .ev-wyjazd    {background:rgba(37,41,28,0.35);color:#90A878;}
.cal-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;}
.leg-item{display:flex;align-items:center;gap:0.4rem;font-size:0.72rem;color:var(--muted);}
.leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.leg-dot.zbiórka{background:#618B25;}.leg-dot.obóz{background:#3A5C10;}.leg-dot.zimowisko{background:#4F4789;}.leg-dot.wyjazd{background:#25291C;}
.upcoming-events{display:flex;flex-direction:column;}
.upcoming-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.04em;color:var(--forest);margin-bottom:1rem;text-transform:uppercase;}
.ev-card{padding:1rem 0;border-bottom:1px solid var(--divider);display:flex;gap:1rem;align-items:flex-start;}
.ev-card:first-child{border-top:1px solid var(--divider);}
.ev-date-block{width:44px;flex-shrink:0;text-align:center;background:var(--card-bg);border:1px solid var(--divider);border-radius:6px;padding:0.4rem;}
.ev-date-d{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.4rem;line-height:1;color:var(--forest);font-variant-numeric:tabular-nums;}
.ev-date-m{font-size:0.58rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);}
.ev-info h4{font-family:'Barlow',sans-serif;font-weight:600;font-size:0.85rem;color:var(--fg);margin-bottom:0.25rem;}
.ev-tag{display:inline-block;font-size:0.62rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:2px 6px;border-radius:3px;}
.ev-tag.zbiórka  {background:rgba(97,139,37,0.18);color:#3D5C10;}
.ev-tag.obóz     {background:rgba(79,71,137,0.18);color:#2E2870;}
.ev-tag.zimowisko{background:rgba(123,114,190,0.18);color:#4F4789;}
.ev-tag.wyjazd   {background:rgba(37,41,28,0.20);color:#3A4020;}

/* ── FILTERS + SORT BAR ── */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:2rem 0 1.5rem;}
.filter-group{display:flex;gap:0.4rem;flex-wrap:wrap;}
.filter-btn{font-family:'Barlow',sans-serif;font-size:0.76rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:0.4rem 0.9rem;border-radius:4px;border:1px solid var(--divider);background:var(--card-bg);color:var(--fg);cursor:pointer;transition:all 0.15s;}
.filter-btn:hover{border-color:var(--forest);color:var(--forest);}
.filter-btn.active{background:var(--forest);color:var(--parchment);border-color:var(--forest);}
.sort-select{font-family:'Barlow',sans-serif;font-size:0.76rem;font-weight:500;padding:0.4rem 0.9rem;border-radius:4px;border:1px solid var(--divider);background:var(--card-bg);color:var(--fg);cursor:pointer;outline:none;transition:border-color 0.15s;}
.sort-select:hover,.sort-select:focus{border-color:var(--forest);}
.results-count{font-size:0.75rem;color:var(--muted);}

/* ── POST CARDS ── */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;}
.post-card{background:var(--card-bg);border-radius:8px;overflow:hidden;border:1px solid var(--divider);box-shadow:var(--shadow);transition:transform 0.15s,box-shadow 0.15s;display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.post-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(20,31,26,0.15);}
.post-card:hover .post-title{color:var(--ember);}
.post-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;}
.post-meta{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;}
.post-cat{font-size:0.62rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:2px 7px;border-radius:3px;}
.post-cat.obóz     {background:rgba(79,71,137,0.15);color:#2E2870;}
.post-cat.zbiórka  {background:rgba(97,139,37,0.15);color:#3D5C10;}
.post-cat.wyjazd   {background:rgba(37,41,28,0.20);color:#3A4020;}
.post-cat.zimowisko{background:rgba(123,114,190,0.18);color:#4F4789;}
.post-date{font-size:0.72rem;color:var(--muted);}
.post-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.2rem;line-height:1.2;color:var(--forest);margin-bottom:0.5rem;text-wrap:balance;transition:color 0.15s;}
.post-excerpt{font-family:'Lora',serif;font-size:0.85rem;line-height:1.6;color:var(--muted);flex:1;}
.post-footer{margin-top:1rem;padding-top:0.75rem;border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;}
.post-gallery-count{font-size:0.72rem;color:var(--muted);display:flex;align-items:center;gap:0.3rem;}
.read-more{font-size:0.75rem;font-weight:600;color:var(--forest-light);text-decoration:none;letter-spacing:0.04em;}

/* ── GALLERY ── */
.gallery-section{background:transparent;}
/* Aktualności + Galeria side by side na desktop — wspólne tło */
.news-gallery-row{display:flex;align-items:stretch;position:relative;overflow:hidden;}
.news-gallery-col{flex:1;background:transparent;}
.news-gallery-col .section-inner{height:100%;}
@media(max-width:900px){.news-gallery-row{flex-direction:column;}}
.gallery-masonry{columns:5 145px;column-gap:0.65rem;}
.gallery-item{break-inside:avoid;margin-bottom:0.75rem;border-radius:6px;overflow:hidden;cursor:pointer;position:relative;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-item:hover .photo-ph{transform:scale(1.03);}
.gallery-item img{width:100%;height:auto;display:block;transition:transform 0.25s;}
.gallery-item:hover img{transform:scale(1.03);}
/* ── FB-style kolaż zdjęć w karcie posta ── */
.post-photo-grid{display:grid;gap:2px;aspect-ratio:16/10;overflow:hidden;background:var(--ground);}
.post-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;}
.post-photo-grid.n1{grid-template-columns:1fr;}
.post-photo-grid.n2{grid-template-columns:1fr 1fr;}
.post-photo-grid.n3,.post-photo-grid.n4,.post-photo-grid.n4plus{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.post-photo-grid.n3 .ppg-item:first-child{grid-row:1/3;}
.ppg-item{position:relative;overflow:hidden;}
.ppg-more{position:absolute;inset:0;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.4rem;}
.photo-ph{transition:transform 0.25s;}
.gallery-overlay{position:absolute;inset:0;background:rgba(20,36,27,0.72);opacity:0;transition:opacity 0.2s;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:0.75rem;}
.gallery-overlay span{font-family:'Barlow',sans-serif;font-size:0.74rem;font-weight:600;color:rgba(240,235,225,0.95);letter-spacing:0.03em;}
.gallery-overlay small{font-size:0.62rem;color:rgba(240,235,225,0.6);}
.gallery-overlay .go-cat{display:inline-block;font-size:0.58rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:2px 6px;border-radius:2px;margin-bottom:0.35rem;background:rgba(201,79,26,0.5);color:#FFD0B0;}

/* ── LIGHTBOX ── */
.lightbox{display:flex;position:fixed;inset:0;z-index:300;background:rgba(10,18,14,0.95);align-items:center;justify-content:center;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px;}
.lightbox-ph{max-width:90vw;max-height:80vh;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:1;transform:translateX(0) scale(1);transition:opacity .18s ease,transform .18s ease;}
.lightbox-ph img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px;}
.lightbox-ph.switching.from-right{opacity:0;transform:translateX(24px) scale(.97);}
.lightbox-ph.switching.from-left{opacity:0;transform:translateX(-24px) scale(.97);}
.lightbox.open .lightbox-ph{animation:lbIn .35s cubic-bezier(.22,.61,.36,1);}
@keyframes lbIn{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);}}
@media (prefers-reduced-motion: reduce){.lightbox-ph,.lightbox.open .lightbox-ph{transition:none;animation:none;}}
.lightbox-caption{margin-top:1rem;text-align:center;}
.lightbox-caption strong{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--parchment);display:block;}
.lightbox-caption span{font-size:0.8rem;color:rgba(240,235,225,0.5);}
.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:rgba(255,255,255,0.1);border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background 0.15s;}
.lightbox-close:hover{background:rgba(255,255,255,0.2);}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.1);border:none;border-radius:50%;width:44px;height:44px;cursor:pointer;color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:background 0.15s;}
.lightbox-nav:hover{background:rgba(255,255,255,0.2);}
.lightbox-prev{left:1.5rem;}
.lightbox-next{right:1.5rem;}

/* ── SEKCJE ── */
.sekcje-section .section-label{color:#96CC44;}
.sekcje-section .section-title{color:#fff;}
.sekcje-section .section-subtitle{font-family:'Lora',serif;color:rgba(240,235,225,0.75);max-width:520px;margin-top:0.5rem;font-size:0.95rem;line-height:1.7;}
.sekcja-instruktorska{background:var(--card-bg);border:1px solid var(--divider);border-radius:18px;padding:2rem 2.5rem;display:flex;gap:2rem;align-items:center;margin-top:2.5rem;flex-wrap:wrap;box-shadow:0 6px 48px rgba(0,0,0,0.22);}
.sekcja-instr-left{display:flex;flex-direction:column;gap:0.5rem;min-width:180px;}
.sekcja-instr-callsign{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:4rem;line-height:1;color:rgba(97,139,37,0.18);letter-spacing:0.02em;}
.sekcja-instr-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:0.04em;color:var(--forest);text-transform:uppercase;line-height:1;}
.sekcja-instr-badge{display:inline-block;font-size:0.62rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:3px 10px;border-radius:3px;background:rgba(97,139,37,0.12);color:var(--forest-light);width:fit-content;margin-top:0.25rem;}
.sekcja-instr-right{font-family:'Lora',serif;font-size:0.95rem;color:var(--muted);line-height:1.7;max-width:480px;}
.sekcje-groups-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;}
.sekcje-group-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(150,204,68,0.9);margin-bottom:1rem;padding-bottom:0.6rem;border-bottom:1px solid rgba(150,204,68,0.25);}
.sekcje-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.75rem;}
.sekcja-card{background:#fff;border:1px solid rgba(97,139,37,0.15);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:0.5rem;transition:box-shadow 0.15s,transform 0.15s;}
.sekcja-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.15);transform:translateY(-2px);}
:root[data-theme="dark"] .sekcja-card{background:rgba(34,46,20,0.95);border-color:rgba(97,139,37,0.2);}
.sekcja-callsign{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:0.04em;color:rgba(97,139,37,0.35);line-height:1;}
.sekcja-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.04em;color:var(--forest);text-transform:uppercase;}
.sekcja-desc{font-size:0.8rem;color:var(--muted);line-height:1.5;}

/* ── STOPNIE ── */
.ranks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:1rem;margin-top:2.5rem;}
.rank-card{position:relative;background:var(--card-bg);border:1px solid var(--divider);border-radius:8px;padding:1.1rem;display:flex;flex-direction:column;gap:0.7rem;box-shadow:var(--shadow);transition:transform 0.15s,box-shadow 0.15s,border-color 0.15s;text-decoration:none;color:inherit;}
.rank-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(97,139,37,0.18);border-color:var(--forest-light);}
.rank-badge{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
.rank-badge::after{font-size:.62rem;letter-spacing:-1px;color:rgba(255,255,255,0.9);}
.r1::after{content:'▲';}
.r2::after{content:'▲▲';}
.r3::after{content:'▲▲▲';}
.r4::after{content:'▲▲▲▲';font-size:.5rem;}
/* ── POWRÓT DO GÓRY ── */
#sgpBackToTop{position:fixed;right:1.5rem;bottom:1.5rem;width:44px;height:44px;border-radius:50%;background:var(--forest);color:#fff;border:none;font-size:1.2rem;cursor:pointer;z-index:150;box-shadow:0 6px 20px rgba(0,0,0,0.25);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .15s ease;}
#sgpBackToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#sgpBackToTop:hover{background:var(--forest-mid);}
#sgpBackToTop:active{transform:scale(.92);}
@media(max-width:640px){#sgpBackToTop{right:1rem;bottom:1rem;width:40px;height:40px;}}
@media (prefers-reduced-motion: reduce){#sgpBackToTop{transition:opacity .25s ease,visibility .25s;}}

/* ── LOGO SEKCJI ── */
.sekcja-logo{width:36px;height:36px;object-fit:contain;border-radius:6px;margin-bottom:.5rem;}
.sekcja-instr-logo{width:52px;height:52px;object-fit:contain;border-radius:8px;margin-bottom:.5rem;}

/* ── ZASOBY ── */
.zasoby-list{display:flex;flex-direction:column;gap:0.75rem;}
.zasoby-item{display:flex;align-items:center;gap:1rem;background:var(--card-bg);border:1px solid var(--divider);border-radius:8px;padding:1rem 1.25rem;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;}
.zasoby-item:hover{transform:translateX(4px);box-shadow:0 6px 24px rgba(97,139,37,0.14);border-color:var(--forest-light);}
.zasoby-ext{flex-shrink:0;width:48px;height:48px;border-radius:6px;background:rgba(97,139,37,0.12);color:var(--forest);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.02em;}
.zasoby-name{flex:1;font-family:'Barlow',sans-serif;font-weight:600;font-size:.95rem;color:var(--fg);}
.zasoby-dl{flex-shrink:0;font-size:.78rem;font-weight:600;color:var(--forest-light);letter-spacing:.03em;}
.r1{background:rgba(97,139,37,0.18);}.r2{background:rgba(79,71,137,0.18);}.r3{background:rgba(123,114,190,0.25);}.r4{background:rgba(32,19,53,0.18);}
.rank-info h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;color:var(--forest);letter-spacing:0.02em;}
.rank-info p{font-size:0.75rem;color:var(--muted);line-height:1.45;margin-top:0.2rem;}
.rank-download{position:relative;z-index:2;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;background:var(--forest-light);color:#fff;text-decoration:none;font-family:'Barlow',sans-serif;font-size:0.7rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding:0.5rem 0.8rem;border-radius:4px;transition:background 0.15s;}
.rank-download:hover{background:var(--forest-mid);}

/* ── SPRAWNOŚCI ── */
.sprawnosci-section{background:var(--surface2);}
.sprawnosci-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-top:2rem;}
.sprawnosc-card{background:var(--card-bg);border:1px dashed var(--divider);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:0.5rem;cursor:pointer;transition:border-color 0.15s,transform 0.15s;}
.sprawnosc-card:hover{border-color:var(--forest-light);transform:translateY(-2px);}
/* popup płeć sprawności */
.gender-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;}
.gender-popup-overlay.open{opacity:1;pointer-events:all;}
.gender-popup{background:var(--surface);border-radius:16px;padding:2.5rem 2.75rem;max-width:380px;width:90%;text-align:center;box-shadow:0 12px 64px rgba(0,0,0,0.4);}
.gender-popup h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.5rem;color:var(--forest);margin-bottom:.5rem;letter-spacing:.01em;}
.gender-popup p{font-size:.9rem;color:var(--muted);margin-bottom:1.75rem;font-family:'Lora',serif;}
.gender-popup-btns{display:flex;gap:1rem;justify-content:center;}
.gender-btn{flex:1;padding:.85rem 1rem;border-radius:8px;border:2px solid transparent;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.04em;cursor:pointer;transition:all .15s;}
.gender-btn.male{background:var(--forest);color:#fff;border-color:var(--forest);}
.gender-btn.male:hover{background:var(--forest-mid);}
.gender-btn.female{background:transparent;color:var(--ember);border-color:var(--ember);}
.gender-btn.female:hover{background:var(--ember);color:#fff;}
.sprawnosc-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;color:var(--forest);}
.sprawnosc-soon{font-size:0.72rem;color:var(--muted);font-style:italic;}

/* ── SPRZĘT ── */
.sprzet-section{background:var(--surface);}
.sprzet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;margin-top:2rem;}
.sprzet-card{background:var(--card-bg);border:1px solid var(--divider);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);transition:transform 0.15s;}
.sprzet-card:hover{transform:translateY(-2px);}
.sprzet-body{padding:1.1rem;}
.sprzet-cat{font-size:0.62rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--forest-light);margin-bottom:0.4rem;}
.sprzet-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--forest);margin-bottom:0.4rem;}
.sprzet-desc{font-size:0.82rem;color:var(--muted);line-height:1.5;}
.sprzet-rating{display:flex;align-items:center;gap:0.3rem;margin-top:0.6rem;font-size:0.78rem;color:var(--muted);}
.stars{color:var(--forest-light);}

/* ── FOOTER ── */
footer{background:#161f0f;color:rgba(240,235,225,0.55);padding:4rem 2.5rem 2.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;}
.footer-logo-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;}
.footer-logo-row img{height:42px;width:auto;object-fit:contain;border-radius:6px;background:rgba(255,255,255,0.06);padding:3px;}
.footer-brand{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.5rem;color:var(--parchment);letter-spacing:0.06em;}
.footer-brand span{color:var(--parchment);}
footer p{font-size:0.82rem;line-height:1.6;}
.footer-col h4{font-family:'Barlow',sans-serif;font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(240,235,225,0.3);margin-bottom:0.75rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.4rem;}
.footer-col a{font-size:0.85rem;color:rgba(240,235,225,0.6);text-decoration:none;transition:color 0.15s;}
.footer-col a:hover{color:var(--parchment);}
.footer-bottom{max-width:1200px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(240,235,225,0.08);font-size:0.75rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;}

/* ── MODAL (events) ── */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,31,26,0.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .28s ease;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--card-bg);border-radius:10px;max-width:480px;width:90%;padding:2rem;box-shadow:0 20px 60px rgba(0,0,0,0.3);position:relative;transform:scale(.9) translateY(16px);transition:transform .35s cubic-bezier(.22,.61,.36,1);}
.modal-overlay.open .modal{transform:scale(1) translateY(0);}
@media (prefers-reduced-motion: reduce){.modal-overlay,.modal{transition:none;}}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.2rem;line-height:1;}

/* ── PAGINATION ── */
.pagination{display:flex;align-items:center;justify-content:center;gap:0.4rem;margin-top:3rem;}
.page-btn{font-family:'Barlow',sans-serif;font-size:0.82rem;font-weight:600;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid var(--divider);background:var(--card-bg);color:var(--fg);cursor:pointer;transition:all 0.15s;text-decoration:none;}
.page-btn:hover{border-color:var(--forest);color:var(--forest);}
.page-btn.active{background:var(--forest);color:var(--parchment);border-color:var(--forest);}
.page-btn.wide{width:auto;padding:0 0.75rem;}

/* ── BREADCRUMB ── */
.breadcrumb{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:rgba(240,235,225,0.5);margin-bottom:1rem;}
.breadcrumb a{color:rgba(240,235,225,0.6);text-decoration:none;}
.breadcrumb a:hover{color:var(--parchment);}
.breadcrumb-sep{opacity:0.4;}

/* ── RESPONSIVE ── */
@media (max-width:1100px){
  .nav-links a{font-size:0.7rem;padding:0.4rem 0.45rem;}
}
@media (max-width:960px){
  .calendar-layout{grid-template-columns:1fr;}
  .sekcje-groups-row{grid-template-columns:1fr;}
  .gallery-masonry{columns:3 150px;}
}
@media (max-width:768px){
  .about-grid{grid-template-columns:1fr;gap:2.5rem;}
  .posts-grid{grid-template-columns:1fr;}
  .gallery-masonry{columns:3 110px;}
}
@media (max-width:700px){
  .footer-inner{grid-template-columns:1fr;gap:2rem;}
}
@media (max-width:640px){
  .section{padding:4rem 1.25rem;}
  nav{padding:0 1rem;}
  .hero-content{padding:0 1.25rem 4rem;}
  .nav-links{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:var(--nav-bg);backdrop-filter:blur(12px);padding:0 1rem;border-bottom:1px solid var(--divider);gap:0.25rem;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .38s cubic-bezier(.22,.61,.36,1),opacity .28s ease,padding .38s ease;}
  .nav-links.open{max-height:420px;opacity:1;padding:1rem;pointer-events:all;}
  .nav-links a{padding:0.6rem 0.75rem;font-size:0.85rem;}
  .nav-links li{opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease;}
  .nav-links.open li{opacity:1;transform:translateY(0);}
  .nav-links.open li:nth-child(1){transition-delay:.03s;}
  .nav-links.open li:nth-child(2){transition-delay:.06s;}
  .nav-links.open li:nth-child(3){transition-delay:.09s;}
  .nav-links.open li:nth-child(4){transition-delay:.12s;}
  .nav-links.open li:nth-child(5){transition-delay:.15s;}
  .nav-links.open li:nth-child(6){transition-delay:.18s;}
  .nav-links.open li:nth-child(7){transition-delay:.21s;}
  .nav-links.open li:nth-child(8){transition-delay:.24s;}
  .nav-hamburger{display:flex;}
  @media (prefers-reduced-motion: reduce){.nav-links,.nav-links li{transition:none;}}
  .toolbar{flex-direction:column;align-items:flex-start;}
  .lightbox-nav{display:none;}
  .sprzet-grid{grid-template-columns:1fr;}
  .gallery-masonry{columns:3 90px;column-gap:0.4rem;}
}
@media (max-width:400px){
  .gallery-masonry{columns:2 90px;column-gap:0.4rem;}
}

a:focus-visible,button:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:3px;}

/* ── USER MENU ── */
.nav-user{position:relative;flex-shrink:0;}
.nav-user-btn{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--divider);border-radius:20px;padding:.3rem .7rem .3rem .4rem;cursor:pointer;color:var(--fg);font-family:'Barlow',sans-serif;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s;}
.nav-user-btn:hover{background:var(--divider);border-color:var(--forest);}
.nav-avatar{width:26px;height:26px;border-radius:50%;background:var(--forest);color:var(--parchment);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;overflow:hidden;}
.nav-avatar img{width:100%;height:100%;object-fit:cover;}
.nav-user-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-user-role{font-size:.62rem;font-weight:500;padding:1px 5px;border-radius:3px;background:rgba(201,79,26,.15);color:var(--ember);white-space:nowrap;}
.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:var(--card-bg);border:1px solid var(--divider);border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.15);display:none;z-index:200;overflow:hidden;}
.user-dropdown.open{display:block;}
.user-dd-header{padding:.9rem 1rem;border-bottom:1px solid var(--divider);}
.user-dd-header strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;color:var(--forest);}
.user-dd-header span{font-size:.72rem;color:var(--muted);}
.user-dd-item{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.83rem;color:var(--fg);text-decoration:none;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:'Barlow',sans-serif;transition:background .12s;}
.user-dd-item:hover{background:var(--divider);}
.user-dd-item.danger{color:#c0392b;}
.user-dd-sep{height:1px;background:var(--divider);margin:.25rem 0;}
.user-dd-icon{width:20px;text-align:center;font-size:.9rem;opacity:.7;}

/* ── LOGIN MODAL ── */
.login-modal-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(20,31,26,.7);backdrop-filter:blur(6px);align-items:center;justify-content:center;}
.login-modal-overlay.open{display:flex;}
.login-modal{background:var(--card-bg);border-radius:16px;max-width:400px;width:92%;padding:2.5rem;box-shadow:0 24px 72px rgba(0,0,0,.35);position:relative;}
.login-modal h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.8rem;color:var(--forest);margin-bottom:.25rem;}
.login-modal .login-sub{font-size:.85rem;color:var(--muted);margin-bottom:1.75rem;font-family:'Lora',serif;}
.login-error-msg{background:rgba(220,60,60,.09);border:1px solid rgba(220,60,60,.25);border-radius:6px;padding:.7rem 1rem;font-size:.82rem;color:#c0392b;margin-bottom:1.25rem;display:none;}
.login-error-msg.show{display:block;}
.login-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem;}
.login-field label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.login-field input,.login-modal input[type="text"],.login-modal input[type="password"],.login-modal input[type="email"]{width:100%;box-sizing:border-box;padding:.75rem 1rem;border:1.5px solid var(--divider);border-radius:7px;background:var(--ground);color:var(--fg);font-family:'Barlow',sans-serif;font-size:.92rem;outline:none;transition:border-color .15s;-webkit-appearance:none;}
.login-field input:focus,.login-modal input[type="text"]:focus,.login-modal input[type="password"]:focus{border-color:var(--forest);}
.login-modal .login-remember{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--muted);margin-bottom:1.4rem;cursor:pointer;}
.login-modal .login-remember input[type="checkbox"]{width:15px;height:15px;accent-color:var(--forest);cursor:pointer;}
.login-modal .login-submit{width:100%;padding:.85rem;background:var(--forest);color:#fff;border:none;border-radius:7px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.06em;cursor:pointer;transition:background .15s;}
.login-modal .login-submit:hover{background:var(--forest-mid);}
.login-close{position:absolute;top:.9rem;right:.9rem;background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;line-height:1;padding:4px 8px;border-radius:4px;transition:color .15s;}
.login-close:hover{color:var(--fg);}

/* ── PANEL ── */
.panel-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;padding-top:60px;}
.panel-sidebar{background:var(--forest);color:var(--parchment);padding:1.5rem 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;}
.panel-sidebar-section{padding:.4rem 1.25rem;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,235,225,.35);margin-top:1rem;}
.panel-nav-item{display:flex;align-items:center;gap:.65rem;padding:.65rem 1.25rem;font-size:.84rem;color:rgba(240,235,225,.7);text-decoration:none;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:'Barlow',sans-serif;transition:background .12s,color .12s;}
.panel-nav-item:hover{background:rgba(255,255,255,.08);color:var(--parchment);}
.panel-nav-item.active{background:rgba(97,139,37,.25);color:var(--parchment);border-left:3px solid #96CC44;}
.panel-nav-item .pni-icon{width:18px;text-align:center;opacity:.7;}
.panel-main{background:var(--ground);padding:2.5rem;}
.panel-tab{display:none;}
.panel-tab.active{display:block;}
.panel-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;}
.panel-topbar h1{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.8rem;color:var(--forest);}
.panel-card{background:var(--card-bg);border:1px solid var(--divider);border-radius:8px;padding:1.5rem;margin-bottom:1.25rem;}
.panel-card h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--forest);margin-bottom:1rem;}
.panel-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;}
.panel-field label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.panel-field input,.panel-field textarea,.panel-field select{padding:.6rem .9rem;border:1px solid var(--divider);border-radius:5px;background:var(--ground);color:var(--fg);font-family:'Barlow',sans-serif;font-size:.88rem;outline:none;transition:border-color .15s;width:100%;}
.panel-field input:focus,.panel-field textarea:focus,.panel-field select:focus{border-color:var(--forest);}
.panel-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.panel-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;}
.upload-zone{border:2px dashed var(--divider);border-radius:8px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;}
.upload-zone:hover,.upload-zone.drag{border-color:var(--forest);background:rgba(30,58,47,.05);}
.upload-zone p{font-size:.85rem;color:var(--muted);margin-top:.5rem;}
.upload-zone strong{font-size:1rem;color:var(--fg);}
.upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-top:.75rem;}
.upload-thumb{aspect-ratio:1;border-radius:5px;overflow:hidden;position:relative;}
.upload-thumb .photo-ph{height:100%;}
.upload-thumb-rm{position:absolute;top:.2rem;right:.2rem;width:18px;height:18px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:.83rem;}
th{text-align:left;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.6rem .8rem;border-bottom:1px solid var(--divider);}
td{padding:.7rem .8rem;border-bottom:1px solid var(--divider);color:var(--fg);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:var(--divider);}
.role-badge{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:3px;}
.rb-uzytkownik{background:rgba(107,123,111,.15);color:var(--khaki);}
.rb-podsekcyjny{background:rgba(61,107,85,.15);color:#2D5240;}
.rb-sekcyjny{background:rgba(30,58,47,.15);color:var(--forest);}
.rb-rada{background:rgba(201,79,26,.15);color:#A83C10;}
.rb-instruktor{background:rgba(120,80,160,.15);color:#5A3090;}
.rb-admin{background:rgba(20,31,26,.85);color:var(--parchment);}
.perm-grid{display:grid;grid-template-columns:auto 1fr 1fr 1fr 1fr 1fr;gap:0;}
.perm-grid-header,.perm-row{display:contents;}
.perm-cell{padding:.55rem .75rem;border-bottom:1px solid var(--divider);font-size:.8rem;display:flex;align-items:center;}
.perm-cell:first-child{font-weight:600;color:var(--fg);}
.perm-toggle{width:36px;height:20px;border-radius:10px;border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0;}
.perm-toggle.on{background:var(--forest);}
.perm-toggle.off{background:var(--divider);}
.perm-toggle::after{content:'';position:absolute;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s;}
.perm-toggle.on::after{left:18px;}
.perm-toggle.off::after{left:3px;}
.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;}
.stat-card{background:var(--card-bg);border:1px solid var(--divider);border-radius:8px;padding:1.25rem;}
.stat-card-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.2rem;color:var(--forest);line-height:1;}
.stat-card-lbl{font-size:.72rem;color:var(--muted);margin-top:.2rem;}
.cal-event-list{display:flex;flex-direction:column;gap:.5rem;}
.cal-event-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--ground);border-radius:6px;border:1px solid var(--divider);}
.cal-ev-date{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;color:var(--forest);min-width:60px;}
.cal-ev-name{flex:1;font-size:.85rem;color:var(--fg);}
.cal-ev-actions{display:flex;gap:.3rem;}
.btn-sm{font-size:.72rem;font-weight:600;padding:.3rem .65rem;border-radius:3px;border:1px solid var(--divider);background:var(--card-bg);color:var(--fg);cursor:pointer;transition:background .12s;}
.btn-sm:hover{background:var(--divider);}
.btn-sm.danger{color:#c0392b;border-color:rgba(192,57,43,.3);}
.btn-sm.danger:hover{background:rgba(192,57,43,.1);}
.access-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:3px;background:rgba(201,79,26,.12);color:var(--ember);}
.private-icon{font-size:.75rem;}
@media(max-width:768px){
  .panel-layout{grid-template-columns:1fr;}
  .panel-sidebar{position:static;height:auto;}
  .panel-row,.panel-row-3{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;}}

/* ── ACCORDION O GRUPIE ── */
.about-intro{font-family:'Lora',serif;font-size:.97rem;line-height:1.8;color:var(--fg);margin-bottom:.75rem;}
.about-accordion-toggle{display:inline-flex;background:none;border:none;cursor:pointer;padding:.5rem 0;font-family:'Barlow',sans-serif;font-size:.82rem;font-weight:700;color:var(--forest-light);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;transition:color .15s;}
.about-accordion-toggle:hover{color:var(--forest);}
.about-text-collapsible{overflow:hidden;max-height:0;transition:max-height .4s ease;}
.about-text-collapsible.open{max-height:1200px;}
.about-text-collapsible p{font-family:'Lora',serif;font-size:.95rem;line-height:1.8;color:var(--fg);margin-top:.9rem;}
/* Wariant bez limitu wysokości — dla treści o dowolnej długości (np. pełny post) */
/* max-height animowany przez JS (mierzy scrollHeight) — działa dla dowolnej długości */
.content-collapsible{overflow:hidden;max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease;}
.content-collapsible.open{opacity:1;}
.content-collapsible p{margin-top:1rem;}
.content-collapsible p:first-child{margin-top:0;}
@media (prefers-reduced-motion: reduce){.content-collapsible{transition:none;}}

/* ── NAV DROPDOWN PLIKI ── */
.nav-dropdown-wrap{position:relative;}
.nav-dropdown-wrap > a{display:flex;align-items:center;gap:.25rem;}
.nav-dropdown-wrap > a::after{content:'▾';font-size:.65rem;opacity:.6;}
.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + .5rem);left:50%;transform:translateX(-50%);background:var(--card-bg);border:1px solid var(--divider);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.14);min-width:220px;z-index:200;overflow:hidden;padding:.4rem 0;}
.nav-dropdown-wrap:hover .nav-dropdown-menu,
.nav-dropdown-menu.open{display:block;}
.nav-dd-section{padding:.5rem 1rem .25rem;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.nav-dd-item{display:flex;align-items:center;gap:.5rem;padding:.45rem 1rem;font-family:'Barlow',sans-serif;font-size:.82rem;color:var(--body-text);text-decoration:none;transition:background .12s;}
.nav-dd-item:hover{background:var(--surface);}
.nav-dd-item .dd-icon{font-size:.9rem;width:18px;text-align:center;}
.nav-dd-sep{height:1px;background:var(--divider);margin:.3rem 0;}
@media(max-width:640px){
  .nav-dropdown-menu{left:0;transform:none;}
}

/* ── KONTAKT — zdjęcie symboliczne obok treści, nie w tle ── */
.kontakt-layout{display:grid;grid-template-columns:0.85fr 1.4fr;gap:2.5rem;align-items:stretch;margin-top:2.5rem;}
.kontakt-photo{position:relative;border-radius:14px;overflow:hidden;min-height:440px;background-size:cover;background-position:center;box-shadow:0 10px 40px rgba(0,0,0,0.22);}
.kontakt-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,26,6,0.08) 0%,rgba(13,26,6,0.4) 100%);}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start;}
@media(max-width:900px){
  .kontakt-layout{grid-template-columns:1fr;}
  .kontakt-photo{min-height:220px;}
}
@media(max-width:640px){
  .kontakt-grid{grid-template-columns:1fr;gap:2rem;}
  .kontakt-photo{display:none;}
}

/* ── AKTUALNOŚCI/GALERIA KOMPAKT ── */
.news-preview-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;}
.news-preview-item{display:flex;gap:.85rem;align-items:flex-start;padding:.75rem;background:var(--surface);border-radius:8px;text-decoration:none;color:inherit;transition:background .15s;}
.news-preview-item:hover{background:var(--surface2);}
.news-preview-thumb{width:60px;height:60px;flex-shrink:0;border-radius:6px;background:var(--surface2);overflow:hidden;}
.news-preview-body{}
.news-preview-meta{font-size:.68rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;}
.news-preview-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--forest);line-height:1.2;}

/* ── LOKALIZACJE PANEL ── */
.loc-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;}
.loc-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:var(--surface);border-radius:8px;border:1px solid var(--divider);}
.loc-item-name{font-weight:600;font-size:.88rem;flex:1;}
.loc-item-address{font-size:.78rem;color:var(--muted);flex:1;}
.loc-map-link{font-size:.75rem;color:var(--forest-light);text-decoration:none;}
.loc-map-link:hover{text-decoration:underline;}
