/**
 * Global premium card interaction system.
 * Visual transforms only; layout and component markup remain unchanged.
 */
.hover-card {
  --hover-card-x:50%;
  --hover-card-y:50%;
  --hover-card-rx:0deg;
  --hover-card-ry:0deg;
  position:relative;
  isolation:isolate;
  backface-visibility:hidden;
  transform-style:preserve-3d;
  transition:
    transform 440ms cubic-bezier(.22,1,.36,1),
    box-shadow 440ms cubic-bezier(.22,1,.36,1),
    border-color 400ms cubic-bezier(.22,1,.36,1),
    outline-color 400ms cubic-bezier(.22,1,.36,1),
    background-color 400ms cubic-bezier(.22,1,.36,1);
}

.hover-card__glow {
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(340px circle at var(--hover-card-x) var(--hover-card-y),rgba(230,75,18,.16),rgba(230,75,18,.055) 36%,transparent 68%);
  box-shadow:inset 0 0 0 1px rgba(230,75,18,.05);
  transition:opacity 400ms cubic-bezier(.22,1,.36,1);
}

.hover-card > :not(.hover-card__glow) { position:relative; z-index:1; }
.hover-card__media { backface-visibility:hidden; transition:transform 480ms cubic-bezier(.22,1,.36,1),filter 480ms cubic-bezier(.22,1,.36,1); }
.hover-card__icon { transform-origin:center; transition:transform 420ms cubic-bezier(.22,1,.36,1),color 350ms ease,text-shadow 350ms ease; }
.hover-card__title { transition:color 360ms ease,text-shadow 360ms ease; }
.hover-card__action { transition:transform 400ms cubic-bezier(.22,1,.36,1),background-color 350ms ease,border-color 350ms ease,box-shadow 350ms ease; }

@media (hover:hover) and (pointer:fine) and (min-width:1025px) {
  .hover-card:not(.hover-card--flat) { will-change:transform; }
  .hover-card.hover-card:hover {
    transform:perspective(1000px) translate3d(0,-10px,0) scale(1.02) rotateX(var(--hover-card-rx)) rotateY(var(--hover-card-ry));
    border-color:#e64b12;
    outline-color:rgba(230,75,18,.7);
    box-shadow:0 30px 66px rgba(0,0,0,.64),0 0 28px rgba(230,75,18,.2),inset 0 1px 0 rgba(255,255,255,.05);
  }
  .hover-card.hover-card--flat:hover {
    transform:translate3d(0,-10px,0) scale(1.02);
    border-color:#e64b12;
    outline-color:rgba(230,75,18,.7);
    box-shadow:0 30px 66px rgba(0,0,0,.64),0 0 28px rgba(230,75,18,.2),inset 0 1px 0 rgba(255,255,255,.05);
  }
  .hover-card:hover .hover-card__glow { opacity:1; }
  .hover-card:hover .hover-card__media { transform:scale(1.055); filter:brightness(1.06); }
  .hover-card:hover .hover-card__icon { transform:rotate(3deg) scale(1.1); color:#e64b12; text-shadow:0 0 14px rgba(230,75,18,.25); }
  .hover-card:hover .hover-card__title { color:#e64b12; text-shadow:0 0 16px rgba(230,75,18,.13); }
  .hover-card:hover .hover-card__action { transform:translate3d(6px,0,0); }
}

/* Tablets and touch devices keep the premium lift but never use 3D tilt. */
@media (max-width:1024px), (hover:none), (pointer:coarse) {
  .hover-card { transform-style:flat; }
  .hover-card:active {
    transform:translate3d(0,-6px,0) scale(1.01);
    border-color:#e64b12;
    outline-color:rgba(230,75,18,.62);
    box-shadow:0 22px 48px rgba(0,0,0,.56),0 0 20px rgba(230,75,18,.16);
  }
  .hover-card:active .hover-card__glow { opacity:.75; }
  .hover-card:active .hover-card__media { transform:scale(1.035); }
  .hover-card:active .hover-card__icon { transform:scale(1.07); }
  .hover-card:active .hover-card__title { color:#e64b12; }
  .hover-card:active .hover-card__action { transform:translate3d(4px,0,0); }
}

@media (prefers-reduced-motion:reduce) {
  .hover-card,.hover-card:hover,.hover-card:active,
  .hover-card__glow,.hover-card__media,.hover-card__icon,.hover-card__title,.hover-card__action {
    animation:none !important;
    transition-duration:.01ms !important;
    transform:none !important;
  }
  .hover-card__glow { display:none; }
}
