/* === SOPONGO MINIMAL THEME — FLUID DESIGN SYSTEM v3 === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* --- 1. Design Tokens (Impeccable OKLCH System) --- */
:root {
  /* Core Palette */
  --c-bg: oklch(98.5% 0.004 260); 
  --c-surface: oklch(100% 0 0);
  --c-text: oklch(25% 0.015 260);
  --c-text-muted: oklch(55% 0.015 260);
  --c-border: oklch(92% 0.005 260);
  --c-border-subtle: oklch(96% 0.002 260);
  
  /* Brand Committed Accent */
  --c-accent: oklch(55% 0.18 260);
  --c-accent-light: oklch(65% 0.15 260);
  --c-accent-glow: oklch(55% 0.18 260 / 12%);
  
  /* Feedback & Semantic */
  --c-gold: oklch(85% 0.16 85);
  --c-success: oklch(65% 0.16 160);
  --c-danger: oklch(55% 0.18 25);
  
  /* Visual Effects */
  --glass-bg: oklch(100% 0 0 / 75%);
  --glass-border: oklch(100% 0 0 / 40%);
  --glass-blur: blur(12px);
  
  /* Fluid Scaling & Spacing */
  --radius-sm: .6rem; --radius-md: 1rem; --radius-lg: 1.25rem; --radius-pill: 60rem;
  --shadow-sm: 0 2px 8px oklch(0% 0 0 / 3%);
  --shadow-md: 0 8px 24px oklch(0% 0 0 / 6%);
  --shadow-lg: 0 16px 48px oklch(55% 0.18 260 / 10%);
  --shadow-glow: 0 0 0 4px var(--c-accent-glow);
  
  --ease: cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-bounce: cubic-bezier(.175,.885,.32,1.275);
  
  --gradient-accent: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-light) 100%);
  --gradient-secondary: linear-gradient(135deg, var(--c-success) 0%, oklch(75% 0.12 160) 100%);
}

/* --- 2. Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;height:100%}
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: var(--c-bg);
  color: var(--c-text);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  font-size: clamp(.875rem, .8rem + .4vw, 1rem);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main { flex: 1; }
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition: color .2s var(--ease)}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none}

/* --- 3. Layout Utilities --- */
.site-container{width:min(94%, 72rem);margin-inline:auto}

/* --- 4. Navigation --- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-bottom: 1px solid var(--c-border-subtle);
  padding: clamp(.75rem, 1.5vw, 1.25rem) 0;
  box-shadow: var(--shadow-sm);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.nav-logo { display: flex; align-items: center; }
.logo-full { height: clamp(2rem, 4vw, 2.75rem); width: auto; object-fit: contain; display: block; }
.logo-icon { display: none; height: clamp(2rem, 4vw, 2.75rem); width: auto; object-fit: contain; }

@media (max-width: 768px) {
  .logo-full { display: none; }
  .logo-icon { display: block; }
}

.nav-logo h2 {
  margin: 0;
  color: var(--c-accent);
  font-weight: 800;
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  letter-spacing: -.05em;
}

.nav-search {
  display: flex;
  background: var(--c-border-subtle);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: visible;
  flex: 1;
  max-width: min(28rem, 55vw);
  transition: all .3s var(--ease-out);
}

.nav-search:focus-within {
  border-color: var(--c-accent-light);
  background: var(--c-surface);
  box-shadow: var(--shadow-glow);
  transform: translateY(-1px);
}

.nav-search input {
  border: none;
  background: transparent;
  outline: none;
  padding: .6rem 1rem;
  font-size: .95rem;
  width: 100%;
}

.nav-search button {
  padding: 0 1rem;
  color: var(--c-text-muted);
  transition: color .2s var(--ease);
}

.nav-search button:hover {
  color: var(--c-accent);
}

/* Mobile menu */
.menu-toggle{display:none;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer}
.menu-toggle svg{width:1.5rem;height:1.5rem;stroke:var(--c-text);stroke-width:2}

