/*
Theme Name: Halo Słubice
Theme URI: https://halo-slubice.pl
Author: Halo Słubice
Description: Serwis informacyjny dla Słubic, gminy i pogranicza z Frankfurtem nad Odrą. Zbudowany na systemie projektowym Halo Słubice (herb miasta, Archivo + IBM Plex Sans/Mono, czerwień jako akcent).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: halo-slubice
*/

/* =========================================================================
   TOKENS — colour, type, spacing, elevation, motion
   Source of truth: Halo Słubice design system (project/tokens/*.css)
   ========================================================================= */

:root{
  /* --- Heraldic base: taken from the Słubice coat of arms --- */
  --herb-red:#D8232A;
  --herb-blue:#0089CF;
  --herb-gold:#F5C400;

  /* --- Red scale (accent only) --- */
  --red-50:#FDF2F2;
  --red-100:#FADEDF;
  --red-200:#F3B9BB;
  --red-400:#E4595F;
  --red-500:#D8232A;
  --red-600:#B81C24;
  --red-800:#78121A;

  /* --- Blue scale (secondary tags, links in body copy) --- */
  --blue-50:#EEF7FC;
  --blue-200:#AEDCF3;
  --blue-500:#0089CF;
  --blue-600:#0670A8;
  --blue-800:#08466A;

  /* --- Gold (rare: highlights, live/sponsor markers) --- */
  --gold-100:#FEF3CC;
  --gold-500:#F5C400;
  --gold-700:#B08C00;

  /* --- Warm neutrals: the paper the news sits on --- */
  --ink-950:#111110;
  --ink-900:#1C1B19;
  --ink-800:#2B2A27;
  --ink-700:#45433F;
  --ink-500:#6E6B65;
  --ink-400:#8C8880;
  --ink-300:#C6C2BA;
  --ink-200:#E2DFD9;
  --ink-100:#EFEDE8;
  --ink-50:#F7F6F3;
  --paper:#FFFFFF;

  /* --- Semantic aliases --- */
  --text-strong:var(--ink-950);
  --text-body:var(--ink-800);
  --text-muted:var(--ink-500);
  --text-faint:var(--ink-400);
  --text-invert:var(--paper);
  --text-accent:var(--red-600);
  --text-link:var(--ink-950);
  --text-link-hover:var(--red-600);

  --surface-page:var(--paper);
  --surface-sunken:var(--ink-50);
  --surface-card:var(--paper);
  --surface-invert:var(--ink-950);
  --surface-accent:var(--red-500);
  --surface-media:var(--ink-100);

  --border-hairline:var(--ink-200);
  --border-strong:var(--ink-950);
  --border-accent:var(--red-500);

  --tag-local:var(--red-500);
  --tag-region:var(--blue-500);
  --tag-sponsored:var(--ink-800);
  --tag-live:var(--red-600);

  --focus-ring:var(--blue-500);

  /* --- Type --- */
  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;

  --text-hero:clamp(34px,3.6vw,52px);
  --text-d1:40px;
  --text-d2:32px;
  --text-d3:26px;
  --text-h1:22px;
  --text-h2:19px;
  --text-h3:17px;
  --text-body-lg:18px;
  --text-body-md:16px;
  --text-body-sm:14px;
  --text-meta:13px;
  --text-micro:11px;

  --lh-tight:1.08;
  --lh-snug:1.22;
  --lh-normal:1.45;
  --lh-loose:1.62;

  --track-tight:-0.022em;
  --track-snug:-0.012em;
  --track-normal:0;
  --track-wide:0.06em;
  --track-caps:0.09em;

  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  --weight-black:800;

  /* --- Spacing & layout --- */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;

  --container:1120px;
  --container-narrow:720px;
  --gutter:24px;
  --gutter-mobile:16px;
  --rail:320px;

  --radius-xs:4px;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:20px;
  --radius-pill:999px;

  --border-width:1px;
  --rule-width:2px;

  /* --- Elevation --- */
  --shadow-none:none;
  --shadow-sm:0 1px 2px rgba(17,17,16,.06);
  --shadow-md:0 2px 10px rgba(17,17,16,.08);
  --shadow-lift:0 6px 22px rgba(17,17,16,.12);
  --scrim-bottom:linear-gradient(to top,rgba(17,17,16,.88) 0%,rgba(17,17,16,.55) 40%,rgba(17,17,16,0) 100%);
  --scrim-flat:rgba(17,17,16,.45);

  /* --- Motion --- */
  --ease-out:cubic-bezier(.2,.7,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-fast:120ms;
  --dur-base:180ms;
  --dur-slow:320ms;
}

/* =========================================================================
   BASE
   ========================================================================= */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-body-md);line-height:var(--lh-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--track-tight);line-height:var(--lh-snug);margin:0}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
