:root{--color-primary:#7B5EA7;--color-primary-light:#C4ABDE;--color-primary-dark:#5C4283;--color-text:#1f2937;--color-text-light:#6b7280;--color-text-muted:#6b7280;--color-bg:#fff;--color-bg-alt:#f9fafb;--color-border:#e5e7eb;--color-star:#f59e0b;--font-main:'Inter',system-ui,-apple-system,sans-serif;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(123,94,167,.15);--shadow-lg:0 8px 24px rgba(123,94,167,.2)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-main);color:var(--color-text);background:var(--color-bg);line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark)}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:10000;font-weight:600;transition:top .2s;font-size:.95rem}.skip-link:focus{top:0;color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.text-primary{color:var(--color-primary)!important}.bg-primary{background-color:var(--color-primary)!important}.bg-primary-light,.bg-light{background-color:var(--color-primary-light)!important}.border-primary{border-color:var(--color-primary)!important}.gradient-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light))}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;transition:all .25s;border:none;cursor:pointer;text-align:center;font-size:.95rem;min-height:44px;min-width:44px;gap:.5rem}.btn-primary:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--color-primary);color:var(--color-primary);padding:.65rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;transition:all .25s;background:transparent;min-height:44px;min-width:44px}.btn-outline:hover{background:var(--color-primary);color:#fff}.badge{display:inline-block;padding:.25rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-purple{background:var(--color-primary-light);color:#4a2f78}.badge-green{background:#d1fae5;color:#065f46}.badge-yellow{background:#fef3c7;color:#92400e}.site-header{position:sticky;top:0;z-index:1000;background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;max-width:1200px;margin:0 auto}.logo{font-size:1.5rem;font-weight:800;color:var(--color-primary);display:flex;align-items:center;gap:.4rem}.logo span{color:var(--color-text)}.nav-menu{display:flex;list-style:none;gap:1.5rem;align-items:center}.nav-menu a{color:#374151;font-weight:500;font-size:.95rem;padding:.5rem 0;position:relative;min-height:44px;display:inline-flex;align-items:center}.nav-menu a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width .25s}.nav-menu a:hover::after,.nav-menu a.active::after{width:100%}.nav-menu a:hover{color:var(--color-primary)}.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;color:#374151;cursor:pointer;min-height:44px;min-width:44px}@media(max-width:768px){.nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);padding:1rem;border-bottom:1px solid var(--color-border);box-shadow:0 4px 12px rgba(0,0,0,.08)}.nav-menu.open{display:flex}.menu-toggle{display:flex;align-items:center;justify-content:center}}.breadcrumbs{padding:.75rem 0;font-size:.875rem;color:var(--color-text-light)}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.breadcrumbs li+li::before{content:'›';margin-right:.35rem;color:var(--color-text-muted)}.breadcrumbs a{color:var(--color-primary)}.breadcrumbs a:hover{text-decoration:underline}.hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;padding:4rem 1rem;text-align:center}.hero h1{font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.hero p{font-size:1.15rem;max-width:700px;margin:0 auto 2rem;opacity:1}@media(max-width:640px){.hero h1{font-size:1.75rem}.hero p{font-size:1rem}.hero{padding:2.5rem 1rem}}.section{padding:3.5rem 1rem}.section-alt{background:var(--color-bg-alt)}.section-title{font-size:1.85rem;font-weight:800;margin-bottom:.5rem;color:var(--color-text)}.section-subtitle{font-size:1.05rem;color:var(--color-text-light);margin-bottom:2rem}.comparison-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}.comparison-table thead{background:var(--color-primary);color:#fff}.comparison-table th{padding:.85rem .75rem;text-align:left;font-weight:600;white-space:nowrap}.comparison-table td{padding:.85rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.comparison-table tbody tr:hover{background:#f5f0fa}.comparison-table .product-name{font-weight:700;color:var(--color-text)}.comparison-table .rating{color:var(--color-star)}.comparison-table .price{font-weight:700;color:var(--color-primary);white-space:nowrap}@media(max-width:768px){.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem -1rem;padding:0 1rem}.comparison-table{min-width:700px}}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.product-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .25s,transform .25s}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.product-card-img{height:200px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.875rem;position:relative}.product-card-img .badge{position:absolute;top:.75rem;left:.75rem}.product-card-body{padding:1.25rem}.product-card-body h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.product-card-body .stars{color:var(--color-star);margin-bottom:.5rem;font-size:.9rem}.product-card-body .features{list-style:none;margin-bottom:1rem}.product-card-body .features li{font-size:.85rem;color:var(--color-text-light);padding:.15rem 0}.product-card-body .features li::before{content:'✓ ';color:var(--color-primary);font-weight:700}.product-card-footer{display:flex;justify-content:space-between;align-items:center;padding:0 1.25rem 1.25rem}.product-card-footer .price{font-size:1.25rem;font-weight:800;color:var(--color-primary)}.stars{display:inline-flex;align-items:center;gap:.15rem}.stars[role="img"]{display:inline-flex;align-items:center;gap:.15rem}.stars .fa-star{color:var(--color-star)}.stars .fa-star-half-alt{color:var(--color-star)}.stars .fa-star.empty{color:#d1d5db}.rating-number{font-weight:700;margin-left:.35rem;color:#374151;font-size:.9rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.category-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .25s;min-height:44px}.category-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px rgba(123,94,167,.12);transform:translateY(-2px)}.category-card i{font-size:2.5rem;color:var(--color-primary);margin-bottom:1rem}.category-card h3{font-size:1rem;font-weight:700;margin-bottom:.35rem}.category-card p{font-size:.85rem;color:var(--color-text-light)}.content-body{max-width:850px;margin:0 auto}.content-body h2{font-size:1.55rem;font-weight:800;margin:2.5rem 0 .75rem;color:var(--color-text);padding-bottom:.5rem;border-bottom:3px solid var(--color-primary-light)}.content-body h3{font-size:1.25rem;font-weight:700;margin:1.75rem 0 .5rem;color:#374151}.content-body p{margin-bottom:1rem;color:#374151}.content-body ul,.content-body ol{margin:1rem 0 1rem 1.5rem}.content-body li{margin-bottom:.5rem;color:#374151}.content-body blockquote{border-left:4px solid var(--color-primary);padding:1rem 1.25rem;background:#f5f0fa;margin:1.5rem 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.content-body .info-box{background:#ede9fe;border:1px solid var(--color-primary-light);border-radius:var(--radius-md);padding:1.25rem;margin:1.5rem 0}.content-body .info-box h4{color:#5b3f8f;margin-bottom:.5rem}.content-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}.content-body table th,.content-body table td{padding:.65rem .75rem;border:1px solid var(--color-border);text-align:left}.content-body table th{background:var(--color-bg-alt);font-weight:600}.faq-list{max-width:850px;margin:0 auto}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.75rem;overflow:hidden}.faq-question{width:100%;background:var(--color-bg);border:none;padding:1.15rem 1.25rem;text-align:left;font-size:1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--color-text);transition:background .2s;min-height:44px}.faq-question:hover{background:#f5f0fa}.faq-question i{color:var(--color-primary);transition:transform .25s;font-size:.85rem}.faq-item.open .faq-question i{transform:rotate(180deg)}.faq-answer{padding:0 1.25rem;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-item.open .faq-answer{max-height:800px;padding:0 1.25rem 1.25rem}.faq-answer p{color:#4b5563;line-height:1.7}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.blog-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .25s}.blog-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}.blog-card-img{height:180px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.blog-card-body{padding:1.25rem}.blog-card-body .meta{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.blog-card-body h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem;line-height:1.4}.blog-card-body p{font-size:.9rem;color:var(--color-text-light);line-height:1.6}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;text-align:center}.trust-item{padding:1.5rem 1rem}.trust-item i{font-size:2rem;color:var(--color-primary);margin-bottom:.75rem}.trust-item h4{font-size:.95rem;font-weight:700;margin-bottom:.25rem}.trust-item p{font-size:.82rem;color:var(--color-text-light)}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}@media(max-width:640px){.pros-cons{grid-template-columns:1fr}}.pros,.cons{border-radius:var(--radius-md);padding:1.25rem}.pros{background:#ecfdf5;border:1px solid #a7f3d0}.cons{background:#fef2f2;border:1px solid #fecaca}.pros h4{color:#065f46;margin-bottom:.75rem}.cons h4{color:#991b1b;margin-bottom:.75rem}.pros li,.cons li{margin-bottom:.35rem;font-size:.9rem}.pros li::marker{color:#10b981}.cons li::marker{color:#ef4444}.site-footer{background:#1f2937;color:#d1d5db;padding:3rem 1rem 1.5rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.footer-col h4{color:#fff;font-size:1rem;margin-bottom:1rem}.footer-col a{display:block;color:#d1d5db;font-size:.9rem;padding:.35rem 0;transition:color .2s;min-height:44px;display:flex;align-items:center}.footer-col a:hover{color:var(--color-primary-light)}.footer-col p{font-size:.85rem;line-height:1.6}.footer-bottom{text-align:center;padding-top:2rem;margin-top:2rem;border-top:1px solid #374151;font-size:.82rem;color:#9ca3af}.footer-bottom a{color:#d1d5db}.footer-bottom a:hover{color:var(--color-primary-light)}.affiliate-disclaimer{background:#f5f0fa;border:1px solid var(--color-primary-light);border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:.8rem;color:#4b5563;margin:1.5rem 0;line-height:1.5}.page-layout{display:grid;grid-template-columns:1fr 250px;gap:2rem;align-items:start}.sidebar-toc{position:sticky;top:5rem;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.sidebar-toc h4{font-size:.9rem;font-weight:700;margin-bottom:.75rem;color:var(--color-primary)}.sidebar-toc ul{list-style:none}.sidebar-toc li{margin-bottom:.4rem}.sidebar-toc a{font-size:.82rem;color:var(--color-text-light)}.sidebar-toc a:hover{color:var(--color-primary)}@media(max-width:1024px){.page-layout{grid-template-columns:1fr}.sidebar-toc{display:none}}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.related-card{display:block;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s}.related-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.related-card .related-type{font-size:.75rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.related-card h3{font-size:.95rem;font-weight:700;color:var(--color-text);margin-top:.25rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease forwards}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.site-header,.site-footer,.sidebar-toc,.btn-primary,.btn-outline,.skip-link,.related-grid{display:none}body{font-size:12pt;color:#000}.hero{background:#fff;color:#000;padding:1rem 0}a{color:#000;text-decoration:underline}}
/* ── Amazon Affiliate CTA Buttons ─────────────────────────────────────────── */
.amazon-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:#FF9900;color:#fff!important;font-weight:700;font-size:.95rem;padding:.75rem 1.4rem;border-radius:.5rem;border:none;cursor:pointer;text-decoration:none!important;transition:all .3s ease;box-shadow:0 3px 8px rgba(255,153,0,.35);white-space:nowrap;min-height:44px}
.amazon-cta:hover{background:#e68a00;color:#fff!important;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px rgba(255,153,0,.45);text-decoration:none!important}
.amazon-cta:active{transform:translateY(0) scale(0.99)}
.amazon-cta i,.amazon-cta .cta-icon{font-size:.85em;flex-shrink:0}
/* Small variant used in comparison tables */
.amazon-cta-sm{font-size:.82rem;padding:.5rem 1rem}

/* ── content-visibility for rendering performance ── */
.content-body, .faq-section, footer { content-visibility: auto; contain-intrinsic-size: auto 500px; }

:focus-visible { outline: 3px solid #7B5EA7; outline-offset: 2px; }
a:focus-visible { outline: 3px solid #7B5EA7; outline-offset: 2px; border-radius: 2px; }