@media(max-width:640px){
  .menu-toggle{display:flex}
  .nav-search{max-width:100%;order:3;flex-basis:100%}
  .nav-inner{flex-wrap:wrap}
}

/* --- 5. Homepage Hero --- */
.hero-section {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(65vh, 75vh, 85vh);
  background: 
    radial-gradient(circle at 70% 20%, oklch(90% 0.05 260 / 15%) 0%, transparent 50%),
    radial-gradient(circle at 30% 80%, oklch(85% 0.1 260 / 5%) 0%, transparent 60%),
    var(--c-bg);
  position: relative;
  overflow: hidden;
  padding: var(--radius-lg) 0;
}

.hero-inner {
  text-align: center;
  width: min(92%, 42rem);
  margin-inline: auto;
  position: relative;
  z-index: 2;
}

.hero-logo {
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.hero-logo img {
  height: clamp(3.5rem, 8vw, 6rem);
  width: auto;
  margin-inline: auto;
  filter: drop-shadow(0 4px 12px oklch(0% 0 0 / 8%));
}

.hero-title {
  font-size: clamp(2rem, 5vw, 3.8rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--c-text);
  margin-bottom: clamp(.75rem, 2vw, 1.25rem);
}

.hero-subtitle {
  font-size: clamp(1rem, .9rem + .6vw, 1.35rem);
  font-weight: 500;
  color: var(--c-text-muted);
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
  letter-spacing: -.01em;
  max-width: 32ch;
  margin-inline: auto;
}

/* Hero Search */
.hero-search {
  position: relative;
  z-index: 100;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-lg);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  padding: .5rem;
  transition: all .5s var(--ease-out);
}

.hero-search:focus-within {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 24px 60px oklch(55% 0.18 260 / 15%);
  background: oklch(100% 0 0 / 95%);
}

.hero-search input {
  border: none;
  background: transparent;
  outline: none;
  padding: clamp(.8rem, 1.5vw, 1.2rem) clamp(1rem, 2vw, 1.75rem);
  font-size: clamp(1rem, .95rem + .5vw, 1.25rem);
  font-weight: 500;
  width: 100%;
  flex: 1;
}

.hero-search .search-btn {
  background: var(--gradient-accent);
  color: #fff;
  padding: clamp(.8rem, 1.2vw, 1.1rem) clamp(1.75rem, 4vw, 3rem);
  border-radius: calc(var(--radius-lg) - .5rem);
  font-weight: 800;
  font-size: clamp(.9rem, .85rem + .3vw, 1.1rem);
  box-shadow: 0 4px 15px oklch(55% 0.18 260 / 30%);
  transition: all .3s var(--ease);
  white-space: nowrap;
}

.hero-search .search-btn:hover {
  filter: brightness(1.1);
  box-shadow: 0 8px 24px oklch(55% 0.18 260 / 40%);
}

/* Trending Tags */
.trending-section {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  animation: fadeInUp .8s var(--ease) .2s both;
}

.trending-label {
  font-size: clamp(.75rem, .7rem + .2vw, .85rem);
  color: var(--c-text-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: clamp(.8rem, 1.5vw, 1.25rem);
}

.home-keywords {
  display: flex;
  flex-wrap: wrap;
  justify-content:center;
  gap: .75rem;
}

.home-suggest {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  color: var(--c-text-muted);
  padding: .5rem 1.25rem;
  border-radius: var(--radius-pill);
  font-size: clamp(.8rem, .75rem + .25vw, .95rem);
  font-weight: 600;
  transition: all .3s var(--ease-out);
  box-shadow: var(--shadow-sm);
}

.home-suggest:hover {
  background: var(--c-accent);
  color: #fff;
  border-color: var(--c-accent);
  letter-spacing: .05em;
  border-radius: 0 0 .75rem .75rem;
  z-index: 10;
  box-shadow: 0 4px 12px oklch(0% 0 0 / 10%);
}

.eco-ribbon.badge-2 { background: var(--c-text); }
.eco-ribbon.badge-3 { background: var(--c-success); }

/* Mobile Adaption */
/* --- 6. Site Footer --- */
.site-footer{background:var(--c-border-light);border-top:1px solid var(--c-border);padding:clamp(1.5rem,3vw,2.5rem) 0}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,2vw,2rem);margin-bottom:clamp(.5rem,1vw,.75rem)}
.footer-links a{color:var(--c-muted);font-size:clamp(.8rem,.75rem + .2vw,.9rem);font-weight:500;transition:color .2s}
.footer-links a:hover{color:var(--c-accent)}
.footer-copy{color:var(--c-muted);font-size:clamp(.7rem,.65rem + .2vw,.8rem);text-align:center}

