/*
Theme Name: MoneySite Afiliacja
Theme URI: https://moneysite.pl
Author: MoneySite.pl
Description: Gotowy motyw WordPress dla serwisu promującego afiliację, programy partnerskie i sposoby zarabiania w internecie.
Version: 3.7
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: moneysite-partners
Tags: affiliate, blog, custom-post-type, finance, one-column, two-columns
*/
:root{--bg:#f8fafc;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--green:#16a34a;--green2:#22c55e;--dark:#0b1220;--soft:#ecfdf5;--soft2:#f1f5f9;--yellow:#fef3c7;--radius:22px;--shadow:0 18px 45px rgba(15,23,42,.08)}
*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.65;overflow-x:hidden}img{max-width:100%;height:auto}a{color:var(--green);text-decoration:none}a:hover{color:#15803d}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:76px}.brand a{font-size:27px;font-weight:950;letter-spacing:-.04em;color:var(--dark);display:inline-block;transition:color .2s ease,transform .2s ease}.brand a span{color:var(--dark);transition:color .2s ease}.brand a:hover{color:var(--green);transform:translateY(-1px)}.brand a:hover span{color:var(--green)}.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav a{color:var(--dark);font-weight:800;font-size:15px}.nav a:hover{color:var(--green)}.btn,.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff!important;font-weight:900;padding:12px 18px;box-shadow:0 12px 28px rgba(22,163,74,.24);transition:.15s}.btn:hover,.ms-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(22,163,74,.31)}.btn-dark{background:var(--dark);box-shadow:0 12px 28px rgba(15,23,42,.2)}.btn-ghost{background:#fff;color:var(--dark)!important;border:1px solid var(--line);box-shadow:none}.hero{padding:70px 0 44px;background:radial-gradient(circle at 15% 10%,rgba(34,197,94,.20),transparent 30%),radial-gradient(circle at 80% 15%,rgba(15,23,42,.12),transparent 32%),linear-gradient(135deg,#f0fdf4,#f8fafc 60%)}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:32px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(22,163,74,.2);background:#fff;border-radius:999px;padding:7px 13px;color:#15803d;font-weight:900;font-size:13px}.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green2);box-shadow:0 0 0 5px rgba(34,197,94,.14)}h1{font-size:56px;line-height:1.03;margin:18px 0 14px;letter-spacing:-.06em;color:var(--dark)}h2{font-size:34px;line-height:1.15;margin:0 0 16px;letter-spacing:-.04em;color:var(--dark)}h3{font-size:21px;line-height:1.25;margin:0 0 8px;color:var(--dark)}.lead{font-size:20px;color:var(--muted);max-width:780px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.card,.content,.program-card,.sidebar-box,.hero-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.hero-card{overflow:hidden;position:relative}.hero-card:before{content:"";position:absolute;right:-70px;top:-80px;width:210px;height:210px;border-radius:50%;background:rgba(34,197,94,.13)}.hero-card>*{position:relative}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.check-list li{display:flex;gap:10px}.check-list li:before{content:"✓";display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--soft);color:#15803d;font-weight:950}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.stat b{display:block;font-size:27px;line-height:1}.stat span{color:var(--muted);font-size:13px;font-weight:700}.section{padding:48px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}.section-head p{margin:0;color:var(--muted);max-width:620px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.program-card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:100%;transition:.15s}.program-card:hover{transform:translateY(-3px);border-color:rgba(22,163,74,.36);box-shadow:0 22px 60px rgba(15,23,42,.12)}.program-card h3 a{color:var(--dark)}.program-card p{margin:0;color:var(--muted)}.program-badge{display:inline-flex;align-self:flex-start;background:var(--soft);border:1px solid rgba(22,163,74,.18);color:#15803d;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:950}.program-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.program-meta div{background:var(--soft2);border:1px solid var(--line);border-radius:14px;padding:10px}.program-meta span{display:block;color:var(--muted);font-size:12px;font-weight:750}.program-meta b{font-size:14px;color:var(--dark)}.rating{color:#15803d;font-weight:950}.ranking-wrap{overflow-x:auto}.ranking-table{width:100%;border-collapse:separate;border-spacing:0 12px;min-width:840px}.ranking-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;padding:0 13px}.ranking-table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 13px;vertical-align:middle}.ranking-table td:first-child{border-left:1px solid var(--line);border-radius:18px 0 0 18px}.ranking-table td:last-child{border-right:1px solid var(--line);border-radius:0 18px 18px 0}.rank-num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--dark);color:#fff;font-weight:950;font-size:18px}.notice{background:#fffbeb;border:1px solid #fde68a;border-radius:16px;padding:16px;margin:18px 0;color:#713f12}.ad-slot{border:1px dashed #94a3b8;background:#fff;border-radius:18px;padding:18px;text-align:center;color:var(--muted);margin:22px 0}.small{font-size:13px;color:var(--muted)}.entry-title{font-size:42px}.single-hero{padding:42px 0 20px}.single-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.content h2{margin-top:28px}.content ul,.content ol{padding-left:24px}.post-list{display:grid;gap:16px}.post-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 12px 35px rgba(15,23,42,.055)}.icon{width:42px;height:42px;border-radius:14px;background:var(--soft);display:grid;place-items:center;color:#15803d;font-weight:950;margin-bottom:12px}.cta-band{background:linear-gradient(135deg,var(--dark),#12321f);border-radius:28px;color:#fff;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow)}.cta-band h2{color:#fff;margin:0 0 6px}.cta-band p{margin:0;color:#cbd5e1}.footer{margin-top:50px;background:linear-gradient(135deg,var(--dark),#111827);color:#cbd5e1;padding:40px 0}.footer a{color:#fff}.footer strong{display:block;color:#fff;font-size:22px;margin-bottom:4px}

.menu-toggle{display:none}.menu-button{display:none}
@media(max-width:960px){
  .wrap{padding:0 16px}.hero-grid,.two-col{grid-template-columns:1fr}.grid,.program-grid{grid-template-columns:1fr 1fr}h1{font-size:42px}.section{padding:38px 0}.cta-band,.section-head{align-items:flex-start;flex-direction:column}.hero{padding:52px 0 34px}.hero-card{max-width:760px}.ranking-wrap{overflow:visible}
}
@media(max-width:720px){
  :root{--radius:18px;--shadow:0 12px 30px rgba(15,23,42,.07)}
  .site-header{position:sticky;top:0}.header-inner{min-height:62px;padding:10px 0;align-items:center;gap:10px}.brand a{font-size:24px}.menu-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--dark);font-size:24px;font-weight:950;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.06)}.menu-toggle{position:absolute;left:-9999px}.nav{display:none;position:absolute;left:12px;right:12px;top:68px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:0 20px 50px rgba(15,23,42,.16);z-index:30}.menu-toggle:checked~.nav{display:grid;grid-template-columns:1fr;gap:4px}.nav a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:12px;font-size:15px}.nav a:not(.btn):hover{background:var(--soft2)}.nav .btn{margin-top:4px;width:100%;padding:13px 14px}.hero{padding:34px 0 28px;background:radial-gradient(circle at 20% 0%,rgba(34,197,94,.18),transparent 32%),linear-gradient(180deg,#f0fdf4,#f8fafc 70%)}.hero-grid{gap:20px}.eyebrow{font-size:12px;max-width:100%;line-height:1.3}.lead{font-size:17px;line-height:1.55}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-actions .btn,.single-actions .btn,.single-actions .btn-ghost{width:100%;padding:14px 16px}.card,.content,.program-card,.sidebar-box,.hero-card{padding:18px;border-radius:18px}.stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.stat{padding:12px;border-radius:14px}.stat b{font-size:22px}.stat span{font-size:11px}.section-head{gap:10px;margin-bottom:16px}.section-head .btn{width:100%}.cta-band{border-radius:20px;padding:22px}.cta-band .btn{width:100%}h1{font-size:34px;line-height:1.08;letter-spacing:-.045em;margin:14px 0 10px}h2{font-size:26px}h3{font-size:19px}.entry-title{font-size:30px}.single-hero{padding:30px 0 12px}.program-grid,.grid{grid-template-columns:1fr;gap:14px}.program-card{gap:9px}.program-card:hover{transform:none}.program-meta{grid-template-columns:1fr 1fr;gap:8px}.program-meta div{padding:9px}.program-meta b{font-size:13px}.ms-btn,.btn{width:100%;min-height:46px;text-align:center;padding:13px 16px}.post-item{padding:16px}.footer{margin-top:32px;padding:30px 0}
  .ranking-table{min-width:0;width:100%;border-spacing:0}.ranking-table,.ranking-table tbody,.ranking-table tr,.ranking-table td{display:block}.ranking-table thead{display:none}.ranking-table tr{background:#fff;border:1px solid var(--line);border-radius:18px;margin:0 0 14px;padding:12px;box-shadow:0 12px 30px rgba(15,23,42,.055)}.ranking-table td{border:0!important;border-radius:0!important;background:transparent;padding:9px 0;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ranking-table td:before{content:attr(data-label);font-size:12px;line-height:1.35;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900;flex:0 0 92px}.ranking-table td:first-child{padding-top:0}.ranking-table td:first-child:before{display:none}.ranking-table td:last-child{padding-bottom:0}.ranking-table td:last-child:before{display:none}.ranking-table td:last-child .ms-btn{width:100%;margin-top:6px}.rank-num{width:34px;height:34px;border-radius:11px;font-size:16px}.ranking-table td:nth-child(2){display:block}.ranking-table td:nth-child(2):before{display:block;margin-bottom:3px}.ranking-table td:nth-child(2) strong{font-size:17px}.ranking-table td:nth-child(3),.ranking-table td:nth-child(4),.ranking-table td:nth-child(5),.ranking-table td:nth-child(6){font-size:14px;text-align:right}
}
@media(max-width:420px){
  .wrap{padding:0 13px}.brand a{font-size:22px}.menu-button{width:40px;height:40px}.nav{top:62px;left:8px;right:8px}.hero{padding-top:28px}h1{font-size:30px}.lead{font-size:16px}.stats{grid-template-columns:1fr}.program-meta{grid-template-columns:1fr}.program-badge{font-size:11px}.ranking-table tr{padding:10px}.ranking-table td{gap:10px}.ranking-table td:before{flex-basis:82px}.cta-band h2{font-size:24px}
}

/* v2.1 revenue/content blocks */
.money-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.money-method{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 12px 35px rgba(15,23,42,.055)}.money-method strong{display:block;font-size:18px;color:var(--dark);margin-bottom:6px}.money-method p{margin:0;color:var(--muted)}.steps{counter-reset:step;display:grid;gap:14px}.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 18px 18px 66px}.step:before{counter-increment:step;content:counter(step);position:absolute;left:18px;top:18px;width:34px;height:34px;border-radius:12px;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:950}.quote-box{border-left:5px solid var(--green);background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.compare-note{font-size:12px;color:var(--muted);margin-top:8px}.program-card .ms-btn{margin-top:auto}.ad-slot strong{color:var(--dark)}
@media(max-width:960px){.money-methods{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.money-methods{grid-template-columns:1fr}.step{padding:16px 16px 16px 58px}.step:before{left:14px;top:16px}}


/* v2.2: poprawka przycisków w rankingu — tekst w jednej linii */
.ms-btn, .btn {
  white-space: nowrap;
  word-break: keep-all;
  text-wrap: nowrap;
}
.ranking-table th:last-child,
.ranking-table td:last-child {
  width: 158px;
  min-width: 158px;
  text-align: center;
}
.ranking-table td:last-child .ms-btn {
  min-width: 130px;
  padding-left: 16px;
  padding-right: 16px;
}
@media (max-width: 720px) {
  .ranking-table td:last-child {
    width: auto;
    min-width: 0;
    text-align: initial;
  }
  .ranking-table td:last-child .ms-btn {
    width: 100%;
    min-width: 0;
  }
}


/* v2.3 - Footer navigation */
.footer-top{display:grid;grid-template-columns:1.1fr 1.6fr;gap:28px;align-items:start}
.footer-brand-title{display:block;color:#fff;font-size:24px;font-weight:950;letter-spacing:-.04em;margin-bottom:6px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:flex-end;align-items:center;margin:4px 0 0;padding:0;list-style:none}
.footer-links li{margin:0;padding:0;list-style:none}
.footer-links a{display:inline-flex;align-items:center;color:#cbd5e1;text-decoration:none;font-weight:800;font-size:14px;line-height:1.3;padding:6px 0;transition:color .15s ease,transform .15s ease}
.footer-links a:hover{color:var(--green2);transform:translateY(-1px)}
.footer-bottom{border-top:1px solid rgba(226,232,240,.14);margin-top:24px;padding-top:18px;color:#94a3b8;font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-bottom a{color:#cbd5e1;font-weight:800}.footer-bottom a:hover{color:var(--green2)}
@media(max-width:720px){.footer-top{grid-template-columns:1fr;gap:18px}.footer-links{justify-content:flex-start;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.footer-links a{padding:7px 0}.footer-bottom{display:block}.footer-bottom p{margin:8px 0}}
@media(max-width:420px){.footer-links{grid-template-columns:1fr}}


/* v2.5 landing cleanup */
.feature-card p{margin:0;color:var(--muted)}
.feature-card h3{margin-bottom:8px}
@media(max-width:720px){.section .section-head .btn-ghost{width:100%}}


/* v2.6 - dopracowany mobilny widok rankingu programów partnerskich */
@media (max-width: 720px) {
  .ranking-wrap {
    margin-left: -2px;
    margin-right: -2px;
  }

  .ranking-table {
    display: block;
  }

  .ranking-table tbody {
    display: grid;
    gap: 14px;
  }

  .ranking-table tr {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(226,232,240,.95);
    background: linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow: 0 16px 38px rgba(15,23,42,.075);
  }

  .ranking-table td {
    display: block;
    padding: 0;
    min-width: 0;
    text-align: left !important;
    font-size: 14px;
  }

  .ranking-table td:before {
    display: block;
    content: attr(data-label);
    margin: 0 0 4px;
    color: #64748b;
    font-size: 10px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 950;
  }

  /* Numer pozycji jako mały znacznik w rogu karty */
  .ranking-table td:nth-child(1) {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
  }
  .ranking-table td:nth-child(1):before {
    display: none;
  }
  .ranking-table .rank-num {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: linear-gradient(135deg,var(--dark),#1f2937);
    box-shadow: 0 10px 24px rgba(15,23,42,.18);
  }

  /* Nazwa programu na pełną szerokość */
  .ranking-table td:nth-child(2) {
    grid-column: 1 / -1;
    padding-right: 52px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--line) !important;
  }
  .ranking-table td:nth-child(2):before {
    display: none;
  }
  .ranking-table td:nth-child(2) strong {
    display: block;
    font-size: 19px;
    line-height: 1.22;
    letter-spacing: -.02em;
  }
  .ranking-table td:nth-child(2) strong a {
    color: var(--dark);
  }
  .ranking-table td:nth-child(2) .small {
    display: inline-flex;
    margin-top: 7px;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--soft);
    color: #15803d;
    font-weight: 900;
    font-size: 11px;
  }

  /* Pola porównawcze jako czytelne kafelki */
  .ranking-table td:nth-child(3),
  .ranking-table td:nth-child(4),
  .ranking-table td:nth-child(5),
  .ranking-table td:nth-child(6) {
    min-height: 72px;
    padding: 11px 12px;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,23,42,.035);
    overflow-wrap: anywhere;
  }

  .ranking-table td:nth-child(4),
  .ranking-table td:nth-child(6) {
    background: #f0fdf4;
    border-color: rgba(22,163,74,.18) !important;
  }

  .ranking-table td:nth-child(6) .rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #15803d;
    font-size: 18px;
    line-height: 1;
  }
  .ranking-table td:nth-child(6) .rating:before {
    content: "★";
    color: #16a34a;
    font-size: 15px;
  }

  /* CTA zawsze na dole i na całą szerokość */
  .ranking-table td:nth-child(7) {
    grid-column: 1 / -1;
    padding-top: 2px;
  }
  .ranking-table td:nth-child(7):before {
    display: none;
  }
  .ranking-table td:nth-child(7) .ms-btn {
    width: 100%;
    min-height: 50px;
    border-radius: 16px;
    font-size: 15px;
    box-shadow: 0 14px 28px rgba(22,163,74,.24);
  }
}

@media (max-width: 420px) {
  .ranking-table tbody {
    gap: 12px;
  }
  .ranking-table tr {
    grid-template-columns: 1fr;
    padding: 14px;
    border-radius: 20px;
  }
  .ranking-table td:nth-child(2) {
    padding-right: 48px;
  }
  .ranking-table td:nth-child(3),
  .ranking-table td:nth-child(4),
  .ranking-table td:nth-child(5),
  .ranking-table td:nth-child(6) {
    min-height: 0;
    padding: 10px 11px;
  }
  .ranking-table td:nth-child(7) .ms-btn {
    min-height: 48px;
  }
}


/* v2.7 - lepsza podstrona katalogu programów partnerskich */
.programs-hero {
  padding: 52px 0 26px;
  background: radial-gradient(circle at 15% 10%, rgba(34,197,94,.18), transparent 30%), linear-gradient(180deg, #f0fdf4, #f8fafc 72%);
  border-bottom: 1px solid var(--line);
}
.programs-hero .lead { max-width: 840px; }
.programs-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  margin: 22px 0 0;
}
.programs-search-note {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px 16px;
  color: var(--muted);
  font-size: 14px;
  box-shadow: 0 10px 30px rgba(15,23,42,.045);
}
.category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 0;
}
.category-pills a,
.category-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(22,163,74,.2);
  background: #fff;
  color: #15803d;
  border-radius: 999px;
  padding: 8px 13px;
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 8px 22px rgba(15,23,42,.045);
}
.category-pills a:hover, .category-pill.is-active { background: var(--green); color: #fff; border-color: var(--green); box-shadow: 0 12px 28px rgba(22,163,74,.18); }
.filter-note{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 16px;color:var(--muted)}
.filter-note strong{color:var(--dark)}
.program-directory-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.program-directory-header p { margin: 0; color: var(--muted); max-width: 700px; }
.program-grid.directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.program-card {
  overflow: hidden;
}
.program-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.program-card-title-row h3 { margin-bottom: 5px; }
.program-category {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.program-card .program-description {
  min-height: 52px;
}
.program-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}
.program-card-actions p { margin: 0; }
.program-card-actions .btn-ghost {
  width: 100%;
  min-height: 46px;
}
.program-card-actions .ms-btn {
  width: 100%;
  min-height: 46px;
  white-space: nowrap;
}
.program-value-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 8px 0 2px;
}
.program-value-strip div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 10px;
}
.program-value-strip span { display:block; color:var(--muted); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.035em; }
.program-value-strip b { display:block; color:var(--dark); font-size:13px; line-height:1.25; margin-top:2px; }
.program-list-cta {
  margin-top: 24px;
  background: linear-gradient(135deg, #0b1220, #12321f);
  border-radius: 24px;
  padding: 24px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}
.program-list-cta h2 { color: #fff; margin: 0 0 6px; }
.program-list-cta p { margin: 0; color: #cbd5e1; }
.program-list-cta .btn { background: #fff; color: var(--dark)!important; box-shadow: none; }
@media (max-width: 860px) {
  .programs-toolbar,
  .program-directory-header,
  .program-list-cta { grid-template-columns: 1fr; display: grid; }
  .program-grid.directory-grid { grid-template-columns: 1fr; }
  .program-list-cta .btn { width: 100%; }
}
@media (max-width: 720px) {
  .programs-hero { padding: 34px 0 18px; }
  .category-pills { gap: 8px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; margin-left: -2px; margin-right: -2px; }
  .category-pills a,
  .category-pill { flex: 0 0 auto; font-size: 12px; padding: 8px 11px; }
  .program-card-top { display: block; }
  .program-card .program-badge { margin-bottom: 10px; }
  .program-value-strip { grid-template-columns: 1fr; gap: 8px; }
  .program-card .program-meta { display: none; }
  .program-card .program-description { min-height: 0; }
  .program-card-actions { grid-template-columns: 1fr; }
  .program-list-cta { border-radius: 20px; padding: 20px; }
}


/* v3.0 - blog, wpisy na stronie głównej i czas czytania */
.blog-preview-grid,
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.post-card,
.post-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 14px 42px rgba(15,23,42,.055);
}
.post-card h3,
.post-item h2 { margin: 8px 0 10px; line-height: 1.18; }
.post-card h3 a,
.post-item h2 a { color: var(--dark); text-decoration: none; }
.post-card h3 a:hover,
.post-item h2 a:hover { color: var(--green); }
.post-meta,
.entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  margin: 0 0 10px;
}
.reading-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid rgba(22,163,74,.18);
  border-radius: 999px;
  padding: 5px 10px;
  white-space: nowrap;
}
.post-card p,
.post-item p { color: var(--muted); }
.blog-hero {
  padding: 44px 0 20px;
  background: linear-gradient(180deg, #f0fdf4 0%, #f8fafc 80%);
  border-bottom: 1px solid var(--line);
}
.blog-hero .lead { max-width: 780px; }
.single-article {
  max-width: 860px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 18px 50px rgba(15,23,42,.055);
}
.single-article .entry-title { margin-bottom: 10px; }
.single-article h2 { margin-top: 30px; }
.single-article p, .single-article li { font-size: 18px; line-height: 1.75; }
.single-article ul, .single-article ol { padding-left: 24px; }
.article-cta {
  margin-top: 30px;
  background: linear-gradient(135deg, #0b1220, #12321f);
  color: #fff;
  border-radius: 22px;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.article-cta h3 { color: #fff; margin: 0 0 5px; }
.article-cta p { color: #cbd5e1; margin: 0; }
.article-cta .btn { background: #fff; color: var(--dark)!important; box-shadow: none; }
@media (max-width: 920px){
  .blog-preview-grid,
  .post-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px){
  .blog-preview-grid,
  .post-grid { grid-template-columns: 1fr; }
  .post-card,
  .post-item { border-radius: 20px; padding: 18px; }
  .post-meta,
  .entry-meta { font-size: 12px; }
  .single-article { border-radius: 22px; padding: 22px; }
  .single-article p, .single-article li { font-size: 16px; line-height: 1.7; }
  .article-cta { display: grid; padding: 20px; }
  .article-cta .btn { width: 100%; }
}


/* v3.1 - poprawiony widok bloga i sidebaru */
.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  align-items: start;
}
.blog-layout .content {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.blog-layout .post-grid {
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 20px;
}
.blog-layout .post-item h2 {
  font-size: 26px;
  letter-spacing: -0.035em;
  line-height: 1.16;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.blog-layout .post-item p {
  font-size: 15px;
  line-height: 1.7;
}
.blog-sidebar.sidebar-box {
  position: sticky;
  top: 96px;
  overflow: hidden;
}
.blog-sidebar .program-grid,
.blog-sidebar .program-grid.directory-grid {
  grid-template-columns: 1fr !important;
  gap: 14px;
}
.blog-sidebar .program-card {
  padding: 18px;
  border-radius: 20px;
}
.blog-sidebar .program-card .program-card-top {
  display: block;
}
.blog-sidebar .program-card h3 {
  font-size: 18px;
  line-height: 1.25;
  margin-top: 8px;
}
.blog-sidebar .program-card .rating,
.blog-sidebar .program-card .program-value-strip,
.blog-sidebar .program-card .small,
.blog-sidebar .program-card .program-card-actions .btn-ghost {
  display: none;
}
.blog-sidebar .program-card p.program-description {
  font-size: 14px;
  line-height: 1.55;
  margin: 8px 0 12px;
}
.blog-sidebar .program-card-actions {
  display: block;
}
.blog-sidebar .program-card-actions p { margin: 0; }
.blog-sidebar .program-card .ms-btn {
  width: 100%;
  min-height: 44px;
  padding: 11px 14px;
}
@media (max-width: 1020px){
  .blog-layout { grid-template-columns: 1fr; }
  .blog-sidebar.sidebar-box { position: static; }
  .blog-sidebar .program-grid,
  .blog-sidebar .program-grid.directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px){
  .blog-layout .post-grid { grid-template-columns: 1fr; }
  .blog-sidebar .program-grid,
  .blog-sidebar .program-grid.directory-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px){
  .blog-hero { padding: 30px 0 16px; }
  .blog-layout .post-item h2 { font-size: 23px; }
}


/* v3.2 - final polish: spójne podstrony i lepszy mobile */
.page-hero,
.single-hero,
.blog-hero,
.programs-hero{
  position:relative;
  overflow:hidden;
}
.page-hero:after,
.single-hero:after,
.blog-hero:after,
.programs-hero:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-120px;
  width:290px;
  height:290px;
  border-radius:50%;
  background:rgba(34,197,94,.12);
  pointer-events:none;
}
.page-hero .wrap,
.single-hero .wrap,
.blog-hero .wrap,
.programs-hero .wrap{position:relative;z-index:1}
.page-hero{padding:44px 0 22px;background:linear-gradient(180deg,#f0fdf4 0%,#f8fafc 82%);border-bottom:1px solid var(--line)}
.page-hero .lead{max-width:820px}
.page-shell{max-width:1040px;margin:0 auto}
.page-shell.content{padding:30px;border-radius:28px}
.page-shell.content>h2:first-child{margin-top:0}
.page-shell.content p{color:#334155}
.page-shell.content .ranking-wrap,
.page-shell.content .program-grid{margin-top:18px}

/* Ranking jako strona premium */
.page .ranking-wrap{border-radius:24px}
.ranking-table tr{transition:transform .15s ease, box-shadow .15s ease}
.ranking-table tbody tr:hover{transform:translateY(-2px)}
.ranking-table td:nth-child(2) strong a{color:var(--dark)}
.ranking-table td:nth-child(2) strong a:hover{color:var(--green)}
.ranking-table td:nth-child(3){max-width:310px}

/* Katalog: bardziej atrakcyjne karty na desktopie i mobile */
.program-card{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.program-card-top{padding-bottom:10px;border-bottom:1px solid rgba(226,232,240,.75)}
.program-card .rating{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;padding:0 10px;border-radius:999px;background:#f0fdf4;border:1px solid rgba(22,163,74,.18);font-size:13px;color:#15803d;white-space:nowrap}
.program-category{display:inline-flex;margin-top:2px;color:#475569;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:12px}
.program-card .program-description{font-size:15px;line-height:1.7;color:#475569}
.program-card-actions .btn-ghost{border-color:#dbeafe;background:#fff;color:var(--dark)!important}
.program-card-actions .btn-ghost:hover{border-color:rgba(22,163,74,.28);background:#f0fdf4;color:#15803d!important}

/* Pojedynczy program */
.single-program .content,
.single .content{overflow:hidden}
.single-program .sidebar-box{position:sticky;top:96px}
.single-program .sidebar-box h3{margin-bottom:14px}
.single-program .program-meta div{background:linear-gradient(180deg,#fff,#f8fafc)}
.single-program .program-meta b{overflow-wrap:anywhere}

/* Blog polish */
.blog-layout .post-item{display:flex;flex-direction:column;min-height:100%}
.blog-layout .post-item .btn{margin-top:auto;align-self:flex-start}
.post-card,.post-item{transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.post-card:hover,.post-item:hover{transform:translateY(-3px);border-color:rgba(22,163,74,.28);box-shadow:0 20px 55px rgba(15,23,42,.09)}
.post-card p,.post-item p{line-height:1.7}
.single-article{overflow:hidden}
.single-article a{font-weight:850}

/* Sidebar z programami nie może wyglądać jak ściśnięty ranking */
.blog-sidebar .program-card{min-height:0;background:#fff}
.blog-sidebar .program-card-top{border-bottom:0;padding-bottom:0}
.blog-sidebar .program-category{display:inline-flex}
.blog-sidebar .program-description{min-height:0!important}

@media (max-width: 960px){
  .page-shell.content{padding:24px;border-radius:24px}
  .single-program .sidebar-box{position:static}
}
@media (max-width: 720px){
  .page-hero{padding:30px 0 16px}
  .page-hero h1,
  .blog-hero h1,
  .programs-hero h1{font-size:32px;line-height:1.08;margin-bottom:8px}
  .page-shell.content{padding:18px;border-radius:20px}
  .page-shell.content>h1.entry-title{display:none}
  .page-shell.content h2{font-size:24px}
  .page-shell.content p{font-size:15px;line-height:1.7}

  /* Katalog programów na telefonie: wizytówka premium, nie mała tabelka */
  .program-grid.directory-grid{gap:16px}
  .program-card{position:relative;padding:18px;border-radius:22px;box-shadow:0 15px 38px rgba(15,23,42,.07)}
  .program-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:22px 22px 0 0}
  .program-card-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding-top:4px}
  .program-card-title-row h3{font-size:22px;line-height:1.18;letter-spacing:-.035em;margin:6px 0 6px}
  .program-card .rating{height:32px;min-width:56px;font-size:12px}
  .program-category{font-size:11px;padding:4px 8px}
  .program-card .program-description{font-size:15px;margin-top:2px}
  .program-value-strip{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .program-value-strip div:nth-child(3){grid-column:1 / -1}
  .program-value-strip div{padding:11px;border-radius:15px;background:#fff}
  .program-value-strip span{font-size:10px}
  .program-value-strip b{font-size:13px}
  .program-card-actions{grid-template-columns:1fr;gap:8px;margin-top:10px}
  .program-card-actions .btn-ghost,
  .program-card-actions .ms-btn{min-height:48px;border-radius:15px}
  .programs-toolbar .btn{width:100%}
  .programs-search-note{font-size:13px;line-height:1.55}

  /* Ranking: czytelna karta, przycisk zawsze na dole */
  .ranking-table tr{border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 16px 38px rgba(15,23,42,.075)}
  .ranking-table td:nth-child(3),
  .ranking-table td:nth-child(4),
  .ranking-table td:nth-child(5),
  .ranking-table td:nth-child(6){font-size:13px;line-height:1.45}
  .ranking-table td:nth-child(3):before,
  .ranking-table td:nth-child(4):before,
  .ranking-table td:nth-child(5):before,
  .ranking-table td:nth-child(6):before{font-size:9px}

  /* Blog i artykuły */
  .blog-layout{gap:18px}
  .blog-layout .post-item .btn{align-self:stretch}
  .post-card:hover,.post-item:hover,.program-card:hover{transform:none}
  .single-article{padding:20px;border-radius:22px}
  .single-article .entry-title{font-size:30px}

  /* Pojedynczy program */
  .single-program .single-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .single-program .sidebar-box .ms-btn{width:100%}
  .single-program .two-col{gap:16px}
}
@media (max-width: 420px){
  .page-hero h1,.blog-hero h1,.programs-hero h1{font-size:29px}
  .program-card-top{grid-template-columns:1fr}
  .program-card .rating{justify-self:start}
  .program-value-strip{grid-template-columns:1fr}
  .category-pills{scroll-snap-type:x proximity}
  .category-pill{scroll-snap-align:start}
}


/* v3.3 - ostateczny polish UI/UX i publikacyjny */
:focus-visible{outline:3px solid rgba(22,163,74,.35);outline-offset:3px;border-radius:10px}
.btn,.ms-btn{min-height:46px;letter-spacing:-.01em}
.nav .btn{padding-left:16px;padding-right:16px}
.content a:not(.btn):not(.ms-btn),.single-article a:not(.btn):not(.ms-btn){text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.trust-note{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(22,163,74,.18);border-radius:20px;padding:16px 18px;margin:18px 0;box-shadow:0 12px 32px rgba(15,23,42,.055);color:#334155}
.trust-note:before{content:"✓";display:grid;place-items:center;width:32px;height:32px;border-radius:12px;background:#dcfce7;color:#15803d;font-weight:950}
.trust-note strong{display:block;color:var(--dark);margin-bottom:2px}.trust-note p{margin:0;color:#475569;font-size:14px;line-height:1.6}
.page-shell .trust-note{margin-top:10px;margin-bottom:22px}

/* spójne nagłówki podstron */
.page-hero,.single-hero,.blog-hero,.programs-hero{background:radial-gradient(circle at 14% 0%,rgba(34,197,94,.18),transparent 30%),linear-gradient(180deg,#f0fdf4 0%,#f8fafc 84%)!important}
.page-hero h1,.blog-hero h1,.programs-hero h1,.single-hero h1{max-width:980px}.page-hero .eyebrow,.blog-hero .eyebrow,.programs-hero .eyebrow,.single-hero .eyebrow{box-shadow:0 8px 24px rgba(15,23,42,.04)}

/* ranking: desktop bardziej premium */
.ranking-table{table-layout:auto}.ranking-table td{box-shadow:0 10px 26px rgba(15,23,42,.035)}
.ranking-table td:nth-child(7),.ranking-table th:nth-child(7){width:178px;min-width:178px}.ranking-table td:nth-child(7) .ms-btn{min-width:148px;min-height:48px;border-radius:16px}
.ranking-table td:nth-child(2) strong{font-size:16px}.ranking-table .small{line-height:1.45}.ranking-table td:nth-child(3){color:#334155}.ranking-table td:nth-child(4),.ranking-table td:nth-child(5){color:#0f172a}

/* katalog i karty programów */
.category-pills{scrollbar-width:thin}.category-pills a,.category-pill{transition:background .15s ease,color .15s ease,transform .15s ease,border-color .15s ease}.category-pills a:hover,.category-pill:hover{transform:translateY(-1px)}
.program-card{isolation:isolate}.program-card h3 a{display:inline}.program-card .small{line-height:1.55}.program-card-actions .btn-ghost,.program-card-actions .ms-btn{font-size:14px}.program-value-strip b{overflow-wrap:anywhere}.program-list-cta{position:relative;overflow:hidden}.program-list-cta:after{content:"";position:absolute;right:-50px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(34,197,94,.18)}.program-list-cta>*{position:relative;z-index:1}

/* blog: czytelniej i spójniej ze stroną główną */
.blog-layout .post-item{border-radius:24px}.blog-layout .post-item h2{max-width:96%}.post-card .btn,.post-item .btn{margin-top:auto}.blog-sidebar h3{font-size:22px}.blog-sidebar:before{content:"Polecane";display:inline-flex;margin-bottom:10px;border:1px solid rgba(22,163,74,.18);background:#f0fdf4;color:#15803d;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950}.single-article{max-width:900px}.single-article .entry-meta{margin-bottom:18px}.article-cta{position:relative;overflow:hidden}.article-cta:after{content:"";position:absolute;right:-42px;top:-60px;width:150px;height:150px;border-radius:50%;background:rgba(34,197,94,.18)}.article-cta>*{position:relative;z-index:1}

/* pojedynczy program: lepszy mobile i zaufanie */
.single-program .content .notice,.single-program .content .trust-note{margin-top:0}.single-program .sidebar-box{border-color:rgba(22,163,74,.18)}.single-program .sidebar-box .ms-btn{min-height:50px}

@media(max-width:960px){
  .ranking-table td:nth-child(7),.ranking-table th:nth-child(7){width:auto;min-width:0}
  .blog-sidebar:before{margin-bottom:8px}
}
@media(max-width:720px){
  body{font-size:16px}.wrap{padding-left:15px;padding-right:15px}.site-header{box-shadow:0 8px 28px rgba(15,23,42,.045)}
  .brand a{letter-spacing:-.05em}.menu-button{flex:0 0 auto}.hero-actions,.single-actions{width:100%}
  .hero h1{font-size:31px}.hero-card{box-shadow:0 16px 42px rgba(15,23,42,.08)}.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat b{font-size:20px}.stat span{text-align:right}
  .trust-note{grid-template-columns:1fr;padding:15px;border-radius:18px}.trust-note:before{width:30px;height:30px}.trust-note p{font-size:13px}
  .page-shell.content{box-shadow:0 14px 36px rgba(15,23,42,.06)}
  .page-shell.content .ranking-wrap{margin-left:-2px;margin-right:-2px}
  .ranking-table tbody{display:grid;gap:14px}.ranking-table tr{padding:16px!important;border-radius:22px!important}.ranking-table td:nth-child(2) strong{font-size:20px!important;line-height:1.18}.ranking-table td:nth-child(3),.ranking-table td:nth-child(4),.ranking-table td:nth-child(5),.ranking-table td:nth-child(6){min-height:auto!important}.ranking-table td:nth-child(7) .ms-btn{font-size:15px;min-height:52px}
  .category-pills{padding:2px 2px 8px}.category-pills a,.category-pill{min-height:38px}
  .program-card-title-row h3{font-size:21px}.program-card .program-description{line-height:1.65}.program-card-actions .btn-ghost,.program-card-actions .ms-btn{font-size:15px}.program-list-cta{display:grid;gap:14px}.program-list-cta h2{font-size:24px}
  .blog-layout .post-item h2{font-size:22px;max-width:100%}.post-meta{align-items:flex-start}.reading-time{padding:5px 9px}.blog-sidebar.sidebar-box{padding:18px}.blog-sidebar .program-card{box-shadow:none;border-radius:18px}
  .single-article{padding:19px}.single-article .entry-title{font-size:29px;line-height:1.1}.article-cta h3{font-size:22px}
  .footer-links{grid-template-columns:1fr 1fr}.footer-brand p{margin-bottom:0}
}
@media(max-width:420px){
  .hero h1{font-size:29px}.page-hero h1,.blog-hero h1,.programs-hero h1,.single-hero h1{font-size:28px!important}.eyebrow{white-space:normal}.btn,.ms-btn{white-space:normal;text-align:center;line-height:1.2}
  .ranking-table tr{padding:14px!important}.ranking-table td:nth-child(2){padding-right:46px}.ranking-table td:nth-child(2) strong{font-size:19px!important}.ranking-table td:nth-child(3),.ranking-table td:nth-child(4),.ranking-table td:nth-child(5),.ranking-table td:nth-child(6){padding:10px!important}
  .program-card{padding:16px}.program-card-title-row h3{font-size:20px}.footer-links{grid-template-columns:1fr}
}


/* v3.4 - ujednolicenie szerokości podstron */
:root { --site-width: 1180px; }
.wrap { max-width: var(--site-width); }

/* Strony typu ranking / zwykła strona nie mogą być węższe niż blog i katalog */
.page-shell,
.page-shell.content {
  max-width: var(--site-width);
  width: 100%;
}

/* Główne layouty podstron trzymają tę samą siatkę */
.blog-layout,
.two-col,
.program-grid.directory-grid,
.ranking-wrap,
.page-shell.content {
  width: 100%;
}

/* Ranking wykorzystuje pełną szerokość kontenera, ale bez wychodzenia poza ekran */
.page-shell.content .ranking-wrap,
.ranking-wrap {
  max-width: 100%;
}
.ranking-table {
  width: 100%;
}

/* Zwykłe strony informacyjne nadal wyglądają jak premium card, ale są spójne z resztą */
.page-shell.content {
  margin-left: auto;
  margin-right: auto;
}

/* Artykuły zostają czytelne, ale hero i wrapper mają tę samą szerokość co reszta serwisu */
.single-article {
  max-width: 920px;
}

@media (min-width: 961px) {
  .blog-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
  .two-col {
    grid-template-columns: minmax(0, 1fr) 330px;
  }
}

@media (max-width: 720px) {
  .wrap { padding-left: 15px; padding-right: 15px; }
  .page-shell.content,
  .blog-layout,
  .two-col,
  .program-grid.directory-grid,
  .ranking-wrap {
    max-width: 100%;
  }
}


/* v3.5 FINAL AUDIT FIX - spójne szerokości i layout kluczowych podstron */
:root{--site-width:1180px;--read-width:900px;}
.wrap{max-width:var(--site-width);width:100%;margin-left:auto;margin-right:auto;}

/* Kluczowe strony konwersyjne nie są już zamknięte w węższej białej karcie */
.page-shell--wide.content{
  max-width:var(--site-width);
  width:100%;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
}
.page-shell--wide > h2:first-child,
.page-shell--wide > h2:first-child + p{
  max-width:780px;
}
.page-shell--wide > h2:first-child{margin-top:0;}
.page-shell--wide > .notice,
.page-shell--wide > .trust-note,
.page-shell--wide > .category-pills,
.page-shell--wide > .filter-note{
  max-width:100%;
}

/* Ranking i katalog mają tę samą szerokość roboczą co blog */
.page-shell--ranking-programow-partnerskich .ranking-wrap,
.page-shell--programy .program-grid.directory-grid,
.blog-layout{
  max-width:var(--site-width);
  margin-left:auto;
  margin-right:auto;
}

/* Normalne strony tekstowe zostają czytelniejsze, ale bez przypadkowo innej szerokości hero */
.page-shell:not(.page-shell--wide){max-width:1040px;}
.single-article{max-width:var(--read-width);margin-left:auto;margin-right:auto;}

/* Blog: stabilna siatka i sidebar bez ściskania kart */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start;}
.blog-layout .post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.blog-layout .content{min-width:0;}
.blog-sidebar{min-width:0;}
.blog-sidebar .program-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}

/* Katalog programów: równe, eleganckie karty */
.program-grid.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.program-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;}
.program-card-actions p{margin:0!important;}
.program-card-actions .btn,.program-card-actions .ms-btn{width:100%;min-height:46px;white-space:nowrap;}

/* Ranking desktop: przyciski nie zawężają całości */
.ranking-wrap{overflow-x:auto;}
.ranking-table{width:100%;min-width:920px;}
.ranking-table td:nth-child(7),.ranking-table th:nth-child(7){width:180px;min-width:180px;}
.ranking-table td:nth-child(7) .ms-btn{width:100%;white-space:nowrap;}

/* Spójne hero podstron */
.page-hero,.blog-hero,.programs-hero,.single-hero{
  background:radial-gradient(circle at 16% 0%,rgba(34,197,94,.16),transparent 34%),linear-gradient(180deg,#f0fdf4,#f8fafc 82%);
  border-bottom:1px solid var(--line);
}

@media(max-width:960px){
  .blog-layout{grid-template-columns:1fr;}
  .blog-layout .post-grid{grid-template-columns:1fr 1fr;}
  .blog-sidebar .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .program-grid.directory-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:720px){
  .page-shell--wide.content{padding:0;background:transparent;border:0;box-shadow:none;}
  .blog-layout,.blog-layout .post-grid,.program-grid.directory-grid{grid-template-columns:1fr;}
  .blog-sidebar .program-grid{grid-template-columns:1fr!important;}
  .program-card-actions{grid-template-columns:1fr;}
  .ranking-wrap{overflow:visible;}
  .ranking-table{min-width:0;}
  .page-shell--wide > h2:first-child{font-size:25px;line-height:1.15;}
}


/* v3.6 - poprawka podkreśleń linków: UI bez podkreśleń, treść artykułów z podkreśleniem */
a,
.site-header a,
.nav a,
.brand a,
.footer a,
.footer-links a,
.btn,
.ms-btn,
.button,
.category-pill,
.category-pills a,
.program-card a,
.ranking-table a,
.ranking-card a,
.post-item a,
.post-card a,
.sidebar-box a,
.hero a,
.cta-band a,
.program-card-actions a,
.blog-sidebar a,
.wp-block-button__link {
  text-decoration: none !important;
}

/* Podkreślenie zostaje tylko w długich treściach, gdzie pomaga w czytelności */
.entry-content a:not(.btn):not(.ms-btn):not(.button):not(.wp-block-button__link),
.single-article a:not(.btn):not(.ms-btn):not(.button):not(.wp-block-button__link),
.content.article-content a:not(.btn):not(.ms-btn):not(.button):not(.wp-block-button__link),
.legal-content a:not(.btn):not(.ms-btn):not(.button):not(.wp-block-button__link) {
  text-decoration: underline !important;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

/* Hover w UI: kolor / delikatny ruch zamiast podkreślenia */
.nav a:hover,
.footer-links a:hover,
.program-card h3 a:hover,
.post-item h2 a:hover,
.post-card h2 a:hover,
.sidebar-box a:hover,
.category-pills a:hover,
.category-pill:hover {
  text-decoration: none !important;
}

.btn:hover,
.ms-btn:hover,
.button:hover,
.wp-block-button__link:hover {
  text-decoration: none !important;
}