img{display:block;max-width:100%}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.screen-reader-text{position:absolute;left:-9999px}

.wp-block-image img,.entry-content img{border-radius:var(--radius-md)}

/* =========================================================================
   LAYOUT PRIMITIVES
   ========================================================================= */

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.site{min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1 0 auto}

/* =========================================================================
   COMPONENTS — core/Wordmark
   ========================================================================= */

.wordmark{display:inline-flex;align-items:center;gap:10px}
.wordmark--lg{gap:14px}
.wordmark__herb{height:32px;width:auto;display:block}
.wordmark--sm .wordmark__herb{height:22px}
.wordmark--lg .wordmark__herb{height:52px}
.wordmark__text{display:flex;flex-direction:column;line-height:1}
.wordmark__name{font-family:var(--font-display);font-size:20px;font-weight:var(--weight-black);letter-spacing:var(--track-tight);color:var(--text-strong);white-space:nowrap}
.wordmark--sm .wordmark__name{font-size:15px}
.wordmark--lg .wordmark__name{font-size:32px}
.wordmark__tagline{font-size:9px;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-muted);margin-top:4px}
.wordmark--sm .wordmark__tagline{font-size:8px}
.wordmark--lg .wordmark__tagline{font-size:11px}
.wordmark--light .wordmark__name{color:var(--text-invert)}
.wordmark--light .wordmark__tagline{color:rgba(255,255,255,.6)}

/* =========================================================================
   COMPONENTS — core/Button
   ========================================================================= */

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:var(--track-snug);border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;appearance:none;-webkit-appearance:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn--sm{font-size:var(--text-meta);padding:6px 14px}
.btn--md{font-size:var(--text-body-sm);padding:10px 20px}
.btn--lg{font-size:var(--text-body-md);padding:13px 26px}
.btn--full{width:100%}
.btn--primary{background:var(--surface-accent);color:var(--text-invert)}
.btn--primary:hover{background:var(--red-600);color:var(--text-invert)}
.btn--solid{background:var(--ink-950);color:var(--text-invert)}
.btn--solid:hover{background:var(--ink-800);color:var(--text-invert)}
.btn--outline{background:transparent;color:var(--text-strong);border-color:var(--border-hairline)}
.btn--outline:hover{border-color:var(--ink-950);color:var(--text-strong)}
.btn--ghost{background:transparent;color:var(--text-strong)}
.btn--ghost:hover{background:var(--ink-100);color:var(--text-strong)}
.btn--invert{background:var(--paper);color:var(--ink-950)}
.btn--invert:hover{background:var(--ink-100);color:var(--ink-950)}
.btn[disabled],.btn--disabled{opacity:.4;cursor:not-allowed}

/* =========================================================================
   COMPONENTS — core/Tag
   ========================================================================= */

.tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-sans);font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:var(--track-caps);text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-xs);line-height:1;white-space:nowrap}
.tag--local{background:var(--tag-local);color:#fff}
.tag--region{background:var(--tag-region);color:#fff}
.tag--sponsored{background:var(--tag-sponsored);color:#fff}
.tag--live{background:var(--tag-live);color:#fff}
.tag--quiet{background:var(--ink-100);color:var(--ink-700)}
.tag__dot{width:6px;height:6px;border-radius:50%;background:#fff;flex:none}
.tag--on-media{position:absolute;top:10px;left:10px}

/* =========================================================================
   COMPONENTS — core/Byline
   ========================================================================= */

.byline{display:flex;align-items:center;gap:8px}
.byline__avatar{width:26px;height:26px;border-radius:50%;flex:none;overflow:hidden;background:var(--ink-200);display:block}
.byline--sm .byline__avatar{width:20px;height:20px}
.byline__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.byline__meta{display:flex;flex-direction:column;gap:1px;min-width:0}
.byline__author{font-size:var(--text-meta);font-weight:var(--weight-medium);color:var(--text-strong);line-height:1.25}
.byline__time{font-size:var(--text-micro);color:var(--text-muted);line-height:1.25}
.byline--light .byline__author{color:var(--text-invert)}
.byline--light .byline__time{color:rgba(255,255,255,.65)}

/* =========================================================================
   COMPONENTS — core/Divider
   ========================================================================= */

.divider{border:0;margin:0;border-top:var(--border-width) solid var(--border-hairline)}
.divider--strong{border-top-width:var(--rule-width);border-top-color:var(--border-strong)}
.divider--light{border-top-color:rgba(255,255,255,.18)}

/* =========================================================================
   COMPONENTS — core/SectionHeading
   ========================================================================= */

.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);border-bottom:var(--rule-width) solid var(--ink-950);padding-bottom:var(--space-3);margin-bottom:var(--space-5)}
.section-heading__label{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:var(--track-tight);margin:0}
.section-heading__bracket{color:var(--red-500);font-weight:var(--weight-regular)}
.section-heading__action{display:inline-flex;align-items:center;gap:6px;background:var(--surface-accent);color:#fff;font-size:var(--text-meta);font-weight:var(--weight-semibold);padding:6px 14px;border-radius:var(--radius-pill);text-decoration:none;transition:background var(--dur-fast) var(--ease-out)}
.section-heading__action:hover{background:var(--red-600);color:#fff}

/* =========================================================================
   COMPONENTS — core/AdSlot
   ========================================================================= */

.ad-slot{display:flex;flex-direction:column;gap:var(--space-2)}
.ad-slot__label{font-size:var(--text-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint)}
.ad-slot__frame{width:100%;border-radius:var(--radius-md);border:1px dashed var(--border-hairline);background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ad-slot__frame--billboard{aspect-ratio:970/250}
.ad-slot__frame--leaderboard{aspect-ratio:728/90}
.ad-slot__frame--rectangle{aspect-ratio:300/250}
.ad-slot__frame--halfpage{aspect-ratio:300/600}
.ad-slot__frame--inline{aspect-ratio:640/160}
.ad-slot__placeholder{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--text-faint)}
.ad-slot__frame > *{width:100%;height:100%}

/* =========================================================================
   COMPONENTS — content/Media
   ========================================================================= */

.media{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-media)}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.media--ratio-3-2{aspect-ratio:3/2}
.media--ratio-auto{aspect-ratio:auto;border-radius:0}
.media__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint)}

/* =========================================================================
   COMPONENTS — content/HeroArticle
   ========================================================================= */

.hero-article{display:block;position:relative;height:520px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-media);color:var(--text-invert)}
.hero-article__media{position:absolute;inset:0}
.hero-article__media img{width:100%;height:100%;object-fit:cover;display:block}
.hero-article__scrim{position:absolute;inset:0;background:var(--scrim-bottom)}
.hero-article__body{position:absolute;left:var(--space-8);right:var(--space-8);bottom:var(--space-8);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.hero-article__kicker{font-size:var(--text-micro);letter-spacing:var(--track-caps);text-transform:uppercase;font-weight:var(--weight-bold);background:rgba(17,17,16,.7);padding:5px 9px;border-radius:var(--radius-xs);color:#fff}
.hero-article__title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--text-invert);max-width:16ch;margin:0}

/* =========================================================================
   COMPONENTS — content/ArticleCard
   ========================================================================= */

.article-card{display:flex;flex-direction:column;gap:var(--space-3);color:inherit;height:100%}
.article-card__title{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);line-height:var(--lh-snug);letter-spacing:var(--track-snug);color:var(--text-strong);margin:0;transition:color var(--dur-fast) var(--ease-out)}
.article-card:hover .article-card__title{color:var(--text-link-hover)}
.article-card--lg .article-card__title{font-size:var(--text-h2)}
.article-card__byline{margin-top:auto}

/* =========================================================================
   COMPONENTS — content/TimelineItem
   ========================================================================= */

.timeline-item{display:grid;grid-template-columns:42px 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}
.timeline-item:last-child{border-bottom:none}
.timeline-item__time{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--text-muted);padding-top:1px}
.timeline-item__title{font-size:var(--text-body-sm);font-weight:var(--weight-medium);line-height:var(--lh-snug);color:var(--text-strong);transition:color var(--dur-fast) var(--ease-out)}
.timeline-item:hover .timeline-item__title{color:var(--text-link-hover)}

