@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=DM+Mono:wght@400;500&display=swap');

:root {
  --primary:#0A6E4F;--primary-light:#12A072;--primary-dark:#064D37;--primary-bg:#E8F5F0;
  --accent:#F4A832;--accent-light:#FDF3E0;
  --danger:#D94040;--danger-bg:#FDF0F0;
  --info:#1A6DB5;--info-bg:#EBF4FF;
  --text-primary:#0F1923;--text-secondary:#4A5568;--text-muted:#8A96A8;
  --border:#E2E8F0;--border-strong:#C8D4E0;
  --surface:#FFFFFF;--surface-2:#F7F9FC;--surface-3:#EEF2F7;
  --shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);
  --shadow-lg:0 12px 32px rgba(0,0,0,.10),0 4px 8px rgba(0,0,0,.04);
  --radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;
  --font-display:'Sora',sans-serif;--font-body:'DM Sans',sans-serif;--font-mono:'DM Mono',monospace;
  --nav-height:64px;--t:.2s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--text-primary);background:var(--surface);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.25}
h1{font-size:clamp(1.9rem,4vw,2.9rem)}h2{font-size:clamp(1.4rem,3vw,2.1rem)}h3{font-size:1.2rem}h4{font-size:1rem}
p{color:var(--text-secondary);line-height:1.7}
a{color:var(--primary);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--primary-dark)}
strong{font-weight:600;color:var(--text-primary)}
.container{max-width:1160px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}.section-sm{padding:48px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:48px 0}}

/* NAV */
.navbar{position:sticky;top:0;z-index:100;height:var(--nav-height);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center}
.nav-inner{display:flex;align-items:center;width:100%;gap:24px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.nav-logo-icon{width:36px;height:36px;background:var(--primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;color:#fff}
.nav-logo-text{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text-primary)}
.nav-logo-text span{color:var(--primary)}
.nav-links{display:flex;gap:2px;flex:1}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--text-secondary);padding:6px 11px;border-radius:var(--radius-sm);transition:all var(--t)}
.nav-links a:hover,.nav-links a.active{color:var(--primary);background:var(--primary-bg)}
.nav-cta{display:flex;gap:8px;align-items:center;margin-left:auto;flex-shrink:0}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--t)}
@media(max-width:820px){.nav-links{display:none;position:absolute;top:var(--nav-height);left:0;right:0;background:#fff;flex-direction:column;padding:16px;border-bottom:1px solid var(--border);gap:4px;box-shadow:var(--shadow-md)}.nav-links.open{display:flex}.hamburger{display:flex}.nav-cta .btn-outline{display:none}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all var(--t);text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover{background:var(--primary-bg);color:var(--primary)}
.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:#d4922a;color:#fff}
.btn-ghost{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-primary)}
.btn-sm{padding:7px 14px;font-size:.82rem}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-lg)}
.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b83333;color:#fff}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:500}
.badge-green{background:var(--primary-bg);color:var(--primary-dark)}
.badge-amber{background:var(--accent-light);color:#8A5800}
.badge-blue{background:var(--info-bg);color:var(--info)}
.badge-red{background:var(--danger-bg);color:var(--danger)}
.badge-gray{background:var(--surface-3);color:var(--text-secondary)}

/* CARDS */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow var(--t),transform var(--t)}
.card:hover{box-shadow:var(--shadow-md)}
.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}

/* HERO HOME */
.hero{background:linear-gradient(135deg,#F0FAF6 0%,#FAFCFF 55%,#FDF8EE 100%);padding:80px 0 64px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(10,110,79,.06) 0%,transparent 70%)}
.hero-badge{margin-bottom:16px}
.hero-title{margin-bottom:20px;color:var(--text-primary)}
.hero-title span{color:var(--primary)}
.hero-desc{font-size:1.05rem;margin-bottom:32px;max-width:540px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:flex;gap:32px;margin-top:48px;padding-top:32px;border-top:1px solid var(--border);flex-wrap:wrap}
.hero-stat-num{font-family:var(--font-display);font-size:1.65rem;font-weight:700;color:var(--primary)}
.hero-stat-label{font-size:.82rem;color:var(--text-muted);margin-top:2px}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,var(--primary-bg) 0%,#FAFCFF 100%);padding:40px 0;border-bottom:1px solid var(--border)}
.page-hero .badge{margin-bottom:12px}
.page-hero h1{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:10px}
.page-hero p{font-size:.95rem;max-width:580px}

/* TOOL LAYOUT */
.tool-page{padding:40px 0 80px}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md)}
.tool-section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px}