/* --- 7. Search Results Page --- */
.search-page{padding:clamp(2rem,4vw,3.5rem) 0 clamp(1.5rem,3vw,3rem) 0}
.search-title{font-size:clamp(1.4rem,1.2rem + 1vw,2.2rem);font-weight:800;text-align:center;color:var(--c-text);letter-spacing:-.03em;margin-bottom:clamp(1rem,2vw,1.5rem)}

/* Deals Banner */
.deals-banner{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(186,230,253,.6);border-radius:var(--radius-lg);padding:clamp(1rem,2vw,1.5rem) clamp(1.25rem,2.5vw,2rem);margin-bottom:clamp(1.5rem,3vw,2.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(.75rem,1.5vw,1rem)}
.banner-badge{font-size:clamp(1rem,.9rem + .5vw,1.3rem);font-weight:700;color:var(--c-accent);white-space:nowrap}
.banner-badge i{color:var(--c-gold);margin-right:.4em}
.banner-meta{text-align:center;flex:1;min-width:10rem}
.banner-meta .date-label{font-size:clamp(.65rem,.6rem + .2vw,.75rem);color:var(--c-muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.banner-stars{display:flex;align-items:center;justify-content:center;gap:.15em;margin-top:.25rem}
.banner-stars i{color:var(--c-gold);font-size:clamp(.7rem,.65rem + .2vw,.85rem)}
.banner-stars span{color:var(--c-text);font-weight:700;font-size:clamp(.75rem,.7rem + .2vw,.85rem);margin-left:.4em}
.countdown-timer{display:flex;gap:clamp(.3rem,.6vw,.5rem)}
.time-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:clamp(.3rem,.6vw,.5rem) clamp(.5rem,1vw,.75rem);text-align:center;box-shadow:var(--shadow-sm);min-width:3rem}
.time-box span{display:block;font-weight:700;color:var(--c-accent);font-size:clamp(.9rem,.85rem + .3vw,1.1rem);line-height:1.2}
.time-box small{display:block;font-size:clamp(.55rem,.5rem + .15vw,.65rem);color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em}
.time-box:last-child span{color:var(--c-danger)}

/* Affiliate Disclaimer Tooltip */
.affiliate-disclaimer {
    display: inline-flex;
    align-items: center;
    position: relative;
    cursor: help;
    margin-left: 0.5rem;
    color: var(--c-text-muted);
    font-size: 0.9rem;
    z-index: 10;
    pointer-events: auto;
}

.affiliate-disclaimer i:hover {
    color: var(--c-accent);
}

.disclaimer-tooltip {
    visibility: hidden;
    width: 260px;
    background-color: var(--c-text);
    color: #fff;
    text-align: center;
    border-radius: var(--radius-sm);
    padding: 0.75rem;
    position: absolute;
    z-index: 100;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    box-shadow: var(--shadow-lg);
    pointer-events: none;
}

.disclaimer-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: var(--c-text) transparent transparent transparent;
}

.affiliate-disclaimer:hover .disclaimer-tooltip {
    visibility: visible;
    opacity: 1;
}

@media (max-width: 640px) {
    .deals-banner { flex-direction: column; text-align: center; }
    .banner-meta { order: 2; margin-top: 0.5rem; }
    .countdown-timer { order: 3; margin-top: 1rem; }
    .disclaimer-tooltip { width: 200px; left: auto; right: -50px; transform: none; }
    .disclaimer-tooltip::after { left: 80%; }
}

/* --- 8. Product Card (Impeccable Engine) --- */
.eco-product-row {
  display: grid;
  grid-template-columns: 3.5rem clamp(12rem, 25vw, 20rem) 1fr clamp(10rem, 15vw, 14rem);
  align-items: stretch;
  position: relative;
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--radius-lg);
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
  transition: all .4s var(--ease-out);
  box-shadow: var(--shadow-sm);
}

