/* ==========================================================================
   DAGI DOO — ONE PRODUCT CARD COMPONENT
   Every storefront surface uses identical card markup and interaction states.
   Parent layouts may change only the card's OUTER width/flex-basis.
   ========================================================================== */


.dd-product-card {
  position: relative ;
  box-sizing: border-box ;
  height: auto ;
  min-height: 0 ;
  padding: var(--dd-card-padding) ;
  background: #fff ;
  border: 1px solid var(--dd-card-border) ;
overflow: visible ;
  display: flex ;
  flex-direction: column ;
  align-self: start ;
  box-shadow: none ;
  transform: none;
}

.dd-product-card:hover,
.dd-product-card:focus-within {
  border-color: rgba(17,17,17,.11) ;
}

.dd-product-card .dd-product-card__media {
  position: relative ;
  display: grid ;
  place-items: center ;
  width: 100% ;
  height: auto ;
  min-height: 0 ;
  aspect-ratio: var(--dd-card-media-aspect) ;
  flex: 0 0 auto ;
  overflow: hidden ;
  background: var(--dd-card-media-bg) ;
box-shadow: none ;
  transform: none ;
}

.dd-product-card .dd-product-card__media-link {
  position: absolute ;
  inset: 0 ;
  z-index: 1 ;
  display: grid ;
  place-items: center ;
  color: #222 ;
  text-decoration: none ;
}

.dd-product-card .dd-product-card__media-link::after {
  content: "Изображение" ;
  color: #222 ;
  font-size: clamp(9px,.76vw,13px) ;
}

.dd-product-card .discount {
  left: var(--dd-card-inset) ;
  top: var(--dd-card-inset) ;
  z-index: 3 ;
}

.dd-product-card .dd-product-card__favorite {
  position: absolute ;
  right: var(--dd-card-inset) ;
  top: var(--dd-card-inset) ;
  z-index: 4 ;
  display: grid ;
  place-items: center ;
  width: var(--dd-card-favorite-size) ;
  min-width: var(--dd-card-favorite-size) ;
  height: var(--dd-card-favorite-size) ;
  min-height: var(--dd-card-favorite-size) ;
  padding: 0 ;
  border: 0 ;
background: transparent ;
  color: #777 ;
  box-shadow: none ;
  opacity: 1 ;
  visibility: visible ;
  transform: none ;
  cursor: pointer ;
  pointer-events: auto ;
  -webkit-tap-highlight-color: transparent ;
}

.dd-product-card .dd-product-card__favorite .product-favorite-icon {
  display: block ;
  width: var(--dd-card-favorite-icon-size) ;
  height: var(--dd-card-favorite-icon-size) ;
  object-fit: contain ;
  opacity: 1 ;
  color: inherit ;
  filter: none ;
  transition: color .14s ease, opacity .14s ease ;
  pointer-events: none ;
}

.dd-product-card .dd-product-card__favorite[aria-pressed="false"] {
  color: #777 ;
}

.dd-product-card .dd-product-card__favorite[aria-pressed="false"]:hover,
.dd-product-card .dd-product-card__favorite[aria-pressed="false"]:focus-visible,
.dd-product-card .dd-product-card__favorite[aria-pressed="true"],
.dd-product-card .dd-product-card__favorite.is-active {
  color: #111 ;
}

.dd-product-card .dd-product-card__favorite:hover,
.dd-product-card .dd-product-card__favorite:focus-visible,
.dd-product-card .dd-product-card__favorite.is-active {
  color: #111 ;
}

.dd-product-card .dd-product-card__favorite:hover .product-favorite-icon,
.dd-product-card .dd-product-card__favorite:focus-visible .product-favorite-icon,
.dd-product-card .dd-product-card__favorite.is-active .product-favorite-icon {
  opacity: 1 ;
  filter: none ;
}

