/* Restrained spring movement and a cursor-lit edge, inspired by iOS glass. */
@layer theme {
  [data-theme="dark"] :is(.catalog-card, .ai-card) {
    position: relative;
    isolation: isolate;
  }
  [data-theme="dark"] :is(.catalog-card, .ai-card)::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 3;
    opacity: 0;
    background: radial-gradient(420px circle at var(--glass-x,50%) var(--glass-y,0%), rgba(229,241,255,.15), rgba(183,214,238,.035) 36%, transparent 68%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
    transition: opacity .35s ease;
  }
  [data-theme="dark"] :is(.catalog-action, .glass-primary, .glass-control, .glass-checkout, .glass-option, .dropdown-item, .desktop-store-nav > button, .tg-bottom-nav > button) {
    position: relative;
    isolation: isolate;
  }
  [data-theme="dark"] :is(.catalog-action, .glass-primary, .glass-control, .glass-checkout, .glass-option, .dropdown-item, .desktop-store-nav > button, .tg-bottom-nav > button)::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(130px circle at var(--glass-x,50%) var(--glass-y,0%), rgba(255,255,255,.22), transparent 75%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
    transition: opacity .25s ease;
  }
  [data-theme="dark"] :is(.catalog-card, .ai-card):focus-within::after,
  [data-theme="dark"] :is(.catalog-action, .glass-primary, .glass-control, .glass-checkout, .glass-option, .dropdown-item, .desktop-store-nav > button, .tg-bottom-nav > button):focus-visible::after {
    opacity: .65;
  }
  [data-theme="dark"] :is(.desktop-store-nav, .tg-bottom-nav) {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 1px 0 0 rgba(207,227,255,.07), inset -1px 0 0 rgba(228,211,255,.07), 0 7px 26px rgba(0,0,0,.24) !important;
  }
  [data-theme="dark"] :is(.desktop-store-nav, .tg-bottom-nav) > button[aria-current="page"],
  [data-theme="dark"] .desktop-store-nav > button.text-neutral-900 {
    box-shadow: inset 0 1px 1px #fff, inset 0 -1px 2px rgba(84,100,127,.18), 0 1px 12px rgba(218,229,255,.17) !important;
  }

  @media (prefers-reduced-motion:no-preference) {
    [data-theme="dark"] :is(.catalog-action, .glass-primary, .glass-control, .glass-checkout, .glass-option, .dropdown-item, .desktop-store-nav > button, .tg-bottom-nav > button) {
      transition: transform .32s cubic-bezier(.22,1,.36,1), box-shadow .25s, background-color .2s, border-color .2s !important;
    }
    [data-theme="dark"] [data-glass-pressed="true"]:not(:disabled) {
      transform: scale(.965) !important;
    }
    [data-theme="dark"] [data-glass-pressed="true"]::after {
      background: radial-gradient(140px circle at var(--press-x,50%) var(--press-y,50%), rgba(255,255,255,.30), transparent 75%);
      opacity: 1;
    }
    [data-theme="dark"] :is(.catalog-action, .glass-primary) svg {
      transition: translate .3s cubic-bezier(.22,1,.36,1);
    }
  }

  @media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    [data-theme="dark"] :is(.catalog-card, .ai-card) {
      transform: perspective(1100px) translateY(0) rotateX(0) rotateY(0) !important;
      transition: transform .48s cubic-bezier(.22,1,.36,1), background-color .25s, border-color .25s, box-shadow .3s !important;
    }
    [data-theme="dark"] :is(.catalog-card, .ai-card)[data-glass-hover="true"] {
      transform: perspective(1100px) translateY(-4px) rotateX(var(--glass-rx,0deg)) rotateY(var(--glass-ry,0deg)) !important;
      border-color: rgba(220,233,255,.23) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.23), inset 1px 0 0 rgba(199,226,255,.06), inset -1px 0 0 rgba(225,202,255,.06), 0 18px 45px rgba(0,0,0,.28), 0 0 24px rgba(175,204,240,.025) !important;
    }
    [data-theme="dark"] [data-glass-hover="true"]::after { opacity: 1; }
    [data-theme="dark"] :is(.catalog-action, .glass-primary, .glass-control, .glass-checkout):hover:not(:disabled):not(.cursor-not-allowed) {
      transform: translateY(-1px);
    }
    [data-theme="dark"] :is(.catalog-action, .glass-primary):hover svg { translate: 2px 0; }
    [data-theme="dark"] .dropdown-item:hover { transform: translateX(2px); }
    [data-theme="dark"] .glass-option:hover:not(:disabled) { border-color: rgba(220,233,255,.27) !important; }
  }

  /* Touch input stays stable while scrolling; only the pressed control reacts. */
  @media (hover:none), (pointer:coarse) {
    [data-theme="dark"] :is(.catalog-card, .ai-card) { transform: none !important; }
  }
  @media (prefers-reduced-motion:reduce) {
    [data-theme="dark"] :is(.catalog-card, .ai-card, .catalog-action, .glass-primary, .glass-control, .glass-checkout, .glass-option, .dropdown-item, .desktop-store-nav > button, .tg-bottom-nav > button) {
      transform: none !important;
      transition: none !important;
    }
    [data-theme="dark"] :is(.catalog-card, .ai-card)::after,
    [data-theme="dark"] :is(.catalog-action, .glass-primary, .glass-control, .glass-checkout, .glass-option, .dropdown-item, .desktop-store-nav > button, .tg-bottom-nav > button)::after {
      transition: none;
      background: none;
    }
  }
}
