
/* Toponton AI Blog — czytelność, SEO i konwersja */
.tab-breadcrumbs{font-size:.9em;color:#667085;margin:0 0 14px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.tab-breadcrumbs a{text-decoration:none}
.tab-article-meta{display:flex;gap:18px;flex-wrap:wrap;color:#667085;font-size:.92em;margin:0 0 22px}
.tab-quick-answer{margin:20px 0 18px;padding:18px 20px;border-left:4px solid #ffb100;background:#fffaf0;border-radius:12px}
.tab-quick-answer h2{margin-top:0;margin-bottom:.45em}
.tab-key-points{display:block;margin:20px 0;padding:18px 22px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.tab-key-points>strong{display:block;margin-bottom:8px;font-size:1.05em}
.tab-key-points ul{margin:0;padding-left:1.3em}
.tab-toc{margin:24px 0;padding:20px 24px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}
.tab-toc>strong{display:block;font-size:1.15em;margin-bottom:8px}
.tab-toc ol{margin:0;padding-left:1.25em}
.tab-toc li{margin:.38em 0}
.tab-toc a{text-decoration:none}
.tab-cta{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:18px;align-items:center;margin:32px 0;padding:20px;border:1px solid #edd38b;border-radius:16px;background:#fffaf0}
.tab-cta img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.tab-cta h3{margin:.1em 0 .45em}
.tab-cta p{margin:.35em 0}
.tab-cta-main{background:#ffb100;border-color:#ffb100;color:#151515}
.tab-button{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:9px 12px;border-radius:9px;background:#17212b;color:#fff!important;text-decoration:none!important;font-weight:800}
.tab-cta-main .tab-button{background:#fff;color:#151515!important}
.tab-related{margin:38px 0}
.tab-related h2{margin-bottom:14px}
.tab-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tab-related-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid #e5e7eb;border-radius:14px;text-decoration:none!important;color:inherit!important;background:#fff;transition:transform .15s ease,border-color .15s ease}
.tab-related-card:hover{transform:translateY(-1px);border-color:#ffb100}
.tab-related-card img{width:110px;height:82px;object-fit:cover;border-radius:10px}
.tab-related-card strong,.tab-related-card small{display:block}
.tab-related-card small{color:#667085;margin-top:4px;line-height:1.4}
.tab-faq{margin:38px 0}
.tab-faq-item{padding:15px 0;border-bottom:1px solid #e5e7eb}
.tab-faq-item h3{margin:0 0 6px;font-size:1.08em}
.tab-faq-item p{margin:0}
.tab-blog-figure{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:780px;
  margin:28px auto 34px!important;
  padding:0!important;
  float:none!important;
  clear:both;
  box-sizing:border-box;
}
.tab-blog-figure img,
.tab-blog-image{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:520px;
  margin:0 auto!important;
  border-radius:14px;
  object-fit:contain;
  image-orientation:from-image;
}
.tab-blog-figure figcaption{display:none!important}
.entry-content table,.post-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.entry-content table th,.entry-content table td,.post-content table th,.post-content table td{padding:10px 12px;border:1px solid #e5e7eb}
.entry-content h2,.post-content h2{scroll-margin-top:90px}
@media(max-width:760px){
  .tab-article-meta{gap:7px;flex-direction:column}
  .tab-quick-answer,.tab-toc,.tab-key-points,.tab-cta{padding:16px}
  .tab-card-grid{grid-template-columns:1fr}
  .tab-related-card{grid-template-columns:88px minmax(0,1fr)}
  .tab-related-card img{width:88px;height:72px}
  .tab-cta{grid-template-columns:1fr}
  .tab-cta img{max-width:220px}
}

/* 2.1 — human readability */
.tab-quick-answer p,.tab-key-points li,.tab-faq-item p{max-width:72ch}
.tab-toc a:hover,.tab-related-card:hover strong{text-decoration:underline;text-underline-offset:3px}
.tab-cta p{max-width:66ch}
.entry-content p,.post-content p{overflow-wrap:break-word}
.entry-content h2,.post-content h2{margin-top:1.8em}
.entry-content h3,.post-content h3{margin-top:1.35em}
@media(prefers-reduced-motion:reduce){.tab-related-card{transition:none!important}}


/* 2.2.1 — stabilny layout wpisu i kontrola zdjęć */
.tab-quick-answer,
.tab-key-points,
.tab-toc,
.tab-cta,
.tab-related,
.tab-faq,
.tab-card-grid,
.tab-related-card{
  max-width:100%;
  box-sizing:border-box;
}
.tab-cta>*,
.tab-related-card>*,
.tab-card-grid>*{min-width:0}

body.single-post .entry-content figure figcaption,
body.single-post .post-content figure figcaption,
body.single-post .wp-caption-text{
  display:none!important;
}

/* Zdjęcie wyróżniające — nie pozwól motywowi rozciągnąć go ponad sensowny rozmiar. */
body.single-post img.wp-post-image{
  display:block!important;
  width:auto!important;
  max-width:min(100%,900px)!important;
  height:auto!important;
  max-height:580px;
  margin-left:auto!important;
  margin-right:auto!important;
  object-fit:contain;
  image-orientation:from-image;
  border-radius:16px;
}

/* Usuń wpływ float/align z motywu na fotografie generowanych wpisów. */
body.single-post .tab-blog-figure.alignleft,
body.single-post .tab-blog-figure.alignright,
body.single-post .tab-blog-figure.alignwide,
body.single-post .tab-blog-figure.alignfull{
  float:none!important;
  width:100%!important;
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.tab-related-card strong,
.tab-related-card small,
.tab-cta p,
.tab-cta h3{
  overflow-wrap:anywhere;
}

@media(max-width:760px){
  .tab-blog-figure{
    max-width:100%;
    margin:22px auto 28px!important;
  }
  .tab-blog-figure img,
  .tab-blog-image{
    max-height:430px;
    border-radius:11px;
  }
  body.single-post img.wp-post-image{
    max-width:100%!important;
    max-height:460px;
    border-radius:12px;
  }
}


/* 2.2.2 — stabilniejszy layout wpisu */
.tab-cta{
  display:block!important;
  max-width:760px;
  margin:28px auto!important;
  padding:16px 18px!important;
  border-radius:14px;
  box-sizing:border-box;
}
.tab-cta img,
.tab-cta>img{display:none!important}
.tab-cta-copy{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.tab-cta-copy h3{margin:0!important;font-size:1.05em;line-height:1.35;min-width:0}
.tab-cta-copy .tab-button{margin:0;white-space:nowrap;flex:0 0 auto}

.tab-table-scroll{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:20px 0 26px;
  border-radius:10px;
}
.tab-table-scroll table{
  display:table!important;
  width:100%;
  min-width:560px;
  max-width:none!important;
  margin:0!important;
  border-collapse:collapse;
}
.tab-table-scroll th,
.tab-table-scroll td{
  white-space:normal;
  vertical-align:top;
  overflow-wrap:break-word;
}

.entry-content>.tab-quick-answer,
.entry-content>.tab-key-points,
.entry-content>.tab-toc,
.entry-content>.tab-cta,
.entry-content>.tab-related,
.entry-content>.tab-faq,
.post-content>.tab-quick-answer,
.post-content>.tab-key-points,
.post-content>.tab-toc,
.post-content>.tab-cta,
.post-content>.tab-related,
.post-content>.tab-faq{
  width:100%;
  max-width:100%;
}

@media(max-width:760px){
  .tab-cta-copy{align-items:flex-start;flex-direction:column}
  .tab-cta-copy .tab-button{white-space:normal;width:100%;justify-content:center;text-align:center}
  .tab-table-scroll{margin-left:0;margin-right:0}
}


/* 2.3 — H1, linki, CTA i FAQ */
.tab-article-header{margin:8px 0 14px}
.tab-article-h1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(2rem,5vw,3.35rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em;
  color:inherit;
}

/* W wygenerowanym wpisie tytuł renderuje AI Blog, aby motyw nie mógł go ukryć. */
body.single-post .entry-header .entry-title,
body.single-post .wp-block-post-title{display:none!important}

/* Czytelne linki tekstowe. Przyciski i karty zachowują własny wygląd. */
body.single-post .entry-content a:not(.tab-button):not(.tab-related-card),
body.single-post .post-content a:not(.tab-button):not(.tab-related-card),
.tab-toc a,
.tab-service-cta a,
.tab-source-note a,
.tab-faq a{
  color:#0b57d0!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:3px!important;
}
body.single-post .entry-content a:not(.tab-button):not(.tab-related-card):hover,
body.single-post .post-content a:not(.tab-button):not(.tab-related-card):hover{
  text-decoration-thickness:2px!important;
}

/* CTA jako naturalny fragment tekstu, nie duży banner reklamowy. */
.tab-service-cta{
  max-width:72ch;
  margin:1.5em 0!important;
  padding:.15em 0 .15em 15px;
  border-left:3px solid #ffb100;
  background:transparent!important;
  font-size:1em;
  line-height:1.7;
}
.tab-service-cta strong{font-weight:800}
.tab-source-note{
  max-width:72ch;
  margin:1.25em 0;
  font-size:.95em;
  line-height:1.65;
  color:#4b5563;
}

/* FAQ działa bez JS dzięki details/summary. */
.tab-faq{margin:38px 0}
.tab-faq>h2{margin-bottom:12px}
details.tab-faq-item{
  display:block;
  padding:0!important;
  border:1px solid #e5e7eb!important;
  border-radius:12px;
  background:#fff;
  margin:9px 0;
  overflow:hidden;
}
details.tab-faq-item summary{
  display:list-item;
  cursor:pointer;
  padding:15px 18px;
  font-weight:800;
  line-height:1.4;
}
details.tab-faq-item[open] summary{background:#fffaf0}
.tab-faq-answer{padding:0 18px 16px}
.tab-faq-answer p{margin:0;max-width:72ch;line-height:1.7}

@media(max-width:760px){
  .tab-article-h1{font-size:clamp(1.85rem,9vw,2.6rem)!important}
  .tab-service-cta{padding-left:12px}
  details.tab-faq-item summary{padding:14px}
  .tab-faq-answer{padding:0 14px 14px}
}


/* 2.3.0 — H1, naturalne CTA, linki i FAQ */
.tab-article-header{
  width:100%;
  max-width:100%;
  margin:4px 0 14px;
}
.tab-article-h1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0!important;
  font-size:clamp(2rem,4.2vw,3.35rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em;
  font-weight:850!important;
  color:inherit;
  text-wrap:balance;
}

/* Zwykłe linki w treści są wyraźne i rozpoznawalne. */
body.single-post .entry-content p a,
body.single-post .entry-content li a,
body.single-post .post-content p a,
body.single-post .post-content li a,
.tab-quick-answer a,
.tab-key-points a,
.tab-faq a,
.tab-service-cta a{
  color:#0b63ce!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:3px!important;
}
body.single-post .entry-content p a:hover,
body.single-post .entry-content li a:hover,
body.single-post .post-content p a:hover,
body.single-post .post-content li a:hover,
.tab-service-cta a:hover{
  text-decoration-thickness:2px!important;
}

/* CTA wygląda jak naturalny fragment poradnika, nie osobny banner reklamowy. */
.tab-service-cta{
  display:block!important;
  width:100%;
  max-width:72ch;
  margin:24px 0!important;
  padding:0 0 0 15px!important;
  border:0!important;
  border-left:3px solid #ffb100!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  font-size:1em;
  line-height:1.7;
}
.tab-service-cta strong{font-weight:800}

/* Stare CTA po migracji / cache nie mogą rozpychać treści. */
.tab-cta{
  max-width:72ch!important;
  margin:24px 0!important;
}

/* FAQ: natywny, dostępny accordion. */
.tab-faq{
  margin:42px 0;
  max-width:820px;
}
.tab-faq>h2{margin-bottom:12px}
.tab-faq-item{
  display:block;
  margin:0;
  padding:0;
  border-top:1px solid #e5e7eb;
  border-bottom:0;
}
.tab-faq-item:last-child{border-bottom:1px solid #e5e7eb}
.tab-faq-item summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:17px 42px 17px 0;
  font-weight:800;
  line-height:1.45;
}
.tab-faq-item summary::-webkit-details-marker{display:none}
.tab-faq-item summary::after{
  content:'+';
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  font-size:24px;
  font-weight:500;
}
.tab-faq-item[open] summary::after{content:'–'}
.tab-faq-answer{padding:0 34px 17px 0}
.tab-faq-answer p{margin:0;max-width:72ch}

/* Zewnętrzne źródła są lekkim przypisem, a nie konkurencyjnym CTA. */
.tab-source-note{
  max-width:72ch;
  margin:28px 0;
  padding:12px 14px;
  background:#f8fafc;
  border-left:3px solid #cbd5e1;
  font-size:.94em;
}

/* Treść trzyma jedną czytelną kolumnę. */
body.single-post .entry-content,
body.single-post .post-content{
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .tab-article-h1{font-size:clamp(1.85rem,8vw,2.55rem)!important}
  .tab-service-cta{margin:20px 0!important;padding-left:12px!important}
  .tab-faq-item summary{padding-right:34px}
}


/* Elementor / niestandardowe szablony wpisów Toponton */
body.single-post .elementor-widget-theme-post-content a:not(.tab-button):not(.tab-related-card),
body.single-post .elementor-widget-post-content a:not(.tab-button):not(.tab-related-card){
  color:#0b57d0!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:3px!important;
}

/* 3.1 — jeden schemat wpisu */
.tab-article{width:100%;max-width:100%}
.entry-content>.tab-article,.post-content>.tab-article{width:100%;max-width:100%}
.tab-article>.tab-quick-answer,.tab-article>.tab-key-points,.tab-article>.tab-toc{margin-left:0;margin-right:0}
.tab-article>.tab-faq{margin-top:38px}