.eco-product-row:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--c-accent-light);
}

.eco-full-row-link {
  position: absolute;
  inset: 0;
  z-index: 5;
}

/* Rank Column */
.eco-rank-col {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-right: 1px solid var(--c-border-subtle);
}

.eco-rank-circle {
  width: 2.25rem;
  height: 2.25rem;
  background: var(--c-text);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.15rem;
  box-shadow: 0 4px 10px oklch(0% 0 0 / 10%);
}

.rank-1 .eco-rank-circle { background: var(--c-accent); }

/* Image Column & Footer Reviews */
.eco-img-col {
  position: relative;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 14rem;
}

.eco-img-main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem;
  width: 100%;
  height: 100%;
}

.eco-img-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform .8s var(--ease-out);
}

.eco-img-footer {
  width: 100%;
  background: #fff;
  padding: 0.6rem 0.75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 2.5rem;
}

.eco-badge-deal {
  background: var(--c-danger);
  color: #fff;
  padding: 0.25rem 0.6rem;
  border-radius: var(--radius-sm);
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  animation: eco-pulse-badge 2s infinite var(--ease);
}

@keyframes eco-pulse-badge {
  0% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.1); }
  100% { transform: scale(1); filter: brightness(1); }
}

.eco-badge-stars {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--c-text);
}

.eco-stars-row { color: var(--c-gold); font-size: 0.7rem; display: flex; gap: 1px; }
.eco-rating-val { font-size: 0.85rem; }
.eco-rev-count { color: var(--c-text-muted); font-size: 0.7rem; font-weight: 500; }

.eco-product-row:hover .eco-img-main img {
  transform: scale(1.08);
}

/* Static Rating in CTA Column */
.eco-rating-static {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.eco-rating-static .eco-rating-score {
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
  color: var(--c-text);
}

.eco-rating-static .eco-rating-stars {
  color: var(--c-gold);
  font-size: .85rem;
  margin: 0.2rem 0;
}

.eco-rating-static .eco-rating-count {
  font-size: .65rem;
  font-weight: 600;
  color: var(--c-text-muted);
}

/* Details Column */
.eco-details-col {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  position: relative;
  z-index: 6;
}

.eco-details-col h3 {
  font-size: clamp(1.15rem, 1.5vw, 1.45rem);
  font-weight: 700;
  margin-bottom: .75rem;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.eco-details-col h3 a {
  color: var(--c-text);
  transition: color .2s var(--ease);
}

.eco-details-col h3 a:hover {
  color: var(--c-accent);
}

.eco-snippet {
  font-size: .95rem;
  color: var(--c-text-muted);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.eco-cta-col {
  background: #fff;
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--c-border-subtle);
  gap: 0.8rem;
  position: relative;
  z-index: 6;
}

.eco-price-label {
  font-size: .75rem;
  font-weight: 700;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: .1em;
}

.eco-btn-premium {
  background: var(--gradient-accent);
  color: #fff;
  padding: .9rem 1.75rem;
  border-radius: var(--radius-pill);
  font-weight: 800;
  font-size: .95rem;
  width: 100%;
  text-align: center;
  box-shadow: 0 4px 15px oklch(55% 0.18 260 / 25%);
  transition: all .3s var(--ease);
  position: relative;
  z-index: 10;
}

.eco-btn-premium:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px oklch(55% 0.18 260 / 40%);
  filter: brightness(1.1);
}

/* Premium Ribbons (Horizontal Badge Style) */
.eco-ribbon {
  position: absolute;
  top: 1rem;
  left: 4.5rem;
  padding: 0.4rem 1rem;
  background: var(--gradient-accent);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: var(--radius-pill);
  box-shadow: 0 4px 12px oklch(0% 0 0 / 12%);
  border: 1px solid oklch(100% 0 0 / 10%);
  transition: all 0.3s var(--ease);
}

.eco-ribbon i {
  font-size: 0.9rem;
}

.eco-ribbon.badge-2 { 
  background: linear-gradient(135deg, oklch(45% 0.01 260) 0%, oklch(30% 0.01 260) 100%); 
}

.eco-ribbon.badge-3 { 
  background: linear-gradient(135deg, oklch(65% 0.16 160) 0%, oklch(50% 0.16 160) 100%); 
}

.eco-product-row:hover .eco-ribbon {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 18px oklch(0% 0 0 / 18%);
}


/* --- 9. Related Products Grid --- */
#related-deals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:clamp(1rem,2vw,1.5rem)}
.eco-grid-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:clamp(.6rem,1.2vw,1rem);text-align:center;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column}
.eco-grid-item:hover{border-color:var(--c-accent-light);box-shadow:var(--shadow-md)}
.eco-grid-img {
  position: relative;
  background: #fff;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-bottom: 1rem;
  border: 1px solid var(--c-border-subtle);
}

