/*
 * Wersja 2 — układ inspirowany projektem „Przyrodnicza / SAS Light Platinum”.
 * Branding: Szkoła Podstawowa nr 7 im. Stanisława Staszica w Głogowie.
 * Kolorystyka została oparta na granacie, ceglastym brązie i ciepłym złocie z logo.
 * Warstwa nakładkowa na bazowe app.css — łatwa do późniejszego przeniesienia do Laravel/Vite.
 */
:root{
  --navy:#20385f;
  --navy2:#172a49;
  --wine:#a43b2d;
  --wine-dark:#7f2d24;
  --gold:#c6a15b;
  --green:#2f6248;
  --cyan:#2d6270;
  --ink:#172033;
  --muted:#586272;
  --soft:#f4f5f7;
  --warm:#f7f3eb;
  --line:#d8dde5;
  --focus:#ffbf47;
  --radius:20px;
  --shadow:0 18px 55px rgba(23,42,73,.10);
  --platinum-bg:#f6f7f9;
  --platinum-surface:#ffffff;
  --platinum-tint:#edf1f6;
  --platinum-warm:#f5eee7;
}

html{scroll-behavior:smooth}
body{background:var(--platinum-bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62}
a{color:var(--navy);text-underline-offset:.2em}
a:hover{text-decoration-thickness:.14em}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}
.container{width:min(1180px,calc(100% - 32px))}

