::selection { background: rgba(143,180,113,.30); color: #2b3a1e; }
::-moz-selection { background: rgba(143,180,113,.30); color: #2b3a1e; }

/* без подчёркиваний */
a, a:link, a:visited, a:hover, a:focus, a:active,
.product-thumb a, .name a, #wishlist-total, #wishlist-total a,
#menu a, .list-group-item, .category a, .nsmenu a, td a, li a {
  text-decoration: none !important;
}

* { -webkit-tap-highlight-color: rgba(0,0,0,0); }

/* мягкое свечение при взаимодействии — БЕЗ изменения размеров (не прыгает) */
a:focus, a:active,
#menu a:focus, #menu a:active,
.nsmenu a:focus, .nsmenu a:active,
.list-group-item:focus, .list-group-item:active,
#wishlist-total:focus, #wishlist-total:active,
.category a:focus, .category a:active {
  outline: none !important;
  border-radius: 10px;
  box-shadow: 0 0 0 2px rgba(143,180,113,.5), 0 0 18px 4px rgba(143,180,113,.30) !important;
}

/* кнопки (+ / - / купити и т.п.): только лёгкое свечение, НИКАКИХ сдвигов */
button:focus, .btn:focus, input[type=button]:focus, input[type=submit]:focus,
button:active, .btn:active,
.plus-minus button:focus, .plus-minus button:active,
[data-dir]:focus, [data-dir]:active {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(143,180,113,.45) !important;
}

/* товары: мягкое свечение всей карточки, с воздухом, без обрезки и без прыжков */
.product-thumb:focus-within {
  border-radius: 14px;
  box-shadow: 0 0 0 8px #fff, 0 0 26px 6px rgba(143,180,113,.30) !important;
}
.product-thumb a:focus, .product-thumb a:active,
.product-thumb .name a:focus, .product-thumb .name a:active,
.product-thumb .image a:focus, .product-thumb .image a:active {
  outline: none !important;
  box-shadow: none !important;
}

#logo a:focus, #logo a:active, #logo a:hover {
  outline: none !important; box-shadow: none !important; border-radius: 0 !important;
}

/* --- анимация корзины --- */
@keyframes spCartBump { 0%{transform:scale(1)} 30%{transform:scale(1.10)} 55%{transform:scale(.97)} 100%{transform:scale(1)} }
#cart.sp-cart-bump > button { animation: spCartBump .55s cubic-bezier(.2,.8,.3,1); }
.sp-cart-alert { animation: spAlertIn .28s ease; border-radius: 10px; box-shadow: 0 10px 28px rgba(38,50,56,.14); }
@keyframes spAlertIn { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:none} }
#cart .dropdown-menu { transform-origin: top right; }
#cart.open > .dropdown-menu { animation: spCartDrop .2s cubic-bezier(.2,.8,.3,1); }
@keyframes spCartDrop { from{opacity:0;transform:translateY(-8px) scale(.98)} to{opacity:1;transform:none} }

/* корзина: убрать transition-all .5s (дёргается при подгрузке контента), плавный слайд остаётся анимацией */
#ocdw_cart-sidebar .ocdw_cart-sidebar-body {
  transition: none !important;
  will-change: transform;
  backface-visibility: hidden;
}
#ocdw_cart-sidebar .ocdw_cart-sidebar-bg { transition: opacity .25s ease !important; }


/* спиннер загрузки корзины */
.sp-cart-loading { display: flex; align-items: center; justify-content: center; min-height: 320px; height: 60vh; }
.sp-cart-spinner { width: 46px; height: 46px; border: 4px solid rgba(143,180,113,.25); border-top-color: #8fb471; border-radius: 50%; animation: spCartSpin .8s linear infinite; }
@keyframes spCartSpin { to { transform: rotate(360deg); } }


/* баннеры-категории на главной: подсветка всего блока (карточка с кнопкой «Перейти») */
.item:has(a.button):focus-within {
  border-radius: 14px;
  box-shadow: 0 0 0 8px #fff, 0 0 26px 6px rgba(143,180,113,.30) !important;
}
.item:has(a.button) a:focus, .item:has(a.button) a:active,
.caption-banner a:focus, .caption-banner a:active,
a.button:focus, a.button:active {
  outline: none !important;
  box-shadow: none !important;
}
