/* Customer panel interaction states. Loaded after feature styles; no layout changes. */
body:has(#panel) :is(button, a[href], [role="button"], [data-product-open]) {
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, filter .16s ease;
}
body:has(#panel) button { transform: none !important; }
body:has(#panel) :is(button, [role="button"], [data-product-open]):not(:disabled):not([aria-disabled="true"]) { cursor: pointer; }
body:has(#panel) :is(button, a[href], [role="button"], [data-product-open], input, select, textarea):focus-visible {
  outline: 3px solid #36866b;
  outline-offset: 3px;
}
body:has(#panel) aside :is(button, a):focus-visible { outline-color: #a5dfc8; }
@media (hover: hover) and (pointer: fine) {
  body:has(#panel) button:not(:disabled):not([aria-disabled="true"]):hover {
    filter: brightness(.94);
    box-shadow: inset 0 0 0 1px rgba(20, 81, 62, .2), 0 2px 6px rgba(20, 61, 47, .1);
  }
  body:has(#panel) :is(.product button, .secondary, .promotion-checkout-secondary, .promotion-checkout-skip):not(:disabled):not([aria-disabled="true"]):hover {
    background-color: #dfeee7;
  }
  body:has(#panel) :is(.promotion-checkout-primary, .product-detail-add, #confirmation-orders, #confirmation-pay, #order-pay):not(:disabled):not([aria-disabled="true"]):hover {
    background-color: #0e3d2d;
  }
  body:has(#panel) :is(.cart-row button, #clear-cart, .my-account-remove, .danger):not(:disabled):not([aria-disabled="true"]):hover {
    background-color: #f4d3ce;
    color: #8c2118;
    box-shadow: inset 0 0 0 1px #d89c93;
  }
  body:has(#panel) :is(a[href], [role="button"], [data-product-open]):not([aria-disabled="true"]):hover {
    filter: brightness(.9);
  }
  body:has(#panel) :is(.contact-details, .my-account-section-head, .order-detail) a[href]:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  body:has(#panel) .checkout-payment #checkout-payment-options label:not(:has(input:disabled)):hover {
    background-color: #edf7f1;
    border-color: #39866c;
  }
}
body:has(#panel) button:not(:disabled):not([aria-disabled="true"]):active {
  filter: brightness(.88);
  box-shadow: inset 0 0 0 2px rgba(15, 54, 40, .25);
}
body:has(#panel) :is(button:disabled, button[aria-disabled="true"]) {
  cursor: not-allowed;
  filter: saturate(.7) !important;
  box-shadow: none !important;
}
/* Older global :hover rules did not exclude disabled submit / secondary buttons. */
body:has(#panel) :is(form button[type="submit"], .checkout-toggle, .detail-title-actions button):disabled {
  background: var(--narum-700, #15513e);
  color: #fff;
}
body:has(#panel) .secondary:disabled { background: #edf2f0; color: #244b3f; }
body:has(#panel) .my-account-remove:disabled { background: #fff; color: #a52a20; }
body:has(#panel) :is(input, select, textarea):disabled {
  cursor: not-allowed;
  border-color: #cbd9d4;
  box-shadow: none;
}
body:has(#panel) .checkout-payment label:has(input:disabled) { cursor: not-allowed; opacity: .6; }
body:has(#panel) nav a[aria-disabled="true"]:hover { background: transparent; color: inherit; cursor: not-allowed; }
body:has(#panel) .checkout-payment label:has(input:focus-visible) { outline: 3px solid #36866b; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  body:has(#panel) :is(button, a[href], [role="button"], [data-product-open], .product-thumb img, .product-info::after) {
    transition: none !important;
  }
}
/* Keep category geometry independent of search result counters. */
#category-tabs button{box-sizing:border-box;height:62px;min-height:62px;min-width:0;line-height:20px;overflow-wrap:anywhere}
#category-tabs button span{box-sizing:border-box;flex:0 0 28px;width:28px;min-width:28px;padding:2px 3px;line-height:16px;font-variant-numeric:tabular-nums}
@media(max-width:700px){#category-tabs button{flex:0 0 168px;width:168px;min-width:168px;height:56px;min-height:56px}}