/* =========================================================================
   COMPONENTS — navigation/SiteHeader
   ========================================================================= */

.site-header{position:sticky;top:0;z-index:20;background:var(--surface-page);border-bottom:1px solid var(--border-hairline)}
.site-header__inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);height:72px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.site-header--compact .site-header__inner{height:60px}
.site-header__nav{display:flex;align-items:center;gap:var(--space-6)}
.site-header__nav ul{display:flex;align-items:center;gap:var(--space-6);margin:0;padding:0;list-style:none}
.site-header__nav li{display:flex}
.site-header__nav-link{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);letter-spacing:var(--track-snug);color:var(--text-strong);border-bottom:2px solid transparent;padding-bottom:2px}
.site-header__nav-link:hover{color:var(--red-600)}
.site-header__nav-link.is-active{color:var(--red-600);border-bottom-color:var(--red-500)}
.site-header__utilities{display:flex;align-items:center;gap:var(--space-3)}

.site-header__burger{display:none;width:36px;height:36px;border-radius:var(--radius-pill);border:0;background:var(--ink-100);cursor:pointer;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
.site-header__burger span{width:14px;height:1.6px;background:var(--ink-950);display:block}
.site-header__burger.is-open{background:var(--ink-950)}
.site-header__burger.is-open span{background:#fff}

.mobile-menu{display:none;flex-direction:column;gap:var(--space-4);background:var(--surface-invert);padding:var(--space-5) var(--gutter-mobile)}
.mobile-menu.is-open{display:flex}
.mobile-menu ul{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}
.mobile-menu li{display:flex}
.mobile-menu a{color:#fff;font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:var(--track-tight)}
.mobile-menu .btn{margin-top:var(--space-2)}

/* =========================================================================
   COMPONENTS — navigation/SiteFooter
   ========================================================================= */

.site-footer{background:var(--surface-invert);color:var(--text-invert);margin-top:var(--space-20)}
.site-footer__grid{max-width:var(--container);margin:0 auto;padding:var(--space-16) var(--gutter) var(--space-10);display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:var(--space-8)}
.site-footer__brand{display:flex;flex-direction:column;gap:var(--space-5)}
.site-footer__desc{margin:0;font-size:var(--text-body-sm);color:rgba(255,255,255,.6);max-width:34ch;line-height:var(--lh-loose)}
.site-footer__col{display:flex;flex-direction:column;gap:var(--space-3)}
.site-footer__col-head{font-size:var(--text-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:rgba(255,255,255,.45)}
.site-footer__col a{font-size:var(--text-body-sm);color:rgba(255,255,255,.85)}
.site-footer__col a:hover{color:#fff}
.site-footer__bottom{max-width:var(--container);margin:0 auto;padding:var(--space-6) var(--gutter) var(--space-12);border-top:1px solid rgba(255,255,255,.14);font-size:var(--text-meta);color:rgba(255,255,255,.45)}

/* =========================================================================
   ARTICLE — templates/serwis-artykul
   ========================================================================= */

.article-ad-top{padding-top:var(--space-6)}
.article-main{max-width:var(--container);margin:0 auto;padding:var(--space-8) var(--gutter) 0}
.article-narrow{max-width:var(--container-narrow);margin:0 auto}

.article-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:var(--weight-black);letter-spacing:var(--track-tight);line-height:var(--lh-tight);color:var(--text-strong);margin:var(--space-4) 0 var(--space-5)}
.article-lead{margin:0;font-size:var(--text-body-lg);font-weight:var(--weight-medium);line-height:var(--lh-normal);color:var(--text-body)}
.article-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline);padding:var(--space-4) 0;margin:var(--space-6) 0 var(--space-8)}
.article-date{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--text-muted)}

.article-figure{margin:0 0 var(--space-8)}
.media--ratio-21-9{aspect-ratio:21/9}
.article-figure figcaption{font-size:var(--text-meta);color:var(--text-muted);margin-top:var(--space-3)}

.article-body p{font-size:var(--text-body-lg);line-height:var(--lh-loose);color:var(--text-body);margin:0 0 var(--space-6)}
.article-body blockquote{margin:var(--space-8) 0;padding-left:var(--space-6);border-left:3px solid var(--red-500);font-family:var(--font-display);font-size:var(--text-d3);font-weight:var(--weight-bold);letter-spacing:var(--track-tight);line-height:var(--lh-snug);color:var(--text-strong)}
.article-body blockquote p{margin:0;font-size:inherit;line-height:inherit;color:inherit;font-family:inherit;font-weight:inherit}
.article-body ul,.article-body ol{margin:0 0 var(--space-6);padding-left:1.25em;list-style:revert}
.article-body a:not(.btn){color:var(--text-accent);text-decoration:underline}
.article-body h2,.article-body h3{margin:var(--space-8) 0 var(--space-4)}

.article-tags{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-8) 0}

