/*
Theme Name: ROD im. J.I. Kraszewskiego
Description: Motyw strony Rodzinnego Ogrodu Działkowego im. J.I. Kraszewskiego w Pruszczu Gdańskim. Jasny, czytelny, z przełącznikiem wielkości tekstu.
Version: 1.0
Text Domain: rod
*/
/* Układ: nagłówek z nawigacją działów, pod nim jeden widoczny dział na raz; strona główna = tablica ogłoszeń + skróty; motyw planu działek jako znak rozpoznawczy */
:root{
  --bg:#fcfbf4; --surface:#ffffff; --sunk:#f2f7ea; --line:#e1e8d6;
  --ink:#1c2a23; --muted:#56675d; --leaf:#1d8656; --leaf-ink:#ffffff; --leaf-soft:#e0f4e6;
  --sun:#f2b52a; --sun-soft:#fff3cc; --warn:#c2531f; --warn-soft:#fde8dc;
  --map-filter:none; color-scheme:light;
  --f-display:"Literata",Georgia,"Times New Roman",serif;
  --f-body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs:17px; --r:10px;
}
/* Strona zawsze jasna (prośba Zarządu 19.10.2026) — bez ciemnego motywu systemowego */
html{font-size:var(--fs)}
body{background:linear-gradient(180deg,#fff6d8 0,#fdfaee 360px,var(--bg) 900px) no-repeat,var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1rem;line-height:1.55}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
h1,h2,h3{font-family:var(--f-display);font-weight:650;line-height:1.2;text-wrap:balance;margin:0}
h1{font-size:2.1rem} h2{font-size:1.5rem} h3{font-size:1.12rem}
p{margin:0}
a{color:var(--leaf)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.btn{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-weight:600;border-radius:8px;padding:.55rem 1rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}
.btn.primary{background:var(--leaf);border-color:var(--leaf);color:var(--leaf-ink)}
.btn.small{padding:.3rem .7rem;font-size:.85rem}
.tag{display:inline-block;justify-self:start;width:max-content;max-width:100%;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;background:var(--leaf-soft);color:var(--leaf)}
.tag.sun{background:var(--sun-soft);color:var(--ink)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.proto{background:var(--sun-soft);color:var(--ink);font-size:.85rem}
.proto .wrap{padding-block:.45rem}

/* nagłówek */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;padding-block:.7rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);margin-right:auto;min-width:0}
.brand svg{flex:none}.brand .logo{flex:none;width:56px;height:56px;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.brand b{font-family:var(--f-display);font-size:1.15rem;display:block;line-height:1.15}
.brand small{color:var(--muted);font-size:.8rem}
.tools{display:flex;gap:.35rem;align-items:center}
.tools button{font:inherit;font-size:.85rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:.2rem .5rem;cursor:pointer}
.tools button[aria-pressed="true"]{background:var(--leaf-soft);border-color:var(--leaf)}
nav.main{display:flex;align-items:center;gap:.2rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}
nav.main a{flex:none;padding:.45rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600}
nav.main a:hover{background:var(--sunk)}
nav.main a[aria-current="page"]{background:var(--leaf);color:var(--leaf-ink)}
nav.main a.admin{margin-left:auto;color:var(--muted);font-weight:400}
nav.main a.admin[aria-current="page"]{color:var(--leaf-ink)}

main section.view{padding-block:2rem 3rem}
main section.view[hidden]{display:none}

/* strona główna */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding-block:1rem 2rem}
.hero > div{min-width:0;display:grid;gap:1rem}
.hero p.lead{font-size:1.12rem;color:var(--muted);max-width:34rem}
.hero .facts{display:flex;gap:1.6rem;flex-wrap:wrap}
.hero .facts div{display:grid}
.hero .facts b{font-family:var(--f-display);font-size:1.6rem;font-variant-numeric:tabular-nums}
.hero .facts span{font-size:.85rem;color:var(--muted)}
.hero-map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:4/3;max-width:100%}
.hero-map img{width:100%;height:100%;object-fit:cover;object-position:35% 40%;filter:var(--map-filter);transform:scale(1.6);transform-origin:38% 42%}
.hero-map figcaption{position:absolute;left:.6rem;bottom:.6rem;background:var(--surface);color:var(--ink);font-size:.8rem;padding:.25rem .6rem;border-radius:6px;border:1px solid var(--line)}
.alert{display:flex;gap:1rem;align-items:flex-start;background:var(--warn-soft);border-radius:var(--r);padding:1rem 1.2rem;margin-bottom:2rem}
.alert b{color:var(--warn)}
.home-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.home-grid > *{min-width:0}
.news{display:grid;gap:0;border-top:1px solid var(--line)}
.news article{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding-block:1.1rem;border-bottom:1px solid var(--line)}
.news time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem;line-height:1.3}
.news time b{display:block;font-family:var(--f-display);font-size:1.5rem;color:var(--ink)}
.news article > div{display:grid;gap:.35rem;min-width:0}
.news h3 a{color:var(--ink);text-decoration:none}
.news h3 a:hover{text-decoration:underline}
.news p{color:var(--muted)}
.side{display:grid;gap:1.2rem;align-content:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;display:grid;gap:.7rem}
.dates{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.dates li{display:grid;grid-template-columns:3.6rem 1fr;gap:.6rem;align-items:baseline}
.dates li span{font-variant-numeric:tabular-nums;font-weight:700;color:var(--leaf)}
.quick{display:grid;gap:.5rem}
.quick a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--ink);padding:.6rem .8rem;border-radius:8px;background:var(--sunk);font-weight:600}
.quick a:hover{background:var(--leaf-soft)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}

