/* ===================================================== 
    PT BLOG & SINGLE – PREMIUM CLINIC STYLE 
===================================================== */ 

.pt-blog *, 
.pt-blog *::before, 
.pt-blog *::after { 
   box-sizing: border-box; 
} 

/* Zmiennes globalne bloga */ 
.pt-blog { 
   --pt-blog-gap: 32px; 
   --pt-blog-radius: 20px; 
   --pt-blog-border: rgba(27, 45, 66, 0.06); 
   --pt-blog-shadow: 0 12px 35px rgba(27, 45, 66, 0.04); 
   --pt-blog-shadow-hover: 0 20px 45px rgba(27, 45, 66, 0.08); 
   --pt-blog-brand: #1b2d42; 
   --pt-blog-brand-hover: #000000; 
   --pt-blog-text: #1b2d42; 
   --pt-blog-muted: #526071; 
   
   padding-top: 40px; 
   padding-bottom: 90px; 
   font-family: 'Montserrat', sans-serif !important; 
} 

.pt-blog.container { 
   width: 100%; 
} 

/* ===================================================== 
    GLOBALNE WYŚRODKOWANIE I ZAOKRĄGLENIE MULTIMEDIÓW 
===================================================== */ 
.pt-single__content img, 
.pt-single__content iframe, 
.pt-single__content video, 
.pt-single__content embed, 
.pt-single__content object { 
   display: block; 
   margin-left: auto; 
   margin-right: auto; 
   max-width: 100%; 
   border-radius: var(--pt-blog-radius); 
   border: none; 
   margin-bottom: 40px; 
} 

.pt-single__content iframe { 
   box-shadow: var(--pt-blog-shadow); 
   background: rgba(27, 45, 66, 0.02); 
} 

/* ===================================================== 
    BLOG – MAIN LAYOUT 
===================================================== */ 
.ptpl__info-icon {
  width: 36px;
  height: 36px;
  background: #0d2344;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Lora', serif;
  font-weight: 600;
  font-size: 18px;
  flex-shrink: 0;
}
.pt-blog__inner { 
   display: grid; 
   grid-template-columns: 1fr 360px; 
   gap: 64px; 
   align-items: start; 
} 

.pt-blog--sidebar-left .pt-blog__inner { 
   grid-template-columns: 360px 1fr; 
} 

.pt-blog--sidebar-none .pt-blog__inner { 
   grid-template-columns: 1fr; 
} 

.pt-blog__content { 
   width: 100%; 
   position: relative; 
} 

.pt-blog__inner::before { 
   content: ''; 
   position: absolute; 
   top: 10%; 
   left: -5%; 
   width: 300px; 
   height: 400px; 
   background: radial-gradient(circle, rgba(27, 45, 66, 0.08) 2px, transparent 2px); 
   background-size: 22px 22px; 
   z-index: 1; 
   pointer-events: none; 
} 

.pt-blog__list { 
   display: flex; 
   flex-direction: column; 
   gap: var(--pt-blog-gap); 
} 

/* ===================================================== 
    BLOG – ROW CARD (SATIN LUXURY) 
===================================================== */ 

.pt-blog-row { 
   display: grid; 
   grid-template-columns: 300px 1fr; 
   gap: 0; 
   align-items: stretch; 
   background: #ffffff; 
   border-radius: var(--pt-blog-radius); 
   overflow: hidden; 
   border: 1px solid var(--pt-blog-border); 
   box-shadow: var(--pt-blog-shadow); 
   position: relative; 
   transition: box-shadow 0.4s cubic-bezier(.16, 1, .3, 1), 
                transform 0.4s cubic-bezier(.16, 1, .3, 1), 
                border-color 0.4s ease; 
} 

.pt-blog-row:hover { 
   box-shadow: var(--pt-blog-shadow-hover); 
   transform: translateY(-4px); 
   border-color: rgba(27, 45, 66, 0.12); 
} 

.pt-blog-row__image { 
   display: block; 
   position: relative; 
   width: 100%; 
   height: 100%; 
   min-height: 280px; 
   overflow: hidden; 
   background: rgba(27, 45, 66, 0.03); 
   margin: 0 !important; 
   padding: 0 !important; 
} 

.pt-blog-row__image img { 
   position: absolute; 
   top: 0; 
   left: 0; 
   width: 100% !important; 
   height: 100% !important; 
   object-fit: cover !important; 
   transform: scale(1.015); 
   transition: transform 0.6s cubic-bezier(.16, 1, .3, 1); 
   border-radius: 0 !important; 
   margin: 0 !important; 
} 

.pt-blog-row:hover .pt-blog-row__image img { 
   transform: scale(1.04); 
} 