/* FORM */
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:6px}
.form-hint{font-size:.78rem;color:var(--text-muted);margin-top:4px}
.form-input,.form-select{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);background:var(--surface);transition:border-color var(--t),box-shadow var(--t);outline:none}
.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(10,110,79,.1)}
.form-input::placeholder{color:var(--text-muted)}
.input-pre{position:relative}.input-pre-sym{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--text-muted);font-weight:500;pointer-events:none}.input-pre .form-input{padding-left:26px}
.input-suf{position:relative}.input-suf-sym{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.82rem;color:var(--text-muted);pointer-events:none}.input-suf .form-input{padding-right:50px}

/* RANGE */
.range-wrap{padding:4px 0}
input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer;height:4px}
.range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-top:4px}

/* RESULTS */
.result-box{background:var(--primary-bg);border:1px solid rgba(10,110,79,.15);border-radius:var(--radius-lg);padding:24px;margin-top:24px}
.result-main{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--primary)}
.result-label{font-size:.82rem;color:var(--text-secondary);margin-bottom:4px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.result-item{background:var(--surface);border-radius:var(--radius-md);padding:12px 14px}
.result-item-label{font-size:.75rem;color:var(--text-muted);margin-bottom:3px}
.result-item-value{font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-display)}
.result-item-value.pos{color:var(--primary)}.result-item-value.neg{color:var(--danger)}.result-item-value.warn{color:#B07A00}
.result-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.875rem;table-layout:fixed}
.result-table th{text-align:left;padding:8px 12px;background:var(--surface-3);color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.result-table th:not(:first-child){text-align:right}
.result-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle}
.result-table td:first-child{width:45%}
.result-table td:not(:first-child){width:27.5%}
.result-table tr:last-child td{border-bottom:none;font-weight:600;color:var(--text-primary);background:var(--surface-2)}
.result-table .amt{font-family:var(--font-mono);text-align:right;color:var(--text-primary);white-space:nowrap}
.result-table .ded{color:var(--danger)}.result-table .sav{color:var(--primary)}
.result-table .total td{background:var(--primary-bg);font-weight:700;color:var(--primary)}

/* TABS */
.tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:var(--radius-md);padding:4px;margin-bottom:24px}
.tab-btn{flex:1;padding:8px 12px;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-muted);background:transparent;cursor:pointer;transition:all var(--t)}
.tab-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}
.tab-content{display:none}.tab-content.active{display:block}

/* ALERTS */
.alert{display:flex;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:14px;align-items:flex-start}
.alert-green{background:var(--primary-bg);color:var(--primary-dark);border:1px solid rgba(10,110,79,.2)}
.alert-amber{background:var(--accent-light);color:#7A5000;border:1px solid rgba(244,168,50,.3)}
.alert-red{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(217,64,64,.2)}
.alert-blue{background:var(--info-bg);color:var(--info);border:1px solid rgba(26,109,181,.2)}

/* PROGRESS */
.progress-bar{height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden;margin:8px 0}
.progress-fill{height:100%;border-radius:4px;background:var(--primary);transition:width .6s ease}
.progress-fill.warn{background:var(--accent)}.progress-fill.danger{background:var(--danger)}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer;font-weight:500;color:var(--text-primary);font-size:.95rem;gap:16px;background:none;border:none;width:100%;text-align:left;font-family:var(--font-body);transition:color var(--t)}
.faq-question:hover{color:var(--primary)}
.faq-icon{font-size:1.2rem;color:var(--text-muted);flex-shrink:0;transition:transform var(--t)}
.faq-answer{padding:0 0 14px;font-size:.9rem;color:var(--text-secondary);display:none;line-height:1.7}
.faq-item.open .faq-icon{transform:rotate(45deg);color:var(--primary)}.faq-item.open .faq-answer{display:block}

/* BREADCRUMB */
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted);margin-bottom:20px;flex-wrap:wrap}
.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--primary)}.breadcrumb-sep{color:var(--border-strong)}

/* SECTION HEADER */
.section-header{text-align:center;margin-bottom:48px}
.section-header .badge{margin-bottom:12px}
.section-header h2{margin-bottom:12px}
.section-header p{max-width:560px;margin:0 auto;font-size:1rem}