.eco-grid-img img {
  width: 100%;
  height: 10rem;
  object-fit: contain;
  padding: 0.75rem;
  mix-blend-mode: multiply;
  transition: transform .4s var(--ease);
}

.eco-grid-footer {
  background: oklch(98.5% 0.004 260);
  border-top: 1px solid var(--c-border-subtle);
  padding: 0.5rem;
}

.eco-grid-footer .eco-badge-stars { font-size: 0.7rem; gap: 0.3rem; justify-content: center; }
.eco-grid-footer .eco-stars-row { font-size: 0.6rem; }
.eco-grid-footer .eco-badge-deal { font-size: 0.55rem; padding: 0.2rem 0.4rem; margin-bottom: 0.3rem; justify-content: center; display: inline-flex; width: auto; }

.eco-grid-title{font-size:clamp(.75rem,.7rem + .2vw,.85rem);font-weight:600;color:var(--c-text);line-height:1.4;margin-bottom:auto;padding-bottom:clamp(.75rem,1.5vw,1rem)}
.eco-grid-btn{background:var(--gradient-secondary);color:#fff;padding:clamp(.5rem,1vw,.75rem);border-radius:var(--radius-pill);font-size:clamp(.75rem,.7rem + .15vw,.85rem);font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;transition:all .3s var(--ease);box-shadow:0 4px 12px oklch(65% 0.16 160 / 20%);text-align:center}
.eco-grid-btn:hover{filter:brightness(1.05);color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px oklch(65% 0.16 160 / 35%)}

/* --- 10. Summary Section --- */
.summary-section{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,2.5vw,2rem);margin-top:clamp(1.5rem,3vw,2.5rem)}
.summary-title{font-size:clamp(1.1rem,1rem + .4vw,1.4rem);font-weight:700;text-align:center;margin-bottom:clamp(1rem,2vw,1.5rem)}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(.75rem,1.5vw,1.25rem)}
.summary-card{background:var(--c-bg);border-radius:var(--radius-md);padding:clamp(.75rem,1.5vw,1.25rem)}
.summary-card h5{font-size:clamp(.85rem,.8rem + .25vw,1rem);font-weight:700;margin-bottom:clamp(.5rem,1vw,.75rem)}