.dd-product-card .dd-product-card__quick-view {
  position: absolute ;
  left: 50% ;
  bottom: var(--dd-card-inset) ;
  z-index: 4 ;
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  width: auto ;
  min-width: 0 ;
  height: var(--dd-card-quick-view-height) ;
  min-height: var(--dd-card-quick-view-height) ;
  padding: 0 var(--dd-card-quick-view-padding-x) ;
  border: 1px solid #111 ;
background: #111 ;
  color: #fff ;
  font-size: var(--dd-card-quick-view-font-size) ;
  font-weight: 400 ;
  line-height: 1 ;
  white-space: nowrap ;
  box-shadow: none ;
  opacity: 0 ;
  visibility: hidden ;
  pointer-events: none ;
  transform: translate(-50%,0) ;
  transition: opacity .14s ease,visibility .14s ease,background-color .14s ease,color .14s ease ;
}

.dd-product-card:hover .dd-product-card__quick-view,
.dd-product-card:focus-within .dd-product-card__quick-view {
  opacity: 1 ;
  visibility: visible ;
  pointer-events: auto ;
  transform: translate(-50%,0) ;
}

.dd-product-card .dd-product-card__body {
  position: relative ;
  box-sizing: border-box ;
  width: 100% ;
  height: var(--dd-card-body-height) ;
  min-height: var(--dd-card-body-height) ;
  flex: 0 0 var(--dd-card-body-height) ;
  padding: var(--dd-card-body-padding) ;
  display: flex ;
  flex-direction: column ;
  align-items: flex-start ;
  justify-content: flex-start ;
  gap: 0 ;
  overflow: hidden ;
  background: transparent ;
}

.dd-product-card .dd-product-card__title {
  width: 100% ;
  height: var(--dd-card-title-height) ;
  min-height: var(--dd-card-title-height) ;
  max-height: var(--dd-card-title-height) ;
  margin: 0 0 var(--dd-card-title-gap) ;
  padding: 0 ;
  color: #111 ;
  font-size: var(--dd-card-title-font-size) ;
  font-weight: 400 ;
  line-height: var(--dd-card-title-height) ;
  white-space: nowrap ;
  overflow: hidden ;
  text-overflow: ellipsis ;
  display: block ;
  -webkit-line-clamp: unset ;
  cursor: pointer ;
}

.dd-product-card .dd-product-card__title-link {
  display: block ;
  width: 100% ;
  color: inherit ;
  text-decoration: none ;
  overflow: hidden ;
  text-overflow: ellipsis ;
  white-space: nowrap ;
}

.dd-product-card .dd-product-card__media-link:focus-visible,
.dd-product-card .dd-product-card__title-link:focus-visible {
  outline: 2px solid currentColor ;
  outline-offset: 2px ;
}

.dd-product-card .dd-product-card__price {
  display: flex ;
  align-items: center ;
  flex-wrap: nowrap ;
  width: 100% ;
  height: var(--dd-card-price-height) ;
  min-height: var(--dd-card-price-height) ;
  max-height: var(--dd-card-price-height) ;
  margin: 0 ;
  gap: 4px ;
  line-height: var(--dd-card-price-height) ;
  white-space: nowrap ;
  opacity: 1 ;
  visibility: visible ;
  pointer-events: auto ;
  transition: opacity .14s ease,visibility .14s ease ;
}

.dd-product-card .dd-product-card__price strong {
  font-size: var(--dd-card-price-font-size) ;
  font-weight: 400 ;
  line-height: 1 ;
}

.dd-product-card .dd-product-card__price s,
.dd-product-card .dd-product-card__price em {
  font-size: var(--dd-card-price-meta-font-size) ;
  line-height: 1 ;
}

