/* AdeptDEV Special Module v3.3
 * Consolidated from extension/module/special.twig.
 * Source order is preserved for all surviving rules.
 * Internal signature: AdeptDEV — https://t.me/adeptdevs
 */

/* ===== special-base ===== */
/* Акционные товары — тот же визуальный язык, что и остальные премиальные карточки. */
.adpx-special-module {
  position: relative;
  margin: 28px 0 34px;
  padding: 28px 22px 34px;
  overflow: hidden;
  border: 1px solid rgba(236,102,8,.08);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0 0, rgba(236,102,8,.08), transparent 27%),
    linear-gradient(180deg,#ffffff,#ffffff);
  box-shadow: 0 24px 70px rgba(55,54,54,.07);
}

.adpx-special-module .module-head {
  margin-bottom: 22px;
}

.adpx-special-module .module-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #373636;
  font-size: clamp(24px,2.2vw,38px);
  font-weight: 900;
  letter-spacing: -.035em;
}

.adpx-special-module .module-title img {
  width: 44px;
  height: 44px;
  padding: 10px;
  object-fit: contain;
  border: 1px solid rgba(236,102,8,.16);
  border-radius: 15px;
  background: rgba(236,102,8,.07);
}

.adpx-special-module .module-head > span {
  color: #373636;
  font-size: 12px;
  font-weight: 650;
}

.adpx-special-module .product-layout {
  height: auto !important;
}

.adpx-special-module .adpx-product-card {
  height: 100%;
  min-height: 510px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(55,54,54,.08);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(55,54,54,.055);
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;
}

.adpx-special-module .adpx-product-card:hover {
  transform: translateY(-5px);
  border-color: rgba(236,102,8,.20);
  box-shadow: 0 22px 46px rgba(55,54,54,.10);
}