/* --- 11. Awesomplete — single clean definition --- */
.awesomplete{display:inline-block;position:relative;width:100%}
.awesomplete>ul{position:absolute;left:0;top:100%;z-index:9999;min-width:100%;box-sizing:border-box;list-style:none;padding:0;margin:.5rem 0 0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;max-height:20rem;overflow-y:auto;text-align:left}
.awesomplete>ul[hidden],.awesomplete>ul:empty{display:none}
.awesomplete li{padding:clamp(.6rem,1.2vw,.85rem) clamp(.8rem,1.6vw,1.25rem);cursor:pointer;color:var(--c-text);font-size:clamp(.8rem,.75rem + .25vw,.95rem);font-weight:500;transition:background .15s;border-bottom:1px solid var(--c-border-light)}
.awesomplete li:last-child{border-bottom:none}
.awesomplete li:hover,.awesomplete li[aria-selected="true"]{background:var(--c-border-light);color:var(--c-accent)}
.awesomplete mark{background:#dbeafe;color:var(--c-accent);font-weight:700;padding:0 .15em;border-radius:2px}

/* --- 12. GCSE Whitelabel --- */
.gsc-result-info,.gcsc-find-more-on-google-branding,.gcsc-find-more-on-google,.gsc-branding,.gsc-results-header,.gcsc-more-maybe-branding,.gsc-adBlock,.gsc-context-box,.gsc-adBlockVertical{display:none!important}
.gsc-control-cse{padding:0!important;border:none!important;background:transparent!important}
.gsc-results.gsc-webResult{margin:0 auto!important;text-align:center!important;width:100%!important}
.gcse-searchresults-only .gsc-expansionArea,.gcse-searchresults-only .gsc-webResult .gsc-result,.gsc-webResult.gsc-result{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important}

/* Pagination Container */
.gsc-results .gsc-cursor-box {
    margin: clamp(2rem, 4vw, 4rem) auto clamp(1.5rem, 3vw, 2.5rem) auto !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    clear: both !important;
}

.gsc-results .gsc-cursor-box .gsc-cursor {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
}

/* Pagination Numbers */
.gsc-results .gsc-cursor-box .gsc-cursor-page {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 2.75rem !important;
    height: 2.75rem !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--c-surface) !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--radius-md) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    transition: all 0.3s var(--ease) !important;
    box-shadow: var(--shadow-sm) !important;
    cursor: pointer !important;
    float: none !important;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    background: var(--c-border-light) !important;
    color: var(--c-accent) !important;
    border-color: var(--c-accent-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md) !important;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page {
    background: var(--c-accent) !important;
    color: #fff !important;
    border-color: var(--c-accent) !important;
    box-shadow: var(--shadow-glow) !important;
}

/* --- 13. Loading Spinner --- */
.web-loader{text-align:center;padding:clamp(2rem,4vw,3rem) 0}
.web-loader p{color:var(--c-text-muted);font-size:clamp(.8rem,.75rem + .25vw,.95rem);margin-top:.75rem}