/* forum */
.forum-page{display:grid;gap:1.5rem}
table.f{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbl{overflow-x:auto}
table.f th{text-align:left;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:.7rem 1rem;background:var(--sunk)}
table.f td{padding:.9rem 1rem;border-top:1px solid var(--line);vertical-align:top}
table.f td.n{font-variant-numeric:tabular-nums;text-align:right;color:var(--muted);white-space:nowrap}
table.f td b{display:block}
table.f td small{color:var(--muted)}
.lock{font-size:.8rem;color:var(--muted)}

/* mapa */
.map-tools{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}
.map-box{border:1px solid var(--line);border-radius:var(--r);overflow:auto;background:#fff;height:min(70vh,640px);max-width:100%;cursor:grab}
.map-box img{display:block;max-width:none;filter:var(--map-filter)}
.legend{display:flex;gap:1.2rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin-top:.8rem}

/* wzory */
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.doc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;display:grid;gap:.6rem;grid-template-rows:auto auto 1fr auto}
.doc p{color:var(--muted);font-size:.95rem}
.doc .meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.steps li{counter-increment:s;display:grid;grid-template-columns:2rem 1fr;gap:.6rem}
.steps li::before{content:counter(s);font-family:var(--f-display);font-weight:650;color:var(--leaf);font-size:1.3rem;line-height:1.2}

/* kontakt */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.contact > *{min-width:0}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem;margin:0}
dl.kv dt{color:var(--muted)}
dl.kv dd{margin:0;font-weight:600}
form.cf{display:grid;gap:.8rem}
form.cf label{display:grid;gap:.25rem;font-weight:600;font-size:.95rem}
form.cf input,form.cf select,form.cf textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.note{font-size:.9rem;color:var(--muted)}

