/* Gentle depth shared by the storefront, product pages, and admin tools. */
:root {
  --depth-surface: 0 2px 3px #20252a0a, 0 12px 28px #20252a0e;
  --depth-tile: inset 0 1px 0 #ffffffb8, 0 4px 8px #20252a0b, 0 15px 26px #20252a12;
  --depth-raised: 0 5px 10px #20252a13, 0 20px 36px #20252a1c;
  --depth-button: 0 3px 0 #11182018, 0 8px 15px #11182012;
}

html[data-theme="dark"] {
  --depth-surface: 0 2px 4px #0003, 0 16px 32px #0004;
  --depth-tile: inset 0 1px 0 #ffffff14, 0 5px 10px #0003, 0 18px 30px #0005;
  --depth-raised: 0 6px 12px #0005, 0 22px 40px #0007;
  --depth-button: 0 3px 0 #0005, 0 9px 18px #0004;
}

/* A soft light edge makes the flat panels read as a layer above the page. */
.home-showcase.wrap,
.home-showcase .blend-seller,
.home-showcase .blend-reviews,
.account-card,
.service-card,
.product-gallery-main,
.product-summary,
.product-panel,
.customer-review,
.related-card,
.reviews-hero,
.reviews-browser {
  box-shadow: var(--depth-surface);
}

.shop-catalog .compact-card .menu-visual {
  box-shadow: var(--depth-tile);
  transition: box-shadow .28s ease, transform .28s ease;
}

.product-gallery-main .menu-visual {
  box-shadow: inset 0 1px 0 #ffffff80, inset 0 -12px 24px #1118200a;
}

.product-spec,
.account-item,
.crm-subscription {
  box-shadow: inset 0 1px 0 #ffffffa8, 0 4px 10px #20252a08;
}

.showcase-primary,
.home-showcase .blend-feature-bottom > a,
.button-dark,
.service-card .add-to-cart,
.product-add,
.product-review-panel a,
.cart-trigger,
.product-cart,
.admin-button.primary {
  box-shadow: var(--depth-button);
}

.shop-catalog .compact-card,
.home-showcase .feature-tile,
.home-showcase-foot .showcase-foot-icon,
.related-card,
.showcase-primary,
.home-showcase .blend-feature-bottom > a,
.button-dark,
.service-card .add-to-cart,
.product-add,
.product-review-panel a,
.cart-trigger,
.product-cart,
.admin-button,
.edit-button {
  transition: transform .28s cubic-bezier(.2,.75,.25,1),
    translate .28s cubic-bezier(.2,.75,.25,1),
    box-shadow .28s ease,
    background-color .2s ease,
    border-color .2s ease;
}

/* Admin panels stay steady; only actionable controls move. */
.admin-page .admin-stats > div,
.admin-page .admin-catalog,
.admin-page .import-banner {
  box-shadow: 0 2px 3px #29361e08, 0 12px 26px #29361e0b;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .shop-catalog .compact-card:hover {
    transform: perspective(1100px) translateY(-4px) rotateX(1deg);
  }

  .shop-catalog .compact-card:hover .menu-visual {
    box-shadow: var(--depth-raised);
  }

  .home-showcase .feature-tile:hover {
    translate: 0 -5px;
  }

  .home-showcase-foot a:hover .showcase-foot-icon {
    transform: translateY(-3px) rotate(-3deg);
    box-shadow: var(--depth-surface);
  }

  .related-card:hover {
    box-shadow: var(--depth-raised);
  }

  :is(.showcase-primary, .home-showcase .blend-feature-bottom > a, .button-dark,
      .service-card .add-to-cart, .product-add, .product-review-panel a,
      .cart-trigger, .product-cart, .admin-button:not(:disabled), .edit-button):hover {
    transform: translateY(-2px);
    box-shadow: var(--depth-raised);
  }

  :is(.showcase-primary, .home-showcase .blend-feature-bottom > a, .button-dark,
      .service-card .add-to-cart, .product-add, .product-review-panel a,
      .cart-trigger, .product-cart, .admin-button:not(:disabled), .edit-button):active {
    transform: translateY(1px);
    box-shadow: 0 2px 5px #1118201a;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-catalog .compact-card,
  .shop-catalog .compact-card .menu-visual,
  .home-showcase .feature-tile,
  .home-showcase-foot .showcase-foot-icon,
  .related-card,
  .showcase-primary,
  .home-showcase .blend-feature-bottom > a,
  .button-dark,
  .service-card .add-to-cart,
  .product-add,
  .product-review-panel a,
  .cart-trigger,
  .product-cart,
  .admin-button,
  .edit-button {
    transition-duration: .01ms;
  }
}
