/* ================================================
   StartTeraz.pl — Blog CSS v4
   Wklej do: Wygląd → Dostosuj → Dodatkowy CSS
   ================================================ */

:root {
  --st:#3FDAD8; --st-d:#25b5b3; --st-dim:rgba(63,218,216,.10); --st-dim2:rgba(63,218,216,.18);
  --ink:#111111; --ink-2:#3d3d3d; --ink-3:#888888; --ink-4:#c0c0c0;
  --rule:#e8e8e8; --soft:#f9fafb; --dark:#0d1117;
  --red:#dc2626; --red-dim:rgba(220,38,38,.08);
  --green:#16a34a; --green-dim:rgba(22,163,74,.08);
  --r:8px;
}

/* ── WRAPPER ── */
.st-art {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px; line-height:1.78; color:var(--ink-2);
  max-width:680px; margin:0 auto;
  padding-top:2.5em;
  -webkit-font-smoothing:antialiased;
  counter-reset:h2;
}
.st-art p { margin:0 0 1.3em; font-size:16px; line-height:1.78; color:var(--ink-2); }
.st-art p:last-child { margin-bottom:0; }
.st-art p strong { font-weight:700; color:var(--ink); }
.st-art ul { padding-left:1.3em; margin:0 0 1.2em; }
.st-art li { font-size:15px; line-height:1.7; color:var(--ink-2); margin-bottom:.4em; }
.st-art li strong { font-weight:700; color:var(--ink); }

/* ── LINKI w treści — styl ze stopki ── */
.st-art a {
  color:var(--ink-2);
  text-decoration:none;
  position:relative;
}
.st-art a::after {
  content:'';
  position:absolute;
  left:0; bottom:-2px;
  width:0; height:1.5px;
  background:var(--st);
  border-radius:1px;
  transition:width .35s cubic-bezier(.25,.8,.25,1);
}
.st-art a:hover { color:var(--st-d); }
.st-art a:hover::after { width:100%; }

/* ── NAGŁÓWKI ── */
.st-art h2 {
  counter-increment:h2;
  font-size:22px; font-weight:800; letter-spacing:-0.03em;
  line-height:1.2; color:var(--ink);
  margin:2.6em 0 .6em;
  scroll-margin-top:80px;
  display:flex; align-items:baseline; gap:10px;
}
.st-art h2::before {
  content:"0" counter(h2);
  color:var(--st-d);
  font-size:1em; font-weight:800;
  letter-spacing:-0.03em;
  flex-shrink:0;
}
.st-art h3 {
  font-size:16px; font-weight:700; letter-spacing:-0.01em;
  line-height:1.3; color:var(--ink);
  margin:1.8em 0 .5em;
}

/* ── META ── */
.st-meta {
  display:flex; flex-wrap:wrap; gap:8px 14px;
  font-size:12px; color:var(--ink-3);
  margin-bottom:1.8em; padding-bottom:1.2em;
  border-bottom:1px solid var(--rule);
  align-items:center; font-weight:500; letter-spacing:.01em;
}
.st-meta__badge {
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; padding:3px 9px; border-radius:20px;
  background:var(--st-dim); color:var(--st-d);
}

/* ── LEAD ── */
.st-lead {
  position:relative; padding:5px 20px;
  margin:0 0 1.8em;
  border-left:3px solid var(--st);
}
.st-lead, .st-lead p {
  font-size:18px; font-weight:600; color:var(--ink);
  line-height:1.65; margin:0;
}

