/* ── CSS Variables ─────────────────────────────────────────────────────────
   Defaults — overridden by inline <style> from Settings → Branding
──────────────────────────────────────────────────────────────────────────── */
:root{
  --primary:   #2563eb;
  --accent:    #f59e0b;
  --bg:        #ffffff;
  --secondary: #f8fafc;
  --text:      #1e293b;
  --text-muted:#64748b;
  --border:    #e2e8f0;
  --radius:    10px;
  --shadow:    0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);
  --container: 1200px;
}

/* ── Reset ────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}

/* ── Container ────────────────────────────────────────────────────────────── */
.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}

/* ── Header ───────────────────────────────────────────────────────────────── */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1.5rem}
.site-logo{font-weight:800;font-size:1.25rem;color:var(--text);text-decoration:none;flex-shrink:0}
.site-logo:hover{text-decoration:none;color:var(--primary)}
.logo-img{height:40px;width:auto}
.logo-text{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.site-nav{display:flex;align-items:center;gap:.25rem}
.nav-list{list-style:none;display:flex;align-items:center;gap:.1rem}
.nav-item{position:relative}
.nav-item>a{display:flex;align-items:center;gap:.3rem;padding:.5rem .75rem;border-radius:6px;font-size:.9rem;color:var(--text);transition:background .12s,color .12s;text-decoration:none}
.nav-item>a:hover{background:var(--secondary);color:var(--primary);text-decoration:none}
.dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:180px;list-style:none;padding:.4rem}
.has-dropdown:hover .dropdown{display:block}
.dropdown li a{display:block;padding:.45rem .75rem;font-size:.875rem;border-radius:6px;color:var(--text)}
.dropdown li a:hover{background:var(--secondary);text-decoration:none}
.nav-cta{background:var(--primary);color:#fff;padding:.45rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-left:.5rem;text-decoration:none;transition:background .15s}
.nav-cta:hover{background:#1d4ed8;text-decoration:none;color:#fff}
.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.4rem}
.mobile-menu-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s}

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.hero{
  position:relative;
  background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--bg)),color-mix(in srgb,var(--accent) 5%,var(--bg)));
  padding:5rem 0 4.5rem;
  text-align:center;
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.hero-has-image{border-bottom:none}
.hero-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,0.45);
  z-index:0;
}
.hero-inner{position:relative;z-index:1}
.hero-tagline{
  display:inline-block;
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);
  padding:.35rem 1rem;
  border-radius:999px;
  margin-bottom:1.25rem;
}
.hero-has-image .hero-tagline{
  color:#fff;
  background:rgba(255,255,255,0.15);
  border-color:rgba(255,255,255,0.3);
}
.hero-title{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:900;color:var(--text);margin-bottom:.75rem;line-height:1.15;letter-spacing:-.02em}
.hero-has-image .hero-title{color:#fff}
.hero-sub{font-size:1.1rem;color:var(--text-muted);margin-bottom:2.25rem;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.7}
.hero-has-image .hero-sub{color:rgba(255,255,255,0.85)}
.hero-search{display:flex;max-width:480px;margin:0 auto;gap:.5rem;box-shadow:0 4px 24px rgba(0,0,0,.12)}
.hero-search input{flex:1;padding:.85rem 1.1rem;border:1px solid var(--border);border-radius:8px 0 0 8px;font-size:1rem;outline:none;transition:border-color .15s;background:#fff}
.hero-has-image .hero-search input{border-color:transparent}
.hero-search input:focus{border-color:var(--primary)}
.hero-search button{background:var(--primary);color:#fff;border:none;border-radius:0 8px 8px 0;padding:.85rem 1.6rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}
.hero-search button:hover{background:#1d4ed8}

/* ── Category pills ───────────────────────────────────────────────────────── */
.categories-strip{padding:1.25rem 0;border-bottom:1px solid var(--border);background:var(--secondary)}
.cat-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.cat-pill{padding:.4rem .9rem;background:#fff;border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:all .12s}
.cat-pill:hover,.cat-pill-all:hover{background:var(--primary);color:#fff;border-color:var(--primary);text-decoration:none}

/* ── Sections ─────────────────────────────────────────────────────────────── */
.products-section,.blog-section{padding:3rem 0}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.section-header h2{font-size:1.4rem;font-weight:800}
.see-all{font-size:.875rem;color:var(--primary)}

/* ── Product grid ─────────────────────────────────────────────────────────── */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}

/* ── Product card ─────────────────────────────────────────────────────────── */
.product-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s;position:relative}
.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.best-for-badge{position:absolute;top:.75rem;left:.75rem;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;z-index:2;text-transform:uppercase;letter-spacing:.04em}
.product-card-image{display:block;aspect-ratio:1;overflow:hidden;background:var(--secondary)}
.product-card-image img{width:100%;height:100%;object-fit:contain;padding:.75rem;transition:transform .3s}
.product-card:hover .product-card-image img{transform:scale(1.04)}
.product-no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.875rem;background:var(--secondary);aspect-ratio:1}
.product-card-body{padding:1rem}
.product-card-title{font-size:.9rem;font-weight:600;line-height:1.4;margin-bottom:.4rem}
.product-card-title a{color:var(--text);text-decoration:none}
.product-card-title a:hover{color:var(--primary)}
.product-card-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border)}
.product-price{display:flex;flex-direction:column}
.price-was{font-size:.78rem;color:var(--text-muted);text-decoration:line-through}
.price-now,.price-main{font-size:1rem;font-weight:700;color:var(--primary)}
.btn-buy{background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;padding:.35rem .75rem;border-radius:6px;text-decoration:none;transition:background .15s;white-space:nowrap;flex-shrink:0}
.btn-buy:hover{background:#d97706;text-decoration:none;color:#fff}

/* ── Star ratings ─────────────────────────────────────────────────────────── */
.star-row{display:inline-flex;align-items:center;gap:.1rem;font-size:.9rem}
.stars-large{font-size:1.2rem}
.star.full,.star.half{color:var(--accent)}
.star.empty{color:var(--border)}
.rating-val{font-size:.8rem;color:var(--text-muted);margin-left:.25rem}
.star-rating.small{margin-bottom:.3rem}

/* ── Blog grid ────────────────────────────────────────────────────────────── */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.post-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}
.post-card:hover{box-shadow:var(--shadow-md)}
.post-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--secondary)}
.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.post-card:hover .post-card-image img{transform:scale(1.04)}
.post-card-body{padding:1rem}
.post-card-body h3{font-size:.95rem;font-weight:600;margin-bottom:.4rem;line-height:1.4}
.post-card-body h3 a{color:var(--text);text-decoration:none}
.post-card-body h3 a:hover{color:var(--primary)}
.post-excerpt{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}
.read-more{font-size:.8rem;color:var(--primary);font-weight:500}

