/* Shared Hairport control colors. Component rules retain dimensions and layout.
   Local variables keep light, dark and selected variants consistent in every state. */
body.hp-new-site :is(button,input[type="submit"],input[type="button"],.hp-btn,.btn-on-ink,a.hp-hdr-icon,.hp-account-tabs a,.acct-nav a,.woocommerce-MyAccount-navigation a,.woocommerce .button,.hp-mini-cart .woocommerce-mini-cart__buttons a),
body.hp-new-site .hp-screen .tinvwl-table-manage-list .product-action button {
  background:var(--hp-control-bg,transparent);
  color:var(--hp-control-text,var(--ink));
  border-color:var(--hp-control-edge,transparent);
}
body.hp-new-site :is(button,input[type="submit"],input[type="button"],.hp-btn,.btn-on-ink,a.hp-hdr-icon,.hp-account-tabs a,.acct-nav a,.woocommerce-MyAccount-navigation a,.woocommerce .button,.hp-mini-cart .woocommerce-mini-cart__buttons a):not(:disabled):not(.disabled):not([aria-disabled="true"]):hover,
body.hp-new-site .hp-screen .tinvwl-table-manage-list .product-action button:not(:disabled):not(.disabled):hover {
  background:var(--hp-control-hover-bg,var(--surface-sunken));
  color:var(--hp-control-hover-text,var(--ink));
  border-color:var(--hp-control-hover-edge,var(--border-strong));
}
body.hp-new-site :is(button,input[type="submit"],input[type="button"],.hp-btn,.btn-on-ink,a.hp-hdr-icon,.hp-account-tabs a,.acct-nav a,.woocommerce-MyAccount-navigation a,.woocommerce .button,.hp-mini-cart .woocommerce-mini-cart__buttons a):not(:disabled):not(.disabled):not([aria-disabled="true"]):active,
body.hp-new-site .hp-screen .tinvwl-table-manage-list .product-action button:not(:disabled):not(.disabled):active {
  background:var(--hp-control-active-bg,var(--blush));
  color:var(--hp-control-active-text,var(--ink));
  border-color:var(--hp-control-active-edge,var(--ink));
}

/* Filled calls to action, including the native cart/checkout/account buttons. */
.hp-new-site :is(.hp-btn-primary,.woocommerce .button,input[type="submit"],.hp-mini-cart .woocommerce-mini-cart__buttons a.checkout),
.hp-new-site .seg button:is(.is-on,[aria-selected="true"]),
.hp-new-site .hp-chip:is(.is-on,[aria-pressed="true"]),
.hp-new-site .acct-nav a.is-on,
.hp-new-site .woocommerce-MyAccount-navigation .is-active a {
  --hp-control-bg:var(--ink);
  --hp-control-text:var(--on-ink);
  --hp-control-edge:var(--ink);
  --hp-control-hover-bg:#333333;
  --hp-control-hover-text:var(--on-ink);
  --hp-control-hover-edge:#333333;
  --hp-control-active-bg:var(--ink);
  --hp-control-active-text:var(--on-ink);
  --hp-control-active-edge:var(--ink);
}

/* Outline buttons use a light hover surface, rather than inherited kit colors. */
.hp-new-site .hp-btn-secondary,
.hp-new-site .woocommerce .button.hp-btn-secondary,
.hp-new-site .hp-mini-cart .woocommerce-mini-cart__buttons a:not(.checkout),
.hp-new-site .tinvwl-table-manage-list .product-action button {
  --hp-control-bg:transparent;
  --hp-control-text:var(--ink);
  --hp-control-edge:var(--border-strong);
  --hp-control-hover-bg:var(--surface-sunken);
  --hp-control-hover-text:var(--ink);
  --hp-control-hover-edge:var(--ink);
  --hp-control-active-bg:var(--blush);
  --hp-control-active-text:var(--ink);
  --hp-control-active-edge:var(--ink);
}
.hp-new-site .btn-on-ink {
  --hp-control-bg:var(--on-ink);
  --hp-control-text:var(--ink);
  --hp-control-edge:var(--on-ink);
  --hp-control-hover-bg:var(--blush);
  --hp-control-hover-text:var(--ink);
  --hp-control-hover-edge:var(--blush);
}
.hp-new-site :is(.auth-aside,.club,.promo-ink) .hp-btn-secondary {
  --hp-control-bg:transparent;
  --hp-control-text:var(--on-ink);
  --hp-control-edge:#ffffff90;
  --hp-control-hover-bg:var(--on-ink);
  --hp-control-hover-text:var(--ink);
  --hp-control-hover-edge:var(--on-ink);
}
.hp-new-site .hp-btn-rose {
  --hp-control-bg:var(--rose-gold);
  --hp-control-text:var(--on-rose-gold);
  --hp-control-edge:var(--rose-gold);
  --hp-control-hover-bg:var(--rose-gold-ink);
  --hp-control-hover-text:var(--on-ink);
  --hp-control-hover-edge:var(--rose-gold-ink);
}