/* ── SPIS TREŚCI ── */
.st-toc {
  border:0.5px solid var(--rule) !important;
  border-radius:var(--r) !important;
  padding:18px 20px !important;
  margin:0 0 2.5em !important;
}
.st-toc__title {
  display:block !important;
  font-size:10px !important; font-weight:700 !important; text-transform:uppercase !important;
  letter-spacing:.14em !important; color:var(--ink-3) !important;
  border-bottom:0.5px solid var(--rule) !important;
  padding-bottom:12px !important; margin-bottom:12px !important;
}
.st-toc ol {
  margin:0 !important; padding:0 !important; list-style:none !important;
}
.st-toc li {
  display:flex !important; align-items:baseline !important; gap:10px !important;
  border-bottom:0.5px solid var(--rule) !important; margin:0 !important;
}
.st-toc li:last-child { border-bottom:none !important; }
.st-toc a {
  font-size:13px !important; font-weight:500 !important; color:var(--ink-2) !important;
  text-decoration:none !important; padding:9px 0 !important;
  display:inline-block !important; width:100% !important; transition:color .15s !important;
  position:relative !important;
}
.st-toc a::after {
  content:'' !important; position:absolute !important;
  left:0 !important; bottom:3px !important;
  width:0 !important; height:1.5px !important;
  background:var(--st) !important; border-radius:1px !important;
  transition:width .35s cubic-bezier(.25,.8,.25,1) !important;
  display:block !important;
}
.st-toc a:hover { color:var(--st-d) !important; }
.st-toc a:hover::after { width:100% !important; }

/* ── HIGHLIGHT ── */
.st-highlight {
  background:var(--st-dim); border-left:3px solid var(--st);
  border-radius:0 var(--r) var(--r) 0;
  padding:14px 18px; margin:1.4em 0;
}
.st-highlight p, .st-highlight {
  font-size:15px; font-weight:600; color:var(--ink); line-height:1.6; margin:0;
}

/* ── CALLOUT ── */
.st-callout {
  border:0.5px solid var(--rule); border-radius:var(--r);
  padding:20px 24px; margin:2em 0;
  border-top:3px solid var(--st);
}
.st-callout__title {
  font-size:14px; font-weight:700; color:var(--ink);
  letter-spacing:-0.01em; margin:0 0 8px;
  padding-bottom:10px; border-bottom:0.5px solid var(--rule);
}
.st-callout__body { font-size:14px; color:var(--ink-2); line-height:1.75; margin:10px 0 16px; }
.st-callout__body ul { margin:8px 0 0; padding-left:18px; }
.st-callout__body li { font-size:14px; margin:5px 0; color:var(--ink-2); }
.st-callout__cta {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0.375rem 1.5rem;
    height: 45px;
    border-radius: 40px;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
    text-decoration: none !important;
    background-color: #3fdad8;
    color: #000 !important;
    border: 0;
    outline: 0;
    box-shadow: none;
    user-select: none;
    cursor: pointer;
    overflow: hidden;
    will-change: transform;
    backface-visibility: hidden;
}
.st-callout__cta span {
    position: relative;
    z-index: 2;
    font-weight: 600;
    will-change: color;
    transition: color 0.3s ease;
}
.st-callout__cta::before {
    content: "" !important;
    position: absolute !important;
    left: -4pt !important;
    top: 0 !important;
    display: block !important;
    width: calc(100% + 8pt) !important;
    height: 100% !important;
    background: #000 !important;
    background-color: #000 !important;
    pointer-events: none !important;
    z-index: -1 !important;
    border-radius: 100% 100% 0 0 !important;
    transition: transform 0s cubic-bezier(0.1, 0, 0.3, 1), border-radius 0.5s cubic-bezier(0.1, 0, 0.3, 1) !important;
    transform: translate3d(0, 100%, 0) !important;
}
.st-callout__cta::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    height: 100% !important;
    left: -4pt !important;
    top: 0 !important;
    width: calc(100% + 8pt) !important;
    background: #000 !important;
    background-color: #000 !important;
    z-index: -1 !important;
    transform: translate3d(0, -105%, 0) !important;
    transition: transform 0.4s cubic-bezier(0.1, 0, 0.3, 1) !important;
}
.st-callout__cta:hover span {
    animation: MoveScaleUpInitial 0.3s forwards, MoveScaleUpEnd 0.3s 0.2s forwards;
    color: #fff !important;
}
.st-callout__cta:hover::before {
    border-radius: 0 !important;
    transform: translateZ(0) scaleX(1) !important;
    transition: transform 0.2s cubic-bezier(0.1, 0, 0.3, 1), border-radius 0.5s cubic-bezier(0.1, 0, 0.3, 1) !important;
    height: 100% !important;
    width: calc(100% + 8pt) !important;
}
.st-callout__cta:hover::after {
    transform: translateZ(0) !important;
    transition-delay: 0.4s !important;
    transition-duration: 0.05s !important;
    transition-timing-function: linear !important;
    height: 100% !important;
    width: calc(100% + 8pt) !important;
}
@keyframes MoveScaleUpInitial {
    to { opacity: 0; transform: translate3d(0, -105%, 0); }
}
@keyframes MoveScaleUpEnd {
    0% { opacity: 0; transform: translate3d(0, 100%, 0); }
    to { opacity: 1; transform: translateZ(0); }
}
.st-prompt__label {
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:.12em; color:var(--st-d);
  padding:10px 16px; background:var(--st-dim);
  border-bottom:1px solid rgba(63,218,216,.2);
  display:flex; align-items:center; justify-content:space-between;
}
.st-prompt__text {
  font-size:14.5px; color:var(--ink); line-height:1.7;
  margin:0; padding:14px 16px;
  white-space:pre-wrap; font-style:italic; font-weight:500;
  background:#fff;
}
.st-copy {
  font-size:10px; font-weight:600; color:var(--ink-3);
  background:#fff; border:1px solid var(--rule);
  border-radius:4px; padding:3px 9px;
  cursor:pointer; font-family:'Inter',sans-serif;
  transition:all .15s; white-space:nowrap;
  font-style:normal; letter-spacing:.02em;
}
.st-copy:hover { color:var(--st-d); border-color:var(--st); }
.st-copy.ok { color:var(--green); border-color:var(--green); background:var(--green-dim); }