.pt-blog-row__img-placeholder { 
   display: block; 
   width: 100%; 
   height: 100%; 
   background: linear-gradient(135deg, #1b2d42 0%, #0f1d2c 100%); 
   position: relative; 
} 

.pt-blog-row__img-placeholder::before { 
   content: 'PT CLINIC'; 
   position: absolute; 
   left: 24px; 
   bottom: 24px; 
   font-family: "Lora", serif !important; 
   font-size: 24px; 
   font-weight: 600; 
   letter-spacing: .02em; 
   color: rgba(255, 255, 255, 0.4); 
} 

.pt-blog-row__content { 
   display: flex; 
   flex-direction: column; 
   padding: 32px; 
   min-height: 280px; 
} 

.pt-blog-row__cat ul { 
   display: flex; 
   flex-wrap: nowrap; 
   align-items: center;
   gap: 8px; 
   margin-bottom:20px;
   padding: 0;
   list-style: none;
} 

.pt-blog-row__cat ul li { 
   padding: 0; 
   margin: 0; 
   list-style: none; 
   display: inline-flex; 
   align-items: center; 
   flex-shrink: 0;
}

.pt-blog-row__cat a { 
padding: 6px 12px;
   border-radius: 999px; 
   background: rgba(27, 45, 66, 0.05); 
   color: var(--pt-blog-brand); 
   font-size: 10px; 
   letter-spacing: .06em; 
   font-weight: 600; 
   text-transform: uppercase; 
   text-decoration: none; 
   line-height: 1; 
   transition: background 0.3s ease, transform 0.3s ease; 
} 

.pt-blog-row__cat a:hover { 
   background: rgba(27, 45, 66, 0.1); 
   transform: translateY(-1px); 
} 

.pt-blog-row__title { 
   font-family: "Lora", serif !important; 
   font-size: 26px; 
   font-weight: 600 !important; 
   line-height: 1.3; 
   margin: 0 0 12px; 
   color: var(--pt-blog-text); 
   letter-spacing: -0.01em; 
} 

.pt-blog-row__title a { 
   color: inherit; 
   text-decoration: none; 
   transition: color 0.25s ease; 
} 

.pt-blog-row__title a:hover { 
   color: var(--pt-blog-brand-hover); 
} 

.pt-blog-row__excerpt { 
   font-size: 15px; 
   line-height: 1.7; 
   color: var(--pt-blog-muted); 
   margin: 0; 
   display: -webkit-box; 
   -webkit-box-orient: vertical; 
   -webkit-line-clamp: 3; 
   overflow: hidden; 
} 

.pt-blog-row__arrow { 
   margin-top: auto; 
   align-self: flex-end; 
   font-size: 22px; 
   opacity: .5; 
   text-decoration: none; 
   color: var(--pt-blog-brand); 
   transition: transform 0.3s ease, opacity 0.3s ease; 
   padding: 5px; 
} 

.pt-blog-row:hover .pt-blog-row__arrow { 
   opacity: 1; 
   transform: translateX(6px); 
} 

.pt-blog-loadmore { 
   display: block; 
   margin: 60px auto 0; 
   padding: 16px 40px; 
   font-family: 'Montserrat', sans-serif !important; 
   font-weight: 600; 
   font-size: 15px; 
   cursor: pointer; 
   border-radius: 999px; 
   border: 1px solid rgba(27, 45, 66, 0.15); 
   background: transparent; 
   color: var(--pt-blog-brand); 
   transition: all 0.3s ease; 
} 

.pt-blog-loadmore:hover { 
   transform: translateY(-2px); 
   background: var(--pt-blog-brand); 
   color: #ffffff; 
   border-color: var(--pt-blog-brand); 
} 

.pt-blog-pagination { 
   margin-top: 60px; 
} 

.pt-blog-pagination ul { 
   display: flex; 
   flex-wrap: wrap; 
   gap: 8px; 
   list-style: none; 
   padding: 0; 
   margin: 0; 
   justify-content: center; 
} 

.pt-blog-pagination a, 
.pt-blog-pagination span { 
   display: inline-flex; 
   align-items: center; 
   justify-content: center; 
   min-width: 44px; 
   height: 44px; 
   padding: 0 10px; 
   border-radius: 999px; 
   border: 1px solid rgba(27, 45, 66, 0.1); 
   background: transparent; 
   text-decoration: none; 
   font-weight: 600; 
   font-size: 13px; 
   color: var(--pt-blog-brand); 
   transition: all 0.25s ease; 
} 

.pt-blog-pagination a:hover { 
   transform: translateY(-2px); 
   background: rgba(27, 45, 66, 0.05); 
   border-color: var(--pt-blog-brand); 
} 

.pt-blog-pagination .current { 
   background: var(--pt-blog-brand); 
   border-color: var(--pt-blog-brand); 
   color: #ffffff; 
} 

/* ===================================================== 
    BLOG – SIDEBAR 
===================================================== */ 

.pt-blog__sidebar { 
   position: sticky; 
   top: 200px; 
   align-self: start; 
} 

.pt-blog__sidebar .widget { 
   margin-bottom: 48px; 
} 

.pt-blog__sidebar .widget-title, 
.pt-blog__sidebar h2, 
.pt-blog__sidebar h3 { 
   font-family: "Lora", serif !important; 
   font-size: 22px; 
   font-weight: 600 !important; 
   line-height: 1.3; 
   margin-bottom: 20px; 
   color: var(--pt-blog-brand); 
} 

.pt-blog__sidebar .widget-title::after, 
.pt-blog__sidebar h2::after, 
.pt-blog__sidebar h3::after { 
   content: ''; 
   display: block; 
   width: 40px; 
   height: 2px; 
   margin-top: 10px; 
   background: var(--pt-blog-brand); 
   opacity: 0.3; 
} 

.pt-blog__sidebar .widget_nav_menu ul, 
.pt-blog__sidebar .widget_categories ul, 
.pt-blog__sidebar .pt-start-here__list, 
.pt-blog__sidebar .pt-blog-catlist { 
   list-style: none; 
   margin: 0; 
   padding: 0; 
   display: flex; 
   flex-direction: column; 
   gap: 12px; 
} 

.pt-blog__sidebar .widget_nav_menu a, 
.pt-blog__sidebar .widget_categories a, 
.pt-blog__sidebar .pt-blog-catlist__link, 
.pt-blog__sidebar .pt-start-here__list a, 
.pt-blog__sidebar .pt-start-here__link { 
   display: flex; 
   align-items: center; 
   justify-content: space-between; 
   padding: 14px 20px; 
   border-radius: 999px; 
   border: 1px solid rgba(27, 45, 66, 0.08); 
   background: #ffffff; 
   color: var(--pt-blog-brand); 
   text-decoration: none; 
   font-weight: 600; 
   font-size: 14.5px; 
   transition: all 0.3s cubic-bezier(.16, 1, .3, 1); 
   box-shadow: 0 4px 15px rgba(27, 45, 66, 0.02); 
} 

.pt-blog__sidebar .widget_nav_menu a:hover, 
.pt-blog__sidebar .widget_categories a:hover, 
.pt-blog__sidebar .pt-blog-catlist__link:hover, 
.pt-blog__sidebar .pt-start-here__list a:hover, 
.pt-blog__sidebar .pt-start-here__link:hover { 
   background: #f8fafc; 
   border-color: rgba(27, 45, 66, 0.15); 
   transform: translateX(4px); 
} 

.pt-blog__sidebar .widget_nav_menu .current-menu-item > a, 
.pt-blog__sidebar .widget_categories .current-cat > a, 
.pt-blog__sidebar .pt-start-here__list .current-menu-item > a { 
   background: var(--pt-blog-brand); 
   border-color: var(--pt-blog-brand); 
   color: #ffffff; 
} 

.pt-blog__sidebar .count, 
.pt-blog__sidebar .pt-blog-catlist__count { 
   font-size: 13px; 
   opacity: .65; 
} 

.pt-blog__sidebar .pt-blog-cta { 
   padding: 40px; 
   background: #1b2d42; 
   color: #ffffff; 
   border-radius: 24px; 
   margin: 40px 0; 
   box-shadow: 0 20px 45px rgba(27, 45, 66, 0.12); 
} 

.pt-blog__sidebar .pt-blog-cta__title { 
   font-family: "Lora", serif !important; 
   font-size: 24px !important; 
   font-weight: 600 !important; 
   color: #ffffff; 
   margin-bottom: 12px; 
} 

.pt-blog__sidebar .pt-blog-cta__text { 
   color: rgba(255, 255, 255, 0.8); 
   margin: 0 0 24px; 
   font-size: 14.5px; 
   line-height: 1.6; 
} 

.pt-blog__sidebar .pt-blog-cta__btn { 
   display: inline-flex; 
   align-items: center; 
   justify-content: center; 
   width: 100%; 
   height: 48px; 
   border-radius: 999px; 
   text-decoration: none; 
   background: #ffffff; 
   color: #1b2d42; 
   font-weight: 600; 
   font-size: 14px; 
   text-transform: uppercase; 
   transition: all 0.25s ease; 
} 

.pt-blog__sidebar .pt-blog-cta__btn:hover { 
   background: rgba(255, 255, 255, 0.95); 
   transform: translateY(-2px); 
} 

.pt-blog__sidebar .pt-blog-cta__phone { 
   display: flex; 
   justify-content: center; 
   margin-top: 20px; 
   text-decoration: none; 
   color: #ffffff; 
   font-weight: 700; 
   font-size: 18px; 
} 

/* ===================================================== 
    SINGLE POST – NOWY NAGŁÓWEK (KATEGORIA, DATA, AUTOR) 
===================================================== */ 

/* Górny pasek: Kategoria (lewa) + Data z ikoną (prawa) */ 
.pt-single__top-bar { 
   display: flex; 
   align-items: center; 
   justify-content: space-between; 
   flex-wrap: wrap; 
   gap: 12px; 
   margin-bottom: 16px; 
} 

.pt-single__top-bar .pt-single__cat { 
   margin: 0; 
} 

.pt-single__top-bar .pt-single__cat ul { 
   margin: 0; 
   padding: 0; 
   list-style: none; 
   display: flex; 
   flex-wrap: wrap; 
   gap: 8px; 
} 

.pt-single__top-bar .pt-single__cat a { 
   display: inline-flex; 
   align-items: center; 
   padding: 6px 16px; 
   border-radius: 999px; 
   background: rgba(27, 45, 66, 0.06); 
   color: var(--pt-blog-brand); 
   font-size: 11.5px; 
   letter-spacing: .06em; 
   font-weight: 600; 
   text-transform: uppercase; 
   text-decoration: none; 
   line-height: 1; 
   transition: all 0.25s ease; 
} 

.pt-single__top-bar .pt-single__cat a:hover { 
   background: var(--pt-blog-brand); 
   color: #ffffff; 
} 

/* Data z ikoną po prawej */ 
.pt-single__date { 
   display: inline-flex; 
   align-items: center; 
   gap: 6px; 
   color: var(--pt-blog-muted); 
   font-size: 12.5px; 
   font-weight: 500; 
   letter-spacing: .02em; 
   text-transform: none; 
   line-height: 1; 
} 

.pt-hero-meta__icon { 
   width: 15px; 
   height: 15px; 
   color: var(--pt-blog-brand); 
   opacity: 0.7; 
} 

/* Tytuł artykułu */ 
.pt-single__title { 
   font-family: "Lora", serif !important; 
   font-size: 42px; 
   font-weight: 600 !important; 
   line-height: 1.25; 
   margin-bottom: 20px; 
   color: var(--pt-blog-text); 
   letter-spacing: -0.01em; 
} 

/* Meta autora pod tytułem */ 
.pt-single__meta { 
   display: flex; 
   align-items: center; 
   flex-wrap: wrap; 
   gap: 16px; 
   margin-bottom: 32px; 
   padding-bottom: 20px; 
   border-bottom: 1px solid rgba(27, 45, 66, 0.08); 
} 

.pt-single__author-box { 
   display: flex; 
   align-items: center; 
} 

.pt-single__author-link { 
   display: flex; 
   align-items: center; 
   gap: 12px; 
   text-decoration: none !important; 
   color: inherit !important; 
   transition: transform 0.3s cubic-bezier(.16, 1, .3, 1); 
} 

.pt-single__author-link:hover { 
   transform: translateX(2px); 
} 

.pt-single__author-avatar { 
   display: block; 
   width: 44px; 
   height: 44px; 
   border-radius: 50%; 
   overflow: hidden; 
   box-shadow: 0 4px 12px rgba(27, 45, 66, 0.08); 
   border: 1px solid rgba(27, 45, 66, 0.1); 
   flex-shrink: 0; 
} 

.pt-single__author-avatar img.pt-author-img { 
   width: 100%; 
   height: 100%; 
   object-fit: cover; 
   display: block; 
} 

.pt-single__author-info { 
   display: flex; 
   flex-direction: column; 
   gap: 2px; 
} 

.pt-single__author-name { 
   font-size: 15px; 
   font-weight: 600; 
   color: var(--pt-blog-brand); 
   line-height: 1.3; 
   transition: color 0.2s ease; 
} 

.pt-single__author-link:hover .pt-single__author-name { 
   color: var(--pt-blog-brand-hover); 
} 

.pt-single__author-pwz { 
   font-size: 12px; 
   color: var(--pt-blog-muted); 
   font-weight: 500; 
   letter-spacing: 0.02em; 
   line-height: 1.2; 
} 

/* ===================================================== 
    PT PLUGIN FAQ 
===================================================== */ 

.pt-plugin-faq { 
   margin: 48px auto; 
   position: relative; 
   overflow: hidden; 
   background-color: #ffffff; 
} 

.pt-plugin-faq-header { 
   text-align: left; 
   position: relative; 
   z-index: 2; 
   margin-bottom: 24px; 
} 

.pt-plugin-faq-title { 
   font-family: "Lora", serif !important; 
   font-weight: 600 !important; 
   font-size: 30px; 
   line-height: 1.25; 
   margin: 0; 
   color: #1b2d42; 
   letter-spacing: -0.01em; 
} 

.pt-plugin-faq-item { 
   border-bottom: 1px solid rgba(27, 45, 66, 0.08); 
   position: relative; 
   z-index: 2; 
} 

.pt-plugin-faq-question { 
   all: unset; 
   display: block; 
   width: 100%; 
   box-sizing: border-box; 
   cursor: pointer; 
   font-family: "Lora", serif !important; 
   font-weight: 600 !important; 
   font-size: 20px; 
   line-height: 1.4; 
   color: #1b2d42; 
   position: relative; 
   padding: 20px 40px 20px 0;  
   user-select: none; 
   transition: color 0.3s ease; 
} 

.pt-plugin-faq-question:hover { 
   color: var(--pt-blog-brand-hover);  
} 

.pt-plugin-faq-question::after { 
   content: "+"; 
   position: absolute; 
   right: 0; 
   top: 50%; 
   transform: translateY(-50%); 
   font-size: 24px; 
   line-height: 1; 
   color: #1b2d42; 
   font-weight: 300; 
   transition: transform .3s ease, opacity .3s ease; 
} 

.pt-plugin-faq-item.is-open .pt-plugin-faq-question::after { 
   content: "–"; 
} 

.pt-plugin-faq-answer { 
   max-height: 0; 
   overflow: hidden; 
   transition: max-height .35s ease; 
} 

.pt-plugin-faq-item.is-open .pt-plugin-faq-answer { 
   max-height: 2000px; 
} 

.pt-plugin-faq-answer > div { 
   padding-top: 0; 
   padding-bottom: 24px; 
   font-family: "Montserrat", sans-serif !important; 
   font-size: 16px !important; 
   line-height: 1.75 !important; 
   color: #526071; 
   font-weight: 400 !important; 
} 

/* ===================================================== 
    BIBLIOGRAFIA I ŹRÓDŁA MEDYCZNE (E-E-A-T) 
===================================================== */ 

.pt-sources-section { 
   margin: 48px 0; 
   padding-top: 20px; 
   position: relative; 
   z-index: 2; 
} 

.pt-sources-title { 
   font-family: 'Lora', serif !important; 
   font-weight: 600 !important; 
   font-size: 24px !important; 
   line-height: 1.3; 
   color: var(--pt-blog-brand); 
   margin: 0 0 20px 0; 
   letter-spacing: -0.01em; 
} 

.pt-sources-list { 
   margin: 0; 
   padding-left: 20px; 
} 

.pt-sources-item { 
   font-family: 'Montserrat', sans-serif !important; 
   font-size: 14.5px !important; 
   line-height: 1.7 !important; 
   color: var(--pt-blog-muted); 
   margin-bottom: 10px; 
} 

.pt-sources-item:last-child { 
   margin-bottom: 0; 
} 

.pt-sources-item::marker { 
   font-weight: 600; 
   color: var(--pt-blog-brand); 
} 

.pt-sources-link { 
   color: var(--pt-blog-brand) !important; 
   text-decoration: underline !important; 
   text-underline-offset: 3px !important;  
   text-decoration-thickness: 1px !important; 
   transition: color 0.2s ease, text-decoration-color 0.2s ease !important; 
   font-weight: 300 !important; 
} 

.pt-sources-link:hover { 
   color: var(--pt-blog-brand-hover) !important; 
   text-decoration-thickness: 2px; 
} 

/* ===================================================== 
    TYPOGRAFIA TREŚCI & POZOSTAŁE ELEMENTY 
===================================================== */ 

.pt-single__lead { 
   font-size: 18px; 
   line-height: 1.8; 
   color: var(--pt-blog-muted); 
   margin-bottom: 48px; 
} 

.pt-single__hero { 
   margin: 0 0 48px; 
   border-radius: 20px; 
   overflow: hidden; 
   box-shadow: var(--pt-blog-shadow); 
} 

.pt-single__hero img { 
   width: 100%; 
   height: auto; 
   display: block; 
} 

.pt-single__content h2, 
.pt-single__content h3 { 
   font-family: "Lora", serif !important; 
   font-size: 30px; 
   font-weight: 600 !important; 
   margin: 20px 0 20px; 
   color: var(--pt-blog-text); 
   letter-spacing: -0.01em; 
} 

.pt-single__content p { 
   font-family: "Montserrat", sans-serif !important; 
   font-size: 17px !important;  
   line-height: 1.75 !important; 
   margin-bottom: 24px; 
   color: var(--pt-blog-text); 
} 

.pt-single__content blockquote { 
   position: relative; 
   margin: 48px 0; 
   padding: 32px 40px; 
   background: #f8fafc; 
   border-left: 4px solid var(--pt-blog-brand); 
   border-radius: 0 16px 16px 0; 
   box-shadow: 0 12px 30px rgba(27, 45, 66, 0.03); 
   overflow: hidden; 
} 

.pt-single__content blockquote::before { 
   content: "“"; 
   position: absolute; 
   top: 5px; 
   left: 20px; 
   font-family: "Lora", serif !important; 
   font-size: 100px; 
   line-height: 1; 
   color: var(--pt-blog-brand); 
   opacity: 0.04; 
   pointer-events: none; 
} 

.pt-single__content blockquote p { 
   font-family: "Lora", serif !important; 
   font-size: 19px !important; 
   line-height: 1.75 !important; 
   font-style: italic; 
   color: var(--pt-blog-brand) !important; 
   margin-bottom: 0 !important; 
   position: relative; 
   z-index: 2; 
} 

.pt-single__content blockquote cite { 
   display: block; 
   margin-top: 14px; 
   font-family: "Montserrat", sans-serif !important; 
   font-size: 13px; 
   font-weight: 600; 
   text-transform: uppercase; 
   letter-spacing: 0.1em; 
   color: var(--pt-blog-muted); 
   font-style: normal; 
} 

.pt-single__content ul, 
.pt-single__content ol { 
   padding-left: 24px; 
   margin-bottom: 28px; 
} 

.pt-single__content li { 
   font-family: "Montserrat", sans-serif !important; 
   margin-bottom: 10px; 
   font-size: 17px !important; 
   line-height: 1.75 !important; 
   color: var(--pt-blog-text); 
} 

.pt-single__content li::marker { 
   color: var(--pt-blog-brand); 
} 

.pt-single__content a, .pt-single__lead a { 
   color: var(--pt-blog-brand); 
   font-weight: 600; 
   text-decoration: underline; 
   transition: color 0.2s ease; 
} 

.pt-single__content a:hover, .pt-single__lead a:hover { 
   color: var(--pt-blog-brand-hover); 
} 

.pt-single__tags { 
   margin-top: 48px; 
} 

.pt-single__tags a { 
   display: inline-block; 
   margin: 6px 8px 0 0; 
   padding: 6px 14px; 
   border-radius: 999px; 
   border: 1px solid rgba(27, 45, 66, 0.1); 
   background: transparent; 
   text-decoration: none; 
   font-size: 13px; 
   font-weight: 600; 
   color: var(--pt-blog-brand); 
   transition: all 0.25s ease; 
} 

.pt-single__tags a:hover { 
   background: rgba(27, 45, 66, 0.05); 
   border-color: var(--pt-blog-brand); 
} 

.pt-single__disclaimer { 
   display: flex; 
   align-items: start; 
   gap: 16px; 
   background: #fdfdfd; 
   padding: 24px; 
   border-radius: 12px; 
   margin: 40px 0; 
} 

.pt-single__disclaimer i,  
.pt-single__disclaimer .icon-info { 
   color: var(--pt-blog-brand); 
   font-size: 20px; 
   margin-top: 2px; 
} 

.pt-single__disclaimer p { 
   font-size: 13.5px !important; 
   line-height: 1.6 !important; 
   color: var(--pt-blog-muted) !important; 
   margin: 0 !important; 
} 

/* LuckyWP TOC */ 
.pt-single__content .lwptoc { 
   border: 1px solid rgba(27, 45, 66, 0.08) !important; 
   background: #f8fafc !important; 
   padding: 30px !important; 
   border-radius: 16px !important; 
   margin: 40px 0 48px 0 !important; 
   box-shadow: var(--pt-blog-shadow) !important; 
   width: 100% !important; 
   max-width: 100% !important; 
   float: none !important; 
} 

.pt-single__content .lwptoc_i { 
   padding: 0 !important; 
} 

.pt-single__content .lwptoc_header { 
   display: flex !important; 
   justify-content: space-between !important; 
   align-items: center !important; 
   margin-bottom: 18px !important; 
   border-bottom: 1px solid rgba(27, 45, 66, 0.08) !important; 
   padding-bottom: 14px !important; 
} 

.pt-single__content .lwptoc_title { 
   font-family: "Lora", serif !important; 
   font-size: 20px !important; 
   font-weight: 600 !important; 
   color: var(--pt-blog-text) !important; 
   letter-spacing: -0.01em !important; 
} 

.pt-single__content .lwptoc_toggle_label { 
   font-family: "Montserrat", sans-serif !important; 
   font-size: 12px !important; 
   font-weight: 600 !important; 
   text-transform: uppercase !important; 
   letter-spacing: 0.05em !important; 
   color: var(--pt-blog-muted) !important; 
   text-decoration: none !important; 
   transition: color 0.2s ease !important; 
} 

.pt-single__content .lwptoc_toggle_label:hover { 
   color: var(--pt-blog-brand-hover) !important; 
} 

.pt-single__content .lwptoc_items { 
   margin: 0 !important; 
   padding: 0 !important; 
} 

.pt-single__content .lwptoc_itemWrap { 
   display: flex !important; 
   flex-direction: column !important; 
   gap: 12px !important; 
} 
.pt-single__content .lwptoc_itemWrap .lwptoc_itemWrap { 
   margin: 14px 0 0 14px; 
} 

.pt-single__content .lwptoc_item a { 
   display: inline-flex !important; 
   align-items: flex-start !important; 
   color: var(--pt-blog-brand) !important; 
   text-decoration: none !important; 
   font-weight: 600 !important; 
   font-size: 15px !important; 
   line-height: 1.5 !important; 
   transition: all 0.3s cubic-bezier(.16, 1, .3, 1) !important; 
} 

.pt-single__content .lwptoc_item a::before { 
   content: "—" !important; 
   margin-right: 10px !important; 
   color: var(--pt-blog-brand) !important; 
   opacity: 0.4 !important; 
   transition: opacity 0.3s ease, transform 0.3s ease !important; 
} 

.pt-single__content .lwptoc_item a:hover { 
   color: var(--pt-blog-brand-hover) !important; 
   transform: translateX(4px) !important; 
} 

.pt-single__content .lwptoc_item a:hover::before { 
   opacity: 1 !important; 
} 

.pt-single__content .lwptoc_item a.is-active { 
   color: var(--pt-blog-brand-hover) !important; 
   font-weight: 700 !important; 
} 

.pt-single__content .lwptoc_item a.is-active::before { 
   opacity: 1 !important; 
   transform: scaleX(1.3) !important; 
} 

/* Wizytówka Autora na dole wpisu */ 
.pt-single__author-footer { 
   display: grid; 
   grid-template-columns: 140px 1fr; 
   gap: 36px; 
   align-items: start; 
   background: #f8fafc; 
   border: 1px solid rgba(27, 45, 66, 0.05); 
   border-left: 4px solid var(--pt-blog-brand); 
   padding: 40px; 
   border-radius: 0 20px 20px 0; 
   margin-top: 60px; 
   box-shadow: var(--pt-blog-shadow); 
} 

.pt-single__author-footer-left { 
   display: flex; 
   flex-direction: column; 
   align-items: center; 
   gap: 16px; 
} 

.pt-single__author-footer-avatar { 
   display: block; 
   width: 100px; 
   height: 100px; 
   border-radius: 50%; 
   overflow: hidden; 
   box-shadow: 0 10px 25px rgba(27, 45, 66, 0.08); 
   border: 2px solid #ffffff; 
} 

.pt-single__author-footer-avatar img { 
   width: 100%; 
   height: 100%; 
   object-fit: cover; 
   display: block; 
} 

.pt-single__author-socials { 
   display: flex; 
   flex-wrap: nowrap; 
   justify-content: center; 
   gap: 6px; 
   width: 100%; 
} 

.pt-single__author-socials a { 
   display: inline-flex; 
   align-items: center; 
   justify-content: center; 
   width: 28px; 
   height: 28px; 
   border-radius: 50%; 
   background: rgba(27, 45, 66, 0.04); 
   color: var(--pt-blog-brand) !important; 
   font-size: 12px; 
   text-decoration: none !important; 
   transition: all 0.3s cubic-bezier(.16, 1, .3, 1); 
} 

.pt-single__author-socials a:hover { 
   background: var(--pt-blog-brand); 
   color: #ffffff !important; 
   transform: translateY(-2px); 
   box-shadow: 0 4px 10px rgba(27, 45, 66, 0.1); 
} 

.pt-single__author-footer-content { 
   display: flex; 
   flex-direction: column; 
} 

.pt-single__author-footer-label { 
   font-family: 'Montserrat', sans-serif !important; 
   font-size: 11px; 
   font-weight: 600; 
   text-transform: uppercase; 
   letter-spacing: 0.12em; 
   color: var(--pt-blog-muted); 
   margin-bottom: 6px; 
} 

.pt-single__author-footer-title { 
   font-family: "Lora", serif !important; 
   font-size: 24px !important; 
   font-weight: 600 !important; 
   color: var(--pt-blog-brand) !important; 
   margin: 0 0 14px 0 !important; 
   letter-spacing: -0.01em; 
} 

.pt-single__author-footer-bio { 
   font-family: 'Montserrat', sans-serif !important; 
   font-size: 14.5px !important; 
   line-height: 1.7 !important; 
   color: var(--pt-blog-muted) !important; 
   margin: 0 0 20px 0 !important; 
} 

.pt-single__author-footer-btn { 
   font-family: 'Montserrat', sans-serif !important; 
   font-size: 14px !important; 
   font-weight: 600; 
   color: var(--pt-blog-brand); 
   text-decoration: none !important; 
   display: inline-flex; 
   align-items: center; 
   align-self: flex-start; 
   transition: color 0.25s ease; 
} 

.pt-single__author-footer-btn .pt-arrow { 
   margin-left: 6px; 
   transition: transform 0.25s cubic-bezier(.16, 1, .3, 1); 
} 

.pt-single__author-footer-btn:hover { 
   color: var(--pt-blog-brand-hover); 
} 

.pt-single__author-footer-btn:hover .pt-arrow { 
   transform: translateX(4px); 
} 

/* Tabele w artykule */ 
.pt-single__content table { 
   width: 100%; 
   border-collapse: collapse; 
   margin: 48px 0; 
   font-size: 15px; 
   line-height: 1.6; 
   background: #ffffff; 
   box-shadow: var(--pt-blog-shadow); 
   border-radius: 16px; 
   overflow: hidden; 
   border: 1px solid var(--pt-blog-border); 
} 

.pt-single__content th, 
.pt-single__content td { 
   padding: 18px 24px; 
   text-align: left; 
   vertical-align: middle; 
   border-bottom: 1px solid rgba(27, 45, 66, 0.06); 
   color: var(--pt-blog-text); 
   font-family: "Montserrat", sans-serif !important; 
} 

.pt-single__content thead th { 
   font-weight: 600; 
   font-size: 12px; 
   text-transform: uppercase; 
   letter-spacing: .08em; 
   color: var(--pt-blog-brand); 
   background: #f8fafc; 
   border-bottom: 2px solid rgba(27, 45, 66, 0.08); 
} 

.pt-single__content tr { 
   transition: background-color 0.2s ease; 
} 

.pt-single__content tbody tr:hover { 
   background-color: #f8fafc; 
} 

.pt-single__content td:first-child { 
   font-weight: 600; 
   color: var(--pt-blog-brand); 
} 

.pt-single__content tbody tr:last-child td { 
   border-bottom: none; 
} 

/* Sekcja komentarzy */ 
#comments { 
   margin-top: 80px; 
   padding-top: 50px; 
   border-top: 1px solid rgba(27, 45, 66, 0.1); 
   font-family: 'Montserrat', sans-serif !important; 
} 

