/* Detail pass only: keep the established layout, palette and business behavior. */
:root {
  --detail-ease: cubic-bezier(.2,.7,.3,1);
  --detail-shadow: 0 2px 5px rgba(25,37,55,.025), 0 8px 22px rgba(25,37,55,.025);
  --detail-focus: #4778bd;
}
button, a, input, select, textarea { -webkit-tap-highlight-color: rgba(40,92,175,.12); }
a:focus-visible, button:focus-visible, summary:focus-visible,
.btn:focus-visible, .button:focus-visible {
  outline: 2px solid var(--detail-focus);
  outline-offset: 3px;
}
.btn, .button, .product-buy {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease,
    box-shadow .2s var(--detail-ease), transform .18s var(--detail-ease);
}
.btn-primary, .button.primary {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 4px rgba(0,0,0,.08);
}
.btn-primary:disabled, .button:disabled, .btn.disabled, .btn[aria-disabled="true"] {
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
.btn:active:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.button:active:not(:disabled), .product-buy:active {
  transform: translateY(1px);
  box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
}
.header-search {
  box-shadow: 0 1px 3px rgba(20,30,45,.025);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.header-search:focus-within {
  border-color: #8098ba;
  box-shadow: 0 0 0 3px rgba(40,92,175,.07);
}
.header-search>.btn { transform: none !important; box-shadow: none; }
.nav-border { box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 3px 9px rgba(23,60,108,.07); }
.nav-inner nav>a { transition: background-color .18s ease, color .18s ease; }
.nav-inner nav>a.active::after { box-shadow: 0 -1px 5px rgba(180,212,255,.12); }
.campaign { box-shadow: 0 4px 9px rgba(30,71,129,.09), 0 12px 28px rgba(30,71,129,.055); }
.enhanced-menu, .shop-desk { box-shadow: 0 2px 7px rgba(25,37,55,.025); }
.category-popover { box-shadow: 0 5px 12px rgba(25,37,55,.06), 0 18px 40px rgba(25,37,55,.1); }
.category-tile, .subcategory-option, .variant, .order-link {
  transition: border-color .18s ease, background-color .18s ease, color .18s ease,
    box-shadow .2s var(--detail-ease);
}
.product-card {
  border-color: #e3e5e8;
  border-radius: 6px;
  box-shadow: var(--detail-shadow);
  transition: border-color .22s ease, box-shadow .22s var(--detail-ease), transform .22s var(--detail-ease);
}
.product-card:focus-within {
  border-color: #9aacc5;
  box-shadow: 0 0 0 2px rgba(40,92,175,.065), 0 8px 24px rgba(25,37,55,.065);
}
.product-art>img { transition: transform .28s var(--detail-ease); }
.product-buy { border: 1px solid rgba(0,0,0,.035); box-shadow: 0 1px 2px rgba(0,0,0,.025); }
.price, .detail-price strong, .order-number code { font-variant-numeric: tabular-nums; }
.filter-panel, .detail-grid, .details-content, .panel {
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(25,37,55,.025);
}
.subcategory-option.active {
  box-shadow: inset 0 0 0 1px #ddd, 0 2px 4px rgba(0,0,0,.035);
}
.variant.selected { box-shadow: 0 2px 5px rgba(0,0,0,.045); }
.form-control, .form-select {
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.form-control:focus, .form-select:focus {
  border-color: #8098ba;
  box-shadow: 0 0 0 3px rgba(40,92,175,.075);
}
.payment-option { transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.payment-option:has(input:focus-visible) { outline: 2px solid var(--detail-focus); outline-offset: 3px; }
.payment-option:has(input:checked) { box-shadow: inset 0 0 0 1px #444, 0 2px 6px rgba(0,0,0,.035); }
.footer-utility a, .footer-grid a:not(.image-brand), .footer-bottom a, .filing a {
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: color .18s ease, text-decoration-color .18s ease;
}
.back-to-top { border-radius: 7px; transition: color .18s ease, background-color .18s ease, box-shadow .2s ease; }
@media (hover:hover) and (pointer:fine) {
  .btn-primary:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]), .button.primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 4px 10px rgba(0,0,0,.12);
  }
  .btn-outline-primary:hover, .btn-light:hover { box-shadow: 0 2px 5px rgba(0,0,0,.045); }
  .product-card:hover {
    transform: translateY(-2px);
    border-color: #bbc6d4;
    box-shadow: 0 3px 7px rgba(25,37,55,.035), 0 12px 26px rgba(25,37,55,.075);
  }
  .product-card:hover .product-art>img { transform: scale(1.018); }
  .product-buy:hover { border-color: #cfd3da; box-shadow: 0 2px 5px rgba(0,0,0,.055); }
  .category-tile:hover, .subcategory-option:not(.active):hover {
    background: #f4f6f9;
    border-color: #bfcbdc;
    box-shadow: 0 2px 6px rgba(40,70,110,.035);
  }
  .variant:hover { box-shadow: 0 2px 7px rgba(25,37,55,.05); }
  .order-link:hover { color: #285caf; }
  .footer-utility a:hover, .footer-grid a:not(.image-brand):hover, .footer-bottom a:hover, .filing a:hover {
    text-decoration-line: underline;
    text-decoration-color: rgba(255,255,255,.45);
  }
  .back-to-top:hover { box-shadow: 0 4px 16px rgba(25,37,55,.12); }
}
@media (hover:none) {
  .product-card:hover, .product-card:focus-within, .product-card:hover .product-art>img { transform: none; }
}
.btn-primary:active:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.button.primary:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .btn, .button, .product-card, .product-art>img, .product-buy { transform: none !important; }
}
