/* Edpol — subtle motion system */

:root {
  --edpol-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --edpol-ease-soft: cubic-bezier(0.33, 0, 0.2, 1);
  --edpol-reveal-distance: 1.15rem;
  --edpol-reveal-duration: 0.72s;
  --edpol-reveal-stagger: 65ms;
}

/* Header & chrome */
.edpol-header {
  transition:
    background-color 0.45s var(--edpol-ease-soft),
    border-color 0.45s var(--edpol-ease-soft),
    backdrop-filter 0.45s var(--edpol-ease-soft),
    box-shadow 0.45s var(--edpol-ease-soft);
}

.edpol-header__logo {
  transition: opacity 0.5s var(--edpol-ease-out), transform 0.5s var(--edpol-ease-out);
}

.edpol-header__nav a {
  transition: color 0.22s ease, opacity 0.22s ease, transform 0.22s var(--edpol-ease-out);
}

.edpol-header__nav a:hover {
  transform: translateY(-1px);
}

.edpol-backdrop {
  opacity: 0;
  transition: opacity 0.28s ease;
}

.edpol-backdrop:not([hidden]) {
  opacity: 1;
}

/* Scroll / entrance reveals (classes added via JS) */
.edpol-reveal {
  opacity: 0;
  transform: translate3d(0, var(--edpol-reveal-distance), 0);
  transition:
    opacity var(--edpol-reveal-duration) var(--edpol-ease-out),
    transform var(--edpol-reveal-duration) var(--edpol-ease-out);
  transition-delay: calc(var(--edpol-reveal-i, 0) * var(--edpol-reveal-stagger));
  will-change: opacity, transform;
}

.edpol-reveal--fade {
  transform: none;
}

.edpol-reveal--in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.edpol-reveal--in.edpol-reveal--fade {
  transform: none;
}

/* Section headings — underline grows in */
.edpol-section-heading.edpol-reveal::after,
.edpol-section-title.edpol-reveal::after,
.edpol-offer h2.moduletitle.edpol-reveal::after,
.edpol-applications h2.moduletitle.edpol-reveal::after {
  width: 0;
  opacity: 0;
  transition:
    width 0.55s var(--edpol-ease-out) 0.12s,
    opacity 0.35s ease 0.12s;
}

.edpol-section-heading.edpol-reveal--in::after,
.edpol-section-title.edpol-reveal--in::after,
.edpol-offer h2.moduletitle.edpol-reveal--in::after,
.edpol-applications h2.moduletitle.edpol-reveal--in::after {
  width: 2.75rem;
  opacity: 1;
}

/* Hero — gentle zoom on background photo (mobile overlay layout) */
@keyframes edpol-hero-zoom {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(1.05);
  }
}

@media (max-width: 767px) {
  body.is-home .edpol-hero-media img {
    animation: edpol-hero-zoom 22s var(--edpol-ease-soft) infinite alternate;
  }
}

/* Interactive cards — soft lift */
.edpol-offer-module .edpol-card,
.edpol-app-card,
body.com_hikashop.view-category .edpol-content .hikashop_subcategories_listing .edpol-card,
body.com_hikashop.view-category .edpol-content .hikashop_products_listing .edpol-product-card {
  transition:
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.38s var(--edpol-ease-out);
}

.edpol-app-card:hover,
body.com_hikashop.view-category .edpol-content .hikashop_subcategories_listing .edpol-card:hover,
body.com_hikashop.view-category .edpol-content .hikashop_subcategories_listing .edpol-card:focus-within,
body.com_hikashop.view-category .edpol-content .hikashop_products_listing .edpol-product-card:hover {
  transform: translateY(-4px);
}

.edpol-offer-module .edpol-card--offer-swap:hover,
.edpol-offer-module .edpol-card--offer-swap:focus-within {
  transform: translateY(-3px);
}

/* Catalog hero — ambient glow pulse */
@keyframes edpol-catalog-glow {
  0%,
  100% {
    opacity: 0.55;
  }

  50% {
    opacity: 0.85;
  }
}

body.com_hikashop.view-category .edpol-catalog-hero::before {
  animation: edpol-catalog-glow 8s ease-in-out infinite;
}

/* Footer links */
.edpol-footer a {
  transition: color 0.22s ease, opacity 0.22s ease, transform 0.22s var(--edpol-ease-out);
}

.edpol-footer a:hover {
  transform: translateX(2px);
}

.edpol-footer__social a {
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.3s var(--edpol-ease-out);
}

.edpol-footer__social a:hover {
  transform: translateY(-2px);
}

/* Buttons & filters */
.edpol-cat-sidebar__toggle,
.edpol-nav-toggle,
.edpol-nav-close {
  transition: opacity 0.2s ease, transform 0.2s var(--edpol-ease-out);
}

.edpol-cat-sidebar__toggle:active,
.edpol-nav-toggle:active {
  transform: scale(0.96);
}

@keyframes edpol-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 0.85rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 767px) {
  body.edpol-nav-open .edpol-header__nav li {
    animation: edpol-fade-up 0.48s var(--edpol-ease-out) both;
  }

  body.edpol-nav-open .edpol-header__nav li:nth-child(1) {
    animation-delay: 0.04s;
  }

  body.edpol-nav-open .edpol-header__nav li:nth-child(2) {
    animation-delay: 0.09s;
  }

  body.edpol-nav-open .edpol-header__nav li:nth-child(3) {
    animation-delay: 0.14s;
  }

  body.edpol-nav-open .edpol-header__lang {
    animation: edpol-fade-up 0.48s var(--edpol-ease-out) 0.2s both;
  }
}

/* Product page */
body.com_hikashop.view-product .edpol-product-back__link {
  transition: color 0.22s ease, transform 0.22s var(--edpol-ease-out);
}

body.com_hikashop.view-product .edpol-product-back__link:hover {
  transform: translateX(-3px);
}