.comments-title { 
   font-family: "Lora", serif !important; 
   font-size: 28px !important; 
   font-weight: 600 !important; 
   color: var(--pt-blog-brand); 
   margin-bottom: 32px; 
} 

#comments a { 
   color: var(--pt-blog-brand); 
   font-weight: 600; 
   text-decoration: underline; 
   transition: color 0.2s ease; 
} 

#comments a:hover { 
   color: var(--pt-blog-brand-hover); 
} 

#comments ol.comment-list { 
   list-style: none; 
   padding: 0; 
   margin: 0; 
   display: flex; 
   flex-direction: column; 
   gap: 24px; 
} 

#comments li.comment { 
   position: relative; 
   margin-bottom: 0; 
   padding: 28px; 
   background: #ffffff; 
   border-radius: 18px; 
   border: 1px solid rgba(27, 45, 66, 0.06); 
   box-shadow: var(--pt-blog-shadow); 
   transition: border-color 0.3s ease, box-shadow 0.3s ease; 
} 

#comments li.comment:hover { 
   border-color: rgba(27, 45, 66, 0.12); 
   box-shadow: var(--pt-blog-shadow-hover); 
} 

#comments ol.children { 
   list-style: none; 
   padding-left: 36px; 
   margin-top: 24px; 
   margin-bottom: 0; 
   border-left: 2px dashed rgba(27, 45, 66, 0.1); 
   display: flex; 
   flex-direction: column; 
   gap: 20px; 
} 