/* FEATURE ICON */
.feature-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:16px}
.fi-green{background:var(--primary-bg)}.fi-amber{background:var(--accent-light)}.fi-blue{background:var(--info-bg)}.fi-red{background:var(--danger-bg)}

/* PRICING */
.pricing-card{border-radius:var(--radius-xl);padding:28px;border:2px solid var(--border);background:var(--surface);transition:all var(--t)}
.pricing-card.popular{border-color:var(--primary);background:var(--primary-bg)}
.pricing-badge{display:none;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:12px}
.pricing-card.popular .pricing-badge{display:inline-flex}
.pricing-name{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:8px}
.pricing-price{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--text-primary)}
.pricing-price sub{font-size:.875rem;font-weight:400;color:var(--text-muted)}
.pricing-desc{font-size:.875rem;color:var(--text-secondary);margin:8px 0 20px}
.pricing-features{list-style:none}
.pricing-features li{display:flex;gap:10px;padding:8px 0;font-size:.875rem;border-bottom:1px solid var(--border);color:var(--text-secondary);align-items:flex-start}
.pricing-features li:last-child{border-bottom:none}
.pf-yes{color:var(--primary)}.pf-no{color:var(--text-muted)}

/* HIGHLIGHT BOX */
.highlight-box{background:var(--primary-bg);border-left:4px solid var(--primary);padding:14px 18px;border-radius:0 var(--radius-md) var(--radius-md) 0;margin:20px 0}
.highlight-box p{color:var(--primary-dark);font-size:.9rem}

/* GUIDE */
.guide-content h2{font-size:1.45rem;margin:28px 0 10px}
.guide-content h3{font-size:1.1rem;margin:20px 0 8px}
.guide-content p{margin-bottom:14px}
.guide-content ul,.guide-content ol{padding-left:20px;margin-bottom:14px}
.guide-content li{margin-bottom:8px;color:var(--text-secondary);font-size:.95rem}

/* AD SLOT */
.ad-slot{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-md);min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.78rem;margin:24px 0;text-align:center;padding:12px}

