/* =========================================================
   home_b2b_effects.css — premium micro-interactions for HOME
   Scope: only .home-b2b-page from my/templates/home.html
   No !important. No product-card rules.
   ========================================================= */

.home-b2b-page .home-b2b-btn,
.home-b2b-page .home_category_tile {
  -webkit-tap-highlight-color: transparent;
}

.home-b2b-page .home-b2b-hero {
  isolation: isolate;
}

.home-b2b-page .home-b2b-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .42;
  background:
    radial-gradient(circle at var(--hero-x, 24%) var(--hero-y, 50%), rgba(20, 160, 83, .20), transparent 28%),
    linear-gradient(120deg, rgba(255,255,255,0), rgba(255,255,255,.16), rgba(255,255,255,0));
  transform: translateZ(0);
  transition: opacity .24s ease;
  pointer-events: none;
}

.home-b2b-page .home-b2b-hero__text {
  position: relative;
  z-index: 2;
}

.home-b2b-page .home-b2b-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  box-shadow: 0 10px 22px rgba(7, 140, 60, .18);
}

.home-b2b-page .home-b2b-btn::before {
  content: "";
  position: absolute;
  inset: -60% -30%;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(115deg, rgba(255,255,255,0) 18%, rgba(255,255,255,.46) 44%, rgba(255,255,255,0) 70%);
  transform: translateX(-48%) rotate(8deg);
  transition: opacity .2s ease, transform .55s ease;
  pointer-events: none;
}

.home-b2b-page .home-b2b-btn:hover::before,
.home-b2b-page .home-b2b-btn:focus-visible::before {
  opacity: 1;
  transform: translateX(36%) rotate(8deg);
}

.home-b2b-page .home-b2b-btn:hover,
.home-b2b-page .home-b2b-btn:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(7, 140, 60, .24);
}

.home-b2b-page .home-b2b-btn:active {
  transform: translateY(0) scale(.982);
}

.home-b2b-page .home-b2b-btn--secondary:hover,
.home-b2b-page .home-b2b-btn--secondary:focus-visible {
  box-shadow: 0 16px 34px rgba(8, 90, 45, .16);
}

.home-b2b-page .home-b2b-ripple {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255,255,255,.48);
  transform: translate(-50%, -50%) scale(0);
  animation: homeB2bRipple .54s ease-out forwards;
  pointer-events: none;
}

.home-b2b-page .home-b2b-btn--secondary .home-b2b-ripple {
  background: rgba(19,131,67,.20);
}

@keyframes homeB2bRipple {
  to {
    opacity: 0;
    transform: translate(-50%, -50%) scale(18);
  }
}

.home-b2b-page .home_category_tile {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.home-b2b-page .home_category_tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background:
    radial-gradient(circle at var(--tile-x, 50%) var(--tile-y, 50%), rgba(17, 148, 72, .26), transparent 32%),
    linear-gradient(135deg, rgba(16,132,46,.12), rgba(143,211,94,.09) 52%, rgba(255,255,255,0));
  transition: opacity .22s ease;
  pointer-events: none;
}

.home-b2b-page .home_category_tile:hover::before,
.home-b2b-page .home_category_tile:focus-visible::before,
.home-b2b-page .home_category_tile.is-touched::before,
.home-b2b-page .home_category_tile.is-active-preview::before {
  opacity: 1;
}

.home-b2b-page .home_category_tile:hover,
.home-b2b-page .home_category_tile:focus-visible,
.home-b2b-page .home_category_tile.is-active-preview {
  transform: translateY(-5px) scale(1.035);
  box-shadow: 0 18px 42px rgba(17,70,38,.17);
  border-color: rgba(16,132,46,.28);
}

.home-b2b-page .home_category_tile img {
  transition: transform .22s ease, filter .22s ease;
  transform: translateZ(24px);
}

.home-b2b-page .home_category_tile span {
  transition: transform .22s ease, color .22s ease;
  transform: translateZ(18px);
}

.home-b2b-page .home_category_tile:hover img,
.home-b2b-page .home_category_tile:focus-visible img,
.home-b2b-page .home_category_tile.is-touched img,
.home-b2b-page .home_category_tile.is-active-preview img {
  transform: translateZ(34px) translateY(-3px) scale(1.14);
  filter: drop-shadow(0 8px 14px rgba(16,132,46,.18));
}

.home-b2b-page .home_category_tile:hover span,
.home-b2b-page .home_category_tile:focus-visible span,
.home-b2b-page .home_category_tile.is-touched span,
.home-b2b-page .home_category_tile.is-active-preview span {
  transform: translateZ(28px) translateY(1px);
  color: #083f22;
}

.home-b2b-page .home_category_tile:active {
  transform: scale(.975);
}

.home-b2b-page .home-b2b-reveal {
  opacity: 0;
  transform: translateY(14px) scale(.97);
  transition: opacity .42s ease, transform .42s cubic-bezier(.2,.9,.2,1);
}

.home-b2b-page .home-b2b-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (hover: hover) and (pointer: fine) {
  .home-b2b-page .home_category_tile.is-tilting {
    transform: perspective(720px) rotateX(var(--tile-tilt-y, 0deg)) rotateY(var(--tile-tilt-x, 0deg)) translateY(-5px) scale(1.035);
  }
}

@media (max-width: 767.98px) {
  .home-b2b-page .home-b2b-btn {
    min-height: 46px;
  }

  .home-b2b-page .home-b2b-btn:hover,
  .home-b2b-page .home-b2b-btn:focus-visible {
    transform: none;
  }

  .home-b2b-page .home_category_tile:hover {
    transform: none;
  }

  .home-b2b-page .home_category_tile.is-touched,
  .home-b2b-page .home_category_tile.is-active-preview {
    transform: scale(.965);
    box-shadow: 0 12px 28px rgba(17,70,38,.16);
  }

  .home-b2b-page .home_category_tile::after {
    width: 16px;
    height: 16px;
    top: 7px;
    right: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-b2b-page .home-b2b-hero::after,
  .home-b2b-page .home-b2b-btn,
  .home-b2b-page .home-b2b-btn::before,
  .home-b2b-page .home_category_tile,
  .home-b2b-page .home_category_tile::before,
  .home-b2b-page .home_category_tile img,
  .home-b2b-page .home_category_tile span,
  .home-b2b-page .home-b2b-reveal {
    transition: none;
    animation: none;
  }
}
