/* ============================================
   SportInAWater — Water Sports Product Review Site
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@700;800;900&family=DM+Sans:wght@400;500;600&family=Orbitron:wght@500;600;700;800;900&display=swap');

/* ── Variables ── */
:root{
  --navy:#0A1628;--navy-light:#132038;
  --teal:#0D9488;--teal-dark:#0B7A70;
  --cyan:#06B6D4;--aqua:#22D3EE;
  --coral:#F97316;--coral-dark:#ea580c;
  --white:#fff;--off-white:#f8fffe;
  --mint-50:#f0fdfa;--mint-100:#ccfbf1;--mint-200:#99f6e4;
  --gray:#6B7280;--slate:#334155;--dark:#1e293b;
  --green:#10B981;--red:#EF4444;
  --font-h:'Outfit',sans-serif;--font-b:'DM Sans',sans-serif;
  --r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:24px;--r-full:9999px;
  --shadow-card:0 2px 12px rgba(10,22,40,.06);
  --shadow-card-hover:0 8px 30px rgba(13,148,136,.15);
  --shadow-md:0 4px 16px rgba(13,148,136,.1);
  --shadow-lg:0 8px 32px rgba(13,148,136,.12);
  --max-w:1280px;
  --img-fx:drop-shadow(0 4px 12px rgba(0,0,0,.1)) brightness(1.03) contrast(1.02);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-b);font-weight:400;color:var(--dark);background:var(--off-white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color .2s}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-h);line-height:1.2;color:var(--navy)}
.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}

/* ============================================
   HEADER
   ============================================ */
header{
  position:sticky;top:0;z-index:1000;
  background:linear-gradient(135deg,var(--navy),#0f2942);
  box-shadow:0 2px 12px rgba(0,0,0,.15);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  min-height:64px;
}
/* Logo */
.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}
.logo .logo-img{height:40px;width:auto;object-fit:contain;border-radius:var(--r-sm)}
.brand-text{
  display:flex;align-items:baseline;gap:0;
  font-family:'Orbitron',var(--font-h),sans-serif;font-weight:800;font-size:1.2rem;
  text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;
}
.brand-text .br-sport{color:#fff}
.brand-text .br-in{
  font-size:.65em;font-weight:600;color:var(--aqua);
  opacity:.6;margin:0 .15em;letter-spacing:.04em;
  position:relative;top:-.05em;
}
.brand-text .br-a{color:#fff}
.brand-text .br-water{
  background:linear-gradient(135deg,var(--aqua),var(--cyan),var(--teal));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  position:relative;
}
.brand-text .br-water::after{
  content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--aqua),var(--cyan),transparent);
  border-radius:1px;
}

/* Nav */
nav{display:flex;align-items:center;gap:.25rem}
nav a{color:rgba(255,255,255,.78);font-size:.875rem;font-weight:500;padding:.5rem .875rem;border-radius:var(--r-full);transition:all .2s;white-space:nowrap}
nav a:hover,nav a.active{color:#fff;background:rgba(255,255,255,.1)}
nav a.nav-cta{background:linear-gradient(135deg,var(--teal),var(--cyan));color:#fff;font-weight:600}
nav a.nav-cta:hover{opacity:.9}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;width:40px;height:40px;justify-content:center;align-items:center}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .3s}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ============================================
   HERO
   ============================================ */
