/* Free Tech Support — theme */
:root{
  --brand:#2563EB; --brand-dark:#1D4ED8; --brand-soft:#EFF6FF;
  --ink:#0F172A; --muted:#64748B; --line:#E2E8F0; --bg:#F8FAFC;
  --radius:16px; --shadow:0 10px 30px rgba(2,6,23,.07); --shadow-lg:0 24px 60px rgba(2,6,23,.12);
}
*{scroll-behavior:smooth}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--ink); background:#fff; display:flex; flex-direction:column; min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
main{flex:1 0 auto}
a{color:var(--brand); text-decoration:none}
a:hover{color:var(--brand-dark)}
h1,h2,h3,h4{font-weight:700; letter-spacing:-.02em}
.ls-1{letter-spacing:.12em}
.skip-link{position:absolute; left:1rem; top:.5rem; z-index:2000; background:#fff; padding:.4rem .8rem; border-radius:8px}

/* Nav */
.site-nav{transition:box-shadow .3s, background .3s; backdrop-filter:saturate(180%) blur(6px); background:rgba(255,255,255,.92)!important}
.site-nav.scrolled{box-shadow:0 6px 24px rgba(2,6,23,.08)}
.navbar-brand{font-size:1.2rem; color:var(--ink)}
.brand-badge{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px;
  background:linear-gradient(135deg,var(--brand),#60A5FA); color:#fff; font-size:1rem}
.site-nav .nav-link{font-weight:500; color:#334155; border-radius:8px; padding:.45rem .8rem}
.site-nav .nav-link:hover{color:var(--brand); background:var(--brand-soft)}

/* Buttons */
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark)}
.btn-soft{background:var(--brand-soft); color:var(--brand-dark); border:1px solid #DBEAFE}
.btn-soft:hover{background:#DBEAFE; color:var(--brand-dark)}

/* Hero */
.hero{position:relative; background:radial-gradient(1200px 500px at 80% -10%,#DBEAFE 0,transparent 60%),
  linear-gradient(180deg,#fff 0,var(--bg) 100%); overflow:hidden; padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem)}
.hero h1{font-size:clamp(2rem,4.5vw,3.4rem); line-height:1.05}
.hero .lead{font-size:1.15rem; color:var(--muted); max-width:42ch}
.hero-blob{position:absolute; border-radius:50%; filter:blur(40px); opacity:.5; z-index:0}
.hero-blob.b1{width:340px;height:340px;background:#93C5FD;top:-60px;right:-40px}
.hero-blob.b2{width:240px;height:240px;background:#C4B5FD;bottom:-60px;left:-40px}
.hero .container{position:relative; z-index:1}
.search-hero .form-control{height:56px; border-radius:14px 0 0 14px; border:1px solid var(--line)}
.search-hero .btn{height:56px; border-radius:0 14px 14px 0}
.chip{display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .8rem; border-radius:999px;
  background:#fff; border:1px solid var(--line); color:#475569; font-size:.85rem; font-weight:500}
.chip:hover{border-color:var(--brand); color:var(--brand)}

/* Section helpers */
.section{padding:clamp(3rem,6vw,5rem) 0}
.section-soft{background:var(--bg)}
.eyebrow{color:var(--brand); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem}

/* Cards */
.card{border:1px solid var(--line); border-radius:var(--radius); transition:transform .25s, box-shadow .25s}
.card.lift:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg)}
.card-img-top{aspect-ratio:16/10; object-fit:cover}
.cat-card{display:block; padding:1.4rem; border-radius:var(--radius); background:#fff; border:1px solid var(--line);
  transition:transform .25s, box-shadow .25s, border-color .25s; height:100%}
.cat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:#BFDBFE}
.cat-ico{width:50px; height:50px; border-radius:12px; display:grid; place-items:center; font-size:1.4rem; color:#fff; margin-bottom:.9rem}
.badge-soft{background:var(--brand-soft); color:var(--brand-dark); font-weight:600}
.meta{color:var(--muted); font-size:.85rem}

/* Article body */
.article-body{font-size:1.06rem; line-height:1.8; color:#1e293b}
.article-body h2{margin-top:2rem; font-size:1.5rem}
.article-body h3{margin-top:1.4rem; font-size:1.2rem}
.article-body p,.article-body ul,.article-body ol{margin-bottom:1rem}
.article-body img{max-width:100%; border-radius:12px}
.article-body pre{background:#0F172A; color:#E2E8F0; padding:1rem 1.2rem; border-radius:12px; overflow:auto; font-size:.92rem}
.article-body code{background:#F1F5F9; padding:.1rem .4rem; border-radius:6px; font-size:.92em}
.article-body pre code{background:transparent; padding:0; color:inherit}
.article-body kbd{background:#1e293b; color:#fff; border-radius:6px; padding:.1rem .45rem; font-size:.82em}
.article-body .alert{border-radius:12px}
.toc{position:sticky; top:90px}

/* Feedback widget */
.feedback-box{background:var(--brand-soft); border:1px solid #DBEAFE; border-radius:var(--radius); padding:1.5rem}

/* Products */
.price-tag{font-size:1.4rem; font-weight:800; color:var(--ink)}
.disclosure{background:#FFFBEB; border:1px solid #FDE68A; border-radius:12px; padding:.8rem 1rem; font-size:.88rem; color:#92400E}

/* House ads / footer */
.house-ads-band{background:var(--bg)}
.house-ad:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg)}
.site-footer{background:#0B1220; color:#fff}
.footer-title{font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; color:#94A3B8; margin-bottom:1rem}
.footer-links{list-style:none; padding:0; margin:0}
.footer-links a{color:#CBD5E1; display:block; padding:.25rem 0; font-size:.95rem}
.footer-links a:hover{color:#fff}
.footer-contact a{color:#CBD5E1}
.footer-contact a:hover{color:#fff}
.social-link{width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:rgba(255,255,255,.08); color:#fff}
.social-link:hover{background:var(--brand); color:#fff}

/* Cookie + to-top */
.cookie-consent{position:fixed; left:0; right:0; bottom:0; z-index:1500; background:#0F172A; color:#fff; padding:1rem 0}
.to-top{position:fixed; right:20px; bottom:20px; z-index:1400; width:46px; height:46px; border:none; border-radius:50%;
  background:var(--brand); color:#fff; box-shadow:var(--shadow-lg); opacity:0; transform:translateY(12px); transition:.3s}
.to-top.show{opacity:1; transform:translateY(0)}

/* Ads */
.ad-slot{margin:1.5rem 0; text-align:center; min-height:0}
.ad-label{font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#94A3B8}

/* Forms */
.form-control:focus,.form-select:focus{border-color:#93C5FD; box-shadow:0 0 0 .25rem rgba(37,99,235,.15)}

/* AOS fallback (no flash if JS off) */
[data-aos]{opacity:1}
.aos-init[data-aos]{opacity:0}
