/* DILSHOP motion polish — restrained, GPU-safe, reduced-motion aware. */
:root {
  --ds-motion-fast: 160ms;
  --ds-motion-ui: 240ms;
  --ds-motion-media: 460ms;
  --ds-motion-ease: cubic-bezier(.16, 1, .3, 1);
  --ds-focus: rgba(0, 91, 255, .28);
}

::selection { background: rgba(0, 91, 255, .18); color: var(--v36-ink, #101828); }

:is(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--ds-focus);
  outline-offset: 3px;
}

:is(a, button, summary) {
  transition-timing-function: var(--ds-motion-ease) !important;
}

.btn,
.v45-catalog-button,
.v36-carousel-controls button,
.article-product-carousel__controls button,
.pagination-v19 a,
.dm-launcher,
.dm-action {
  transition-duration: var(--ds-motion-ui) !important;
  transition-timing-function: var(--ds-motion-ease) !important;
}

:is(.btn, .v45-catalog-button, .v36-carousel-controls button, .article-product-carousel__controls button, .dm-launcher, .dm-action):active {
  transform: translateY(1px) scale(.985) !important;
}

.top-nav.v30-nav > a {
  position: relative;
}
.top-nav.v30-nav > a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 2px;
  border-radius: 99px;
  background: var(--v36-blue, #005bff);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--ds-motion-ui) var(--ds-motion-ease);
}
.top-nav.v30-nav > a:hover::after,
.top-nav.v30-nav > a:focus-visible::after { transform: scaleX(1); }

.product-card,
.v30-category-card,
.blog-card,
.article-product-card,
.article-related-card {
  transition: transform var(--ds-motion-ui) var(--ds-motion-ease),
              border-color var(--ds-motion-ui) var(--ds-motion-ease),
              box-shadow var(--ds-motion-ui) var(--ds-motion-ease) !important;
}

.product-img img,
.v30-category-image img,
.blog-card__media img,
.article-related-card__image img,
.article-product-card__image img {
  transition: transform var(--ds-motion-media) var(--ds-motion-ease),
              filter var(--ds-motion-media) var(--ds-motion-ease) !important;
  transform-origin: center center;
}

@media (hover: hover) and (pointer: fine) {
  .product-card:hover,
  .v30-category-card:hover,
  .blog-card:hover,
  .article-product-card:hover,
  .article-related-card:hover { transform: translateY(-2px) !important; }

  .product-card:hover .product-img img,
  .v30-category-card:hover .v30-category-image img,
  .blog-card:hover .blog-card__media img,
  .article-related-card:hover .article-related-card__image img,
  .article-product-card:hover .article-product-card__image img { transform: scale(1.025); }

  .product-card:hover .product-title,
  .blog-card:hover .blog-card__title { color: var(--v36-blue, #005bff) !important; }
}

.v30-category-card em,
.v36-all-products > span:last-child,
.v36-ozon-button > span {
  transition: transform var(--ds-motion-ui) var(--ds-motion-ease);
}
@media (hover: hover) and (pointer: fine) {
  .v30-category-card:hover em { transform: translateX(3px); }
  .v36-all-products:hover > span:last-child { transform: translateX(4px); }
  .v36-ozon-button:hover > span { transform: translate(3px, -2px); }
}

.ds-motion-ready .v36-arrivals-heading {
  animation: ds-arrivals-heading 560ms var(--ds-motion-ease) both;
}
.ds-motion-ready .v36-carousel {
  animation: ds-arrivals-track 680ms 70ms var(--ds-motion-ease) both;
}
@keyframes ds-arrivals-heading {
  from { opacity: .35; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes ds-arrivals-track {
  from { opacity: .45; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

.v45-catalog-panel { transform-origin: 24px top; }
.v45-catalog-dropdown[open] > .v45-catalog-panel {
  animation: ds-popover-in 220ms var(--ds-motion-ease) both;
}
.v56-product-promo-details:not([hidden]) {
  animation: ds-popover-in 220ms var(--ds-motion-ease) both;
}
@keyframes ds-popover-in {
  from { opacity: 0; transform: translateY(-6px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

#main-product-photo { transform-origin: center center; }
#main-product-photo.ds-photo-switch {
  animation: ds-photo-switch 260ms var(--ds-motion-ease);
}
@keyframes ds-photo-switch {
  0% { opacity: .65; transform: scale(.992); }
  100% { opacity: 1; transform: scale(1); }
}

.catalog-sidebar {
  transition-timing-function: var(--ds-motion-ease) !important;
}
.photo-modal.open { animation: ds-modal-in 240ms var(--ds-motion-ease) both; }
.photo-modal.open #photo-modal-img { animation: ds-modal-image-in 320ms var(--ds-motion-ease) both; }
@keyframes ds-modal-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes ds-modal-image-in {
  from { opacity: .55; transform: scale(.985); }
  to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .ds-motion-ready .v36-arrivals-heading,
  .ds-motion-ready .v36-carousel,
  .v45-catalog-dropdown[open] > .v45-catalog-panel,
  .v56-product-promo-details:not([hidden]),
  #main-product-photo.ds-photo-switch,
  .photo-modal.open,
  .photo-modal.open #photo-modal-img { animation: none !important; }

  :is(.product-card, .v30-category-card, .blog-card, .article-product-card, .article-related-card):hover,
  .v30-category-card:hover em,
  .v36-all-products:hover > span:last-child,
  .v36-ozon-button:hover > span { transform: none !important; }

  .product-card:hover .product-img img,
  .v30-category-card:hover .v30-category-image img,
  .blog-card:hover .blog-card__media img,
  .article-related-card:hover .article-related-card__image img,
  .article-product-card:hover .article-product-card__image img { transform: none !important; }
}