/* ── TABELA ── */
.st-table-wrap { overflow-x:auto; margin:1.2em 0 1.8em; border-radius:var(--r); border:0.5px solid var(--rule); }
.st-table { width:100%; border-collapse:collapse; font-size:14px; }
.st-table thead tr { background:var(--st); }
.st-table thead th { color:#fff; font-size:11px; font-weight:700; text-align:left; padding:12px 16px; white-space:nowrap; text-transform:uppercase; letter-spacing:.06em; }
.st-table tbody tr:nth-child(odd) { background:#fff; }
.st-table tbody tr:nth-child(even) { background:var(--soft); }
.st-table tbody tr:hover { background:var(--st-dim); }
.st-table td { padding:11px 16px; color:var(--ink-2); border-bottom:1px solid var(--rule); line-height:1.5; vertical-align:top; font-size:14px; }
.st-table td:first-child { font-weight:600; color:var(--ink); }
.st-table tbody tr:last-child td { border-bottom:none; }
.st-table .ok { color:var(--green); font-weight:700; }
.st-table .nok { color:var(--red); font-weight:700; }

/* ── KROKI ── */
.st-steps { margin:1.2em 0 2em; padding:0; list-style:none; border-top:1px solid var(--rule); }
.st-steps li { display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--rule); }
.st-steps li:last-child { border-bottom:none; }
.st-step-num { font-size:12px; font-weight:800; color:var(--st-d); min-width:24px; flex-shrink:0; padding-top:2px; letter-spacing:-.01em; }
.st-steps__title { font-size:15px; font-weight:700; color:var(--ink); margin:0 0 4px; line-height:1.3; }
.st-steps__desc { font-size:14px; color:var(--ink-2); line-height:1.75; margin:0; }

/* ── SPLIT BOX (z ebooka) ── */
.st-split { border:0.5px solid var(--rule); border-radius:var(--r); padding:18px 20px; margin:1.2em 0 1.8em; }
.st-split__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.st-split__col-label {
  font-size:10px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; margin-bottom:10px;
  padding-bottom:6px; border-bottom:2px solid transparent;
}
.st-split--yes .st-split__col-label { color:rgb(21,128,61); border-color:rgb(34,197,94); }
.st-split--no  .st-split__col-label { color:rgb(185,28,28); border-color:rgb(239,68,68); }
.st-split__item {
  font-size:14px; color:var(--ink-2); line-height:1.55;
  padding:5px 0; display:flex; align-items:flex-start;
  gap:8px; border-bottom:0.5px solid var(--rule);
}
.st-split__item:last-child { border-bottom:none; }
.st-split__item::before {
  content:''; width:18px; height:18px; min-width:18px;
  border-radius:50%; font-size:11px; font-weight:700;
  color:#fff; display:flex; align-items:center;
  justify-content:center; flex-shrink:0; margin-top:1px;
}
.st-split--yes .st-split__item::before { content:'✓'; background:rgb(34,197,94); }
.st-split--no  .st-split__item::before { content:'✕'; background:rgb(239,68,68); }

/* ── FAQ ── */
.st-faq { margin:2em 0; }
.st-faq__head { font-size:18px; font-weight:800; letter-spacing:-0.03em; margin:0 0 .8em; color:var(--ink); }
.st-faq details { border-bottom:1px solid var(--rule); }
.st-faq details:first-of-type { border-top:1px solid var(--rule); }
.st-faq summary {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:14px 0; font-size:15px; font-weight:600;
  color:var(--ink); cursor:pointer; list-style:none;
  user-select:none; transition:color .15s; letter-spacing:-.01em;
}
.st-faq summary::-webkit-details-marker { display:none; }
.st-faq summary:hover { color:var(--st-d); }
.st-faq details[open] summary { color:var(--st-d); }
.st-faq summary::after { content:'+'; font-size:20px; font-weight:300; color:var(--st); flex-shrink:0; line-height:1; transition:transform .2s; }
.st-faq details[open] summary::after { transform:rotate(45deg); }
.st-faq__a { padding:0 0 16px; font-size:14px; color:var(--ink-2); line-height:1.8; }
.st-faq__a p { margin:0 0 .7em; font-size:14px; }
.st-faq__a p:last-child { margin:0; }

/* ── AUTOR ── */
.st-author {
  display:flex; gap:18px; padding:20px 0; margin:2.5em 0 .5em;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  align-items:flex-start;
}
.st-author__avatar {
  width:56px; height:56px; min-width:56px; border-radius:50%;
  background:var(--st); display:flex; align-items:center;
  justify-content:center; font-size:18px; font-weight:800;
  color:#fff; flex-shrink:0; letter-spacing:-.5px;
}
.st-author__name { font-size:14px; font-weight:700; color:var(--ink); margin:0 0 2px; }
.st-author__role { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--st-d); margin:0 0 6px; }
.st-author__bio { font-size:13px; color:var(--ink-3); line-height:1.65; margin:0; }