.hero{
  position:relative;overflow:hidden;
  padding:5rem 0 4rem;color:#fff;text-align:center;
  background:linear-gradient(135deg,#0A1628 0%,#0f3443 50%,#0D9488 100%);
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.12;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,22,40,.3),rgba(13,148,136,.15));
}
.hero-content{position:relative;z-index:2;display:flex;align-items:center;gap:3rem;text-align:left}
.hero-content>div:first-child{flex:1}
.hero-badge{
  display:inline-block;
  background:rgba(255,255,255,.12);backdrop-filter:blur(6px);
  padding:.4rem 1rem;border-radius:var(--r-full);
  font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--aqua);margin-bottom:1rem;
}
.hero h1{font-size:2.75rem;font-weight:900;margin-bottom:1rem;letter-spacing:-.03em;line-height:1.15}
.hero h1 span{background:linear-gradient(135deg,var(--aqua),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:1.1rem;color:rgba(255,255,255,.78);max-width:520px;line-height:1.7;margin-bottom:1.5rem}
.hero-stats{display:flex;gap:1.5rem}
.hero-stat{text-align:center}
.hero-stat-num{font-family:var(--font-h);font-size:1.5rem;font-weight:800;color:#fff}
.hero-stat-label{font-size:.72rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.06em}
.hero-logo-wrap{
  flex-shrink:0;
  width:220px;height:220px;border-radius:50%;
  background:rgba(255,255,255,.1);backdrop-filter:blur(8px);
  border:2px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 40px rgba(13,148,136,.25),0 0 80px rgba(6,182,212,.1);
  position:relative;overflow:hidden;
}
.hero-logo-wrap::before{
  content:'';position:absolute;inset:-2px;border-radius:50%;
  background:conic-gradient(var(--aqua),var(--teal),var(--cyan),var(--aqua));
  opacity:.35;animation:logoRingSpin 8s linear infinite;z-index:0;
}
.hero-logo-wrap::after{
  content:'';position:absolute;inset:2px;border-radius:50%;
  background:rgba(10,22,40,.5);z-index:1;
}
@keyframes logoRingSpin{to{transform:rotate(360deg)}}
.hero-logo{max-width:150px;position:relative;z-index:2;filter:drop-shadow(0 4px 16px rgba(0,0,0,.25))}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.logo-anim{animation:logoFloat 4s ease-in-out infinite}

/* ============================================
   AFFILIATE BAR
   ============================================ */
.aff-bar{background:linear-gradient(135deg,var(--mint-50),var(--mint-100));border-bottom:1px solid var(--mint-200);padding:.75rem 0}
.aff-disclosure{text-align:center;font-size:.8rem;color:#115e59}
.aff-disclosure strong{font-weight:700}
.aff-disclosure a{color:var(--teal);font-weight:600;text-decoration:underline}

/* ============================================
   PRIME BANNER
   ============================================ */
.prime-banner{padding:2rem 0}
.prime-banner a{display:block;text-decoration:none;color:#fff}
.prime-banner-inner{
  position:relative;overflow:hidden;border-radius:var(--r-xl);
  background-size:cover;background-position:center;
  min-height:220px;display:flex;align-items:center;
  box-shadow:var(--shadow-lg);
}
.prime-banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,22,40,.72),rgba(13,148,136,.5))}
.prime-banner-content{position:relative;z-index:2;text-align:center;padding:2.5rem 1rem}
.prime-banner-content h3{font-family:var(--font-h);font-size:1.75rem;font-weight:800;margin-bottom:.5rem}
.prime-banner-content p{font-size:1rem;opacity:.9;max-width:520px;margin:0 auto .75rem}
.prime-cta{
  display:inline-block;
  background:linear-gradient(135deg,var(--coral),var(--coral-dark));
  padding:.65rem 1.5rem;border-radius:var(--r-full);
  font-weight:700;font-size:.9rem;transition:transform .2s;
}
.prime-banner a:hover .prime-cta{transform:translateY(-2px)}

/* ============================================
   SECTION HEADS
   ============================================ */
.section-head{text-align:center;margin-bottom:2rem}
.section-head h2{font-size:1.75rem;font-weight:800;margin-bottom:.4rem;letter-spacing:-.02em}
.section-head p{font-size:.95rem;color:var(--gray);max-width:480px;margin:0 auto}
.section{padding:3rem 0}

/* ============================================
   EDITOR'S TOP PICKS (featured-strip)
   ============================================ */
.featured-strip{padding:3rem 0;background:linear-gradient(180deg,var(--off-white),var(--mint-50))}
.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.featured-card{
  display:flex;flex-direction:column;
  background:#fff;border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--shadow-card);transition:all .35s cubic-bezier(.4,0,.2,1);
  border:1px solid rgba(13,148,136,.06);text-decoration:none;color:inherit;
}
.featured-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.featured-img{
  aspect-ratio:4/3;background:var(--mint-50);overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
}
.featured-img img{max-width:80%;max-height:80%;object-fit:contain;filter:var(--img-fx);transition:transform .4s}
.featured-card:hover .featured-img img{transform:scale(1.05)}
.featured-body{padding:1.25rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.featured-rank{font-size:.7rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.featured-title{font-family:var(--font-h);font-size:1rem;font-weight:700;color:var(--navy);line-height:1.3}
.featured-link{margin-top:auto;font-size:.82rem;font-weight:600;color:var(--teal);transition:gap .2s;display:inline-flex;align-items:center;gap:.35rem}
.featured-card:hover .featured-link{gap:.6rem}

/* ============================================
   TOP 10 GRID
   ============================================ */
.top10-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.top10-card{
  position:relative;display:flex;align-items:center;gap:1rem;
  background:#fff;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-card);padding:.75rem 1rem;
  transition:all .3s;border:1px solid rgba(13,148,136,.05);
}
.top10-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.top10-rank{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy),#1a3550);
  color:var(--aqua);font-family:var(--font-h);font-weight:800;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;
}
.top10-img{width:56px;height:56px;object-fit:contain;flex-shrink:0;filter:var(--img-fx)}
.top10-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.top10-brand{font-size:.68rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.06em}
.top10-name{font-family:var(--font-h);font-size:.82rem;font-weight:700;color:var(--navy);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.top10-link{font-size:.75rem;font-weight:600;color:var(--teal)}
.top10-link:hover{text-decoration:underline}

/* ============================================
   BRAND CLOUD
   ============================================ */
.brand-cloud-section{padding:1.5rem 0}
.brand-cloud-label{font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.5rem}
.brand-cloud{display:flex;flex-wrap:wrap;gap:.5rem}
.brand-tag{
  padding:.4rem .9rem;border-radius:var(--r-full);
  font-size:.78rem;font-weight:500;
  background:var(--mint-50);color:#115e59;border:1px solid var(--mint-200);
  cursor:pointer;transition:all .2s;white-space:nowrap;
}
.brand-tag:hover,.brand-tag.active{background:linear-gradient(135deg,var(--teal),var(--cyan));color:#fff;border-color:transparent}

/* ============================================
   FILTER BAR
   ============================================ */
.filter-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;
  padding:1rem 1.25rem;margin-bottom:1.25rem;
  background:#fff;border-radius:var(--r-xl);
  box-shadow:var(--shadow-card);border:1px solid rgba(13,148,136,.06);
}
.filter-label{font-size:.82rem;font-weight:600;color:var(--navy)}
.filter-select{
  padding:.45rem .9rem;border-radius:var(--r-full);
  border:1px solid var(--mint-200);background:var(--mint-50);color:#115e59;
  font-size:.8rem;font-family:var(--font-b);outline:none;cursor:pointer;
}
.filter-select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.12)}
.filter-reset{
  padding:.45rem .9rem;border-radius:var(--r-full);
  background:var(--navy);color:#fff;font-size:.78rem;font-weight:600;transition:background .2s;
}
.filter-reset:hover{background:var(--navy-light)}
.filter-results{font-size:.78rem;color:var(--gray);margin-left:auto;white-space:nowrap}

/* ============================================
   CONTENT WITH SIDEBAR LAYOUT
   ============================================ */
.content-with-sidebar{display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start}
.main-content{min-width:0}

/* Sidebar */
.sidebar{position:sticky;top:80px}
.sidebar-widget{
  background:#fff;border-radius:var(--r-xl);padding:1.25rem;
  box-shadow:var(--shadow-card);border:1px solid rgba(13,148,136,.06);
}
.sidebar-widget h3{font-family:var(--font-h);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:1rem}
.sidebar-list{display:flex;flex-direction:column;gap:.5rem}
.sidebar-item{
  display:flex;align-items:center;gap:.6rem;padding:.5rem;
  border-radius:var(--r-md);transition:background .2s;text-decoration:none;color:inherit;
}
.sidebar-item:hover{background:var(--mint-50)}
.sidebar-rank{
  flex-shrink:0;width:24px;height:24px;border-radius:50%;
  background:var(--mint-50);color:var(--teal);
  font-family:var(--font-h);font-weight:800;font-size:.72rem;
  display:flex;align-items:center;justify-content:center;
}
.sidebar-img{width:40px;height:40px;object-fit:contain;flex-shrink:0;filter:var(--img-fx);border-radius:var(--r-sm)}
.sidebar-info{min-width:0}
.sidebar-name{font-size:.78rem;font-weight:600;color:var(--navy);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sidebar-link{font-size:.7rem;color:var(--teal);font-weight:500}

/* ============================================
   PRODUCTS GRID (ALL PRODUCTS)
   ============================================ */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.product-card{
  display:flex;flex-direction:column;
  background:#fff;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-card);transition:all .3s;
  border:1px solid rgba(13,148,136,.05);text-decoration:none;color:inherit;
}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
.card-img-wrap{
  position:relative;aspect-ratio:1;background:var(--mint-50);overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:1rem;
}
.card-img-wrap img{max-width:85%;max-height:85%;object-fit:contain;filter:var(--img-fx);transition:transform .3s}
.product-card:hover .card-img-wrap img{transform:scale(1.06)}
.card-badge{
  position:absolute;top:.75rem;left:.75rem;
  background:linear-gradient(135deg,var(--teal),var(--cyan));
  color:#fff;font-size:.65rem;font-weight:700;
  padding:.25rem .6rem;border-radius:var(--r-full);
  text-transform:uppercase;letter-spacing:.06em;
}
.card-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.2rem;flex:1}
.card-brand{font-size:.68rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.card-title{font-family:var(--font-h);font-size:.88rem;font-weight:700;color:var(--navy);line-height:1.3}
.card-cat-tag{
  display:inline-block;font-size:.68rem;font-weight:600;
  color:var(--teal);background:var(--mint-50);
  padding:.2rem .55rem;border-radius:var(--r-full);
  margin:.15rem 0 .25rem;width:fit-content;
}
.card-snippet{font-size:.78rem;color:var(--gray);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-features{font-size:.75rem;color:var(--slate);line-height:1.45;margin-top:.25rem}
.card-features li{padding:.1rem 0 .1rem 1rem;position:relative}
.card-features li::before{content:'•';position:absolute;left:0;color:var(--teal)}
.card-footer{padding:.75rem 1.25rem;border-top:1px solid rgba(13,148,136,.06);margin-top:auto}
.btn-review{font-size:.82rem;font-weight:600;color:var(--teal);transition:gap .2s;display:inline-flex;align-items:center;gap:.35rem}
.product-card:hover .btn-review{gap:.6rem}

/* ============================================
   PAGINATION
   ============================================ */
.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0}
.pagination button,.pagination .page-btn{
  min-width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--r-full);font-size:.82rem;font-weight:600;
  color:var(--navy);background:#fff;
  border:1px solid rgba(13,148,136,.15);
  transition:all .2s;
}
.pagination button:hover:not(.disabled):not(.active),.pagination .page-btn:hover:not(.disabled):not(.active){background:var(--mint-50);border-color:var(--teal)}
.pagination button.active,.pagination .page-btn.active{background:linear-gradient(135deg,var(--teal),var(--cyan));color:#fff;border-color:transparent}
.pagination button.disabled,.pagination .page-btn.disabled{opacity:.4;cursor:default}

/* ============================================
   PRODUCT PAGE — PAGE HERO / BREADCRUMB
   ============================================ */
.page-hero{
  background:linear-gradient(135deg,var(--navy),#0f2942);
  padding:1.25rem 0;
}
.breadcrumb{font-size:.8rem;color:rgba(255,255,255,.6)}
.breadcrumb a{color:var(--aqua);font-weight:500}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb sep{margin:0 .35rem;opacity:.5;font-size:.7rem}

/* ============================================
   PRODUCT PAGE — LAYOUT
   ============================================ */
.product-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;
  padding:2.5rem 0 2rem;
}

/* Gallery */
.gallery{}
.gallery-main{
  background:var(--mint-50);border-radius:var(--r-xl);overflow:hidden;
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  margin-bottom:.75rem;border:1px solid rgba(13,148,136,.06);
}
.gallery-main img{max-width:85%;max-height:85%;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.12)) brightness(1.03) contrast(1.02)}
.gallery-thumbs{display:flex;gap:.5rem}
.gallery-thumb{
  width:72px;height:72px;border-radius:var(--r-md);overflow:hidden;
  border:2px solid transparent;cursor:pointer;transition:border-color .2s;
  background:var(--mint-50);display:flex;align-items:center;justify-content:center;
}
.gallery-thumb img{max-width:90%;max-height:90%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08)) brightness(1.02)}
.gallery-thumb:hover,.gallery-thumb.active{border-color:var(--teal)}