/* SIDEBAR LAYOUT */
.content-with-sidebar{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.sidebar-sticky{position:sticky;top:calc(var(--nav-height) + 24px)}
@media(max-width:900px){.content-with-sidebar{grid-template-columns:1fr}.sidebar-sticky{position:static}}

/* SCROLL TOP */
#scrollTop{position:fixed;bottom:24px;right:24px;width:44px;height:44px;background:var(--primary);color:#fff;border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;box-shadow:var(--shadow-md);display:none;align-items:center;justify-content:center;z-index:50;transition:all var(--t)}
#scrollTop:hover{background:var(--primary-dark);transform:translateY(-2px)}
#scrollTop.visible{display:flex}

/* FOOTER */
.footer{background:var(--text-primary);color:rgba(255,255,255,.7);padding:60px 0 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand p{font-size:.875rem;margin-top:12px;max-width:260px;line-height:1.6;color:rgba(255,255,255,.5)}
.footer-logo-icon{width:36px;height:36px;background:var(--primary);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;color:#fff}
.footer-logo-text{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#fff;display:inline}
.footer-logo-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;text-decoration:none}
.footer-logo-text span{color:var(--primary-light)}
.footer-col h5{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:#fff;margin-bottom:16px}
.footer-col a{display:block;font-size:.875rem;color:rgba(255,255,255,.55);margin-bottom:8px;text-decoration:none;transition:color var(--t)}
.footer-col a:hover{color:var(--primary-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:.82rem;color:rgba(255,255,255,.4)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

/* ANIM */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .5s ease forwards}
[data-anim]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
[data-anim].visible{opacity:1;transform:translateY(0)}

/* UTIL */
.text-center{text-align:center}.text-right{text-align:right}
.text-muted{color:var(--text-muted)}.text-green{color:var(--primary)}.text-danger{color:var(--danger)}.text-amber{color:#B07A00}
.fw-6{font-weight:600}.fw-7{font-weight:700}
.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}
.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.flex{display:flex}.flex-center{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}
.w-full{width:100%}.hidden{display:none!important}
.mono{font-family:var(--font-mono)}
.divider{border:none;border-top:1px solid var(--border);margin:20px 0}

/* ═══════════════════════════════════════════
   ADSENSE-READY REVAMP — append to style.css
   ═══════════════════════════════════════════ */

/* ── AD SLOTS — Real AdSense placements ── */
.ad-slot {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: .75rem;
  margin: 28px 0;
  text-align: center;
  padding: 16px;
  position: relative;
  overflow: hidden;
}
.ad-slot::before {
  content: '';/*Advertisement*/
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  font-size: .6rem;
  letter-spacing: .1em;
  color: var(--text-muted);
}
/* Responsive ad sizes for AdSense */
.ad-leaderboard { min-height: 90px; }       /* 728x90 */
.ad-rectangle  { min-height: 250px; }       /* 300x250 */
.ad-large-rect { min-height: 280px; }       /* 336x280 */

/* ── TRUST BAR — Helps AdSense approval ── */
.trust-bar {
  background: var(--surface-2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 12px 0;
}
.trust-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  color: var(--text-secondary);
  font-weight: 500;
}
.trust-icon {
  width: 20px;
  height: 20px;
  background: var(--primary-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  color: var(--primary);
}

/* ── BREADCRUMB — Required for AdSense quality ── */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  color: var(--text-muted);
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.breadcrumb a { color: var(--text-muted); transition: color var(--t); }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb-sep { color: var(--border-strong); font-size: .9rem; }

/* ── ARTICLE / GUIDE CONTENT — AdSense favors long-form ── */
.article-wrap {
  max-width: 760px;
}
.article-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.article-meta-item {
  font-size: .8rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
}
.article-toc {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 16px 20px;
  margin-bottom: 28px;
}
.article-toc h4 {
  font-size: .82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  margin-bottom: 10px;
}
.article-toc ol {
  padding-left: 18px;
}
.article-toc li {
  font-size: .875rem;
  color: var(--primary);
  margin-bottom: 5px;
  line-height: 1.4;
}
.article-toc li a {
  color: var(--primary);
}
.article-toc li a:hover {
  text-decoration: underline;
}

/* ── RELATED ARTICLES WIDGET ── */
.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
  margin-top: 8px;
}
.related-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px;
  text-decoration: none;
  color: inherit;
  transition: all var(--t);
  display: block;
}
.related-card:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow-sm);
}
.related-card-tag {
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--primary);
  margin-bottom: 6px;
}
.related-card h4 {
  font-size: .875rem;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.4;
  margin-bottom: 4px;
}
.related-card p {
  font-size: .78rem;
  color: var(--text-muted);
  line-height: 1.4;
}

/* ── IMPROVED HERO for better AdSense quality signal ── */
.hero {
  background: linear-gradient(150deg, #EAF6F0 0%, #F7FAFF 60%, #FDF8EE 100%);
}
.hero-pill-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

/* ── TABLE OF CONTENTS SCROLL HIGHLIGHT ── */
.toc-link.active {
  color: var(--primary);
  font-weight: 600;
}

/* ── READING PROGRESS BAR ── */
.reading-progress {
  position: fixed;
  top: var(--nav-height);
  left: 0;
  width: 0%;
  height: 3px;
  background: var(--primary);
  z-index: 99;
  transition: width .1s linear;
}

/* ── INLINE CALLOUT BOXES (boosts content quality) ── */
.callout {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  margin: 20px 0;
  font-size: .9rem;
  line-height: 1.6;
}
.callout-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }
.callout-green  { background: var(--primary-bg); color: var(--primary-dark); border: 1px solid rgba(10,110,79,.15); }
.callout-amber  { background: var(--accent-light); color: #7A5000; border: 1px solid rgba(244,168,50,.25); }
.callout-blue   { background: var(--info-bg); color: var(--info); border: 1px solid rgba(26,109,181,.2); }
.callout-red    { background: var(--danger-bg); color: var(--danger); border: 1px solid rgba(217,64,64,.2); }

/* ── AUTHOR / VERIFIED BOX (AdSense quality signal) ── */
.verified-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  margin: 24px 0;
  font-size: .82rem;
}
.verified-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: .9rem;
  color: var(--primary);
  flex-shrink: 0;
}
.verified-name { font-weight: 600; color: var(--text-primary); }
.verified-desc { color: var(--text-muted); margin-top: 2px; }

