/* Shared motion: visual polish without changing layout or hiding no-JS content. */
.site-header {
  transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-header.is-scrolled {
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 30px rgba(16,27,60,.09);
  border-color: rgba(220,226,241,.8);
}

.btn, .editorial-link, .site-header .navlinks a, .sectionnav a {
  transition: background-color .22s ease, border-color .22s ease, color .22s ease,
    box-shadow .22s ease, transform .22s ease;
}
@media (hover: hover) {
  .btn:hover, .editorial-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(49,85,206,.16);
  }
  .site-header .navlinks a:hover, .sectionnav a:hover { color: #3155ce; }
}
.btn:active, .editorial-link:active { transform: translateY(0) scale(.98); }

/* The catalog and process controls need visible affordances of their own. */
.catalogbar button, .processnav button, .appcube, .appcube i,
.catalogcard .appicon, .efbanner .appicon {
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease,
    background-color .25s ease, border-color .25s ease, color .25s ease;
}
.catalogbar button, .processnav button { cursor: pointer; }
@media (hover: hover) {
  .catalogbar button:hover:not(.active), .processnav button:hover:not(.active) {
    transform: translateY(-3px);
    border-color: #849ce1;
    color: #3155ce;
    box-shadow: 0 9px 20px rgba(49,85,206,.12);
  }
  .catalogbar button.active:hover, .processnav button.active:hover {
    box-shadow: 0 10px 24px rgba(49,85,206,.22);
  }
  .appcube:hover {
    transform: translateY(-7px) rotate(2deg);
    box-shadow: 0 24px 38px rgba(49,85,206,.18);
    border-color: #bdcbf3;
  }
  .appcube:nth-child(2):hover, .appcube:nth-child(5):hover {
    transform: translateY(-27px) rotate(2deg);
  }
  .appcube:hover i, .catalogcard:hover .appicon { transform: scale(1.1) rotate(-4deg); }
}
.catalogbar button:active, .processnav button:active { transform: scale(.97); }
.catalogbar button:focus-visible, .processnav button:focus-visible {
  outline: 3px solid #849ce1;
  outline-offset: 3px;
}

/* Product-specific line icons share the existing AtomERP gradient containers. */
.product-icon { font-size: 0!important; }
.product-icon::after {
  content: '';
  display: block;
  width: 27px;
  height: 27px;
  background: var(--product-icon) center / contain no-repeat;
}
[data-product="prodazba"] { --product-icon: url('../images/icons/prodazba.svg?v=0ebf153b1374'); }
[data-product="nabavki"] { --product-icon: url('../images/icons/nabavki.svg?v=05a7f370df0b'); }
[data-product="magacin"] { --product-icon: url('../images/icons/magacin.svg?v=e91a9eb4cb28'); }
[data-product="finansii"] { --product-icon: url('../images/icons/finansii.svg?v=72d00a261b97'); }
[data-product="smetkovodstvo"] { --product-icon: url('../images/icons/smetkovodstvo.svg?v=a702e915dccb'); }
[data-product="b2b"] { --product-icon: url('../images/icons/b2b.svg?v=71929be0bea6'); }
[data-product="webshop"] { --product-icon: url('../images/icons/webshop.svg?v=0b63f6f81716'); }
[data-product="maloprodazba"] { --product-icon: url('../images/icons/maloprodazba.svg?v=558ce03e0e60'); }
[data-product="restorani"] { --product-icon: url('../images/icons/restorani.svg?v=6186bfcc1979'); }
[data-product="hoteli"] { --product-icon: url('../images/icons/hoteli.svg?v=36599846d46a'); }
[data-product="kadrovska-evidencija"] { --product-icon: url('../images/icons/kadrovska-evidencija.svg?v=b6ed39535ebd'); }
[data-product="e-faktura"] { --product-icon: url('../images/icons/e-faktura.svg?v=ae269e7466ad'); }

:where(.introcard, .industry, .module, .catalogcard, .solutioncard,
  .new-card, .packagecard, .contactnext article, .editorial-panel) {
  transition: transform .26s cubic-bezier(.2,.7,.2,1), box-shadow .26s ease,
    border-color .26s ease;
}
@media (hover: hover) {
  :where(.introcard, .industry, .module, .catalogcard, .solutioncard,
    .new-card, .packagecard, .contactnext article, .editorial-panel):hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(22,40,84,.1);
    border-color: #a7b9ee;
  }
}

.new-visual .visual-row, .editorial-panel li {
  transition: background-color .22s ease, translate .22s ease;
}
.new-visual .visual-row:hover { background: rgba(234,240,255,.5); }
.editorial-panel li:hover { translate: 3px 0; }

@media (prefers-reduced-motion: no-preference) {
  html[data-motion-ready] .motion-target {
    opacity: .76;
    translate: 0 14px;
    transition: opacity .55s ease, translate .55s cubic-bezier(.2,.7,.2,1);
  }
  html[data-motion-ready] .motion-target.motion-visible {
    opacity: 1;
    translate: 0 0;
  }
  @keyframes menu-enter {
    from { opacity: .75; translate: 0 -8px; }
    to { opacity: 1; translate: 0 0; }
  }
  .site-header .navlinks.open { animation: menu-enter .24s ease both; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .btn, .editorial-link, .site-header .navlinks a,
  .sectionnav a, .new-visual .visual-row, .editorial-panel li,
  .introcard, .industry, .module, .catalogcard, .solutioncard,
  .new-card, .packagecard, .contactnext article, .editorial-panel {
    animation: none!important;
    transition: none!important;
    translate: none!important;
    transform: none!important;
  }
  .catalogbar button, .processnav button, .appcube, .appcube i,
  .catalogcard .appicon, .efbanner .appicon {
    animation: none!important;
    transition: none!important;
  }
  html[data-motion-ready] .motion-target { opacity: 1!important; translate: none!important; }
}