/* ── RESPONSIVE ── */
@media(max-width:768px) {
  .st-art { font-size:15px; }
  .st-lead, .st-lead p { font-size:16px; }
  .st-art h2 { font-size:19px; }
  .st-callout { padding:16px 18px; }
  .st-author { flex-direction:column; }
  .st-split__grid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .st-faq summary { font-size:14px; }
  .st-callout__cta { font-size:13px; padding:10px 18px; }
}

.woocommerce-privacy-policy-text { display: none !important; }

/* ── Google Login Button ── */
.nsl-container {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}
.nsl-container-block .nsl-container-buttons {
    width: 100% !important;
    padding: 0 !important;
}
.nsl-container::before {
    content: 'lub' !important;
    order: -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 16px 0 12px !important;
    color: #9ca3af !important;
    font-size: 13px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background-image: linear-gradient(#e4e4e4, #e4e4e4), linear-gradient(#e4e4e4, #e4e4e4) !important;
    background-size: calc(50% - 20px) 1px !important;
    background-position: left center, right center !important;
    background-repeat: no-repeat !important;
}
.nsl-button-google {
    border-radius: 999px !important;
    border: 1.5px solid #e4e4e4 !important;
    background-color: #fff !important;
    box-shadow: none !important;
    height: 50px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    padding: 0 20px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.nsl-button-google::before {
    content: "" !important;
    position: absolute !important;
    left: -4pt !important; top: 0 !important;
    width: calc(100% + 8pt) !important;
    height: 100% !important;
    background: #000 !important;
    pointer-events: none !important;
    z-index: 1 !important;
    border-radius: 100% 100% 0 0 !important;
    transition: transform 0s cubic-bezier(.1,0,.3,1), border-radius .5s cubic-bezier(.1,0,.3,1) !important;
    transform: translate3d(0,100%,0) !important;
}
.nsl-button-google::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -4pt !important; top: 0 !important;
    width: calc(100% + 8pt) !important;
    height: 100% !important;
    background: #000 !important;
    z-index: 1 !important;
    transform: translate3d(0,-105%,0) !important;
    transition: transform .4s cubic-bezier(.1,0,.3,1) !important;
}
.nsl-button-google:hover {
    border-color: #3FDAD8 !important;
    box-shadow: 0 0 0 3px rgba(63,218,216,0.12) !important;
}
.nsl-button-google:hover::before {
    border-radius: 0 !important;
    transform: translateZ(0) !important;
    transition: transform .2s cubic-bezier(.1,0,.3,1), border-radius .5s cubic-bezier(.1,0,.3,1) !important;
}
.nsl-button-google:hover::after {
    transform: translateZ(0) !important;
    transition-delay: .4s !important;
    transition-duration: .05s !important;
    transition-timing-function: linear !important;
}
.nsl-button-google .nsl-button-svg-container {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 2 !important;
}
.nsl-button-google .nsl-button-svg-container svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    display: block !important;
}
.nsl-button-google .nsl-button-label-container {
    color: #111 !important;
    margin: 0 !important;
    font-weight: 600 !important;
    position: relative !important;
    z-index: 2 !important;
    transition: color .3s ease !important;
}
.nsl-button-google:hover .nsl-button-label-container {
    animation: MoveScaleUpInitial .3s forwards, MoveScaleUpEnd .3s .2s forwards !important;
    color: #fff !important;
}