.hero-art{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:2/1;max-width:100%;box-shadow:0 1px 0 var(--line)}
.hero-art img{width:100%;height:100%;object-fit:cover;display:block}
.banner{display:grid;grid-template-columns:1fr minmax(0,20rem);gap:1.5rem;align-items:center;margin-bottom:1.5rem}
.banner > div{display:grid;gap:.6rem;min-width:0}
.banner p{color:var(--muted);max-width:38rem}
.banner img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.map-teaser{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:4/3}
.map-teaser img{width:100%;height:100%;object-fit:cover;object-position:30% 30%;transform:scale(1.8);transform-origin:30% 30%;filter:var(--map-filter)}
.acts{display:grid;gap:0;border-top:1px solid var(--line)}
.act{display:grid;grid-template-columns:7.5rem 1fr auto;gap:1rem;padding-block:1rem;border-bottom:1px solid var(--line);align-items:start}
.act > *{min-width:0}
.act .lvl{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:.2rem}
.act h3{font-size:1.05rem}
.act p{color:var(--muted);font-size:.95rem}
footer.site{border-top:1px solid var(--line);background:var(--surface);font-size:.9rem;color:var(--muted)}
footer.site .wrap{padding-block:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

@media (max-width:820px){
  h1{font-size:1.7rem}
  .hero,.home-grid,.contact{grid-template-columns:1fr}
  .banner{grid-template-columns:1fr}
  .banner img{max-height:14rem}
  .act{grid-template-columns:1fr}
  nav.main a.admin{margin-left:0}
}
@media (prefers-reduced-motion:no-preference){nav.main a,.quick a,.btn{transition:background .15s}}

/* ===== WordPress ===== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);padding:.5rem 1rem;z-index:20}
.skip:focus{left:1rem}
nav.main ul{display:flex;flex:none;gap:.2rem;list-style:none;margin:0;padding:0}
nav.main li{flex:none}
.entry{max-width:46rem;display:grid;gap:1rem}
.entry-content{display:grid;gap:1rem}
.entry-content > *{margin:0}
.entry-content img{max-width:100%;height:auto;border-radius:8px}
.entry-content h2{margin-top:.6rem}
.entry-content ul,.entry-content ol{padding-left:1.3rem}
.entry-meta{color:var(--muted);font-size:.9rem;display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.wp-block-file{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.wp-block-file .wp-block-file__button,.wp-block-button__link{background:var(--leaf);color:var(--leaf-ink);border-radius:8px;padding:.45rem .9rem;text-decoration:none;font-weight:600}
.pager{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1.5rem}
.pager .page-numbers{padding:.35rem .7rem;border:1px solid var(--line);border-radius:7px;text-decoration:none;color:var(--ink);background:var(--surface)}
.pager .current{background:var(--leaf);color:var(--leaf-ink);border-color:var(--leaf)}
.empty{color:var(--muted);padding:1.2rem 0}
.notice-ok{background:var(--leaf-soft);border-radius:var(--r);padding:.8rem 1rem}
.notice-err{background:var(--warn-soft);border-radius:var(--r);padding:.8rem 1rem}
.hp{position:absolute;left:-5000px}
.alignwide,.alignfull{max-width:100%}
/* ===== bbPress (forum) ===== */
#bbpress-forums{font-size:1rem;background:none;margin:0}
#bbpress-forums ul.bbp-forums,#bbpress-forums ul.bbp-topics,#bbpress-forums ul.bbp-replies,#bbpress-forums ul.bbp-search-results{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:1rem}
#bbpress-forums li.bbp-header,#bbpress-forums li.bbp-footer{background:var(--sunk);border:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:.7rem 1rem}
#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic{border-top:1px solid var(--line);padding:.9rem 1rem}
#bbpress-forums div.odd,#bbpress-forums ul.odd,#bbpress-forums div.even,#bbpress-forums ul.even{background:var(--surface)}
#bbpress-forums .bbp-forum-title,#bbpress-forums .bbp-topic-permalink{font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none}
#bbpress-forums .bbp-forum-content,#bbpress-forums p.bbp-topic-meta{color:var(--muted);font-size:.9rem}
#bbpress-forums div.bbp-reply-content,#bbpress-forums div.bbp-topic-content{font-size:1rem}
#bbpress-forums div.bbp-reply-header,#bbpress-forums div.bbp-topic-header{background:var(--sunk);border-top:1px solid var(--line)}
#bbpress-forums fieldset.bbp-form{border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;background:var(--surface)}
#bbpress-forums fieldset.bbp-form legend{font-family:var(--f-display);font-weight:650;font-size:1.1rem;padding:0 .4rem}
#bbpress-forums input[type=text],#bbpress-forums textarea,#bbpress-forums select{font:inherit;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;max-width:100%}
#bbpress-forums button,#bbpress-forums .button,.bbp-login-form button{font:inherit;font-weight:600;background:var(--leaf);color:var(--leaf-ink);border:0;border-radius:8px;padding:.5rem 1rem;cursor:pointer}
.bbp-breadcrumb{font-size:.9rem;color:var(--muted)}
div.bbp-template-notice{border-radius:var(--r);background:var(--sun-soft);border:0;padding:.6rem 1rem}
div.bbp-template-notice p{font-size:.95rem}
#bbpress-forums .bbp-pagination{font-size:.9rem}
/* ===== logowanie / rejestracja ===== */
.auth-box{max-width:30rem}
.wp-block-table.kv{margin:0;overflow-x:visible}.wp-block-table.kv table{width:auto;border-collapse:collapse;border:0}.wp-block-table.kv td{border:0;padding:.25rem 1.2rem .25rem 0;vertical-align:top}.wp-block-table.kv td:first-child{color:var(--muted)}.wp-block-table.kv td+td{font-weight:600;padding-right:0}.wp-block-group.por-art>.wp-block-group__inner-container>*:first-child{margin-top:0}