.spinner-border {
  display: inline-block;
  width: 2.25rem;
  height: 2.25rem;
  vertical-align: text-bottom;
  border: .25em solid var(--c-accent);
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite;
}
@keyframes spinner-border {
  to { transform: rotate(360deg); }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Native snippet styles */
.eco-native-stars { color: var(--c-gold); font-size: 0.8em; margin-left: 0.2rem; }
.eco-native-rating { color: var(--c-text); font-size: 0.85em; font-weight: 700; }

/* --- 14. Back to Top --- */
.backtop{position:fixed;bottom:clamp(1rem,2vw,1.5rem);right:clamp(1rem,2vw,1.5rem);z-index:900;opacity:.7;transition:opacity .3s}
.backtop:hover{opacity:1}
.hide-backtop{opacity:0;pointer-events:none}
.vt-mask{display:none}

/* --- 15. Micro-animations --- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}
.eco-product-row{animation:fadeInUp .5s var(--ease) both}
.eco-product-row:nth-child(2){animation-delay:.06s}
.eco-product-row:nth-child(3){animation-delay:.12s}
.eco-product-row:nth-child(4){animation-delay:.18s}
.eco-product-row:nth-child(5){animation-delay:.24s}

/* --- 16. Mobile Adaption (Impeccable) --- */
@media (max-width: 820px) {
  .eco-product-row {
    grid-template-columns: 3.25rem 1fr;
    grid-template-areas: 
      "rank details"
      "img details"
      "cta cta";
  }
  
  .eco-rank-col { 
    grid-area: rank; 
    border-right: none; 
    border-bottom: none; 
  }
  
  .eco-img-col { 
    grid-area: img; 
    border-bottom: none; 
    padding: .5rem;
  }
  
  .eco-details-col { 
    grid-area: details; 
    padding: 1.25rem;
  }
  
  .eco-cta-col { 
    grid-area: cta; 
    border-left: none; 
    border-top: 1px solid var(--c-border-subtle); 
    flex-direction: row; 
    justify-content: space-between;
    padding: 1rem 1.25rem;
  }
  
  .eco-btn-premium { width: auto; min-width: 10rem; }
}

@media (max-width: 640px) {
  .eco-product-row {
    display: flex;
    flex-direction: column;
  }
  
  .eco-rank-col { 
    padding: .75rem 1.25rem; 
    justify-content: flex-start; 
    background: var(--c-bg);
  }
  
  .eco-img-col { height: 14rem; }
  
  .eco-cta-col { 
    flex-direction: column; 
    gap: .75rem;
    padding: 1.5rem;
  }
  
  .eco-btn-premium { width: 100%; }
  
  .eco-ribbon {
    left: auto;
    right: 1.25rem;
  }
  .eco-badge-deal { font-size: 0.6rem; padding: 0.3rem 0.6rem; }
  .eco-badge-stars { font-size: 0.7rem; padding: 0.25rem 0.5rem; }

  /* 2-Column Grid for "More Products to Watch" on Mobile */
  #related-deals-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
  }
  .eco-grid-img img {
    height: 7rem !important;
  }
  .eco-grid-title {
    font-size: 0.75rem !important;
    padding: 0 0.25rem 0.5rem !important;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* Product Pricing Badge (Antigravity Modern Glassmorphic Engine) */
.vertica-item {
    position: relative !important;
}

.vertica-result-pricing {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    background: var(--glass-bg) !important;
    backdrop-filter: var(--glass-blur) !important;
    -webkit-backdrop-filter: var(--glass-blur) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.4rem 0.9rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    box-shadow: var(--shadow-sm) !important;
    z-index: 10 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 700 !important;
    transition: all 0.3s var(--ease) !important;
}

.vertica-result-pricing:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md) !important;
    border-color: var(--c-accent) !important;
}

.vertica-result-pricing .pricing-label {
    font-size: 0.7rem !important;
    color: var(--c-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.vertica-result-pricing .pricing-val {
    font-size: 0.95rem !important;
    color: var(--c-accent) !important;
    font-weight: 800 !important;
}

.pricing-pad-right .vertica-result-title,
.pricing-pad-right h2 {
    padding-right: 140px !important;
    margin-right: 0 !important;
}

@media (max-width: 576px) {
    .pricing-pad-right .vertica-result-title,
    .pricing-pad-right h2 {
        padding-right: 0 !important;
    }
    .vertica-result-pricing {
        position: relative !important;
        top: 0 !important;
        right: 0 !important;
        margin-bottom: 0.75rem !important;
        display: inline-flex !important;
        max-width: max-content !important;
    }
}

. r e l a t e d - s e a r c h - t a g : h o v e r   {   b a c k g r o u n d :   v a r ( - - p r i m a r y - c o l o r )   ! i m p o r t a n t ;   c o l o r :   # f f f   ! i m p o r t a n t ;   b o r d e r - c o l o r :   v a r ( - - p r i m a r y - c o l o r )   ! i m p o r t a n t ;   t r a n s f o r m :   t r a n s l a t e Y ( - 2 p x ) ;   b o x - s h a d o w :   0   4 p x   1 2 p x   r g b a ( 0 , 0 , 0 , 0 . 1 ) ;   }  
 