/* Navigation, icon controls, chips, gallery controls and tab selections. */
.hp-new-site :is(.rail-btn,.icon-btn,.hp-chip,.hp-search-chips button,.hp-account-tabs a,.acct-nav a,.woocommerce-MyAccount-navigation a) {
  --hp-control-bg:var(--surface);
  --hp-control-text:var(--ink);
  --hp-control-edge:var(--line);
}
.hp-new-site :is(.hp-hdr-icon,.hp-nav-toggle,.hp-overlay-close,.hp-qty-button,.show-password-input) {
  --hp-control-bg:transparent;
  --hp-control-text:var(--ink);
  --hp-control-edge:transparent;
  --hp-control-hover-edge:transparent;
}
.hp-new-site .gal-thumbs button {
  --hp-control-bg:var(--surface-sunken);
  --hp-control-text:var(--ink);
  --hp-control-edge:transparent;
}
.hp-new-site .gal-thumbs button.is-on {--hp-control-edge:var(--ink)}
.hp-new-site :is(.tab.is-on,.hp-account-tabs a[aria-current="page"]) {
  --hp-control-bg:var(--surface);
  --hp-control-text:var(--ink);
  --hp-control-edge:var(--line);
}
.hp-new-site .hp-chip:is(.is-on,[aria-pressed="true"]) {
  --hp-control-bg:var(--ink);
  --hp-control-text:var(--on-ink);
  --hp-control-edge:var(--ink);
}

/* A visible ring works on both white and dark sections. */
.hp-new-site :is(.auth-aside,.club,.promo-ink){--hp-control-focus:var(--rose-gold)}
body.hp-new-site :is(button,input[type="submit"],input[type="button"],a.hp-btn,a.button,a.btn-on-ink,a.hp-hdr-icon,a[role="button"],.hp-account-tabs a,.acct-nav a,.woocommerce-MyAccount-navigation a):focus-visible,
body.hp-new-site .hp-screen .tinvwl-table-manage-list .product-action button:focus-visible {
  outline:2px solid var(--hp-control-focus,var(--focus-ring));
  outline-offset:3px;
}

/* WooCommerce supplies higher-specificity :disabled:hover colors. Keep this
   narrowly scoped disabled palette authoritative without changing behavior. */
body.hp-new-site :is(button,input[type="submit"],input[type="button"],.hp-btn,.woocommerce .button):is(:disabled,[aria-disabled="true"]),
body.hp-new-site.hp-commerce-screen .woocommerce :is(button.button,input.button):is(:disabled,.disabled,[aria-disabled="true"]),
body.hp-new-site .hp-native-purchase .button.single_add_to_cart_button:is(:disabled,.disabled,[aria-disabled="true"]) {
  background:var(--surface-sunken)!important;
  color:var(--ink-muted)!important;
  border-color:var(--line)!important;
  opacity:1;
  cursor:not-allowed;
}

/* Native WooCommerce action links are text controls, not filled buttons. */
body.hp-new-site .woocommerce a:is(.shipping-calculator-button,.showcoupon,.showlogin,.woocommerce-remove-coupon,.restore-item),
body.hp-new-site .hp-screen-account :is(.hp-account-back,.hp-account-login-tools a) {
  color:var(--ink-muted);
  text-decoration:underline;
  text-decoration-color:var(--line);
  text-underline-offset:4px;
}
body.hp-new-site .woocommerce a:is(.shipping-calculator-button,.showcoupon,.showlogin,.woocommerce-remove-coupon,.restore-item):is(:hover,:active),
body.hp-new-site .hp-screen-account :is(.hp-account-back,.hp-account-login-tools a):is(:hover,:active) {
  color:var(--ink);
  text-decoration-color:var(--rose-gold-ink);
}
body.hp-new-site .woocommerce a:is(.shipping-calculator-button,.showcoupon,.showlogin,.woocommerce-remove-coupon,.restore-item):focus-visible,
body.hp-new-site .hp-screen-account :is(.hp-account-back,.hp-account-login-tools a):focus-visible {
  outline:2px solid var(--focus-ring);
  outline-offset:3px;
}
