:root :where(.is-style-card-hover) {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}

:root :where(.is-style-card-hover:hover) {
  transform: translateY(-8px);
  border-color: rgba(207, 156, 85, 0.55);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.28);
}

:root :where(.is-style-glass) {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

:root :where(.is-style-gradient-mesh) {
  background:
    radial-gradient(circle at 20% 20%, rgba(207, 156, 85, 0.18) 0%, transparent 35%),
    radial-gradient(circle at 82% 18%, rgba(254, 245, 228, 0.08) 0%, transparent 30%),
    radial-gradient(circle at 55% 85%, rgba(207, 156, 85, 0.12) 0%, transparent 32%),
    var(--wp--preset--color--base);
}

:root :where(.is-style-noise-overlay) {
  position: relative;
}

:root :where(.is-style-noise-overlay::after) {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

:root :where(.is-style-backdrop-blur) {
  background: rgba(0, 0, 0, 0.24);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px) saturate(180%);
}

:root :where(.is-style-animated-gradient) {
  background: linear-gradient(-45deg, #cf9c55, #191919, #000000, #f2ede5);
  background-size: 400% 400%;
  animation: zoor-gradient-shift 16s ease infinite;
}

:root :where(.is-style-wave-top) {
  position: relative;
}

:root :where(.is-style-wave-top::before) {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 32px;
  background:
    radial-gradient(circle at 50% 100%, transparent 24px, currentColor 25px, currentColor 26px, transparent 27px) 0 0 / 54px 100% repeat-x;
  color: inherit;
  opacity: 0.1;
}

:root :where(.is-style-zoom-hover) {
  overflow: hidden;
}

:root :where(.is-style-zoom-hover img) {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

:root :where(.is-style-zoom-hover:hover img) {
  transform: scale(1.06);
}

:root :where(.wp-block-button.is-style-outline-light .wp-block-button__link) {
  background: transparent;
  color: var(--wp--preset--color--base);
  border: 1px solid rgba(0, 0, 0, 0.18);
}

:root :where(body.home .zoor-site-header:not(.is-scrolled) .wp-block-button.is-style-outline-light .wp-block-button__link) {
  color: var(--wp--preset--color--contrast) !important;
  border-color: rgba(255, 255, 255, 0.84) !important;
  background: transparent !important;
}

:root :where(body.home .zoor-site-header.is-scrolled .wp-block-button.is-style-outline-light .wp-block-button__link) {
  color: var(--wp--preset--color--base) !important;
  border-color: rgba(0, 0, 0, 0.18) !important;
  background: transparent !important;
}

:root :where(.wp-block-button.is-style-pill-dark .wp-block-button__link) {
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
}

:root :where(.wp-block-button.is-style-arrow .wp-block-button__link)::after {
  content: " ->";
  display: inline-block;
  transition: transform 0.25s ease;
}

:root :where(.wp-block-button.is-style-arrow .wp-block-button__link:hover::after) {
  transform: translateX(4px);
}

:root :where(.is-style-gradient-text) {
  color: transparent;
  background: linear-gradient(135deg, #cf9c55 0%, #fef5e4 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

:root :where(.wp-block-separator.is-style-gradient-line) {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, rgba(207, 156, 85, 0) 0%, rgba(207, 156, 85, 0.8) 50%, rgba(207, 156, 85, 0) 100%);
}

@keyframes zoor-gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