#comments .comment-author { 
   display: flex; 
   align-items: center; 
   gap: 14px; 
   margin-bottom: 10px; 
} 

#comments .comment-author img.avatar { 
   width: 48px; 
   height: 48px; 
   border-radius: 50%; 
   object-fit: cover; 
   border: 2px solid #ffffff; 
   box-shadow: 0 4px 12px rgba(27, 45, 66, 0.08); 
} 

#comments .comment-author .fn { 
   font-family: 'Montserrat', sans-serif !important; 
   font-weight: 600; 
   font-size: 15px; 
   font-style: normal; 
   color: var(--pt-blog-brand); 
} 

#comments .comment-author .says { 
   display: none; 
} 

#comments .comment-metadata { 
   font-size: 12.5px; 
   color: var(--pt-blog-muted); 
   margin-bottom: 14px; 
   letter-spacing: 0.02em; 
} 

#comments .comment-metadata a { 
   color: var(--pt-blog-muted); 
   text-decoration: none; 
   transition: color 0.2s ease; 
} 

#comments .comment-metadata a:hover { 
   color: var(--pt-blog-brand); 
} 

#comments .comment-content { 
   font-family: "Montserrat", sans-serif !important; 
   font-size: 15px; 
   line-height: 1.7; 
   color: var(--pt-blog-text); 
   margin-bottom: 16px; 
} 