/* ── Shop ─────────────────────────────────────────────────────────────────── */
.shop-container{padding-top:2rem;padding-bottom:3rem}
.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}
.shop-sidebar{}
.filter-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;position:sticky;top:80px}
.filter-panel h3{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}
.cat-list{list-style:none}
.cat-list li a{display:flex;align-items:center;justify-content:space-between;padding:.45rem .5rem;border-radius:6px;font-size:.875rem;color:var(--text-muted);transition:background .12s}
.cat-list li a:hover{background:var(--secondary);text-decoration:none;color:var(--text)}
.cat-list li a.active{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:600}
.cat-list li a span{font-size:.75rem;color:var(--text-muted)}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}
.shop-count{font-size:.875rem;color:var(--text-muted)}
.sort-select{padding:.4rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:#fff;color:var(--text);cursor:pointer;outline:none}

/* ── Product page ─────────────────────────────────────────────────────────── */
.product-container{padding:2rem 0 3rem}
.product-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;margin-bottom:3rem;align-items:start}
.product-gallery{}
.product-main-image{width:100%;border-radius:var(--radius);border:1px solid var(--border)}
.product-no-image-lg{background:var(--secondary);border-radius:var(--radius);aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
.product-details{}
.best-for-badge-lg{display:inline-block;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;padding:.25rem .8rem;border-radius:999px;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em}
.product-title{font-size:1.6rem;font-weight:800;line-height:1.3;margin-bottom:.75rem}
.product-short-desc{font-size:1rem;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.7}
.product-rating{margin-bottom:1rem}
.product-price-block{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.price-main{font-size:1.75rem;font-weight:800;color:var(--primary)}
.save-badge{background:color-mix(in srgb,#22c55e 15%,transparent);color:#16a34a;font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:999px}
.product-variations{margin-bottom:1.5rem}
.variation-label{font-size:.8rem;font-weight:600;color:var(--text-muted);display:block;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em}
.variation-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.variation-btn{padding:.45rem .9rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text);text-decoration:none;cursor:pointer;background:#fff;transition:all .12s;font-family:inherit}
.variation-btn:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.variation-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.variation-clear{border-color:var(--danger)!important;color:var(--danger)!important;background:transparent}
.variation-clear:hover{background:var(--danger)!important;color:#fff!important}
.product-cta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.btn-buy-lg{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;font-size:1rem;font-weight:700;padding:.75rem 2rem;border-radius:8px;text-decoration:none;transition:background .15s}
.btn-buy-lg:hover{background:#d97706;text-decoration:none;color:#fff}
.product-asin{font-size:.78rem;color:var(--text-muted);font-family:monospace}
.affiliate-disclosure{color:var(--text-muted);font-size:.8rem;margin-bottom:1rem;padding:.6rem .75rem;background:var(--secondary);border-radius:6px;border-left:3px solid var(--border)}
.product-meta{font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.75rem;border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem}

/* ── Pros & Cons ──────────────────────────────────────────────────────────── */
.pros-cons-block{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem;background:var(--secondary);border-radius:var(--radius);padding:1.5rem}
.pros-block h3,.cons-block h3{font-size:1rem;font-weight:700;margin-bottom:.75rem}
.pros-block h3{color:#16a34a}
.cons-block h3{color:#dc2626}
.pros-block ul,.cons-block ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.pros-block li,.cons-block li{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem}
.pro-icon{color:#16a34a;font-weight:700;flex-shrink:0}
.con-icon{color:#dc2626;font-weight:700;flex-shrink:0}

/* ── Product description ──────────────────────────────────────────────────── */
.product-description{margin-bottom:2.5rem}
.product-description h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.related-products{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.related-products h2{font-size:1.25rem;font-weight:700;margin-bottom:1.25rem}

/* ── Prose / rich content ─────────────────────────────────────────────────── */
.prose{font-size:.975rem;line-height:1.8;color:var(--text)}
.prose h2{font-size:1.3rem;font-weight:700;margin:1.75rem 0 .75rem;color:var(--text)}
.prose h3{font-size:1.1rem;font-weight:600;margin:1.4rem 0 .6rem}
.prose p{margin-bottom:1rem}
.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1rem}
.prose li{margin-bottom:.35rem}
.prose a{color:var(--primary)}
.prose table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.9rem}
.prose table th{background:var(--secondary);padding:.65rem 1rem;text-align:left;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border)}
.prose table td{padding:.65rem 1rem;border:1px solid var(--border);vertical-align:middle}
.prose table tr:hover td{background:var(--secondary)}
.prose img{border-radius:var(--radius);margin:1rem 0}

/* ── Blog ─────────────────────────────────────────────────────────────────── */
.page-header{text-align:center;padding:2.5rem 0 1.5rem}
.page-header h1{font-size:2rem;font-weight:800;margin-bottom:.5rem}
.page-header p{color:var(--text-muted)}
.blog-list{display:flex;flex-direction:column;gap:2rem;padding:1rem 0 3rem}
.blog-list-item{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}
.blog-list-item:hover{box-shadow:var(--shadow-md)}
.blog-list-image{display:block;overflow:hidden;background:var(--secondary)}
.blog-list-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.blog-list-item:hover .blog-list-image img{transform:scale(1.04)}
.blog-list-body{padding:1.25rem 1.25rem 1.25rem 0}
.blog-list-body h2{font-size:1.15rem;font-weight:700;margin-bottom:.5rem;line-height:1.4}
.blog-list-body h2 a{color:var(--text);text-decoration:none}
.blog-list-body h2 a:hover{color:var(--primary)}
.blog-list-body p{font-size:.9rem;color:var(--text-muted);margin-bottom:.75rem}
.post-meta{font-size:.78rem;color:var(--text-muted);margin-bottom:.75rem;display:flex;gap:.75rem}

/* ── Post ─────────────────────────────────────────────────────────────────── */
.post-container{padding:2rem 0 3rem;max-width:760px}
.post-header{margin-bottom:1.5rem}
.post-title{font-size:2rem;font-weight:800;line-height:1.3;margin-bottom:.75rem}
.post-featured-image{border-radius:var(--radius);overflow:hidden;margin-bottom:2rem;aspect-ratio:16/9}
.post-featured-image img{width:100%;height:100%;object-fit:cover}
.post-excerpt-block{background:var(--secondary);border-left:3px solid var(--primary);padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:1.5rem;font-size:1.05rem;color:var(--text-muted)}
.post-content{margin-top:1.5rem}

/* ── Breadcrumbs ──────────────────────────────────────────────────────────── */
.breadcrumbs{background:var(--secondary);border-bottom:1px solid var(--border);padding:.6rem 0}
.breadcrumbs .container{max-width:var(--container)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;font-size:.8rem;color:var(--text-muted)}
.breadcrumbs li{display:flex;align-items:center}
.breadcrumbs li+li::before{content:'/';margin-right:.25rem;color:var(--border)}
.breadcrumbs a{color:var(--text-muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--primary)}

/* ── Static page ──────────────────────────────────────────────────────────── */
.page-container{padding:2rem 0 3rem;max-width:760px}
.page-header-inner{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.page-header-inner h1{font-size:1.75rem;font-weight:800}
.page-content{margin-top:1rem}

/* ── Contact form ─────────────────────────────────────────────────────────── */
.contact-form{max-width:600px}
.contact-form .form-group{display:flex;flex-direction:column;margin-bottom:1.1rem}
.contact-form label{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:.4rem}
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .15s;background:#fff;color:var(--text)}
.contact-form input:focus,
.contact-form textarea:focus{border-color:var(--primary)}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.captcha-group{margin-bottom:1.1rem}
.captcha-group label{font-size:.85rem;font-weight:600;color:var(--text);display:block;margin-bottom:.4rem}
.captcha-group input{padding:.7rem .9rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;outline:none;text-align:center;width:110px;background:#fff}
.captcha-group input:focus{border-color:var(--primary)}
.btn-submit{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s;margin-top:.5rem}
.btn-submit:hover{background:#1d4ed8}
.contact-success{text-align:center;padding:3rem 1rem;max-width:480px}
.success-icon{font-size:2.5rem;color:#22c55e;margin-bottom:.75rem}
.contact-success h2{font-size:1.4rem;font-weight:700;margin-bottom:.5rem}
.contact-success p{color:var(--text-muted);margin-bottom:1.5rem}
.contact-error{background:color-mix(in srgb,#ef4444 10%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.25rem;font-size:.9rem}
@media(max-width:600px){.contact-form .form-row{grid-template-columns:1fr}}

/* ── 404 ──────────────────────────────────────────────────────────────────── */
.error-page{text-align:center;padding:5rem 2rem}
.error-code{font-size:6rem;font-weight:900;color:var(--border);line-height:1}
.error-page h1{font-size:1.5rem;font-weight:700;margin-bottom:1rem}
.error-page p{color:var(--text-muted);margin-bottom:2rem}
.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-primary-link{background:var(--primary);color:#fff;padding:.65rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none}
.btn-primary-link:hover{background:#1d4ed8;text-decoration:none;color:#fff}
.btn-secondary-link{background:var(--secondary);color:var(--text);padding:.65rem 1.5rem;border-radius:8px;font-weight:500;text-decoration:none;border:1px solid var(--border)}
.btn-secondary-link:hover{background:#e2e8f0;text-decoration:none}

/* ── Footer ───────────────────────────────────────────────────────────────── */
.site-footer{background:var(--text);color:#cbd5e1;margin-top:4rem;padding:3rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.footer-brand .logo-text{color:#fff;font-size:1.15rem;font-weight:800;display:block;margin-bottom:.75rem}
.footer-copy{font-size:.85rem;color:#94a3b8;margin-top:.5rem}
.footer-nav h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.75rem}
.footer-nav ul{list-style:none}
.footer-nav li{margin-bottom:.4rem}
.footer-nav a{font-size:.875rem;color:#94a3b8;text-decoration:none;transition:color .12s}
.footer-nav a:hover{color:#fff;text-decoration:none}
.footer-bottom{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
.footer-legal{font-size:.78rem;color:#64748b}
.footer-legal a{color:#64748b}
.footer-legal a:hover{color:#94a3b8;text-decoration:none}
.social-links{display:flex;gap:.75rem;margin-top:1rem}
.social-link{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:rgba(255,255,255,.1);border-radius:6px;color:#94a3b8;transition:background .15s,color .15s}
.social-link:hover{background:var(--primary);color:#fff;text-decoration:none}

/* ── Pagination ───────────────────────────────────────────────────────────── */
.pagination{padding:2rem 0;display:flex;justify-content:center}
.pagination ul{list-style:none;display:flex;gap:.25rem;flex-wrap:wrap}
.pagination li a{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;border-radius:6px;border:1px solid var(--border);font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:all .12s}
.pagination li a:hover{background:var(--secondary);text-decoration:none;color:var(--text)}
.pagination li a.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .product-layout{grid-template-columns:1fr;gap:2rem}
  .shop-layout{grid-template-columns:1fr}
  .shop-sidebar{display:none}
}
@media(max-width:768px){
  .site-nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:1rem;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-md)}
  .site-nav.open{display:flex}
  .nav-list{flex-direction:column;width:100%;gap:.1rem}
  .nav-item>a{width:100%}
  .nav-cta{display:none}
  .mobile-menu-toggle{display:flex}
  .dashboard-grid,.footer-grid{grid-template-columns:1fr}
  .blog-list-item{grid-template-columns:1fr}
  .blog-list-image{aspect-ratio:16/9}
  .blog-list-body{padding:1rem}
  .pros-cons-block{grid-template-columns:1fr}
  .hero{padding:2.5rem 0}
  .hero-title{font-size:1.5rem}
  .products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
}
@media(max-width:480px){
  .products-grid{grid-template-columns:1fr 1fr}
  .posts-grid{grid-template-columns:1fr}
  .post-title{font-size:1.4rem}
}