.st-product-bottom .woocommerce-tabs.wc-tabs-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

body.footer-on-bottom #wrapper {
    min-height: unset !important;
}


/* Animacja przycisku Dodaj do koszyka — nadpisanie Kadence */
.woocommerce button.single_add_to_cart_button::before,
.single-product button.single_add_to_cart_button::before {
    content: "" !important;
    position: absolute !important;
    left: -4pt !important; top: 0 !important;
    width: calc(100% + 8pt) !important; height: 100% !important;
    background: #000 !important;
    pointer-events: none !important; z-index: 1 !important;
    border-radius: 100% 100% 0 0 !important;
    transition: transform 0s cubic-bezier(0.1,0,0.3,1), border-radius 0.5s cubic-bezier(0.1,0,0.3,1) !important;
    transform: translate3d(0,100%,0) !important;
}
.woocommerce button.single_add_to_cart_button::after,
.single-product button.single_add_to_cart_button::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -4pt !important; top: 0 !important;
    width: calc(100% + 8pt) !important; height: 100% !important;
    background: #000 !important; z-index: 1 !important;
    transform: translate3d(0,-105%,0) !important;
    transition: transform 0.4s cubic-bezier(0.1,0,0.3,1) !important;
}
.woocommerce button.single_add_to_cart_button:hover::before,
.single-product button.single_add_to_cart_button:hover::before {
    border-radius: 0 !important;
    transform: translateZ(0) scaleX(1) !important;
    transition: transform 0.2s cubic-bezier(0.1,0,0.3,1), border-radius 0.5s cubic-bezier(0.1,0,0.3,1) !important;
}
.woocommerce button.single_add_to_cart_button:hover::after,
.single-product button.single_add_to_cart_button:hover::after {
    transform: translateZ(0) !important;
    transition-delay: 0.4s !important;
    transition-duration: 0.05s !important;
    transition-timing-function: linear !important;
}

a.checkout-button.button.alt.wc-forward {
    position: relative !important;
    overflow: hidden !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.woocommerce-cart .st-coupon-row td::before {
    display: none !important;
    content: none !important;
}


/* ── Nextend Social Login – overlay przekierowania ── */
#nsl-redirect-overlay {
    background-color: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(4px) !important;
}