#comments .comment-content p { 
   margin-bottom: 12px; 
} 

#comments .comment-content p:last-child { 
   margin-bottom: 0; 
} 

#comments .reply { 
   display: flex; 
   justify-content: flex-end; 
} 

#comments .reply a { 
   display: inline-flex; 
   align-items: center; 
   gap: 6px; 
   padding: 6px 16px; 
   border-radius: 999px; 
   background: rgba(27, 45, 66, 0.04); 
   color: var(--pt-blog-brand); 
   font-size: 13px; 
   font-weight: 600; 
   text-decoration: none !important; 
   transition: all 0.25s ease; 
} 

#comments .reply a:hover { 
   background: var(--pt-blog-brand); 
   color: #ffffff; 
   transform: translateY(-1px); 
   box-shadow: 0 4px 12px rgba(27, 45, 66, 0.1); 
} 

/* Formularz komentarza (#respond) */ 
#respond { 
   margin-top: 60px; 
   padding: 40px; 
   background: #f8fafc; 
   border-radius: 24px; 
   border: 1px solid rgba(27, 45, 66, 0.06); 
   box-shadow: var(--pt-blog-shadow); 
} 

#reply-title { 
   font-family: "Lora", serif !important; 
   font-size: 24px !important; 
   font-weight: 600 !important; 
   margin-bottom: 8px; 
   color: var(--pt-blog-brand); 
} 