/* Product info */
.product-info{display:flex;flex-direction:column;gap:.75rem}
.p-brand{font-size:.72rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}
.p-title{font-family:var(--font-h);font-size:1.75rem;font-weight:800;color:var(--navy);line-height:1.25}
.p-cat-badge{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.75rem;font-weight:600;color:var(--teal);
  background:var(--mint-50);padding:.35rem .75rem;border-radius:var(--r-full);
  border:1px solid var(--mint-200);width:fit-content;
}
.verdict-box{
  padding:1rem 1.25rem;background:var(--mint-50);border-radius:var(--r-lg);
  border-left:3px solid var(--teal);
}
.verdict-label{font-size:.72rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.verdict-text{font-size:.9rem;color:var(--slate);line-height:1.7}
.cta-group{display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem}
.btn-amazon{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:linear-gradient(135deg,var(--coral),var(--coral-dark));
  color:#fff;font-weight:700;font-size:.95rem;
  padding:.875rem 1.5rem;border-radius:var(--r-full);
  transition:all .3s;box-shadow:0 4px 16px rgba(249,115,22,.25);
  text-align:center;text-decoration:none;
}
.btn-amazon:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(249,115,22,.35)}
.btn-amazon.btn-amazon-alt{
  background:transparent;color:var(--coral);
  border:2px solid var(--coral);box-shadow:none;
  font-size:.88rem;font-weight:600;
}
.btn-amazon.btn-amazon-alt:hover{background:var(--coral);color:#fff}

/* ============================================
   COMBINED FEATURES BLOCK
   ============================================ */
.product-features-block{
  background:#fff;border-radius:var(--r-xl);
  box-shadow:var(--shadow-md);overflow:hidden;
  border:1px solid rgba(13,148,136,.06);margin:2rem 0;
}
.product-features-block>h2{
  padding:1.25rem 1.5rem;
  background:linear-gradient(135deg,var(--mint-50),var(--mint-100));
  border-bottom:1px solid var(--mint-200);
  font-family:var(--font-h);font-size:1.15rem;font-weight:700;color:var(--navy);
}
.features-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:.5rem;padding:1.25rem 1.5rem;
}
.feat-item{
  display:flex;align-items:flex-start;gap:.6rem;
  padding:.6rem .75rem;background:var(--off-white);border-radius:var(--r-md);
  font-size:.85rem;color:var(--slate);line-height:1.45;
}
.feat-icon{
  flex-shrink:0;width:22px;height:22px;
  background:linear-gradient(135deg,var(--teal),var(--cyan));
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.7rem;font-weight:700;
}
/* Pros & Cons */
.pros-cons{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e2e8f0}
.pros-box,.cons-box{padding:1.25rem 1.5rem}
.pros-box{border-right:1px solid #e2e8f0}
.box-head{
  font-family:var(--font-h);font-size:.9rem;font-weight:700;
  margin-bottom:.65rem;display:flex;align-items:center;gap:.4rem;
}
.pros-box .box-head{color:var(--green)}
.pros-box .box-head::before{content:'👍'}
.cons-box .box-head{color:var(--red)}
.cons-box .box-head::before{content:'👎'}
.pros-box li,.cons-box li{font-size:.82rem;color:#475569;line-height:1.5;padding:.3rem 0 .3rem 1.2rem;position:relative}
.pros-box li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:700}
.cons-box li::before{content:'✗';position:absolute;left:0;color:var(--red);font-weight:700}

/* ============================================
   FULL REVIEW / DESCRIPTION
   ============================================ */
.product-desc{
  background:#fff;border-radius:var(--r-xl);
  padding:2rem;box-shadow:var(--shadow-card);
  border:1px solid rgba(13,148,136,.06);margin-bottom:2rem;
}
.product-desc h2{font-family:var(--font-h);font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:1rem}
.product-desc p{font-size:.92rem;color:var(--slate);line-height:1.75;margin-bottom:1rem}
.product-desc p:last-child{margin-bottom:0}

/* ============================================
   RELATED PRODUCTS
   ============================================ */
.related-section{margin:1rem 0 3rem;text-align:center}
.related-section .section-head,.related-section>h2{margin-bottom:1.25rem}
.related-section h2{font-family:var(--font-h);font-size:1.2rem;font-weight:700;color:var(--navy)}
.related-grid{justify-content:center}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.related-card{
  background:#fff;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-card);transition:all .3s;
  border:1px solid rgba(13,148,136,.05);text-decoration:none;color:inherit;
}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.related-img{
  aspect-ratio:1;background:var(--mint-50);overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:.75rem;
}
.related-img img{max-width:85%;max-height:85%;object-fit:contain;filter:var(--img-fx)}
.related-body{padding:.75rem 1rem;text-align:left}
.related-brand{font-size:.68rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}
.related-title{font-family:var(--font-h);font-size:.82rem;font-weight:600;color:var(--navy);line-height:1.3}
.related-link{font-size:.75rem;font-weight:600;color:var(--teal);margin-top:.25rem;display:inline-block}

/* ============================================
   FOOTER
   ============================================ */
footer{background:var(--navy);color:rgba(255,255,255,.75)}
.footer-top{
  padding:3rem 0 2rem;
  display:grid;grid-template-columns:1.2fr 2fr;gap:3rem;
}
.footer-brand-col{}
.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;text-decoration:none;color:#fff}
.footer-logo-img{height:36px;border-radius:var(--r-sm);object-fit:contain}
.footer-logo .brand-text{font-size:1.1rem}
.footer-desc{font-size:.82rem;line-height:1.6;color:rgba(255,255,255,.55);max-width:320px}
.footer-links-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.footer-col h4{
  font-family:var(--font-h);font-size:.85rem;font-weight:700;
  color:var(--aqua);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em;
}
.footer-col a{display:block;font-size:.82rem;color:rgba(255,255,255,.6);padding:.25rem 0;transition:color .2s}
.footer-col a:hover{color:var(--aqua)}
.footer-disclosure{
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.5rem 0;text-align:center;
  font-size:.75rem;color:rgba(255,255,255,.4);line-height:1.6;
}
.footer-disclosure strong{color:rgba(255,255,255,.55)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.25rem 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.75rem;
  font-size:.75rem;color:rgba(255,255,255,.4);
}
.footer-bottom a{color:rgba(255,255,255,.5);transition:color .2s}
.footer-bottom a:hover{color:var(--aqua)}
.footer-bottom-links{display:flex;gap:1rem}
.footer-tm{font-size:.7rem;color:rgba(255,255,255,.3);font-style:italic}

/* ============================================
   STATIC PAGES (About, Privacy, Terms)
   ============================================ */
.static-page{max-width:800px;margin:0 auto;padding:3rem 1.5rem}
.static-page h1{font-size:2rem;font-weight:800;margin-bottom:1.5rem}
.static-page h2{font-size:1.35rem;font-weight:700;margin-top:2rem;margin-bottom:.75rem;color:var(--navy)}
.static-page p{font-size:.92rem;line-height:1.75;color:var(--slate);margin-bottom:1rem}
.static-page ul{margin:.5rem 0 1rem 1.5rem}
.static-page li{font-size:.92rem;line-height:1.75;color:var(--slate);list-style:disc}
.static-page a{color:var(--teal)}
.static-page a:hover{text-decoration:underline}

/* ============================================
   COOKIE BANNER
   ============================================ */
#cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--navy);color:rgba(255,255,255,.85);
  padding:0;
  transform:translateY(100%);transition:transform .4s ease;
}
#cookie-banner.visible{transform:translateY(0)}
.cookie-inner{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0}
.cookie-text{font-size:.82rem}
.cookie-text a{color:var(--aqua);text-decoration:underline}
.cookie-btns{display:flex;gap:.5rem}
.cookie-accept,.cookie-decline{padding:.45rem 1rem;border-radius:var(--r-full);font-size:.78rem;font-weight:600;transition:all .2s}
.cookie-accept{background:var(--teal);color:#fff}
.cookie-accept:hover{background:var(--teal-dark)}
.cookie-decline{background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2)}
.cookie-decline:hover{border-color:rgba(255,255,255,.4);color:#fff}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:960px){
  .product-layout{grid-template-columns:1fr;gap:1.5rem}
  .footer-top{grid-template-columns:1fr;gap:2rem}
  .content-with-sidebar{grid-template-columns:1fr}
  .sidebar{position:static;display:grid;grid-template-columns:1fr}
  .hero-content{flex-direction:column;text-align:center}
  .hero p{margin-left:auto;margin-right:auto}
  .hero-stats{justify-content:center}
}
@media(max-width:860px){
  .featured-grid{grid-template-columns:repeat(2,1fr)}
  .top10-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:var(--navy);
    padding:0;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;
    box-shadow:0 8px 24px rgba(0,0,0,.2);
  }
  header.nav-open nav{max-height:320px;padding:1rem}
  nav a{width:100%;padding:.75rem 1rem;border-radius:var(--r-md)}
  .nav-toggle{display:flex}
  .hero h1{font-size:2rem}
  .hero p{font-size:1rem}
  .pros-cons{grid-template-columns:1fr}
  .pros-box{border-right:none;border-bottom:1px solid #e2e8f0}
  .features-grid{grid-template-columns:1fr}
  .footer-links-row{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .products-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .top10-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .filter-bar{flex-direction:column;align-items:stretch}
  .filter-results{margin-left:0;text-align:center}
  .footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .products-grid{grid-template-columns:1fr}
  .featured-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .hero{padding:3rem 0 2.5rem}
  .hero h1{font-size:1.65rem}
  .p-title{font-size:1.35rem}
  .footer-links-row{grid-template-columns:1fr}
  .hero-logo-wrap{width:160px;height:160px}
  .hero-logo{max-width:110px}
}
