/* IPG Single Post Boost styles */
.ipgs-wrap{ padding: 24px 0 40px; }
.ipgs-container{ width:min(1200px,92vw); margin:0 auto; display:grid; grid-template-columns: minmax(0,1fr) 360px; gap:32px; }
@media (max-width:1024px){ .ipgs-container{ grid-template-columns: 1fr; } }
.hide-on-mobile{ display:block; }
@media (max-width:1024px){ .hide-on-mobile{ display:none !important; } }

.ipgs-main{ max-width: var(--ipgs-content-max, 760px); }
.ipgs-breadcrumbs{ font-size:.85rem; color:#64748b; margin-bottom:10px; }
.ipgs-breadcrumbs a{ color:#3b82f6; text-decoration:none; }
.ipgs-breadcrumbs a:hover{ text-decoration:underline; }

.ipgs-title{ font-size: clamp(1.8rem, 3vw, 2.4rem); line-height:1.2; margin: 8px 0 8px; color:#0f172a; }
.ipgs-meta{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:#475569; margin-bottom:14px; font-size:.95rem; }
.ipgs-meta .ipgs-cats a{ background:#eef2ff; color:#3730a3; text-decoration:none; padding:4px 10px; border-radius:999px; font-size:.8rem; }
.ipgs-sep{ opacity:.6; }

.ipgs-hero{ margin: 10px 0 20px; overflow:hidden; border-radius:12px; }
.ipgs-hero img{ width:100%; height:auto; display:block; }

.ipgs-toc{ border:1px solid #e5e7eb; border-radius:12px; padding:12px; margin: 10px 0 18px; background:#fff; }
.ipgs-toc-toggle{ all:unset; display:flex; justify-content:space-between; align-items:center; width:100%; cursor:pointer; font-weight:600; }
.ipgs-toc-list{ margin-top:10px; display:block; }
.ipgs-toc.is-collapsed .ipgs-toc-list{ display:none; }
.ipgs-toc-list ul{ list-style:none; padding-left:0; }
.ipgs-toc-list li{ margin:6px 0; }
.ipgs-toc-list a{ text-decoration:none; color:#0f172a; }
.ipgs-toc-list a:hover{ color:#1d4ed8; }

.ipgs-content{ color:#0f172a; font-size:18px; line-height:1.7; }
.ipgs-content h2{ font-size: clamp(1.6rem, 2.5vw, 2rem); margin: 28px 0 10px; }
.ipgs-content h3{ font-size: clamp(1.3rem, 2vw, 1.5rem); margin: 22px 0 8px; }
.ipgs-content img{ border-radius:12px; }
.ipgs-content figure{ margin: 18px 0; }
.ipgs-content ul, .ipgs-content ol{ margin: 0 0 1rem 1.25rem; }
.ipgs-content a{ color:#1d4ed8; text-decoration:underline; }

.ipgs-share{ display:flex; align-items:center; gap:12px; margin: 22px 0; flex-wrap:wrap; }
.ipgs-share-label{ color:#475569; }
.ipgs-share a{ text-decoration:none; border:1px solid #e5e7eb; padding:6px 10px; border-radius:10px; }
.ipgs-share a:hover{ background:#0f172a; color:#fff; border-color:#0f172a; }

.ipgs-author{ display:flex; gap:14px; align-items:flex-start; border:1px solid #e5e7eb; border-radius:12px; padding:14px; margin: 22px 0; background:#fff; }
.ipgs-author-avatar img{ border-radius:50%; }
.ipgs-author-name{ margin:2px 0 4px; font-size:1rem; }
.ipgs-author-desc{ margin:0; color:#475569; font-size:.95rem; }

.ipgs-post-nav{ display:flex; justify-content:space-between; gap:16px; margin: 24px 0; }
.ipgs-post-nav a{ text-decoration:none; border:1px solid #e5e7eb; padding:8px 12px; border-radius:10px; display:inline-block; }
.ipgs-post-nav a:hover{ background:#111827; color:#fff; border-color:#111827; }

.ipgs-related{ margin: 30px 0 10px; }
.ipgs-related-title{ font-size:1.25rem; margin: 0 0 12px; }
.ipgs-related-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
@media (max-width:1024px){ .ipgs-related-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .ipgs-related-grid{ grid-template-columns: 1fr; } }
.ipgs-related-card{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; }
.ipgs-related-thumb{ display:block; aspect-ratio: 16/9; overflow:hidden; }
.ipgs-related-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ipgs-related-thumb--ph{ width:100%; height:100%; background:#e5e7eb; display:block; }
.ipgs-related-title-sm{ font-size:1rem; margin: 10px 12px 4px; line-height:1.3; }
.ipgs-related-title-sm a{ text-decoration:none; color:#111827; }
.ipgs-related-date{ display:block; font-size:.85rem; color:#64748b; margin: 0 12px 12px; }

.ipgs-sidebar{ position:static; height: auto; }
.ipgs-widget{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:14px; margin-bottom:16px; }
.ipgs-widget-title{ margin:0 0 10px; font-size:1.1rem; }
.ipgs-latest{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ipgs-latest-item{ display:flex; gap:10px; align-items:flex-start; }
.ipgs-latest-thumb{ display:block; width:72px; height:72px; overflow:hidden; border-radius:8px; flex: 0 0 72px; background:#e5e7eb; }
.ipgs-latest-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ipgs-thumb-ph{ display:block; width:100%; height:100%; background:#e5e7eb; }
.ipgs-latest-title{ text-decoration:none; color:#0f172a; display:block; line-height:1.3; }
.ipgs-latest-title:hover{ color:#1d4ed8; }
.ipgs-latest-date{ display:block; color:#64748b; font-size:.85rem; margin-top:4px; }

body.single-post .site-main, body.single-post .entry-content{ max-width:none !important; }

/* ===== Enhanced Table of Contents (v1.1) ===== */
.ipgs-toc{ background:#ffffff; border:1px solid #e5e7eb; border-radius:14px; padding:14px; margin: 16px 0 22px; box-shadow: 0 8px 20px rgba(15,23,42,.04); }
.ipgs-toc-toggle{ padding:6px 8px; border-radius:10px; font-weight:700; color:#0f172a; }
.ipgs-toc-toggle svg{ transition: transform .25s ease; }
.ipgs-toc.is-collapsed .ipgs-toc-toggle svg{ transform: rotate(-90deg); }

.ipgs-toc-list{ margin-top:8px; }
.ipgs-toc-list ul{ list-style: none; padding-left: 0; margin: 0; position: relative; }
.ipgs-toc-list li{ position: relative; padding: 6px 8px 6px 22px; border-radius: 8px; }
.ipgs-toc-list li::before{ content: ""; position:absolute; left: 8px; top: 14px; width: 6px; height: 6px; border-radius: 999px; background: #94a3b8; }
.ipgs-toc-list li:hover{ background:#f8fafc; }
.ipgs-toc-list li.is-active{ background:#eef2ff; }
.ipgs-toc-list li.is-active::before{ background:#1d4ed8; }

/* Indent H3s a bit more and draw a subtle guide line */
.ipgs-toc-list li.is-h3{ margin-left: 14px; }
.ipgs-toc-list li.is-h3::after{ content:""; position:absolute; left: 11px; top: 6px; bottom: 6px; width: 1px; background: linear-gradient(#e5e7eb, #e5e7eb); }

.ipgs-toc-list a{ text-decoration: none; color:#0f172a; display:inline-block; line-height:1.4; }
.ipgs-toc-list a:hover{ color:#1d4ed8; text-decoration: underline; }


/* ===== Sidebar CTA Card ===== */
.ipgs-cta-card{
  display:flex; align-items:center; justify-content:space-between;
  background: linear-gradient(135deg, #1d4ed8 0%, #9333ea 100%);
  color:#fff; border-radius:18px; padding:18px; position:relative; overflow:hidden;
  box-shadow:0 10px 30px rgba(2,6,23,.15);
}
.ipgs-cta-body{ max-width: 70%; }
.ipgs-cta-eyebrow{ font-size:.75rem; letter-spacing:.06em; opacity:.9; margin-bottom:6px; text-transform:uppercase; }
.ipgs-cta-title{ margin:0 0 6px; font-size:1.05rem; line-height:1.3; }
.ipgs-cta-text{ margin:0 0 12px; font-size:.875rem; opacity:.95; }
.ipgs-cta-button{
  display:inline-block; background:#fff; color:#1d4ed8; font-weight:700; padding:10px 14px; border-radius:10px; text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.ipgs-cta-button:hover{ transform: translateY(-2px); box-shadow:0 8px 16px rgba(255,255,255,.25); }
.ipgs-cta-badge{
  position:absolute; right:12px; bottom:-10px; width:66px; height:66px; border-radius:50%;
  background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:1.05rem; letter-spacing:.04em;
}
@media (max-width: 1024px){
  .ipgs-cta-body{ max-width:100%; }
  .ipgs-cta-badge{ display:none; }
}


/* ===== New Blue CTA (v1.3) ===== */
.ipgs-cta-blue{
  background:#1f3a74; /* deep blue */
  border-radius:22px;
  padding:22px 18px 20px;
  box-shadow:0 10px 30px rgba(2,6,23,.15);
  color:#fff;
}
.ipgs-cta-icon{ font-size:28px; line-height:1; margin-bottom:10px; }
.ipgs-cta-hl{
  margin:0 0 10px 0; 
  font-size:1.55rem; 
  line-height:1.2; 
  font-weight:800; 
  letter-spacing:.2px;
}
.ipgs-cta-lead{
  margin:0 0 18px 0;
  font-size:1rem;
  line-height:1.6;
  opacity:.95;
}
.ipgs-cta-primary{
  display:inline-block;
  background:#fff;
  color:#1740b5;
  padding:12px 20px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(255,255,255,.15);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ipgs-cta-primary:hover{
  transform: translateY(-2px);
  box-shadow:0 12px 26px rgba(255,255,255,.25);
}
@media (max-width: 1024px){
  .ipgs-cta-hl{ font-size:1.35rem; }
  .ipgs-cta-lead{ font-size:.95rem; }
}


/* === User CTA (centered card) === */
.cta-free-trial {
  background: linear-gradient(135deg, #1e3c72, #2a5298);
  color: white;
  padding: 40px 20px;
  border-radius: 20px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  text-align: center;
  margin-top: 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.cta-content h2 {
  font-size: 28px;
  margin-bottom: 15px;
}

.cta-content p {
  font-size: 16px;
  margin-bottom: 25px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.cta-button {
  background-color: #ffffff;
  color: #1e3c72;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 30px;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
  display:inline-block;
}

.cta-button:hover {
  background-color: #ffdd57;
  color: #000000;
}


/* Make only the CTA sticky */
.ipgs-cta-widget { position: sticky; top: 96px; height: fit-content; }

/* Hide 3rd-party TOC blocks just in case */
.single-post #ez-toc-container,
.single-post .ez-toc-container,
.single-post .rank-math-toc,
.single-post .rank-math-toc-block { display: none !important; }