/* górna belka — odpowiednik Przyrodniczej */
.demo-ribbon{background:#efe7da;color:#3e2d20;border-bottom:1px solid #d7cbbb}
.demo-ribbon .container{padding:.48rem 0;font-size:.86rem}
.utility{background:var(--navy2);color:#fff;font-size:.875rem}
.utility .container{min-height:42px}
.utility a{color:#fff}
.a11y-tools button{color:#fff;border:1px solid rgba(255,255,255,.52);background:transparent;border-radius:8px;min-height:34px;padding:.3rem .55rem}
.a11y-tools button:hover,.a11y-tools button[aria-pressed="true"]{background:#fff;color:var(--navy2)}

/* logo / marka */
.site-header{background:#fff;border-bottom:0}
.brand-row{min-height:112px;padding-block:13px;gap:24px}
.brand{gap:18px;min-width:0}
.brand img{width:250px;max-width:34vw;height:88px;object-fit:contain;object-position:left center;border-radius:0;background:#fff;padding:0}
.brand-text{border-left:1px solid var(--line);padding-left:18px;line-height:1.18}
.brand-text strong{font-size:clamp(1.03rem,1.7vw,1.32rem);letter-spacing:-.015em;color:var(--ink);max-width:32ch}
.brand-text span{margin-top:.28rem;color:var(--muted);font-size:.88rem}
.header-actions{gap:.65rem}
.icon-btn{border:1px solid var(--line);border-radius:999px;color:var(--navy);background:#fff;padding:.62rem .9rem;min-height:44px;min-width:44px}
.icon-btn:hover{background:var(--platinum-tint);color:var(--navy2);border-color:#aeb9c9}

/* menu — jasne jak w Przyrodniczej */
.primary-nav{position:sticky;top:0;z-index:60;background:#fff;color:var(--ink);border-block:1px solid var(--line);box-shadow:none}
.nav-row{align-items:stretch}
.nav-home,.nav-link,.nav-toggle{color:var(--ink);background:transparent;min-height:54px;padding:.9rem .88rem;border-radius:8px;font-weight:760}
.nav-home:hover,.nav-link:hover,.nav-toggle:hover,.nav-toggle[aria-expanded="true"],.nav-home[aria-current="page"],.nav-link[aria-current="page"]{background:var(--platinum-tint);color:var(--navy2)}
.nav-toggle::after{content:""}
.mega{top:calc(100% + 8px);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:12px;width:min(680px,calc(100vw - 2rem))}
.mega h2{background:var(--wine-dark);color:#fff;border-radius:10px;padding:.62rem .75rem;font-size:1rem;margin:0 0 .55rem}
.mega a{color:var(--ink);border-radius:9px;padding:.58rem .65rem}
.mega a:hover,.mega a[aria-current="page"]{background:var(--platinum-tint);color:var(--navy2)}
.breadcrumbs{background:#eef1f5;border-bottom:1px solid var(--line)}

/* hero — duży, reprezentacyjny blok na wzór Przyrodniczej, ale bez obcego zdjęcia */
.hero{padding:0;background:var(--navy2);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 88% 22%,rgba(198,161,91,.26) 0 2px,transparent 3px),
  radial-gradient(circle at 79% 34%,rgba(255,255,255,.12) 0 1px,transparent 2px),
  linear-gradient(112deg,rgba(16,32,56,.98) 0%,rgba(32,56,95,.96) 56%,rgba(82,45,43,.87) 100%);background-size:34px 34px,52px 52px,auto}
.hero::after{content:"";position:absolute;width:520px;height:520px;right:-140px;bottom:-260px;border:70px solid rgba(198,161,91,.12);border-radius:50%}
.hero>.container{position:relative;z-index:2}
.hero-shell{min-height:590px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:74px 0 58px;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:46px;color:#fff;overflow:visible}
.hero-shell::after{display:none}
.eyebrow{background:#e8d9c8;color:#49291f;padding:.42rem .8rem;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.hero h1{color:#fff;font-size:clamp(2.8rem,5.8vw,5.15rem);line-height:.98;letter-spacing:-.05em;max-width:15ch;margin:.14em 0 .3em}
.hero p{color:#f1f4f8;font-size:1.13rem;max-width:64ch}
.hero-actions{margin-top:1.5rem;gap:.75rem}
.hero .btn{background:#e9d7bd;color:#253044;border-color:#e9d7bd;min-height:50px;border-radius:11px}
.hero .btn:hover{background:#fff;color:var(--navy2);border-color:#fff}
.hero .btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.76)}
.hero .btn.secondary:hover{background:#fff;color:var(--navy2)}
.hero-card{background:rgba(255,255,255,.95);color:var(--ink);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:1.4rem;box-shadow:0 22px 60px rgba(4,15,30,.24);backdrop-filter:blur(10px)}
.hero-card h2{color:var(--wine-dark);font-size:1.45rem;line-height:1.18}
.hero-card dt{color:var(--navy2)}

/* rytm sekcji jak w SAS Light Platinum */
.section{padding:74px 0}
.section:nth-of-type(even):not(.hero){background:#fff}
.section-title{align-items:end;margin-bottom:1.5rem;gap:2rem}
.section-title h2{font-size:clamp(2rem,3.8vw,3rem);line-height:1.04;letter-spacing:-.035em;color:var(--ink)}
.section-title p{color:var(--muted);font-size:1rem;max-width:65ch}
.section-title>a{font-weight:800;white-space:nowrap}

/* QuickDock — moduł na wzór Przyrodniczej, ikony dopasowane do szkoły podstawowej */
.quickdock-band{background:#fff;border-bottom:1px solid var(--line);padding:0}
.quickdock-band .container{padding:0}
.v2-quickdock{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-left:1px solid var(--line)}
.v2-quickdock .quick-card{min-height:154px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;padding:1.2rem;text-decoration:none;transition:background .15s ease,transform .15s ease}
.v2-quickdock .quick-card::after{display:none}
.v2-quickdock .quick-card:hover{transform:none;background:var(--platinum-tint);border-color:var(--line);box-shadow:none}
.quick-icon{width:48px;height:48px;border-radius:13px;background:var(--platinum-warm);color:var(--wine-dark);display:grid;place-items:center;margin-bottom:.2rem}
.quick-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick-copy{display:grid;gap:.05rem;color:var(--ink)}
.quick-copy strong{font-size:1rem;color:var(--ink)}
.quick-copy small{font-size:.82rem;color:var(--muted)}

/* karty */
.important-grid{gap:1rem}
.important-card{border:1px solid var(--line);border-top:5px solid var(--wine-dark);border-radius:18px;padding:1.2rem;box-shadow:0 3px 12px rgba(23,42,73,.04)}
.important-card h3{color:var(--ink);font-size:1.16rem}
.tag{background:#e9edf4;color:var(--navy2)}
.news-grid{grid-template-columns:1.4fr 1fr 1fr;gap:16px}
.news-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 3px 12px rgba(23,42,73,.04)}
.news-card:first-child{grid-row:span 2}
.news-card img{aspect-ratio:16/9;background:#eef1f5}
.news-body{padding:1.2rem}
.news-card h3{color:var(--ink);font-size:1.18rem}
.news-card.no-photo{border-left:0;border-top:5px solid var(--gold)}
.news-card.no-photo::before{background:#efe5d4;color:#49351d}
.news-meta{color:var(--muted)}
.read-more{color:var(--navy2)}
.event-grid{gap:1rem}
.event{border:1px solid var(--line);border-radius:18px;padding:1.15rem;box-shadow:0 3px 12px rgba(23,42,73,.035)}
.event time{color:var(--wine-dark)}
.event h3{color:var(--ink)}
.program-grid{gap:1rem}
.program{border:1px solid var(--line);border-radius:18px;padding:1.1rem;min-height:126px;box-shadow:0 3px 12px rgba(23,42,73,.035);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
.program:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.program strong{color:var(--navy2)}

/* instytucje / serwisy */
.institutions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}
.inst{min-width:0;min-height:132px;border:1px solid var(--line);border-radius:18px;padding:1rem;background:#fff;box-shadow:0 3px 12px rgba(23,42,73,.035);flex-direction:column;align-items:flex-start;justify-content:center}
.inst:hover{border-color:#aeb9c9;background:var(--platinum-tint)}
.inst img{width:auto;max-width:100%;height:52px;object-fit:contain;object-position:left center}
.inst strong{color:var(--ink)}
.inst span span{color:var(--muted)}

/* podstrony — węższa treść + panel boczny jak w Przyrodniczej */
.content-shell{grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;padding:2rem 0 3.5rem}
.article{border:1px solid var(--line);border-radius:22px;padding:clamp(1.3rem,3vw,2.4rem);box-shadow:0 8px 28px rgba(23,42,73,.055);background:#fff}
.article h1{color:var(--ink);font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.035em;line-height:1.04}
.article h2{color:var(--wine-dark);font-size:1.45rem}
.article h3{color:var(--navy2)}
.lead{color:#3d485a;font-size:1.12rem}
.side-card{border:1px solid var(--line);border-radius:17px;padding:1rem;background:#fff;box-shadow:0 5px 18px rgba(23,42,73,.035)}
.side-card h2{color:var(--ink);border-bottom:2px solid #e7ebf0}
.side-card a{color:var(--navy2)}
.side-badge{background:#e9edf4;color:var(--navy2)}
.notice{background:#f7f0e5;border-left-color:var(--gold)}
.info{background:#edf2f8;border-left-color:var(--navy)}
.success{background:#edf6f0;border-left-color:var(--green)}
.danger{background:#f9eded;border-left-color:var(--wine-dark)}
.person{border-radius:14px;background:#fafbfc}
.person strong,.data-list dt,.field label,.timeline strong{color:var(--navy2)}
.data-list dt{background:#eef1f5}
.timeline li::before{background:var(--wine-dark)}
.calendar-item strong{color:var(--wine-dark)}
.accordion summary{color:var(--navy2);background:#f4f6f8}

/* formularze i przyciski */
.btn{border-radius:10px;background:var(--navy2);border-color:var(--navy2);color:#fff}
.btn:hover{background:#fff;color:var(--navy2)}
.btn.secondary{background:#fff;color:var(--navy2);border-color:var(--navy2)}
.btn.secondary:hover{background:var(--navy2);color:#fff}
.btn.wine{background:var(--wine-dark);border-color:var(--wine-dark)}
.btn.wine:hover{background:#fff;color:var(--wine-dark)}
.field input,.field select,.field textarea{border-color:#8796aa}
.search-dialog{border-radius:20px}
.close-btn{border-color:var(--navy2);color:var(--navy2)}

/* stopka */
.site-footer{background:#14243e;color:#fff;margin-top:0}
.footer-grid{padding:2.6rem 0;gap:2rem}
.site-footer h2{font-size:1.05rem}
.footer-brand img{width:180px;max-width:100%;background:#fff;border-radius:10px;padding:.35rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.24)}

/* dostępność / kontrast */
body.high-contrast{--navy:#000;--navy2:#000;--wine:#000;--wine-dark:#000;--gold:#000;--green:#000;--cyan:#000;--ink:#000;--muted:#111;--soft:#fff;--warm:#fff;--line:#000;--platinum-bg:#fff;--platinum-surface:#fff;--platinum-tint:#fff;--platinum-warm:#fff;--focus:#ff0}
body.high-contrast .hero::before{background:#000}
body.high-contrast .hero::after{display:none}
body.high-contrast .hero-card{border:2px solid #000}
body.high-contrast .eyebrow{background:#fff;color:#000;border:2px solid #000}
body.high-contrast .quick-icon{background:#fff;color:#000;border:2px solid #000}

@media (max-width:1080px){
  .v2-quickdock{grid-template-columns:repeat(3,1fr)}
  .institutions{grid-template-columns:repeat(3,1fr)}
  .brand img{width:220px}
}
@media (max-width:980px){
  .hero-shell{grid-template-columns:1fr;min-height:auto;padding:58px 0 48px}
  .hero-card{max-width:650px}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .news-card:first-child{grid-row:auto}
  .primary-nav{position:relative}
  .nav-list{background:#fff;border-top:1px solid var(--line)}
  .nav-toggle,.nav-link{color:var(--ink)}
  .mega{border-radius:0;border-inline:0;box-shadow:none}
}
@media (max-width:760px){
  .brand-row{min-height:94px}
  .brand img{width:190px;max-width:54vw;height:72px}
  .brand-text{display:none}
  .section{padding:54px 0}
  .v2-quickdock{grid-template-columns:repeat(2,1fr)}
  .institutions{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:540px){
  .hero h1{font-size:clamp(2.35rem,13vw,3.6rem)}
  .hero-shell{padding-top:44px}
  .v2-quickdock{grid-template-columns:1fr}
  .v2-quickdock .quick-card{min-height:104px;flex-direction:row;align-items:center}
  .quick-icon{margin:0}
  .institutions{grid-template-columns:1fr}
  .inst{min-height:110px;flex-direction:row;align-items:center}
  .inst img{width:85px;height:54px;object-position:center}
}
@media print{
  .quickdock-band{display:none!important}
  .hero{background:#fff!important}
  .hero::before,.hero::after{display:none!important}
  .hero-shell{color:#000;min-height:0;padding:1rem 0}
  .hero h1,.hero p{color:#000}
}

/* ==========================================================
   V2 — interakcje hover z akcentem zaakceptowanego projektu
   ========================================================== */
:root{
  --hover-accent:var(--wine-dark);
  --hover-accent-soft:#f5e9e4;
  --hover-gold:var(--gold);
  --hover-shadow:0 14px 34px rgba(23,42,73,.13);
}

/* Menu: subtelny złoty akcent pod aktywnym/hoverowanym elementem. */
.nav-home,.nav-link,.nav-toggle{position:relative;transition:background-color .18s ease,color .18s ease}
.nav-home::after,.nav-link::after,.nav-toggle::before{
  content:"";position:absolute;left:.82rem;right:.82rem;bottom:5px;height:3px;border-radius:999px;
  background:var(--hover-gold);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.nav-home:hover::after,.nav-link:hover::after,.nav-toggle:hover::before,
.nav-home[aria-current="page"]::after,.nav-link[aria-current="page"]::after,
.nav-toggle[aria-expanded="true"]::before{transform:scaleX(1)}
.mega a{border-left:3px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,padding-left .16s ease}
.mega a:hover,.mega a[aria-current="page"]{border-left-color:var(--hover-accent);padding-left:.78rem;background:var(--hover-accent-soft)}

/* Przyciski i akcje nagłówka. */
.icon-btn,.btn{transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.icon-btn:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(23,42,73,.12)}

/* QuickDock — akcent bordowy + złoty, bez agresywnego ruchu. */
.v2-quickdock .quick-card{position:relative;overflow:hidden;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.v2-quickdock .quick-card::before{
  content:"";display:block;position:absolute;left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--hover-accent),var(--hover-gold));transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease;
}
.v2-quickdock .quick-card:hover{background:var(--hover-accent-soft);box-shadow:inset 0 0 0 1px rgba(127,45,36,.08)}
.v2-quickdock .quick-card:hover::before{transform:scaleX(1)}
.v2-quickdock .quick-card .quick-icon{transition:background-color .18s ease,color .18s ease,transform .18s ease}
.v2-quickdock .quick-card:hover .quick-icon{background:var(--hover-accent);color:#fff;transform:translateY(-2px)}
.v2-quickdock .quick-card:hover .quick-copy strong{color:var(--hover-accent)}

/* Karty główne. */
.important-card,.news-card,.event,.program,.inst{
  position:relative;overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.important-card::after,.news-card::after,.event::after,.program::after,.inst::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--hover-accent),var(--hover-gold));transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease;
}
.important-card:hover,.news-card:hover,.event:hover,.program:hover,.inst:hover{
  transform:translateY(-3px);border-color:#c9b48a;box-shadow:var(--hover-shadow);
}
.important-card:hover::after,.news-card:hover::after,.event:hover::after,.program:hover::after,.inst:hover::after{transform:scaleX(1)}
.news-card h3,.event h3,.program strong{transition:color .16s ease}
.news-card:hover h3,.event:hover h3,.program:hover strong{color:var(--hover-accent)}
.news-card img{transition:transform .24s ease}
.news-card:hover img{transform:scale(1.018)}
.read-more{font-weight:800;text-decoration-color:transparent;transition:color .16s ease,text-decoration-color .16s ease}
.news-card:hover .read-more,.read-more:hover{color:var(--hover-accent);text-decoration:underline;text-decoration-color:currentColor}

/* Sidebar i linki treściowe. */
.side-card a{border-radius:8px;padding:.55rem .45rem;transition:background-color .16s ease,color .16s ease,padding-left .16s ease}
.side-card a:hover{background:var(--hover-accent-soft);color:var(--hover-accent);padding-left:.7rem;text-decoration:underline}
.section-title>a,.article a:not(.btn),.site-footer a{transition:color .16s ease,text-decoration-color .16s ease}
.section-title>a:hover,.article a:not(.btn):hover{color:var(--hover-accent);text-decoration-color:var(--hover-gold)}

/* Klawiatura — hover nie zastępuje wyraźnego focusu. */
.quick-card:focus-visible,.important-card a:focus-visible,.news-card a:focus-visible,.program:focus-visible,.inst:focus-visible{
  outline:3px solid var(--focus)!important;outline-offset:4px!important;
}

/* Preferencja ograniczenia ruchu: zachowujemy kolorystyczny akcent bez przesuwania. */
@media (prefers-reduced-motion: reduce){
  .nav-home::after,.nav-link::after,.nav-toggle::before,.mega a,.icon-btn,.btn,
  .v2-quickdock .quick-card,.v2-quickdock .quick-card::before,.v2-quickdock .quick-card .quick-icon,
  .important-card,.news-card,.event,.program,.inst,.important-card::after,.news-card::after,.event::after,.program::after,.inst::after,
  .news-card img,.side-card a{transition:none!important}
  .icon-btn:hover,.btn:hover,.v2-quickdock .quick-card:hover .quick-icon,
  .important-card:hover,.news-card:hover,.event:hover,.program:hover,.inst:hover,.news-card:hover img{transform:none!important}
}

/* ==========================================================
   Aktualności V2.1 — osobny układ strony głównej i archiwum
   ========================================================== */
.news-home-layout{display:grid;gap:18px}
.news-home-layout .news-card:first-child,
.news-archive-grid .news-card:first-child{grid-row:auto}
.news-card{min-width:0}
.news-media-link{display:block;overflow:hidden;background:#eef1f5;text-decoration:none}
.news-media-link:focus-visible{outline-offset:-4px!important}
.news-media-link img{display:block;width:100%;height:100%;object-fit:cover}
.news-card h3 a,.news-card-title a{color:inherit;text-decoration:none}
.news-card h3 a:hover,.news-card-title a:hover{text-decoration:underline;text-decoration-color:var(--hover-gold)}

/* Wyróżniona aktualność: szeroki, poziomy blok zamiast bardzo wysokiej kolumny. */
.news-featured{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr);min-height:330px;border-top:4px solid var(--wine-dark)}
.news-featured .news-media-link{min-height:330px}
.news-featured .news-media-link img{aspect-ratio:auto}
.news-featured .news-body{padding:1.7rem 1.6rem;justify-content:center}
.news-featured .news-meta{font-size:.86rem;margin-bottom:.65rem}
.news-featured h3{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.16;letter-spacing:-.025em;margin:.05rem 0 .8rem}
.news-featured p{font-size:1.02rem;line-height:1.62;color:#3f4958;margin:0 0 1.15rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.news-featured .read-more{align-self:flex-start;margin-top:.35rem}

/* Cztery równorzędne karty pod wyróżnioną informacją. */
.news-home-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.news-compact{height:100%;border-top:3px solid transparent}
.news-compact:hover{border-top-color:var(--hover-gold)}
.news-compact .news-media-link{aspect-ratio:16/9}
.news-compact .news-body{padding:1.05rem 1.05rem 1.1rem}
.news-compact .news-meta{font-size:.78rem;line-height:1.35;margin-bottom:.5rem}
.news-compact h3{font-size:1.02rem;line-height:1.28;margin:0 0 .55rem}
.news-compact p{font-size:.91rem;line-height:1.52;color:#465163;margin:0 0 .85rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-compact .read-more{font-size:.9rem}

/* Archiwum/lista: dwie szerokie kolumny. Nigdy specjalny, gigantyczny pierwszy kafel. */
.news-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:1.35rem}
.news-archive-card{height:100%;border-radius:16px}
.news-archive-card .news-media-link{aspect-ratio:16/8.8}
.news-archive-card .news-body{padding:1.2rem 1.2rem 1.25rem}
.news-archive-card .news-meta{font-size:.82rem;margin-bottom:.5rem}
.news-archive-card .news-card-title{font-size:1.19rem;line-height:1.32;color:var(--ink);margin:.05rem 0 .6rem}
.news-archive-card p{font-size:.96rem;line-height:1.57;color:#455064;margin:.05rem 0 1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-archive-card .read-more{margin-top:auto}

/* Brak zdjęcia: zaprojektowany placeholder zamiast pustego wysokiego kafla. */
.news-card.no-photo{border-left:1px solid var(--line);border-top:3px solid var(--gold)}
.news-card.no-photo::before{display:none}
.news-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:180px;background:linear-gradient(135deg,#f5eee7 0%,#edf1f6 100%);color:var(--wine-dark)}
.news-placeholder svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.82}
.news-featured.no-photo .news-placeholder{min-height:330px}
.news-empty-state{grid-column:1/-1;border:1px dashed #b9c1cc;border-radius:16px;background:#fff;padding:1.35rem}
.news-empty-state h2,.news-empty-state h3{margin:0 0 .35rem;color:var(--ink)}
.news-empty-state p{margin:0;color:var(--muted)}

/* Akcent hover na obrazie i CTA — spójny z bordowo-złotym V2. */
.news-featured:hover,.news-compact:hover,.news-archive-card:hover{border-color:#c9b48a}
.news-featured:hover{border-top-color:var(--wine-dark)}
.news-media-link img{transition:transform .28s ease,filter .28s ease}
.news-card:hover .news-media-link img{transform:scale(1.025);filter:saturate(1.04)}
.news-card .read-more span{display:inline-block;transition:transform .18s ease}
.news-card:hover .read-more span{transform:translateX(3px)}

@media (max-width:1080px){
  .news-home-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .news-featured{grid-template-columns:1fr}
  .news-featured .news-media-link{min-height:0;aspect-ratio:16/8.5}
  .news-archive-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .news-home-secondary{grid-template-columns:1fr}
  .news-featured .news-body{padding:1.25rem}
  .news-featured h3{font-size:1.45rem}
  .news-compact .news-media-link,.news-archive-card .news-media-link{aspect-ratio:16/9}
}
@media (prefers-reduced-motion:reduce){
  .news-media-link img,.news-card .read-more span{transition:none!important}
  .news-card:hover .news-media-link img,.news-card:hover .read-more span{transform:none!important}
}


/* SP7 Głogów branding */
:root{--navy:#12355b;--navy2:#0e2a48;--wine:#2f8f3a;--wine-dark:#176b2b;--gold:#9bc53d;--green:#2f8f3a;--focus:#ffbf47;--platinum-tint:#edf7ef;--platinum-warm:#f3f8ef}
.utility{background:#f3f5f7;color:#10233f;border-bottom:1px solid var(--line)}
.utility a{color:#10233f}
.site-header{background:#fff}.brand img{width:104px;height:96px;object-fit:contain;background:#59b34c;padding:8px;border-radius:0}
.primary-nav{background:linear-gradient(90deg,#1b7a31,#38a443);border:0}.nav-home,.nav-link,.nav-toggle{color:#fff}.nav-home:hover,.nav-link:hover,.nav-toggle:hover,.nav-toggle[aria-expanded=true],.nav-home[aria-current=page]{background:#0d5b28;color:#fff}.mega{color:var(--ink)}.mega a{color:var(--ink)}
.sp7-hero{background:linear-gradient(120deg,#eef8f0 0%,#fff 60%);border-bottom:1px solid var(--line);padding:34px 0}.sp7-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:36px}.sp7-hero-copy h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:.2rem 0;color:#10233f}.hero-subtitle{font-size:clamp(1.25rem,2.5vw,2rem)!important;color:#176b2b!important;font-weight:800}.sp7-hero-copy>p{font-size:1.08rem;color:#39485c;max-width:62ch}.sp7-building-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.sp7-building-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.sp7-building-card figcaption{padding:.65rem .85rem;font-size:.82rem;color:var(--muted)}.hero-actions .btn{background:#2f8f3a;color:#fff;border-color:#2f8f3a}.hero-actions .btn.secondary{background:#fff;color:#176b2b;border-color:#176b2b}.v2-quickdock .quick-card:hover{background:#edf7ef}.quick-icon{background:#e4f3e6;color:#176b2b}.important-card{border-top-color:#2f8f3a}.home-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.home-main{min-width:0}.home-sidebar{display:flex;flex-direction:column;gap:16px}.news-title{margin-top:54px}.sp7-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sp7-news-grid .news-card:first-child{grid-row:auto}.site-footer{background:#0e2a48}.footer-brand img{background:#59b34c}.side-card h2{color:#10233f}.side-card a{color:#176b2b}
@media(max-width:980px){.sp7-hero-grid,.home-with-sidebar{grid-template-columns:1fr}.sp7-news-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.sp7-news-grid{grid-template-columns:1fr}.sp7-hero{padding:20px 0}.brand img{width:76px;height:72px}}