#nsl-redirect-overlay-container {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 40px 44px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.12) !important;
    align-items: center !important;
    gap: 4px;
}

#nsl-redirect-overlay-spinner {
    border: 3px solid #f0fafa !important;
    border-top: 3px solid #3FDAD8 !important;
    box-shadow: none !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 0 20px 0 !important;
    animation: nsl-loader-spin 0.8s linear infinite !important;
}

#nsl-redirect-overlay-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111 !important;
}

#nsl-redirect-overlay-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #9ca3af !important;
}

/* ================================================
   BLOG SINGLE POST — nawigacja prev/next + poprawki
   ================================================ */

/* ── Nawigacja prev/next z miniaturkami ── */
.st-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 680px;
    margin: 3em auto 0;
    padding: 0;
    font-family: 'Inter', -apple-system, sans-serif;
}

.st-post-nav__item {
    display: flex;
    align-items: stretch;
    text-decoration: none;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--rule, #e8e8e8);
    background: #fff;
    transition: transform 0.35s cubic-bezier(0.23,1,0.32,1),
                box-shadow 0.35s cubic-bezier(0.23,1,0.32,1),
                border-color 0.2s;
    min-height: 110px;
}
.st-post-nav__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    border-color: rgba(63,218,216,0.3);
}
.st-post-nav__empty {
    border: none;
    background: transparent;
}

.st-post-nav__img {
    width: 110px;
    min-width: 110px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    transition: transform 0.5s cubic-bezier(0.23,1,0.32,1);
}
.st-post-nav__item:hover .st-post-nav__img {
    transform: scale(1.05);
}
.st-post-nav__prev .st-post-nav__img {
    border-right: 1px solid var(--rule, #e8e8e8);
}
.st-post-nav__next .st-post-nav__img {
    border-left: 1px solid var(--rule, #e8e8e8);
}

.st-post-nav__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 14px 16px;
    flex: 1;
    min-width: 0;
}

.st-post-nav__label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--st, #3FDAD8);
    margin-bottom: 4px;
}
.st-post-nav__label svg {
    flex-shrink: 0;
}

.st-post-nav__cat {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    color: var(--ink-3, #888);
    margin-bottom: 4px;
}

.st-post-nav__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--ink, #111);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}
.st-post-nav__item:hover .st-post-nav__title {
    color: var(--st-d, #25b5b3);
}

/* Next — tekst wyrównany do prawej */
.st-post-nav__next .st-post-nav__text {
    text-align: right;
}
.st-post-nav__next .st-post-nav__label {
    justify-content: flex-end;
}
.st-post-nav__next .st-post-nav__cat {
    text-align: right;
}

/* ── Zdjęcie wyróżniające — poprawki ── */
.single-post .entry-thumbnail {
    margin-bottom: 0;
}
.single-post .entry-thumbnail img {
    border-radius: 16px;
    max-height: 480px;
    width: 100%;
    object-fit: cover;
}

/* ── Ukryj komentarze na postach ── */
.single-post .comments-area,
.single-post #comments,
.single-post .comment-respond {
    display: none !important;
}

/* ── RESPONSIVE: nawigacja prev/next ── */
@media (max-width: 768px) {
    .st-post-nav {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 2em;
    }
    .st-post-nav__img {
        width: 80px;
        min-width: 80px;
    }
    .st-post-nav__item {
        min-height: 90px;
        border-radius: 12px;
    }
    .st-post-nav__next .st-post-nav__text {
        text-align: left;
    }
    .st-post-nav__next .st-post-nav__label {
        justify-content: flex-start;
    }
    .st-post-nav__title {
        font-size: 13px;
    }
    .st-post-nav__text {
        padding: 12px 14px;
    }

    /* Featured image na mobile */
    .single-post .entry-thumbnail img {
        border-radius: 12px;
        max-height: 280px;
    }
}

@media (max-width: 480px) {
    .st-post-nav__img {
        width: 70px;
        min-width: 70px;
    }
    .st-post-nav__label {
        font-size: 10px;
    }
    .st-post-nav__title {
        font-size: 12px;
        -webkit-line-clamp: 2;
    }
}

/* ── Blog: lepszy spacing na mobile ── */
@media (max-width: 768px) {
    .st-art {
        padding-top: 1.5em;
    }
    .st-art h2 {
        margin-top: 2em;
    }
    .st-meta {
        gap: 6px 10px;
    }
}

/* ================================================
   BLOG HERO — zdjęcie z overlay + tytuł + info pod zdjęciem
   ================================================ */

/* Ukryj domyślny Kadence thumbnail i header gdy jest hero */
.single-post .post-thumbnail.article-post-thumbnail,
.single-post .entry-header.post-title {
    display: none !important;
}

/* ── Hero: zdjęcie + tytuł na overlay ── */
.st-hero-post {
    position: relative;
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-top: -2rem;
    margin-bottom: 0;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    min-height: 420px;
    display: flex;
    align-items: flex-end;
}

.st-hero-post__img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 8s cubic-bezier(0.23,1,0.32,1);
}
.st-hero-post:hover .st-hero-post__img {
    transform: scale(1.03);
}

.st-hero-post__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.03) 0%,
        rgba(0,0,0,0.06) 40%,
        rgba(0,0,0,0.4) 65%,
        rgba(0,0,0,0.8) 100%
    );
    z-index: 1;
}

