/* Fakty Częstochowa — końcowe reguły systemu wizualnego */

/* Typograficzny znak portalu — bez obrazkowego logo. */
.site-header .brand{width:auto;min-width:0}
.brand-wordmark{display:flex;align-items:baseline;justify-content:center;gap:.24em;white-space:nowrap;font:900 clamp(1.35rem,2.05vw,1.85rem)/.9 var(--font-sans);letter-spacing:-.055em}
.brand-wordmark b{font:inherit;letter-spacing:inherit}
.brand-wordmark b:first-child{color:var(--c-ink)}
.brand-wordmark b:last-child{color:var(--brand-primary)}
.brand--inverse{width:auto;background:transparent;padding:0}
.brand--inverse .brand-wordmark b:first-child{color:#fff}
.footer-brand .brand--inverse{width:max-content;max-width:100%}

/* Rytm strony i zabezpieczenie długich treści. */
.section-block{padding-block:clamp(62px,7vw,104px)}
.section-heading{margin-bottom:clamp(30px,4vw,54px)}
.story-card,.story-card__body,.section-card,.section-card__body{min-width:0}
.story-card h3,.section-card h3,.rail-story h2{overflow-wrap:break-word}
.page-lead{padding-block:clamp(54px,6vw,90px) clamp(44px,5vw,72px)}
.page-lead h1{font-size:clamp(4rem,8.2vw,7.25rem);line-height:.9;margin:22px 0 20px}
.page-lead p{max-width:760px;margin:0;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.35}

/* Desktopowy otwieracz: jeden zwarty obraz zamiast wysokiej kolumny tekstu. */
.hero{grid-template-columns:minmax(0,2.05fr) minmax(330px,.82fr);gap:clamp(32px,3.5vw,52px);padding-block:clamp(34px,4vw,58px);align-items:start}
.hero-story{display:block;position:relative;min-height:clamp(440px,39vw,590px);overflow:hidden;background:var(--c-deep);isolation:isolate}
.hero-story::after{content:"";position:absolute;z-index:1;inset:18% 0 0;background:linear-gradient(180deg,transparent 0,rgba(14,17,19,.18) 28%,rgba(14,17,19,.93) 100%);pointer-events:none}
.hero-story__media{position:absolute;inset:0}
.hero-story__media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.hero-story__copy{position:absolute;z-index:2;inset:auto 0 0;width:100%;margin:0;padding:clamp(28px,4vw,54px);background:transparent;color:#fff}
.hero-story__copy .story-meta time{color:rgba(255,255,255,.72)}
.hero h1{max-width:15ch;font-size:clamp(2.55rem,3.6vw,4.15rem);line-height:.95;letter-spacing:-.052em;margin:14px 0 13px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.hero h1 a{background-image:none;transition:color var(--speed)}
.hero h1 a:hover{text-decoration:none!important;color:var(--brand-primary)}
.hero-story__copy>p{max-width:58ch;margin:0;color:rgba(255,255,255,.86);font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.hero-story__copy .story-cta{display:inline-flex;margin-top:20px;color:#fff;border-bottom-color:rgba(255,255,255,.7)}
.hero-rail{min-width:0}

/* Listy wiadomości zachowują równy rytm niezależnie od długości nagłówka. */
.feed-row h3{min-width:0}
.feed-row h3 a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-image:none}
.feed-row h3 a:hover{color:var(--brand-primary)}
.local-brief{align-items:center;justify-content:center;text-align:center}
.local-brief::before{display:none}
.local-brief p{margin-inline:auto}

/* Równa siatka kart usuwa puste pola, także gdy sekcja ma tylko dwa materiały. */
.section-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.6vw,38px)}
.section-card-grid--count-1{grid-template-columns:minmax(0,760px)}
.section-card-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-card{display:flex;flex-direction:column;border-bottom:1px solid var(--c-line);padding-bottom:24px}
.section-card__media{display:block;overflow:hidden;background:var(--c-paper-2)}
.section-card__media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .4s var(--ease)}
.section-card:hover .section-card__media img{transform:scale(1.018)}
.section-card__body{display:flex;flex:1;flex-direction:column;padding-top:16px}
.section-card h3{font:680 clamp(1.35rem,1.8vw,1.72rem)/1.1 var(--font-display);letter-spacing:-.03em;margin:11px 0 0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.section-card p{margin:14px 0 0;color:var(--c-muted);font:400 14px/1.5 var(--font-display);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Ten sam język kart na stronach kategorii. */
.category-lead{grid-template-columns:minmax(0,1.9fr) minmax(290px,.72fr);gap:clamp(32px,4vw,58px);padding-block:clamp(38px,4.5vw,64px);align-items:start}
.category-feature{display:block;position:relative;min-height:clamp(420px,38vw,570px);overflow:hidden;background:var(--c-deep);isolation:isolate}
.category-feature::after{content:"";position:absolute;z-index:1;inset:15% 0 0;background:linear-gradient(180deg,transparent,rgba(12,15,17,.2) 30%,rgba(12,15,17,.94) 100%);pointer-events:none}
.category-feature>a{position:absolute;inset:0}
.category-feature img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .5s var(--ease)}
.category-feature:hover img{transform:scale(1.015)}
.category-feature>div{position:absolute;z-index:2;inset:auto 0 0;width:100%;margin:0;padding:clamp(26px,4vw,50px);background:transparent;color:#fff}
.category-feature .story-meta time{color:rgba(255,255,255,.72)}
.category-feature h2{max-width:16ch;font:700 clamp(2.3rem,3.6vw,4.05rem)/.96 var(--font-display);letter-spacing:-.05em;margin:13px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.category-feature h2 a{transition:color var(--speed)}
.category-feature h2 a:hover{color:var(--brand-primary)}
.category-feature p{max-width:62ch;margin:14px 0 0;color:rgba(255,255,255,.84);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.category-side{border-top:3px solid var(--c-ink)}
.category-side .story-card--compact:first-child{border-top:0}
.category-side .story-card--compact{padding:20px 0;border-bottom:1px solid var(--c-line)}
.category-side .story-card--compact h3{font-size:clamp(1.18rem,1.55vw,1.48rem);line-height:1.15;margin-top:9px;display:block;overflow:visible}
.category-side .story-card--compact h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;background-image:none}
.category-side .story-card--compact h3 a:hover{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.12em;text-decoration-skip-ink:auto}

/* Artykuł: treść i przyklejony autor w jednej, kontrolowanej siatce. */
.article-header{max-width:1280px;padding-block:clamp(48px,7vw,92px) 44px}
.article-header h1{max-width:1050px;font-size:clamp(3rem,6.4vw,6.5rem);line-height:.92;overflow-wrap:break-word}
.article-lead{max-width:820px}
.article-hero{max-width:1280px;margin-inline:auto}
.article-hero img{max-height:680px;aspect-ratio:3/2}
.article-hero figcaption{max-width:100%;margin-inline:0}
.article-layout{grid-template-columns:56px minmax(0,780px) minmax(240px,1fr);gap:32px;max-width:1280px;align-items:start}
.article-content{width:100%;max-width:780px;min-width:0}
.article-content blockquote{max-width:100%;margin:2.2em 0;padding:1em 0 1em clamp(42px,5vw,72px);font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.12;overflow-wrap:anywhere}
.article-content blockquote::before{left:0;top:.82em}
.article-content img,.article-content iframe,.article-content video{max-width:100%}
.article-aside{min-width:0;position:sticky;top:190px}
.author-box strong,.author-box p{overflow-wrap:anywhere}
.related{width:var(--shell);max-width:1280px;margin-inline:auto}
.quick-brief .section-kicker,.quick-brief li::before{color:var(--brand-primary)}
.menu-columns a:hover,.popular-stack article>span{color:var(--brand-primary)}

/* Newsletter jest jasnoturkusowy, a stopka pozostaje grafitowa. */
.newsletter-band{background:var(--brand-primary);color:#12272a;border-top:0}
.newsletter-grid{min-height:clamp(360px,39vw,520px)}
.newsletter-band .section-kicker,.newsletter-band label,.newsletter-band a,.newsletter-band input,.newsletter-band button{color:#12272a}
.newsletter-input{border-bottom-color:#12272a}
.newsletter-input input::placeholder{color:rgba(18,39,42,.66)}
.newsletter-input button:hover{opacity:.72}
.consent{color:rgba(18,39,42,.82)}
.consent input{accent-color:#12272a}
.site-footer{background:#1f2024;color:#f5f1e9}
.footer-social{margin-top:30px}
.footer-social>strong{display:block;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:13px}
.footer-social>div{display:flex;flex-wrap:wrap;gap:8px}
.footer-social a{width:38px;height:38px;display:grid;place-items:center;border:1px solid #44464a;color:#f5f1e9;font-size:10px;font-weight:850;letter-spacing:.04em;transition:background var(--speed),border-color var(--speed),color var(--speed)}
.footer-social a:hover{background:var(--brand-primary);border-color:var(--brand-primary);color:#10282a}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.footer-bottom>span:last-child{text-align:right}
.footer-bottom a{color:#d7d8da;border-bottom:1px solid #5e6064;transition:color var(--speed),border-color var(--speed)}
.footer-bottom a:hover{color:#fff;border-color:var(--brand-primary)}
.avatar{color:#10282a}.avatar--hero{color:#fff}

@media(max-width:1200px){
  .article-layout{grid-template-columns:56px minmax(0,780px);max-width:900px}
  .article-aside{display:none}
  .ranking-grid{grid-template-columns:repeat(2,1fr)}
  .ranking-grid article:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .ranking-grid article:nth-child(even){padding-left:24px;border-left:1px solid #3a3b3e}
  .featured-picks{grid-template-columns:1.3fr 1fr}
  .featured-picks .story-card--feature{grid-row:span 2}
}

@media(max-width:1100px){
  .hero{grid-template-columns:1fr;gap:42px}
  .hero-rail{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
  .hero-rail__heading{grid-column:1/-1}
}

@media(max-width:980px){
  .hero h1{font-size:clamp(2.5rem,5.5vw,3.5rem)}
  .section-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-card-grid--count-1{grid-template-columns:minmax(0,720px)}
  .category-lead{gap:38px}
  .article-layout{grid-template-columns:1fr;max-width:800px}
}

@media(max-width:760px){
  .brand-wordmark{font-size:clamp(1.1rem,4.7vw,1.45rem)}
  .site-header .brand-row{height:78px}.brand small{display:none}
  .hero-story{display:flex;flex-direction:column;gap:20px;min-height:0;overflow:visible;background:transparent;isolation:auto}
  .hero-story::after{display:none}
  .hero-story__media{position:static;width:100%}
  .hero-story__media img{height:auto;aspect-ratio:16/10}
  .hero-story__copy{position:static;order:2;width:100%;margin:0;padding:0;color:var(--c-ink)}
  .hero-story__copy .story-meta time{color:var(--c-muted)}
  .hero-story__copy>p{color:var(--c-ink-soft)}
  .hero-story__copy .story-cta{color:var(--c-ink)}
  .hero h1{max-width:16ch;font-size:clamp(2.4rem,9vw,3.45rem)}
  .page-lead{padding-block:52px 44px}.page-lead h1{font-size:clamp(3.4rem,15vw,5.7rem)}
  .newsroom-grid--full{grid-template-columns:1fr}
  .newsroom.section-block{padding-bottom:28px}
  .newsroom+.section-block{padding-top:28px}
  .local-brief{min-height:0;padding:34px 24px}
  .local-brief h3{max-width:16ch;font-size:clamp(2rem,8vw,2.8rem)}
  .local-brief p{max-width:36ch}
  .ranking-grid{grid-template-columns:1fr}
  .ranking-grid article,.ranking-grid article:nth-child(even){padding:22px 0;border-left:0}
  .featured-picks{grid-template-columns:1fr 1fr}.featured-picks .story-card--feature{grid-column:1/-1;grid-row:auto}
  .article-header h1{font-size:clamp(2.55rem,12vw,4.5rem)}
  .article-header{padding-bottom:30px}.article-hero{width:min(100% - 28px,1120px)}
  .article-content blockquote{padding-left:38px;font-size:clamp(1.9rem,8vw,2.7rem)}
  .footer-bottom{display:block;padding-block:22px}
  .footer-bottom>span{display:block;margin:7px 0}
  .footer-bottom>span:last-child{text-align:left}
}

@media(max-width:560px){
  .brand-wordmark{font-size:clamp(1rem,4.8vw,1.25rem);gap:.18em}
  .section-card-grid{grid-template-columns:1fr;gap:30px}
  .section-card{padding-bottom:22px}
  .section-card h3{font-size:1.55rem}
  .category-feature{min-height:460px}
  .category-feature>div{padding:24px}
  .category-feature h2{font-size:clamp(2rem,10vw,2.85rem);-webkit-line-clamp:4}
  .category-feature p{display:none}
  .featured-picks{grid-template-columns:1fr}
  .article-hero img{aspect-ratio:4/3}.article-byline{align-items:flex-start}
  .newsletter-grid{min-height:440px}
}