#reply-title small { 
   display: block; 
   margin-top: 6px; 
   font-family: 'Montserrat', sans-serif !important; 
   font-size: 13px; 
   font-weight: 400; 
   color: var(--pt-blog-muted); 
} 

#reply-title small a { 
   color: var(--pt-blog-brand); 
   text-decoration: underline; 
} 

.comment-form { 
   margin-top: 24px; 
   display: flex; 
   flex-direction: column; 
   gap: 20px; 
} 

.comment-notes, 
.logged-in-as { 
   font-size: 13.5px; 
   color: var(--pt-blog-muted); 
   margin-bottom: 4px; 
} 

#commentform label { 
   display: block; 
   font-size: 11.5px; 
   font-weight: 600; 
   letter-spacing: .08em; 
   text-transform: uppercase; 
   color: var(--pt-blog-brand); 
   margin-bottom: 8px; 
   opacity: 0.85; 
} 

#commentform textarea, 
#commentform input[type="text"], 
#commentform input[type="email"], 
#commentform input[type="url"] { 
   width: 100%; 
   padding: 14px 18px; 
   border-radius: 12px; 
   border: 1px solid rgba(27, 45, 66, 0.15); 
   font-size: 15px; 
   font-family: 'Montserrat', sans-serif !important; 
   background: #ffffff; 
   color: var(--pt-blog-text); 
   box-sizing: border-box; 
   transition: all 0.3s ease; 
} 