.st-hero-post__content {
    position: relative;
    z-index: 2;
    padding: 48px 44px;
    width: 100%;
}

.st-hero-post__title {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 720px;
    letter-spacing: -0.03em;
    text-shadow: 0 2px 12px rgba(0,0,0,0.25);
}

/* ── Info bar pod zdjęciem ── */
.st-hero-post-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding: 16px 0;
    margin-bottom: 2em;
    border-bottom: 1px solid var(--rule, #e8e8e8);
    font-family: 'Inter', -apple-system, sans-serif;
}

.st-hero-post-info__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

.st-hero-post-info__cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--st-d, #25b5b3);
    background: var(--st-dim, rgba(63,218,216,0.10));
    padding: 4px 10px;
    border-radius: 999px;
    margin-right: 12px;
}

.st-hero-post-info__date,
.st-hero-post-info__read {
    font-size: 13px;
    color: var(--ink-3, #888);
    font-weight: 500;
}

.st-hero-post-info__sep {
    margin: 0 6px;
    color: var(--ink-4, #c0c0c0);
    font-size: 13px;
}

.st-hero-post-info__author {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink, #111);
}
.st-hero-post-info__updated {
    font-weight: 400;
    color: var(--ink-3, #888);
}

/* ── RESPONSIVE hero ── */
@media (max-width: 1024px) {
    .st-hero-post {
        width: calc(100% + 4rem);
        margin-left: -2rem;
        margin-top: -2rem;
        min-height: 360px;
    }
    .st-hero-post__content { padding: 36px 32px; }
    .st-hero-post__title { font-size: 30px; }
}

@media (max-width: 768px) {
    .st-hero-post {
        width: calc(100% + 3rem);
        margin-left: -1.5rem;
        margin-top: -1.5rem;
        min-height: 300px;
        border-radius: 16px 16px 0 0;
    }
    .st-hero-post__content { padding: 24px 20px; }
    .st-hero-post__title { font-size: 23px; letter-spacing: -0.02em; }

    .st-hero-post-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 14px 0;
        margin-bottom: 1.5em;
    }
}

@media (max-width: 480px) {
    .st-hero-post {
        min-height: 260px;
    }
    .st-hero-post__content { padding: 20px 16px; }
    .st-hero-post__title { font-size: 20px; }
    .st-hero-post-info__read,
    .st-hero-post-info__sep { display: none; }
}

/* Ukryj ręczną sekcję meta w treści, gdy hero jest aktywny */
.entry-content-wrap:has(.st-hero-post) .st-meta {
    display: none;
}