.article-cta{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.article-cta__text{margin:0;font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:var(--track-tight);color:var(--text-strong)}

.article-ad-inline{margin:var(--space-8) 0}
.article-ad-bottom{margin-top:var(--space-12);max-width:970px;margin-inline:auto}

@media (max-width:640px){
  .article-title{font-size:34px}
  .article-meta{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
}

/* =========================================================================
   ARTICLE — comments
   ========================================================================= */

.comments{margin:var(--space-16) 0}
.comment-list{list-style:none;margin:0 0 var(--space-8);padding:0;display:flex;flex-direction:column;gap:var(--space-6)}
.comment-item{border-bottom:1px solid var(--border-hairline);padding-bottom:var(--space-6)}
.comment-item:last-child{border-bottom:none;padding-bottom:0}
.comment-item__meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}
.comment-item__avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;background:var(--ink-200);display:block}
.comment-item__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.comment-item__byline{display:flex;flex-direction:column;gap:1px}
.comment-item__author{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}
.comment-item__date{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted)}
.comment-item__pending{margin:0 0 var(--space-2);font-size:var(--text-meta);color:var(--red-600);font-style:italic}
.comment-item__text p{font-size:var(--text-body-md);line-height:var(--lh-loose);color:var(--text-body);margin:0 0 var(--space-3)}
.comment-item__text p:last-child{margin-bottom:0}
.comments-empty{color:var(--text-muted);font-size:var(--text-body-sm);margin:0 0 var(--space-8)}

.comments-form{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.comments-form__title{margin:0;font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:var(--track-tight);color:var(--text-strong)}
.comments-form__note{margin:0;font-size:var(--text-meta);color:var(--text-muted)}
.comments-form p{margin:0}
.comments-form__input,.comments-form__textarea{width:100%;font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--text-body);background:var(--paper);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:10px 14px}
.comments-form__textarea{resize:vertical;min-height:120px}
.comments-form__input:focus,.comments-form__textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--focus-ring)}
.comments-form .btn{align-self:flex-start}
.comments-closed{color:var(--text-muted);font-size:var(--text-body-sm)}

/* =========================================================================
   HOMEPAGE — templates/serwis-strona-glowna
   ========================================================================= */

.home-ad-top{padding-top:var(--space-6)}
.home-main{max-width:var(--container);margin:0 auto;padding:var(--space-10) var(--gutter) 0}
.home-grid{display:grid;grid-template-columns:1fr var(--rail);gap:var(--space-10)}
.home-rail{display:flex;flex-direction:column;gap:var(--space-5)}
.home-rail__list{margin-top:-16px}
.home-section{margin-top:var(--space-16)}
.home-section__grid{display:grid;gap:var(--space-6)}
.home-section__grid--cols-4{grid-template-columns:repeat(4,1fr)}
.home-section__grid--cols-3{grid-template-columns:repeat(3,1fr)}
.home-ad-inline{margin-top:var(--space-12);max-width:640px;margin-inline:auto}
.home-empty{color:var(--text-muted);font-size:var(--text-body-sm)}

@media (max-width:900px){
  .home-grid{grid-template-columns:1fr}
  .home-section__grid--cols-4,.home-section__grid--cols-3{grid-template-columns:repeat(2,1fr)}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:640px){
  body{overflow-x:hidden}
  .container,.home-main,.site-header__inner,.site-footer__grid,.site-footer__bottom{padding-left:var(--gutter-mobile);padding-right:var(--gutter-mobile)}
  .site-header__nav{display:none}
  .site-header__inner{gap:var(--space-3)}
  .site-header__utilities .btn{display:none}
  .site-header__burger{display:flex}
  .wordmark__tagline{display:none}
  .home-section__grid--cols-4,.home-section__grid--cols-3{grid-template-columns:1fr}
  .hero-article{height:380px}
  .hero-article__title{font-size:32px}
  .site-footer__grid{grid-template-columns:1fr}
}
