/* MVIM Prime: shared depth and motion layer. */
:root {
  --mvim-shadow-soft: 0 2px 5px rgba(15, 36, 49, .025), 0 12px 30px -12px rgba(15, 36, 49, .13);
  --mvim-shadow-raised: 0 4px 10px rgba(15, 36, 49, .035), 0 24px 48px -18px rgba(15, 36, 49, .22);
  --mvim-ease: cubic-bezier(.22, .72, .22, 1);
}
.site-header { box-shadow: 0 4px 12px rgba(9, 25, 37, .09), 0 14px 30px -20px rgba(9, 25, 37, .26); }
.hero-copy, .hero-art, .category-choice { animation: none; }
.catalog-heading, .public-access-banner,
.discovery-intro, .auth-panel, .account-card, .benefit-card,
.product-card, .discovery-products > li {
  box-shadow: var(--mvim-shadow-soft);
}
.category-choice {
  box-shadow: 0 2px 4px rgba(15, 36, 49, .025), 0 14px 30px -18px rgba(15, 36, 49, .24);
}
.product-card, .category-choice, .benefit-card, .discovery-products > li,
.discovery-links > a {
  transition: transform 220ms var(--mvim-ease), box-shadow 220ms var(--mvim-ease), border-color 180ms ease;
}
.button, .add-to-basket, .filter-chip, .category-back-button, .category-back-floating,
.whatsapp-contact, .header-search-toggle, .cart-close, .basket-line-controls button {
  -webkit-tap-highlight-color: transparent;
  transition: transform 160ms var(--mvim-ease), box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.button-primary, .add-to-basket { box-shadow: 0 4px 10px rgba(13, 119, 107, .10), 0 10px 22px -14px rgba(13, 119, 107, .36); }
.button:active:not(:disabled), .add-to-basket:active:not(:disabled),
.category-choice:active, .filter-chip:active, .category-back-button:active,
.header-search-toggle:active, .category-back-floating:active { transform: translateY(1px) scale(.985); }
.category-choice:focus-visible, .button:focus-visible, .filter-chip:focus-visible,
.add-to-basket:focus-visible, .discovery-links a:focus-visible,
.category-back-floating:focus-visible, .whatsapp-contact:focus-visible {
  outline: 3px solid #138f83; outline-offset: 4px;
}
.product-card.is-just-added { border-color: #39b6a8; box-shadow: 0 0 0 3px rgba(67, 212, 194, .18), var(--mvim-shadow-raised); }
/* Reserve separate rows for count, title, image and action. */
.category-selection[aria-labelledby="category-selection-title"] .category-choice {
  display: grid; grid-template-rows: 18px 28px 100px auto 18px;
  justify-items: center; align-items: center; gap: 7px; min-height: 250px; padding: 16px 18px;
}
.category-selection[aria-labelledby="category-selection-title"] .category-choice-count { position: static; justify-self: end; grid-row: 1; }
.category-selection[aria-labelledby="category-selection-title"] .category-choice-title { grid-row: 2; margin: 0; min-height: 0; }
.category-selection[aria-labelledby="category-selection-title"] .category-choice-product { position: relative; display: block; grid-row: 3; width: min(100%, 172px); height: 100%; min-height: 0; margin: 0; }
.category-selection[aria-labelledby="category-selection-title"] .category-choice-product img { position: absolute; inset: 7px; width: calc(100% - 14px); height: calc(100% - 14px); padding: 0; object-fit: contain; }
.category-selection[aria-labelledby="category-selection-title"] .category-choice-description { grid-row: 4; margin: 0; }
.category-selection[aria-labelledby="category-selection-title"] .category-choice-action { position: static; grid-row: 5; width: 100%; max-width: 100%; justify-content: center; margin: 0; padding: 0; transform: none; white-space: nowrap; }
@media (max-width: 600px) {
  .category-selection[aria-labelledby="category-selection-title"] .category-choice { grid-template-rows: 16px 32px minmax(0, 1fr) 14px; gap: 4px; min-height: 0; aspect-ratio: 1; padding: 10px; }
  .category-selection[aria-labelledby="category-selection-title"] .category-choice-count { font-size: 9px; padding: 2px 5px; }
  .category-selection[aria-labelledby="category-selection-title"] .category-choice-title { font-size: 14px; line-height: 1.15; }
  .category-selection[aria-labelledby="category-selection-title"] .category-choice-action { grid-row: 4; font-size: 9px; }
  .category-selection[aria-labelledby="category-selection-title"] .category-choice-product img { inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); }
}
.cart-backdrop { animation: mvim-backdrop-in 160ms ease-out; }
.cart-panel { animation: mvim-panel-in 260ms var(--mvim-ease); }
.header-search[open] .header-search-panel, details[open] .header-search-panel { animation: mvim-search-in 160ms var(--mvim-ease); }
.strength-field select, .quantity-field input, .checkout-fields input,
.checkout-fields textarea, .field input {
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .category-choice:hover, .product-card:hover, .benefit-card:hover,
  .discovery-products > li:hover, .discovery-links > a:hover {
    transform: translateY(-4px); border-color: #b5dcd6; box-shadow: var(--mvim-shadow-raised);
  }
  .button:hover:not(:disabled), .add-to-basket:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(13, 119, 107, .10), 0 16px 28px -14px rgba(13, 119, 107, .32); }
  .button:active:not(:disabled), .add-to-basket:active:not(:disabled), .category-choice:active { transform: translateY(0) scale(.985); }
}
@media (hover: none), (pointer: coarse) {
  .product-card:hover, .benefit-card:hover, .category-choice:hover,
  .whatsapp-contact:hover { transform: none; }
  .product-card, .benefit-card, .category-choice { box-shadow: var(--mvim-shadow-soft); }
  .category-choice:active { transform: scale(.985); }
}
@keyframes mvim-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes mvim-panel-in { from { opacity: .65; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
@keyframes mvim-search-in { from { opacity: .6; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .product-card:hover, .category-choice:hover, .benefit-card:hover, .button:hover,
  .discovery-links > a:hover, .discovery-products > li:hover, .whatsapp-contact:hover,
  .button:active, .category-choice:active, .add-to-basket:active { transform: none !important; }
}