/* ── STICKY TOC FOR LONG GUIDES ── */
.toc-sidebar {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 16px 20px;
}
.toc-sidebar h4 {
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.toc-sidebar a {
  display: block;
  font-size: .82rem;
  color: var(--text-secondary);
  padding: 5px 0;
  border-bottom: 1px solid var(--border);
  transition: color var(--t);
}
.toc-sidebar a:last-child { border-bottom: none; }
.toc-sidebar a:hover { color: var(--primary); }

/* ── IMPROVED FOOTER for AdSense (needs About/Privacy/Contact links) ── */
.footer-legal {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.footer-legal a {
  font-size: .78rem;
  color: rgba(255,255,255,.4);
  text-decoration: none;
  transition: color var(--t);
}
.footer-legal a:hover { color: rgba(255,255,255,.7); }

/* ── KEY METRIC HIGHLIGHT (used in SEO articles) ── */
.key-stat {
  background: var(--primary-bg);
  border-radius: var(--radius-md);
  padding: 10px 16px;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  margin: 8px 4px;
}
.key-stat-num {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary);
}
.key-stat-label {
  font-size: .78rem;
  color: var(--text-secondary);
}

/* ── MOBILE IMPROVEMENTS ── */
@media(max-width:600px) {
  .tabs { flex-wrap: wrap; }
  .tab-btn { flex: 1 1 calc(50% - 4px); font-size: .8rem; padding: 8px 6px; }
  .grid-3 { grid-template-columns: 1fr; }
  .trust-bar-inner { gap: 16px; }
  .result-grid { grid-template-columns: 1fr; }
}

/* ── GUIDE PAGE SPACING FIXES (FY 2026-27 UPDATE) ── */
.article-wrap h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}
.article-wrap h3 {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
}
.article-wrap p {
  margin-bottom: 1rem;
}
.article-wrap ul, .article-wrap ol {
  margin-bottom: 1rem;
  padding-left: 1.25rem;
}
.article-wrap li {
  margin-bottom: 0.4rem;
  line-height: 1.65;
}
.article-wrap .callout {
  margin: 1.5rem 0;
}
.article-wrap .result-table {
  margin: 1.25rem 0;
}
.article-wrap .tool-card {
  margin: 1.5rem 0;
}
.article-toc {
  margin-bottom: 2rem;
  padding: 1.25rem 1.5rem;
}
.article-toc ol {
  padding-left: 1.25rem;
}
.article-toc li {
  margin-bottom: 0.35rem;
}
.verified-box {
  margin-top: 2rem;
  padding: 1.25rem;
}
.related-grid {
  gap: 1rem;
}

/* ── TRUST & TESTIMONIALS ── */
@media(max-width:768px){
  /* testimonial grid: stack on mobile */
  .testimonial-grid,[style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:1fr!important;
  }
  /* refund policy cards: stack on mobile */
  .refund-grid{grid-template-columns:1fr!important}
  /* sticky bar: single column */
  #upsell-bar{flex-direction:column;gap:8px;text-align:center;padding:12px 16px}
}
@media(min-width:769px) and (max-width:1024px){
  /* testimonials: 2+1 on tablet */
  .testimonial-grid{grid-template-columns:1fr 1fr!important}
}
/* ── WHATSAPP FLOAT BUTTON ── */
.wa-float{position:fixed;bottom:70px;right:20px;z-index:998;width:48px;height:48px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.4);text-decoration:none;font-size:1.4rem;transition:transform .2s}
.wa-float:hover{transform:scale(1.1)}


/* ============================================================
   PAISACLARITY — MOBILE FIX (append to END of css/style.css)
   
   ROOT CAUSE: ask.html Pro upsell card has a button with
   white-space:nowrap + flex-shrink:0 (inline styles). This forces
   the card wider than the mobile viewport, which stretches the entire
   grid column — making chat-wrap and everything above it APPEAR to
   overflow even though they are fine. Fix the column, fix everything.
   ============================================================ */

@media (max-width: 600px) {

  /* 1. Force the grid column to never exceed viewport width.
        min-width:0 is critical — without it, a grid child's
        minimum size is its content size, not zero. */
  .content-with-sidebar > div {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  /* 2. The pro-upsell card flex row: let it wrap so button drops below */
  .card .flex-between {
    flex-wrap: wrap;
  }

  /* 3. The nowrap button: allow it to go full-width when it wraps */
  .card .flex-between .btn {
    white-space: normal;
    flex-shrink: 1;
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  /* 4. Belt-and-braces: chat-wrap itself must not exceed its column */
  .chat-wrap {
    max-width: 100%;
    overflow: hidden;
  }

}


/* ── pricing.html — Refund 3-col grid stacking fix ── */
@media (max-width: 680px) {
  .container [style*="grid-template-columns:1fr 1fr 1fr"],
  .container [style*="grid-template-columns: 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}