#commentform textarea { 
   min-height: 150px; 
   resize: vertical; 
} 

#commentform textarea:focus, 
#commentform input[type="text"]:focus, 
#commentform input[type="email"]:focus, 
#commentform input[type="url"]:focus { 
   outline: none; 
   border-color: var(--pt-blog-brand); 
   background: #ffffff; 
   box-shadow: 0 0 0 4px rgba(27, 45, 66, 0.06); 
} 

.form-submit { 
   margin-top: 10px; 
   margin-bottom: 0; 
} 

#commentform input.submit, 
#commentform button.submit { 
   display: inline-flex; 
   align-items: center; 
   justify-content: center; 
   padding: 14px 36px; 
   border-radius: 999px; 
   border: none; 
   background: var(--pt-blog-brand); 
   color: #ffffff; 
   font-family: 'Montserrat', sans-serif !important; 
   font-weight: 600; 
   font-size: 14.5px; 
   text-transform: uppercase; 
   letter-spacing: 0.04em; 
   cursor: pointer; 
   transition: all 0.3s cubic-bezier(.16, 1, .3, 1); 
   box-shadow: 0 8px 20px rgba(27, 45, 66, 0.15); 
} 

#commentform input.submit:hover, 
#commentform button.submit:hover { 
   transform: translateY(-2px); 
   background: var(--pt-blog-brand-hover); 
   box-shadow: 0 12px 25px rgba(27, 45, 66, 0.25); 
} 

.comment-form-cookies-consent { 
   display: flex; 
   align-items: flex-start; 
   gap: 10px; 
   font-size: 13px; 
   color: var(--pt-blog-muted); 
} 

.comment-form-cookies-consent input[type="checkbox"] { 
   margin-top: 3px; 
   accent-color: var(--pt-blog-brand); 
} 

/* ===================================================== 
    RESPONSYWNOŚĆ (RWD) – TABLETY I MOBILE 
===================================================== */ 