.adpx-special-module .image {
  position: relative;
  height: 250px;
  margin-bottom: 12px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(145deg,#ffffff,#ffffff);
}

.adpx-special-module .image > a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.adpx-special-module .image img {
  width: 100% !important;
  height: 100% !important;
  padding: 14px;
  object-fit: contain !important;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}

.adpx-special-module .adpx-product-card:hover .image img {
  transform: scale(1.045);
}

.adpx-special-image__fallback {
  position: absolute;
  inset: 0;
  display: none;
  place-items: center;
  align-content: center;
  gap: 10px;
  color: #373636;
  text-align: center;
}

.adpx-special-image.is-image-error .adpx-special-image__fallback {
  display: grid;
}

.adpx-special-image__fallback svg {
  width: 58px;
  height: 58px;
  fill: none;
  stroke: #373636;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.adpx-special-image__fallback small {
  font-size: 11px;
  font-weight: 700;
}

.adpx-special-module .caption {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.adpx-special-module .caption .model {
  margin-bottom: 4px;
  color: #373636;
  font-size: 10px;
}

.adpx-special-module .caption > a[class^="name-"] {
  min-height: 44px;
  display: -webkit-box;
  overflow: hidden;
  color: #373636;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
  text-decoration: none;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.adpx-special-module .rating {
  margin: 9px 0 12px;
  color: #373636;
  font-size: 11px;
}

.adpx-special-module .price {
  min-height: 34px;
  margin-top: auto !important;
  margin-bottom: 12px !important;
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.adpx-special-module .price .new {
  color: #373636;
  font-size: 20px;
  font-weight: 900;
}

.adpx-special-module .price .new.sale {
  color: #ec6608;
}

.adpx-special-module .price .old {
  color: #373636;
  font-size: 12px;
  text-decoration: line-through;
}


.adpx-special-module .labels {
  z-index: 5;
}

.adpx-special-module .pr-sale span,
.adpx-special-module .pr-new span,
.adpx-special-module .pr-top span {
  border-radius: 999px;
  font-weight: 800;
}

.adpx-special-module .swiper-pager > div {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(236,102,8,.25);
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 26px rgba(55,54,54,.08);
}

@media (max-width: 767px) {
  .adpx-special-module {
    margin: 18px 0 24px;
    padding: 18px 10px 24px;
    border-radius: 22px;
  }

  .adpx-special-module .module-title {
    font-size: 23px;
  }

  .adpx-special-module .module-title img {
    width: 38px;
    height: 38px;
  }

  .adpx-special-module .adpx-product-card {
    min-height: 430px;
    padding: 9px;
    border-radius: 17px;
  }

  .adpx-special-module .image {
    height: 190px;
    border-radius: 14px;
  }

  .adpx-special-module .caption > a[class^="name-"] {
    min-height: 39px;
    font-size: 12px;
  }

  .adpx-special-module .price .new {
    font-size: 16px;
  }
}

/* ===== POSSIBLE CROSS-MODULE USE — title icons v15 ===== */
/* ============================================================
   ADEPTDEV TITLE ICONS V15 — CLEAN, SINGLE, STABLE ANIMATION
   ============================================================ */

/* Restore one horizontal title row and disable old generated icons. */
html body .adpx-product-module .module-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

html body .adpx-product-module .module-title {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  color: #373636 !important;
  font-size: clamp(25px, 2.4vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
}

html body .adpx-product-module .module-title::before,
html body .adpx-product-module .module-title::after,
html body .adpx-product-module .adpx-title-text::before,
html body .adpx-product-module .adpx-title-text::after {
  content: none !important;
  display: none !important;
}

html body .adpx-product-module .adpx-title-text {
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: #373636 !important;
  font: inherit !important;
  line-height: inherit !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Exactly one icon. */
html body .adpx-product-module .adpx-title-icon {
  --icon-accent: #ec6608;
  position: relative !important;
  inset: auto !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  border: 1px solid rgba(236,102,8,.18) !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, rgba(236,102,8,.08), #ffffff) !important;
  box-shadow: 0 12px 28px rgba(236,102,8,.12) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  isolation: isolate;
  animation: adpxTitleIconFloat 3.2s ease-in-out infinite !important;
}

html body .adpx-product-module .adpx-title-icon::before {
  content: "" !important;
  position: absolute !important;
  inset: -6px !important;
  display: block !important;
  border: 1px solid rgba(236,102,8,.10) !important;
  border-radius: 21px !important;
  background: transparent !important;
  opacity: .75 !important;
  z-index: -1 !important;
  animation: adpxTitleIconRing 2.6s ease-in-out infinite !important;
}

html body .adpx-product-module .adpx-title-icon::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  border-radius: inherit !important;
  background: linear-gradient(125deg, transparent 25%, rgba(255,255,255,.9) 48%, transparent 70%) !important;
  opacity: 0 !important;
  transform: translateX(-110%) !important;
  z-index: 0 !important;
  animation: adpxTitleIconShine 4.8s ease-in-out infinite !important;
}

html body .adpx-product-module .adpx-title-icon__orbit {
  display: none !important;
}

html body .adpx-product-module .adpx-title-icon svg {
  position: relative !important;
  z-index: 2 !important;
  width: 29px !important;
  height: 29px !important;
  overflow: visible !important;
  fill: none !important;
  stroke: var(--icon-accent) !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: drop-shadow(0 4px 7px rgba(236,102,8,.16)) !important;
  transform-origin: center !important;
  animation: adpxTitleGlyphPulse 2.6s ease-in-out infinite !important;
}

html body .adpx-product-module .adpx-title-icon__spark {
  animation: none !important;
  transform: none !important;
}

html body .adpx-product-module:hover .adpx-title-icon {
  transform: translateY(-3px) rotate(-2deg) !important;
  box-shadow: 0 18px 38px rgba(236,102,8,.20) !important;
}

html body .adpx-product-module:hover .adpx-title-icon svg {
  animation: adpxTitleGlyphHover .65s cubic-bezier(.16,1,.3,1) both !important;
}

@keyframes adpxTitleIconFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes adpxTitleIconRing {
  0%, 100% { transform: scale(.96); opacity: .25; }
  50% { transform: scale(1.05); opacity: .8; }
}

@keyframes adpxTitleIconShine {
  0%, 68% { opacity: 0; transform: translateX(-110%); }
  76% { opacity: .72; }
  92%, 100% { opacity: 0; transform: translateX(110%); }
}

@keyframes adpxTitleGlyphPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.07); }
}

@keyframes adpxTitleGlyphHover {
  0% { transform: scale(1) rotate(0); }
  55% { transform: scale(1.14) rotate(5deg); }
  100% { transform: scale(1.06) rotate(0); }
}

@media (max-width: 767px) {
  html body .adpx-product-module .module-head {
    align-items: flex-start !important;
  }

  html body .adpx-product-module .module-title {
    gap: 10px !important;
    font-size: 23px !important;
  }

  html body .adpx-product-module .adpx-title-icon {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
    border-radius: 14px !important;
  }

  html body .adpx-product-module .adpx-title-icon svg {
    width: 24px !important;
    height: 24px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .adpx-product-module .adpx-title-icon,
  html body .adpx-product-module .adpx-title-icon::before,
  html body .adpx-product-module .adpx-title-icon::after,
  html body .adpx-product-module .adpx-title-icon svg {
    animation: none !important;
    transition: none !important;
  }
}

/* ===== special-heading-animation ===== */
html body .adpx-special-heading {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  display: block !important;
}

html body .adpx-special-heading__main {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}

html body .adpx-special-heading__icon {
  position: relative !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(236,102,8,.18) !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg,rgba(236,102,8,.08),#ffffff) !important;
  color: #ec6608 !important;
  box-shadow: 0 12px 28px rgba(236,102,8,.12) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateZ(0) !important;
  animation: adpxSpecialHeadingFloat 3.4s ease-in-out infinite !important;
}

html body .adpx-special-heading__icon::before {
  content: none !important;
  display: none !important;
}

html body .adpx-special-heading__icon::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  border-radius: inherit !important;
  background: linear-gradient(120deg,transparent 24%,rgba(255,255,255,.88) 49%,transparent 72%) !important;
  opacity: 0 !important;
  transform: translateX(-120%) !important;
  animation: adpxSpecialHeadingShine 5s ease-in-out infinite !important;
  pointer-events: none !important;
}

html body .adpx-special-heading__icon svg {
  position: relative !important;
  z-index: 2 !important;
  width: 27px !important;
  height: 27px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

html body .adpx-special-heading__content {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
}

html body .adpx-special-heading__title {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: #373636 !important;
  font-size: clamp(25px,2.2vw,38px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

html body .adpx-special-heading__count {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  color: #ec6608 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@keyframes adpxSpecialHeadingFloat {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-3px,0); }
}

@keyframes adpxSpecialHeadingShine {
  0%,70% { opacity: 0; transform: translateX(-120%); }
  78% { opacity: .65; }
  94%,100% { opacity: 0; transform: translateX(120%); }
}

@media (max-width: 767px) {
  html body .adpx-special-heading {
    margin-bottom: 16px !important;
  }

  html body .adpx-special-heading__main {
    gap: 10px !important;
  }

  html body .adpx-special-heading__icon {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
    border-radius: 14px !important;
  }

  html body .adpx-special-heading__icon svg {
    width: 23px !important;
    height: 23px !important;
  }

  html body .adpx-special-heading__title {
    font-size: 22px !important;
  }

  html body .adpx-special-heading__count {
    font-size: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .adpx-special-heading__icon,
  html body .adpx-special-heading__icon::after {
    animation: none !important;
  }
}

/* ===== special-card-actions-image-rating ===== */
/* Copyright © AdeptDEV | t.me/tcpraw */
.adpx-special-module .adpx-card-actions{position:absolute;top:14px;right:14px;z-index:8;display:flex!important;flex-direction:column;gap:8px;width:auto!important}
.adpx-special-module .adpx-action-btn{display:grid!important;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(55,54,54,.1);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 7px 18px rgba(55,54,54,.08);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.adpx-special-module .adpx-action-btn:hover{transform:translateY(-2px);border-color:rgba(236,102,8,.35);box-shadow:0 10px 24px rgba(236,102,8,.12)}
.adpx-special-module .adpx-action-btn svg{width:20px;height:20px;fill:none;stroke:#373636;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adpx-special-module .adpx-action-btn:hover svg{stroke:#ec6608}
.adpx-special-module .adpx-special-image{position:relative;display:flex;align-items:center;justify-content:center;height:220px;margin:0 0 18px;overflow:hidden;border-radius:17px;background:#ffffff}
.adpx-special-module .adpx-special-image a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.adpx-special-module .adpx-special-image img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain!important;transform:none!important}
.adpx-special-module .adpx-special-image__fallback{display:none!important}
.adpx-special-module .adpx-rating{display:flex;align-items:center;gap:5px;min-height:22px;margin:10px 0 8px;color:#373636;font-size:12px}
.adpx-special-module .adpx-rating__stars{display:flex;gap:2px}
.adpx-special-module .adpx-rating__stars svg{width:15px;height:15px;fill:#ffffff;stroke:none}
.adpx-special-module .adpx-rating__stars svg.is-filled{fill:#ec6608}
.adpx-special-module .adpx-rating__value{font-weight:800;color:#373636}
.adpx-special-module .adpx-rating__reviews{white-space:nowrap;color:#373636}
@media(max-width:767px){.adpx-special-module .adpx-special-image{height:170px}.adpx-special-module .adpx-action-btn{width:34px;height:34px}}

/* ===== special-current-layout ===== */
/* Copyright © AdeptDEV | t.me/tcpraw */
.special-banners > .module-head,
.special-banners > h3,
.special-banners > .title { display:none!important; }
.adpx-special-module{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 18px 28px!important;margin:28px 0 36px!important}
.adpx-special-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:0 0 24px!important;padding:0 2px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.adpx-special-heading__main{display:flex;align-items:center;gap:14px;min-width:0}
.adpx-special-heading__icon{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border:1px solid rgba(236,102,8,.18);border-radius:17px;background:linear-gradient(145deg,rgba(236,102,8,.08),#ffffff);box-shadow:0 12px 28px rgba(236,102,8,.12)}
.adpx-special-heading__icon svg{width:28px;height:28px;fill:none;stroke:#ec6608;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adpx-special-heading__title{color:#373636;font-size:clamp(26px,2.5vw,40px);font-weight:900;line-height:1.08;letter-spacing:-.04em}
.adpx-special-heading__title>span{color:#ec6608}
.adpx-special-heading__count{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid rgba(236,102,8,.18);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 10px 28px rgba(55,54,54,.06);backdrop-filter:blur(12px);font-size:13px;font-weight:750;color:#373636;white-space:nowrap}
.adpx-special-heading__count svg{width:20px;height:20px;fill:none;stroke:#ec6608;stroke-width:1.8;stroke-linejoin:round}
.adpx-special-module .adpx-card-actions{position:absolute!important;top:14px!important;right:14px!important;z-index:8!important;display:flex!important;flex-direction:column!important;gap:8px!important}
.adpx-special-module .adpx-action-btn{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(55,54,54,.1)!important;border-radius:12px!important;background:rgba(255,255,255,.96)!important;color:#373636!important;box-shadow:0 8px 20px rgba(55,54,54,.08)!important;transition:transform .2s ease,border-color .2s ease,color .2s ease!important}
.adpx-special-module .adpx-action-btn:hover{transform:translateY(-2px)!important;border-color:rgba(236,102,8,.25)!important;color:#ec6608!important}
.adpx-special-module .adpx-action-btn svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.adpx-special-module .swiper-viewport,.adpx-special-module .swiper-container{overflow:hidden!important}
.adpx-special-module .adpx-swiper-controls{pointer-events:none!important;position:absolute!important;inset:50% -4px auto -4px!important;transform:translateY(-50%)!important;z-index:20!important;display:flex!important;justify-content:space-between!important}
.adpx-special-module .adpx-swiper-controls>div{pointer-events:auto!important;width:44px!important;height:44px!important;border:1px solid rgba(236,102,8,.18)!important;background:#ffffff!important;box-shadow:0 10px 26px rgba(55,54,54,.1)!important}
.adpx-special-module .adpx-swiper-controls svg path{stroke:#ec6608!important}
.adpx-special-module .image{background:#ffffff!important}
.adpx-special-module .image img{background:#ffffff!important}
@media(max-width:767px){.adpx-special-module{padding:0 8px 22px!important}.adpx-special-heading{align-items:flex-start!important}.adpx-special-heading__icon{width:44px;height:44px;flex-basis:44px;border-radius:14px}.adpx-special-heading__title{font-size:24px}.adpx-special-heading__count{padding:10px 12px;font-size:11px}.adpx-special-module .adpx-swiper-controls{inset:50% -2px auto -2px!important}.adpx-special-module .adpx-swiper-controls>div{width:38px!important;height:38px!important}}

/* ===== special-heading-final ===== */
/* Copyright © AdeptDEV | t.me/tcpraw */
html body .adpx-special-module .adpx-special-heading{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:24px!important;width:100%!important;margin:0 0 28px!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;
}
html body .adpx-special-module .adpx-special-heading__main{
  display:flex!important;align-items:center!important;gap:16px!important;min-width:0!important;flex:1 1 auto!important;
}
html body .adpx-special-module .adpx-special-heading__count{
  position:static!important;inset:auto!important;float:none!important;clear:none!important;
  width:auto!important;min-width:max-content!important;max-width:none!important;height:62px!important;
  margin:0!important;padding:0 22px!important;flex:0 0 auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;
  color:#373636!important;font-size:14px!important;font-weight:500!important;line-height:1!important;text-align:left!important;
  border:1px solid rgba(236,102,8,.16)!important;border-radius:20px!important;
  background:rgba(255,255,255,.88)!important;box-shadow:0 14px 34px rgba(236,102,8,.09)!important;
  -webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;
  opacity:1!important;visibility:visible!important;transform:none!important;
}
html body .adpx-special-module .adpx-special-heading__count svg{width:25px!important;height:25px!important;flex:0 0 25px!important;stroke:#ec6608!important}
html body .adpx-special-module .adpx-special-heading__count b{font-weight:850!important;color:#373636!important}
@media(max-width:767px){
 html body .adpx-special-module .adpx-special-heading{align-items:flex-start!important;gap:12px!important}
 html body .adpx-special-module .adpx-special-heading__count{height:48px!important;padding:0 12px!important;font-size:11px!important;border-radius:15px!important}
 html body .adpx-special-module .adpx-special-heading__count svg{width:20px!important;height:20px!important;flex-basis:20px!important}
}

/* ===== special-smart-cart-compat-only ===== */
html body .adpx-special-module::before,
html body .adpx-special-module::after,
html body .adpx-special-module .adpx-special-heading::before,
html body .adpx-special-module .adpx-special-heading::after{content:none!important;display:none!important}
html body .adpx-special-module{border-top:0!important;background-image:none!important}
html body .adpx-special-module .adev-cart.is-loading{pointer-events:none;opacity:.72}
html body .adpx-special-module .adev-cart.is-in-cart{background:linear-gradient(135deg,#ec6608,#ec6608)!important;box-shadow:0 10px 24px rgba(236,102,8,.22)!important}
html body .adpx-special-module .adev-cart.is-in-cart i{background:#ffffff;border-left:0;border-radius:11px}
html body .adpx-special-module .adev-cart.is-in-cart i svg{stroke:#ec6608!important}
html body .adpx-special-module .adpx-special-heading{border-top:0!important;box-shadow:none!important;background:transparent!important}
html body .adpx-special-module .adpx-special-heading__count-label{font-style:normal}

/* ===== special-cart-carousel-source-of-truth ===== */
:root {
  --adev-burgundy: #ec6608;
  --adev-burgundy-dark: #ec6608;
  --adev-burgundy-soft: rgba(236,102,8,.12);
}

/* Cart buttons: same premium burgundy visual language as Recommend. */
html body .adpx-special-module .adev-cart,
html body .adpx-special-module .adpx-special-cart {
  width: 100% !important;
  min-height: 48px !important;
  margin-top: auto !important;
  padding: 4px 5px 4px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  border: 1px solid var(--adev-burgundy) !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, var(--adev-burgundy), #ec6608) !important;
  box-shadow: 0 10px 22px rgba(236,102,8,.20) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: translateZ(0);
  transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease, background .28s ease !important;
}
html body .adpx-special-module .adev-cart:hover,
html body .adpx-special-module .adpx-special-cart:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, var(--adev-burgundy-dark), var(--adev-burgundy)) !important;
  box-shadow: 0 15px 30px rgba(236,102,8,.28) !important;
}
html body .adpx-special-module .adev-cart:active,
html body .adpx-special-module .adpx-special-cart:active {
  transform: translateY(0) scale(.985) !important;
}
html body .adpx-special-module .adev-cart__label {
  flex: 1 1 auto !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}
html body .adpx-special-module .adev-cart__icon {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: var(--adev-burgundy) !important;
  box-shadow: 0 3px 10px rgba(55,54,54,.06) !important;
}
html body .adpx-special-module .adev-cart__icon svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
/* Keep Smart Cart's successful state distinct and readable. */
html body .adpx-special-module .adev-cart.is-added,
html body .adpx-special-module .adpx-special-cart.is-added {
  border-color: #ec6608 !important;
  background: linear-gradient(135deg,#ec6608,#ec6608) !important;
  box-shadow: 0 10px 24px rgba(236,102,8,.22) !important;
}
html body .adpx-special-module .adev-cart.is-added .adev-cart__icon {
  color: #ec6608 !important;
}

/* Burgundy carousel controls. */
html body .adpx-special-module .swiper-button-prevv,
html body .adpx-special-module .swiper-button-nextt {
  border-color: rgba(236,102,8,.22) !important;
  color: var(--adev-burgundy) !important;
  transition: transform .28s cubic-bezier(.16,1,.3,1), background .28s ease, box-shadow .28s ease !important;
}
html body .adpx-special-module .swiper-button-prevv:hover,
html body .adpx-special-module .swiper-button-nextt:hover {
  transform: translateY(-50%) scale(1.06) !important;
  background: var(--adev-burgundy) !important;
  box-shadow: 0 14px 30px rgba(236,102,8,.25) !important;
}
html body .adpx-special-module .swiper-button-prevv svg path,
html body .adpx-special-module .swiper-button-nextt svg path {
  stroke: currentColor !important;
}
html body .adpx-special-module .swiper-button-prevv:hover,
html body .adpx-special-module .swiper-button-nextt:hover { color:#ffffff !important; }

/* Smooth movement without card flicker. */
html body .adpx-special-module .swiper-wrapper {
  align-items: stretch !important;
  transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
}
html body .adpx-special-module .swiper-slide {
  height: auto !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: transform .55s cubic-bezier(.16,1,.3,1) !important;
}
html body .adpx-special-module .swiper-slide-active,
html body .adpx-special-module .swiper-slide-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
html body .adpx-special-module .swiper-pagination-switch,
html body .adpx-special-module .swiper-pagination-bullet {
  transition: width .28s ease, background .28s ease, opacity .28s ease !important;
}
html body .adpx-special-module .swiper-active-switch,
html body .adpx-special-module .swiper-pagination-bullet-active {
  width: 22px !important;
  border-radius: 999px !important;
  background: var(--adev-burgundy) !important;
}

@media (max-width: 767px) {
  html body .adpx-special-module .adev-cart,
  html body .adpx-special-module .adpx-special-cart {
    min-height: 44px !important;
    padding-left: 10px !important;
  }
  html body .adpx-special-module .adev-cart__label { font-size: 10.5px !important; }
  html body .adpx-special-module .adev-cart__icon {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body .adpx-special-module .swiper-wrapper,
  html body .adpx-special-module .swiper-slide,
  html body .adpx-special-module .adev-cart { transition: none !important; }
}



/* AdeptDEV Special v3.5 — real overflow state
   When all available products already fit in the viewport there is no
   carousel movement, so arrows/pagination are hidden instead of implying
   phantom/empty slides. */
html body .adpx-special-module.adev-special-no-overflow .adpx-swiper-controls,
html body .adpx-special-module.adev-special-no-overflow .swiper-pagination {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body .adpx-special-module.adev-special-has-overflow .adpx-swiper-controls {
  opacity: 1 !important;
  visibility: visible !important;
}

html body .adpx-special-module .swiper-button-disabled {
  opacity: .28 !important;
  pointer-events: none !important;
}


/* ============================================================
   AdeptDEV Special Carousel v3.6 — deterministic geometry
   ------------------------------------------------------------
   The module no longer depends on Swiper for slide dimensions
   or track positions.  The actual DOM product count is the only
   source of truth, so phantom / empty cards cannot be created.
   ============================================================ */

html body .adpx-special-module {
  --adev-special-visible: 4;
  --adev-special-gap: 24px;
  --adev-special-speed: 760ms;
}

html body .adpx-special-module .swiper-container {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

html body .adpx-special-module .swiper-wrapper {
  display: flex !important;
  align-items: stretch !important;
  gap: var(--adev-special-gap) !important;
  width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
  transform: translate3d(0,0,0);
  transition:
    transform var(--adev-special-speed)
    cubic-bezier(.22,.61,.36,1) !important;
  will-change: transform;
}

html body .adpx-special-module .swiper-slide {
  flex:
    0 0
    calc(
      (100% - (var(--adev-special-visible) - 1) * var(--adev-special-gap))
      / var(--adev-special-visible)
    ) !important;
  width:
    calc(
      (100% - (var(--adev-special-visible) - 1) * var(--adev-special-gap))
      / var(--adev-special-visible)
    ) !important;
  max-width:
    calc(
      (100% - (var(--adev-special-visible) - 1) * var(--adev-special-gap))
      / var(--adev-special-visible)
    ) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body .adpx-special-module.adev-special-no-overflow .adpx-swiper-controls,
html body .adpx-special-module.adev-special-no-overflow .swiper-pagination {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body .adpx-special-module.adev-special-has-overflow .adpx-swiper-controls {
  opacity: 1 !important;
  visibility: visible !important;
}

html body .adpx-special-module .swiper-button-prevv,
html body .adpx-special-module .swiper-button-nextt {
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

@media (max-width: 991px) {
  html body .adpx-special-module {
    --adev-special-visible: 3;
    --adev-special-gap: 16px;
  }
}

@media (max-width: 767px) {
  html body .adpx-special-module {
    --adev-special-visible: 2;
    --adev-special-gap: 8px;
    --adev-special-speed: 620ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .adpx-special-module .swiper-wrapper {
    transition-duration: .01ms !important;
  }
}