.dd-product-card .dd-product-card__price s { color: #8b8b8b ; }
.dd-product-card .dd-product-card__price em { color: #ff3344 ; font-style: normal ; }

.dd-product-card .dd-size-row--compact {
  position: absolute ;
  left: var(--dd-card-inset) ;
  right: auto ;
  top: auto ;
  bottom: var(--dd-card-control-bottom) ;
  z-index: 3 ;
  display: grid ;
  grid-template-columns: repeat(6,var(--dd-card-control-size)) ;
  grid-auto-flow: column ;
  align-items: center ;
  justify-content: start ;
  column-gap: var(--dd-card-control-gap) ;
  row-gap: 0 ;
  width: max-content ;
  max-width: calc(100% - (2 * var(--dd-card-inset))) ;
  height: var(--dd-card-control-size) ;
  min-height: var(--dd-card-control-size) ;
  max-height: var(--dd-card-control-size) ;
  margin: 0 ;
  padding: 0 ;
  border: 0 ;
background: transparent ;
  box-shadow: none ;
  overflow: visible ;
  opacity: 0 ;
  visibility: hidden ;
  pointer-events: none ;
  transform: none ;
  transition: opacity .14s ease,visibility .14s ease ;
}



.dd-product-card .dd-size-option--compact {
  display: flex ;
  align-items: center ;
  justify-content: center ;
  flex: none ;
  width: var(--dd-card-control-size) ;
  min-width: var(--dd-card-control-size) ;
  max-width: var(--dd-card-control-size) ;
  height: var(--dd-card-control-size) ;
  min-height: var(--dd-card-control-size) ;
  max-height: var(--dd-card-control-size) ;
  margin: 0 ;
  padding: 0 ;
  box-sizing: border-box ;
  border: 1px solid var(--dd-color-ink) ;
  border-radius: var(--dd-radius-control-sm) ;
background: var(--dd-color-surface) ;
  color: var(--dd-color-ink) ;
  font-size: 8.5px ;
  font-weight: 400 ;
  line-height: 1 ;
  text-align: center ;
  box-shadow: none ;
  transform: none ;
}

.dd-product-card .dd-size-option--compact + .dd-size-option--compact {
  margin-left: 0 ;
}

.dd-product-card .dd-size-option--compact:hover,
.dd-product-card .dd-size-option--compact:focus-visible,
.dd-product-card .dd-size-option--compact.is-in-cart,
.dd-product-card .dd-size-option--compact.is-added,
.dd-product-card .dd-size-option--compact[aria-pressed="true"] {
  background: var(--dd-color-ink) ;
  color: var(--dd-color-surface) ;
  border-color: var(--dd-color-ink) ;
  outline: none ;
  box-shadow: none ;
  transform: none ;
}

@media (hover: hover) and (pointer: fine) {
  .dd-product-card:hover .dd-product-card__price,
  .dd-product-card:focus-within .dd-product-card__price {
    opacity: 0 ;
    visibility: hidden ;
    pointer-events: none ;
  }
  .dd-product-card:hover .dd-size-row--compact,
  .dd-product-card:focus-within .dd-size-row--compact {
    opacity: 1 ;
    visibility: visible ;
    pointer-events: auto ;
  }
}

@media (hover: none), (pointer: coarse) {
  .dd-product-card .dd-product-card__quick-view { display: none ; }
  .dd-product-card .dd-product-card__body {
    height: var(--dd-card-mobile-body-height) ;
    min-height: var(--dd-card-mobile-body-height) ;
    flex-basis: var(--dd-card-mobile-body-height) ;
  }
  .dd-product-card .dd-size-row--compact {
    position: static ;
    width: max-content ;
    max-width: 100% ;
    margin-top: 7px ;
    opacity: 1 ;
    visibility: visible ;
    pointer-events: auto ;
  }
}

/* Card variants are semantic layout hooks only. Internal geometry lives in :root/base card. */
/* Layout-only sizing by semantic variant. Card internals stay in the base component. */
.dd-product-card[data-card-variant="carousel"],
.dd-product-card[data-card-variant="related"],
.dd-product-card[data-card-variant="viewed"] {
  flex: 0 0 var(--product-card-width, calc((100% - (var(--products-per-view) - 1) * var(--product-gap)) / var(--products-per-view))) ;
  min-width: 0 ;
  max-width: none ;
}
.dd-product-card[data-card-variant="hero"],
.dd-product-card[data-card-variant="search"],
.dd-product-card[data-card-variant="catalog"],
.dd-product-card[data-card-variant="favorites"] {
  width: 100% ;
  min-width: 0 ;
  max-width: none ;
}

.dd-product-card[data-card-variant="cart"] {
  flex: 0 0 calc((100% - (6 * var(--cart-reco-gap))) / 7) ;
  min-width: 0 ;
  max-width: none ;
}

@media (max-width: 900px) {
  .dd-product-card[data-card-variant="cart"] {
    flex-basis: calc((100% - (3 * var(--cart-reco-gap))) / 4) ;
  }
}
@media (max-width: 600px) {
  .dd-product-card[data-card-variant="cart"] {
    flex-basis: calc((100% - var(--cart-reco-gap)) / 2) ;
  }
}

/* ==========================================================================
   SHARED SITE FOOTER
   ========================================================================== */
/* Footer has one permanent DOM position after .app-view. */
.shared-site-footer {
  width: 100%;
}
.shared-site-footer.is-compact > .footer-grid {
  display: none;
}
.shared-site-footer.is-compact {
  background: #151515;
}

/* ==========================================================================
   SHARED SITE HEADER
   ========================================================================== */
/* One site header for home, catalog, product and information/favorites pages. */
body.catalog-open > .topbar,
body.product-open-page > .topbar,
body.info-open > .topbar {
  position: fixed;
  inset: 0 0 auto 0;
  width: 100%;
}
body.catalog-open > .header,
body.product-open-page > .header,
body.info-open > .header {
  position: fixed;
  top: var(--shared-site-topbar-height);
  left: 0;
  right: 0;
  width: 100%;
}
body.catalog-open .app-view,
body.product-open-page .app-view,
body.info-open .app-view {
  padding-top: var(--shared-site-header-height);
}
/* Cart owns its separate checkout header. */
body.cart-open > .topbar,
body.cart-open > .header {
  display: none;
}

/* ==========================================================================
   GLOBAL INTERFACE LAYERS
   ========================================================================== */
/*
  Global stacking order (single source of truth):
  page → header → menu → search → dialog → quick view → size guide → photo viewer.
  Component-internal z-index values stay local (badges, arrows, dropdown content, etc.).
*/
.store-subpage,
.cart-page {
  z-index: var(--z-page);
}

.header,
body.catalog-open > .topbar,
body.product-open-page > .topbar,
body.info-open > .topbar,
body.catalog-open > .header,
body.product-open-page > .header,
body.info-open > .header {
  z-index: var(--z-header);
}

.mens-menu-overlay {
  z-index: var(--z-menu);
}

.search-overlay {
  z-index: var(--z-search);
}

.account-overlay,
.size-picker-overlay {
  z-index: var(--z-dialog);
}

.quick-view-overlay {
  z-index: var(--z-quick-view);
}

.size-guide-overlay,
.qv-size-guide-overlay {
  z-index: var(--z-size-guide);
}

.product-photo-viewer {
  z-index: var(--z-photo-viewer);
}

/* Accessibility: forced reduced motion is the only justified precedence override. */

@media (prefers-reduced-motion: reduce) {html {
    scroll-behavior: auto !important;
  }*, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    transition-delay: 0ms !important;
  }.carousel-arrow {
    transition: none;
  }.news-card {
    transform: none;
    transition: none;
  }
}

/* ==========================================================================
   STAGE 1 ROUTE VIEW ARCHITECTURE
   ========================================================================== */
.app-view {
  width: 100%;
  min-height: 1px;
}
.route-view {
  display: none;
}
.route-view.is-open {
  display: block;
}

/* --------------------------------------------------------------------------
   Native page scrolling guard
   Vertical page scrolling must never compete with carousel RAF motion or
   trigger hover transitions merely because content passes under the pointer.
   -------------------------------------------------------------------------- */
.carousel-track {
  will-change: auto;
}

html.dd-page-scrolling .banner-card:hover,
html.dd-page-scrolling .wide-banner:hover,
html.dd-page-scrolling .mini-banner-slide:hover,
html.dd-page-scrolling .category:hover,
html.dd-page-scrolling .news-card:hover,
html.dd-page-scrolling .news-card:focus-visible {
  transform: none;
  box-shadow: none;
  transition: none;
}

html.dd-page-scrolling .dd-product-card:hover .dd-product-card__quick-view {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}

html.dd-page-scrolling .dd-product-card:hover .dd-product-card__price {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: none;
}

html.dd-page-scrolling .dd-product-card:hover .dd-size-row--compact {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}


/* v16 footer cleanup: slightly tighter footer, smaller legal bar, borderless real social icons. */
.shared-site-footer > .footer-grid {
  gap: 34px;
  padding: 10px 0 14px;
}
.shared-site-footer .footer-grid h4 { margin-bottom: 5px; font-size: 12px; }
.shared-site-footer .footer-grid ul { font-size: 8.5px; line-height: 1.48; }
.shared-site-footer .copyright {
  min-height: 30px;
  height: 30px;
  padding: 0;
  font-size: 9px;
}
.shared-site-footer .social { gap: 10px; }
.shared-site-footer .social-link,
.shared-site-footer .social-link:hover,
.shared-site-footer .social-link:focus-visible {
  width: 30px;
  min-width: 30px;
  max-width: 30px;
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.shared-site-footer .social-link img {
  width: 28px;
  height: 28px;
  transform: scale(1);
  transform-origin: center;
  transition: transform .16s ease;
}
.shared-site-footer .social-link:hover img,
.shared-site-footer .social-link:focus-visible img {
  transform: scale(1.12);
}

/* ===== v32 compact card-size row: keep every size proportional at narrow widths ===== */
.dd-product-card .dd-size-row--compact {
  left: var(--dd-card-inset);
  right: var(--dd-card-inset);
  width: auto;
  max-width: none;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: hidden;
}
.dd-product-card .dd-size-option--compact {
  flex: 1 1 var(--dd-card-control-size);
  width: auto;
  min-width: 0;
  max-width: var(--dd-card-control-size);
  height: auto;
  min-height: 0;
  max-height: var(--dd-card-control-size);
  aspect-ratio: 1 / 1;
  border-radius: var(--dd-radius-control-sm);
}
@media (hover: none), (pointer: coarse) {
  .dd-product-card .dd-size-row--compact {
    right: auto;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
}

/* CMS images: respect original card geometry and existing overlays. */
.dd-cms-product-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;pointer-events:none}
.dd-product-card__media>.dd-cms-product-image{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hits-card-product-link>.dd-cms-product-image{position:absolute;inset:0;width:100%;height:100%}
.ms-product-photo>.dd-cms-product-image{width:100%;height:100%;object-fit:cover}

/* DAGI DOO v53.0 — intentional premium footer grid, no bullet lists. */
.shared-site-footer:not(.is-compact){background:#fff;border-top:1px solid #e6e6e6}
.shared-site-footer:not(.is-compact) > .footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.95fr) minmax(0,.7fr);column-gap:48px;row-gap:24px;width:min(1480px,calc(100% - 80px));margin:0 auto;padding:38px 0 42px;align-items:start}
.shared-site-footer .footer-grid > div{min-width:0}
.shared-site-footer .footer-grid h4{margin:0 0 15px;font-size:14px;line-height:1.4;font-weight:650;letter-spacing:-.02em}
.shared-site-footer .footer-grid ul{list-style:none!important;padding:0!important;margin:0!important;font-size:12px;line-height:1.65;color:#666}
.shared-site-footer .footer-grid li{list-style:none!important;padding:0;margin:0 0 9px}
.shared-site-footer .footer-grid li::marker{content:''}
.shared-site-footer .footer-grid .footer-link{display:inline-block;padding:0;text-align:left;color:#666;font-size:12px;line-height:1.5;text-decoration:none;transition:color .15s ease}
.shared-site-footer .footer-grid .footer-link:hover,.shared-site-footer .footer-grid .footer-link:focus-visible{color:#111;text-decoration:underline;text-underline-offset:3px}
.shared-site-footer .copyright{background:#121212;color:#f1f1f1;font-size:10px;min-height:44px;height:auto;padding:0}
.shared-site-footer .copyright .container{width:min(1480px,calc(100% - 80px));min-height:44px;margin:auto;align-items:center;gap:16px}
.shared-site-footer .copyright .copyright-legal{color:#ededed}
@media (max-width:1050px){.shared-site-footer:not(.is-compact) > .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(900px,calc(100% - 48px));column-gap:36px}.shared-site-footer .copyright .container{width:calc(100% - 48px)}}
@media (max-width:560px){.shared-site-footer:not(.is-compact) > .footer-grid{grid-template-columns:1fr;width:calc(100% - 36px);gap:22px;padding:30px 0}.shared-site-footer .copyright .container{width:calc(100% - 36px);min-height:52px;flex-direction:row;flex-wrap:wrap}.shared-site-footer .footer-grid h4{margin-bottom:10px}}