@media (max-width: 1024px) { 
   .pt-blog__inner { 
      grid-template-columns: 1fr; 
      gap: 48px; 
   } 
   .pt-blog__inner::before { 
      display: none; 
   }      
   .pt-blog__sidebar { 
      position: static; 
      margin-top: 20px; 
   } 
   .pt-blog-row__content { 
      min-height: auto; 
      padding-right: 32px; 
   } 
} 

@media (max-width: 768px) { 
   .pt-blog { 
      padding-top: 40px; 
      padding-bottom: 40px; 
   } 
   .pt-blog-row { 
      grid-template-columns: 1fr; 
      gap: 0; 
   } 
   .pt-blog-row__image { 
      height: 240px; 
      min-height: auto; 
   } 
   .pt-blog-row__content { 
      padding: 15px; 
   } 
   .pt-single__title {
	 font-size: 32px !important;   
   }
   .pt-blog-row__title { 
      font-size: 22px !important; 
   } 
   .pt-blog-row__excerpt { 
      -webkit-line-clamp: 4; 
   } 
   .pt-blog-row__arrow { 
      margin-top: 16px; 
      align-self: flex-start; 
      padding: 0; 
   } 
.pt-single__content blockquote p { 
   font-size: 17px !important; 
}
   /* Górny pasek mobilny (Kategoria + Data) */ 
   .pt-single__top-bar { 
      margin-bottom: 14px; 
   } 

   .pt-single__top-bar .pt-single__cat a { 
      padding: 5px 12px; 
      font-size: 10.5px; 
   } 

   .pt-single__date { 
      font-size: 11.5px; 
   } 

   .pt-hero-meta__icon { 
      width: 14px; 
      height: 14px; 
   } 

   /* Meta autora mobilnie */ 
   .pt-single__meta { 
      margin-bottom: 24px; 
      padding-bottom: 16px; 
   } 

   .pt-single__author-avatar { 
      width: 40px; 
      height: 40px; 
   } 

   .pt-single__author-name { 
      font-size: 14px; 
   } 

   .pt-single__author-pwz { 
      font-size: 11px; 
   } 

   /* FAQ Mobile */ 
   .pt-plugin-faq-title { 
      font-size: 26px !important; 
   } 
   .pt-plugin-faq-question { 
      font-size: 18px !important; 
      padding: 16px 35px 16px 0; 
   } 

   /* Bibliografia Mobile */ 
   .pt-sources-section { 
      margin: 36px 0; 
   } 
   .pt-sources-title { 
      font-size: 20px !important; 
   } 
   .pt-sources-item { 
      font-size: 13.5px !important; 
   } 

   /* Tabele Mobile */ 
   .pt-single__content table, 
   .pt-single__content thead, 
   .pt-single__content tbody, 
   .pt-single__content th, 
   .pt-single__content td, 
   .pt-single__content tr { 
      display: block; 
      width: 100%; 
   } 
   .pt-single__content thead { 
      display: none; 
   } 
   .pt-single__content tr { 
      margin-bottom: 20px; 
      padding: 20px; 
      border-radius: 14px; 
      background: #ffffff; 
      border: 1px solid rgba(27, 45, 66, 0.08); 
      box-shadow: 0 8px 20px rgba(27, 45, 66, 0.04); 
   } 
   .pt-single__content td { 
      padding: 0; 
      border: none; 
      margin-bottom: 12px; 
      font-size: 14.5px; 
   } 
   .pt-single__content td:last-child { 
      margin-bottom: 0; 
   } 
   .pt-single__content td::before { 
      content: attr(data-label); 
      display: block; 
      font-size: 11px; 
      font-weight: 600; 
      letter-spacing: .05em; 
      text-transform: uppercase; 
      color: var(--pt-blog-muted); 
      margin-bottom: 4px; 
   } 
   .pt-single__content td:first-child { 
      font-size: 17px; 
      margin-bottom: 14px; 
      color: var(--pt-blog-brand); 
   } 
   .pt-single__content td:first-child::before { 
      display: none; 
   } 

   /* Wizytówka dolna Mobile */ 
   .pt-single__author-footer { 
      grid-template-columns: 1fr; 
      gap: 20px; 
      padding: 30px 24px; 
      text-align: center; 
      margin-top: 48px; 
      border-radius: 0 16px 16px 0; 
   } 
   .pt-single__author-footer-left { 
      margin: 0 auto; 
      gap: 12px; 
   } 
   .pt-single__author-footer-avatar { 
      width: 110px; 
      height: 110px; 
   } 
   .pt-single__author-socials { 
      gap: 10px; 
      flex-wrap: wrap; 
   } 
   .pt-single__author-footer-content { 
      align-items: center; 
   } 
   .pt-single__author-footer-btn { 
      align-self: center; 
   } 

   /* Komentarze Mobile */ 
   #comments { 
      margin-top: 60px; 
      padding-top: 36px; 
   } 
   .comments-title { 
      font-size: 24px !important; 
      margin-bottom: 24px; 
   } 
   #comments li.comment { 
      padding: 20px; 
      border-radius: 14px; 
   } 
   #comments ol.children { 
      padding-left: 16px; 
      margin-top: 16px; 
      gap: 16px; 
      border-left-width: 1.5px; 
   } 
   #comments .comment-author img.avatar { 
      width: 40px; 
      height: 40px; 
   } 
   #comments .comment-author .fn { 
      font-size: 14px; 
   } 
   #comments .comment-content { 
      font-size: 14px; 
      line-height: 1.6; 
   } 

   #respond { 
      padding: 24px 20px; 
      border-radius: 18px; 
      margin-top: 40px; 
   } 
   #reply-title { 
      font-size: 21px !important; 
   } 
   #commentform textarea, 
   #commentform input[type="text"], 
   #commentform input[type="email"], 
   #commentform input[type="url"] { 
      padding: 12px 16px; 
      font-size: 14px; 
   } 
   #commentform input.submit, 
   #commentform button.submit { 
      width: 100%; 
      padding: 14px 20px; 
      font-size: 14px; 
      justify-content: center; 
   } 
}