:root {
  --nymera-radius-sm: 0.9rem;
  --nymera-radius-md: 1.35rem;
  --nymera-radius-lg: clamp(1.45rem, 2.4vw, 2.4rem);
  --nymera-radius-xl: clamp(2rem, 3.4vw, 3.4rem);
  --nymera-soft-shadow: 0 22px 58px rgba(30, 27, 24, 0.11);
}

:where(a, button)[class*="px-"][class*="py-"]:not(.product-variant) {
  border-radius: 999px !important;
}

:where(.product-variant, .product-card, .catalog-panel) {
  border-radius: var(--nymera-radius-md) !important;
}

:where(.product-variant-swatch, span[class*="aspect-square"], span[class*="h-10"][class*="w-10"]) {
  border-radius: 999px !important;
}

:where([class*="aspect-"][class*="overflow-hidden"], .image-zoom, .hero-zoom, .hero-slider, .hero-frame) {
  border-radius: var(--nymera-radius-lg) !important;
}

:where(a[class*="bg-surface-container"], a[class*="bg-surface-container-low"], a[class*="bg-surface-container-high"], div[class*="bg-surface"][class*="p-"], div[class*="bg-surface-container"][class*="p-"], .product-card) {
  border-radius: var(--nymera-radius-lg) !important;
}

:where(.group) > div[style*="overflow:hidden"],
:where(.group) > div[style*="overflow: hidden"] {
  border-radius: var(--nymera-radius-md) !important;
}

:where([data-mobile-menu], .side-menu) {
  border-bottom-left-radius: var(--nymera-radius-lg);
  border-bottom-right-radius: var(--nymera-radius-lg);
}

:where(.side-nav a, .nav-group-btn, .nav-sub a) {
  border-radius: var(--nymera-radius-sm) !important;
}

:where([class*="aspect-"][class*="overflow-hidden"], a[class*="bg-surface-container"], div[class*="bg-surface"][class*="p-"], .product-card) {
  transition: border-radius 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}

:where(a[class*="bg-surface-container"], .product-card):hover {
  box-shadow: var(--nymera-soft-shadow);
}

:where(.absolute.inset-0[class*="bg-gradient"], .absolute.inset-0[class*="bg-black"]) {
  border-radius: inherit;
}

a[class*="bg-surface-container"],
a[class*="bg-surface-container-low"],
a[class*="bg-surface-container-high"],
a[class*="bg-surface-container"][class*="p-"],
a[class*="bg-surface-container-low"][class*="p-"],
a[class*="bg-surface-container-high"][class*="p-"],
a[class*="bg-surface-container"][class*="px-"][class*="py-"],
a[class*="bg-surface-container-low"][class*="px-"][class*="py-"],
a[class*="bg-surface-container-high"][class*="px-"][class*="py-"],
div[class*="bg-surface"][class*="p-"],
div[class*="bg-surface-container"][class*="p-"],
.product-card {
  border-radius: var(--nymera-radius-lg) !important;
}

@media (max-width: 640px) {
  :root {
    --nymera-radius-md: 1.15rem;
    --nymera-radius-lg: 1.45rem;
    --nymera-radius-xl: 2rem;
  }
}
