/* ===== TSW Tool Profile v2 — FINAL ===== */
.tsw-tool-wrap { max-width: 1280px; margin: 0 auto; padding: 20px 20px 40px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }

.tsw-breadcrumb { font-size: 13px; color: #5c6873; margin-bottom: 24px; font-weight: 500; }
.tsw-breadcrumb a { color: #2a3b4c; text-decoration: none; }
.tsw-sep { margin: 0 8px; color: #9aa3af; }
.tsw-current { color: #5c6873; }

/* Top grid: header | right col (quick facts) */
.tsw-tool-top-grid {
  display: grid;
  grid-template-columns: 1fr 320px; 
  gap: 40px;
  background: transparent; 
  margin-bottom: 30px;
  align-items: start;
}
.tsw-tool-header { display: flex; gap: 24px; }
.tsw-tool-logo, .tsw-logo-placeholder {
  width: 150px; 
  height: 150px; 
  border-radius: 16px; 
  object-fit: contain; 
  flex-shrink: 0;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  border: 1px solid #f1f5f9;
  background: #fff;
}
.tsw-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.tsw-title-row h1 { font-size: 32px; font-weight: 700; margin: 0; color: #0f172a; line-height: 1.2; letter-spacing: -0.5px; }
.tsw-tagline { font-size: 16px; font-weight: 500; color: #334155; margin: 0 0 12px; }

/* Verified Badge matching design */
.tsw-badge { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 20px; display: inline-flex; align-items: center; gap: 4px; }
.tsw-badge-verified { background: #ecfdf5; color: #10b981; border: 1px solid #d1fae5; }
.tsw-badge-sponsored { background: #fff8e1; color: #8a6200; }

.tsw-tool-meta-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 14px; color: #475569; margin-bottom: 16px; }
.tsw-stars { display: flex; align-items: center; gap: 6px; }
.tsw-rating-number-bold { font-weight: 700; color: #0f172a; font-size: 16px; }
.tsw-star-icons { color: #f97316; letter-spacing: 2px; font-size: 15px; }
.tsw-review-count { color: #64748b; font-size: 13px; }
.tsw-meta-sep { color: #cbd5e1; }
.tsw-meta-item { color: #475569; font-weight: 500; }

.tsw-tool-short-desc { font-size: 15px; color: #475569; line-height: 1.6; margin: 0 0 20px; max-width: 95%; }

/* Redesigned feature pills (Light Blue Background, Blue Text) */
.tsw-tags-wrap { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.tsw-tag { 
  background: #eff6ff; 
  border: 1px solid #dbeafe; 
  color: #1e40af;
  font-size: 13px; 
  font-weight: 600; 
  padding: 6px 14px; 
  border-radius: 24px; 
  display: inline-flex; 
  align-items: center; 
  gap: 6px; 
}
.tsw-tag svg { color: #3b82f6; width: 14px; height: 14px; }

/* MOVED BUTTONS ROW */
.tsw-tool-actions-row {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
}
.tsw-btn { 
  font-size: 14px; 
  font-weight: 600; 
  padding: 12px 24px; 
  border-radius: 8px; 
  cursor: pointer; 
  text-decoration: none; 
  display: inline-flex; 
  align-items: center; 
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
  text-transform: none !important;
  border: 1px solid transparent;
}
.tsw-btn-primary { background: #f97316; color: #fff !important; }
.tsw-btn-primary:hover { background: #ea580c; }
.tsw-btn-secondary { background: #fff; color: #334155 !important; border: 1px solid #cbd5e1; }
.tsw-btn-secondary:hover { background: #f8fafc; border-color: #94a3b8; color: #0f172a !important; }
.tsw-btn-full { width: 100%; box-sizing: border-box; }

/* Right column: ONLY Quick Facts Card */
.tsw-tool-right-col { display: block; }
.tsw-quick-info-card { 
  border: 1px solid #e2e8f0; 
  border-radius: 12px; 
  padding: 16px 20px; 
  background: #fff; 
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}
.tsw-sidebar-card { border: 1px solid #eee; border-radius: 8px; padding: 14px; background: #fafafa; }
.tsw-sidebar-card-title { font-size: 18px; font-weight: 700; color: #0f172a; margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; text-transform: none !important; }
.tsw-detail-table { width: 100%; border-collapse: collapse; }
.tsw-detail-table tr { border-bottom: 1px solid #f1f5f9; }
.tsw-detail-table tr:last-child { border-bottom: none; }
.tsw-detail-label { font-size: 13.5px; color: #64748b; padding: 8px 0; font-weight: 500; white-space: nowrap; width: 40%; vertical-align: top; }
.tsw-detail-val { font-size: 13.5px; color: #0f172a; font-weight: 600; text-align: right; padding: 8px 0; line-height: 1.4; }

/* ===== Full-width highlight strip ===== */
.tsw-highlight-strip {
  display: flex; justify-content: space-between; gap: 10px;
  background: #fff; border: 1px solid #e8e8e8; border-radius: 10px;
  padding: 14px 18px; margin-bottom: 14px; flex-wrap: wrap;
}
.tsw-strip-item { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 130px; }
.tsw-strip-icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tsw-strip-icon svg { width: 18px; height: 18px; }
.tsw-strip-icon-0 { background: #ffe9e0; color: #ff5c00; }
.tsw-strip-icon-1 { background: #e6f1fb; color: #1a73c9; }
.tsw-strip-icon-2 { background: #e9f7ee; color: #1a7a4a; }
.tsw-strip-icon-3 { background: #f2e9fb; color: #7a3fc9; }
.tsw-strip-icon-4 { background: #eaf9e6; color: #4a9a2a; }
.tsw-strip-val { font-size: 15px; font-weight: 700; color: #1a1a1a; line-height: 1.2; }
.tsw-strip-lbl { font-size: 10px; color: #888; }

/* Tabs (anchor links) */
.tsw-tabs-nav { display: flex; gap: 4px; border-bottom: 1px solid #e5e5e5; margin-bottom: 18px; overflow-x: auto; position: sticky; top: 0; background: #fff; z-index: 20; }
.tsw-tab-btn { font-size: 13px; padding: 10px 14px; background: none; border: none; border-bottom: 2px solid transparent; cursor: pointer; color: #666; white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; text-transform: none !important; }
.tsw-tab-btn.is-active { color: #ff5c00; border-bottom-color: #ff5c00; font-weight: 600; }
.tsw-tab-count { background: #ff5c00; color: #fff; font-size: 9px; padding: 1px 6px; border-radius: 10px; }

/* ===== Outer page layout: TOC sidebar + main content ===== */
.tsw-page-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 20px;
  align-items: start;
  position: relative;
}
.tsw-page-layout > .tsw-toc-sidebar  { grid-column: 1; }
.tsw-page-layout > .tsw-main-content { grid-column: 2; min-width: 0; }

/* TOC sidebar */
/* Update: Sticky Sidebar with Hidden Scrollbar */
.tsw-toc-sidebar {
  position: sticky;
  top: 110px; /* Header ke niche perfect spacing ke liye */
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  /* Ye lines scrollbar ko hide karengi but scroll function kaam karega */
  scrollbar-width: none; /* Firefox ke liye */
  -ms-overflow-style: none; /* IE aur Edge ke liye */
}

/* Chrome, Safari, aur Opera me scrollbar hide karne ke liye */
.tsw-toc-sidebar::-webkit-scrollbar {
  display: none;
}
.tsw-toc-list { display: flex; flex-direction: column; gap: 2px; }
.tsw-toc-link { font-size: 12px; color: #666; text-decoration: none; padding: 6px 8px; border-radius: 5px; border-left: 2px solid transparent; display: flex; align-items: center; justify-content: space-between; text-transform: none !important; }
.tsw-toc-link:hover { background: #fff; color: #ff5c00; }
.tsw-toc-link.is-active { color: #ff5c00; font-weight: 600; border-left-color: #ff5c00; background: #fff; }
.tsw-toc-count { font-size: 9px; color: #aaa; }

.tsw-compare-card { text-align: center; }
.tsw-compare-icon { color: #ff5c00; margin: 6px 0 10px; display: flex; justify-content: center; }
.tsw-compare-card p, .tsw-share-card p { font-size: 11px; color: #666; line-height: 1.6; margin: 0 0 10px; }

.tsw-share-icons { display: flex; gap: 8px; }
.tsw-share-ic { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; flex-shrink: 0; }
.tsw-share-fb { background: #1877f2; }
.tsw-share-x { background: #000; }
.tsw-share-li { background: #0a66c2; }
.tsw-share-mail { background: #555; }

.tsw-main-content { min-width: 0; }
.tsw-page-section { scroll-margin-top: 60px; }

/* Content grid: Overview (main) vs Editor's Take (sidebar) */
.tsw-content-grid { display: grid; grid-template-columns: 1fr 360px; gap: 16px; align-items: start; }
.tsw-content-grid > .tsw-main-col { min-width: 0; }
.tsw-content-grid > .tsw-sidebar-col { min-width: 0; }
.tsw-section { border: 1px solid #e8e8e8; border-radius: 10px; padding: 18px; margin-bottom: 14px; background: #fff; }
.tsw-section-title { font-size: 20px; font-weight: 700; color: #0f172a; margin: 0 0 20px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; text-transform: none !important; }
.tsw-section-link { font-size: 13px; font-weight: 600; color: #f97316; text-decoration: none; margin-left: auto; }
.tsw-about-text { font-size: 13px; color: #555; line-height: 1.7; }

/* Screenshots */
.tsw-screenshot-fallback-anchor { display: block; height: 1px; }
.tsw-screenshot-main img { width: 100%; border-radius: 8px; border: 1px solid #eee; }
.tsw-screenshot-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; flex-wrap: wrap; }
.tsw-thumb { width: 70px; height: 46px; object-fit: cover; border-radius: 6px; border: 2px solid transparent; cursor: pointer; opacity: .6; }
.tsw-thumb.is-active { border-color: #ff5c00; opacity: 1; }
.tsw-thumb-extra { display: none; }
.tsw-thumb-more { display: flex; align-items: center; justify-content: center; background: #f3f3f3; color: #666; font-size: 11px; font-weight: 600; border: 1px dashed #ccc; }

/* Editor's take */
.tsw-editor-card { background: #fff; }
.tsw-editor-score { color: #ff5c00; font-weight: 700; }
.tsw-pros-cons-col { margin-top: 10px; }
.tsw-pc-label { font-size: 11px; font-weight: 700; margin-bottom: 4px; }
.tsw-pc-pro { color: #1a7a4a; }
.tsw-pc-con { color: #b3261e; }
.tsw-pc-item { font-size: 11px; color: #555; margin-bottom: 3px; }

/* Highlights (sidebar mini grid) */
.tsw-highlights-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tsw-highlight-box { text-align: center; background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 10px 6px; }
.tsw-highlight-val { font-size: 16px; font-weight: 700; }
.tsw-highlight-lbl { font-size: 10px; color: #888; margin-top: 2px; }

/* Features grid */
.tsw-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tsw-feature-card { border: 1px solid #eee; border-radius: 8px; padding: 14px; text-align: center; }
.tsw-feature-icon { color: #ff5c00; margin-bottom: 8px; display: flex; justify-content: center; }
.tsw-feature-title { font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.tsw-feature-desc { font-size: 11px; color: #888; line-height: 1.5; }

/* Pricing */
.tsw-pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 260px)); justify-content: start; gap: 14px; }
.tsw-price-card { border: 1px solid #eee; border-radius: 10px; padding: 18px; position: relative; }
.tsw-price-card.is-popular { border-color: #ff5c00; box-shadow: 0 0 0 1px #ff5c00; }
.tsw-popular-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: #ff5c00; color: #fff; font-size: 10px; padding: 3px 10px; border-radius: 20px; white-space: nowrap; }
.tsw-plan-name { font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.tsw-plan-price { font-size: 24px; font-weight: 700; margin-bottom: 4px; }
.tsw-plan-period { font-size: 11px; font-weight: 400; color: #888; }
.tsw-plan-desc { font-size: 11px; color: #888; margin-bottom: 10px; }
.tsw-plan-features { list-style: none; padding: 0; margin: 0 0 14px; font-size: 11px; color: #555; }
.tsw-plan-features li { margin-bottom: 6px; }
.tsw-plans-note { font-size: 11px; color: #999; text-align: center; margin: 12px 0 0; }

/* ===== Reviews section ===== */
.tsw-stars-inline { font-size: 12px; color: #888; font-weight: 400; }
.tsw-reviews-layout { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: start; }
.tsw-rating-breakdown-col {}
.tsw-recommend-line { font-size: 11px; color: #1a7a4a; margin-top: 8px; }
.tsw-review-cards-col {}
.tsw-review-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tsw-review-item { border: 1px solid #eee; border-radius: 8px; padding: 12px; display: flex; gap: 8px; }
.tsw-review-avatar img { border-radius: 50%; }
.tsw-review-top { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; flex-wrap: wrap; }
.tsw-review-author { font-size: 12px; font-weight: 600; }
.tsw-review-role { font-size: 10px; color: #999; display: block; }
.tsw-review-stars { font-size: 11px; color: #f5a623; margin-bottom: 4px; }
.tsw-review-date { color: #999; margin-left: 6px; }
.tsw-review-text { font-size: 11px; color: #555; line-height: 1.5; }
.tsw-review-actions { display: flex; gap: 12px; font-size: 10px; color: #888; margin-top: 6px; }
.tsw-no-reviews, .tsw-muted { font-size: 12px; color: #888; }
.tsw-rating-field { margin-bottom: 10px; }
.tsw-rating-field select { font-size: 12px; padding: 6px; }
.tsw-review-form-wrap { margin-top: 16px; border-top: 1px solid #f0f0f0; padding-top: 16px; }

/* Bar chart */
.tsw-bar-item { margin-bottom: 8px; }
.tsw-bar-label { display: flex; justify-content: space-between; font-size: 11px; color: #666; margin-bottom: 3px; }
.tsw-bar-track { height: 5px; background: #eee; border-radius: 4px; }
.tsw-bar-fill { height: 100%; background: #ff5c00; border-radius: 4px; }

/* Alternatives */
.tsw-alt-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.tsw-alt-card { border: 1px solid #eee; border-radius: 8px; padding: 12px; text-align: center; text-decoration: none; color: inherit; }
.tsw-alt-card img { width: 32px; height: 32px; object-fit: contain; margin-bottom: 6px; }
.tsw-alt-name { font-size: 14px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.tsw-alt-rating { font-size: 12px; color: #f97316; font-weight: 600; margin-top: 4px; }
.tsw-alt-price { font-size: 12px; color: #475569; font-weight: 500; margin-top: 4px; }

/* Comparison table + CTA */
.tsw-comparison-layout { display: grid; grid-template-columns: 1fr 220px; gap: 16px; align-items: start; }
.tsw-comparison-table-wrap { overflow-x: auto; }
.tsw-comparison-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tsw-comparison-table th, .tsw-comparison-table td { padding: 12px 10px; text-align: center; border-bottom: 1px solid #f1f5f9; }
.tsw-comparison-table td { color: #334155; font-weight: 500; }
.tsw-comparison-table .tsw-row-label { text-align: left; color: #0f172a; font-weight: 600; }
.tsw-comparison-table thead th { font-weight: 700; color: #0f172a; font-size: 15px; padding-bottom: 15px; }
.tsw-col-current { background: #fff5ef; }
.tsw-check-yes { color: #1a7a4a; font-weight: 700; }
.tsw-check-no { color: #b3261e; font-weight: 700; }
.tsw-comparison-note { font-size: 11px; color: #999; margin-top: 8px; }
.tsw-compare-cta-card { background: linear-gradient(160deg,#eef2ff,#fdeee6); border-radius: 10px; padding: 18px; text-align: center; color: #444; }
.tsw-compare-cta-card svg { color: #7a3fc9; margin-bottom: 10px; }
.tsw-compare-cta-card p { font-size: 11px; line-height: 1.6; margin: 0 0 12px; }

/* FAQ — 2 column grid */
.tsw-faq-list { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 30px; }
.tsw-faq-item { border-bottom: 1px solid #f0f0f0; padding: 10px 0; }
.tsw-faq-q { width: 100%; text-align: left; background: none; border: none; font-size: 15px; font-weight: 600; color: #0f172a; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 6px 0; text-transform: none !important; }
.tsw-faq-arrow { transition: transform .2s; }
.tsw-faq-item.is-open .tsw-faq-arrow { transform: rotate(180deg); }
.tsw-faq-a { display: none; font-size: 14px; color: #475569; line-height: 1.7; padding-top: 10px; padding-bottom: 10px; }
.tsw-faq-item.is-open .tsw-faq-a { display: block; }

/* Newsletter */
.tsw-newsletter-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #fff5ef; border-radius: 10px; padding: 24px; margin-top: 20px; flex-wrap: wrap; }
.tsw-newsletter-text h3 { margin: 0 0 4px; font-size: 16px; }
.tsw-newsletter-text p { margin: 0; font-size: 12px; color: #666; }
.tsw-newsletter-form { display: flex; gap: 8px; }
.tsw-newsletter-form input { padding: 9px 12px; border-radius: 6px; border: 1px solid #ddd; font-size: 12px; min-width: 220px; }

/* ===== Safety net ===== */
body.single-product #content,
body.single-product .site-content,
body.single-product .container,
body.single-product .woocommerce,
body.single-product div.product {
  overflow: visible !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .tsw-page-layout { grid-template-columns: 1fr; }
  .tsw-page-layout > .tsw-toc-sidebar,
  .tsw-page-layout > .tsw-main-content { grid-column: 1; }
  .tsw-toc-sidebar { position: static; max-height: none; overflow-y: visible; flex-direction: row; flex-wrap: wrap; }
  .tsw-toc-sidebar .tsw-sidebar-card { flex: 1; min-width: 220px; }
  .tsw-reviews-layout { grid-template-columns: 1fr; }
  .tsw-review-list { grid-template-columns: repeat(2, 1fr); }
  .tsw-comparison-layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .tsw-tool-top-grid { grid-template-columns: 1fr; }
  .tsw-tool-header { flex-direction: column; }
  .tsw-tool-logo { width: 100px; height: 100px; }
  .tsw-tool-actions-row { flex-direction: column; }
  .tsw-btn { width: 100%; }
  
  .tsw-content-grid { grid-template-columns: 1fr; }
  .tsw-features-grid { grid-template-columns: repeat(2, 1fr); }
  .tsw-pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .tsw-alt-grid { grid-template-columns: repeat(2, 1fr); }
  .tsw-highlight-strip { flex-direction: column; }
  .tsw-review-list { grid-template-columns: 1fr; }
  .tsw-faq-list { grid-template-columns: 1fr; }
}
/* Woodmart Sticky Override - SABSE LAST MEIN PASTE KAREIN */
.website-wrapper,
.main-page-wrapper,
.wd-main-page,
.page-wrapper {
    overflow: visible !important;
    clip-path: none !important;
}

.tsw-page-layout {
    align-items: start !important; /* Grid ko column barabar karne se rokta hai */
}

.tsw-toc-sidebar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 100px !important; /* Sticky header ke niche jagah chhodne ke liye */
    align-self: start !important; /* VERY IMPORTANT: Sticky ko kaam karne ke liye */
    height: auto !important;
    max-height: calc(100vh - 120px) !important; /* Screen se bahar na jaye */
    overflow-y: auto !important;
    
    /* Scrollbar hide karne ke liye */
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.tsw-toc-sidebar::-webkit-scrollbar {
    display: none !important;
}