/* ===== Auto Insurance Deals — Advanced Visual Enhancements ===== */
html{scroll-behavior:smooth}
::selection{background:var(--primary);color:var(--primary-foreground)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--muted)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary),var(--secondary));border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--primary)}

/* Animated gradient-mesh backdrop behind the hero */
.gqi-hero-mesh{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.gqi-hero-mesh::before,.gqi-hero-mesh::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;animation:gqi-float 16s ease-in-out infinite}
.gqi-hero-mesh::before{width:520px;height:520px;background:radial-gradient(circle at 30% 30%,var(--primary),transparent 70%);top:-160px;left:-120px}
.gqi-hero-mesh::after{width:460px;height:460px;background:radial-gradient(circle at 70% 70%,var(--secondary),transparent 70%);bottom:-180px;right:-100px;animation-delay:-8s}
@keyframes gqi-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-20px) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.gqi-hero-mesh::before,.gqi-hero-mesh::after{animation:none}}

/* Header glass effect refinement */
header.sticky{backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px)}

/* Buttons: gradient + lift + glow on hover */
a[class*="bg-primary"]:not([class*="/"]),button[class*="bg-primary"]:not([class*="/"]){
  background-image:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb, var(--primary) 75%, var(--secondary)) 100%);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
  box-shadow:0 4px 14px -4px color-mix(in srgb, var(--primary) 55%, transparent);
}
a[class*="bg-primary"]:not([class*="/"]):hover,button[class*="bg-primary"]:not([class*="/"]):hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px -6px color-mix(in srgb, var(--primary) 65%, transparent);
  filter:brightness(1.04);
}
a[class*="bg-secondary"]:not([class*="/"]),button[class*="bg-secondary"]:not([class*="/"]){
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
  box-shadow:0 4px 14px -4px color-mix(in srgb, var(--secondary) 55%, transparent);
}
a[class*="bg-secondary"]:not([class*="/"]):hover,button[class*="bg-secondary"]:not([class*="/"]):hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px -6px color-mix(in srgb, var(--secondary) 65%, transparent);
}

/* Cards: hover lift + soft glow border */
.rounded-2xl.border,.rounded-2xl[class*="border-border"]{
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease;
}
.rounded-2xl.border:hover,.rounded-2xl[class*="border-border"]:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px -12px color-mix(in srgb, var(--primary) 25%, transparent);
  border-color:color-mix(in srgb, var(--primary) 35%, var(--border));
}

/* Icon badges: subtle scale on hover within a card */
.rounded-full[class*="bg-primary/10"],.rounded-full[class*="bg-primary-foreground/10"]{
  transition:transform .3s ease,background-color .3s ease;
}
.group:hover .rounded-full[class*="bg-primary/10"]{transform:scale(1.1) rotate(-4deg)}

/* Scroll-reveal (paired with enhance.js) */
[data-gqi-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
[data-gqi-reveal].gqi-visible{opacity:1;transform:translateY(0)}

/* Gradient text accent for hero H1 */
.gqi-gradient-text{
  background-image:linear-gradient(90deg,var(--primary),color-mix(in srgb, var(--primary) 40%, var(--secondary)));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Footer subtle top glow */
footer.border-t{position:relative}
footer.border-t::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),transparent);opacity:.6}
