/*
 * Shared interaction system.
 * Loaded after page CSS so approved buttons behave consistently everywhere.
 */
:root{
  --lh-control-red:var(--lh-red,var(--red,var(--lhb-red,#ed1c24)));
  --lh-control-red-dark:#d7161d;
  --lh-control-ink:var(--lh-ink,var(--ink,var(--lhb-ink,#071d34)));
  --lh-control-ring:rgba(237,28,36,.34);
}

/* Action buttons use one restrained shape; chips, dots and circular controls keep their function. */
:is(
  .btn,
  .lhg-header-cta,
  .lhg-mega-cta,
  .lhg-footer-cta,
  .lhg-catalog-button,
  .lhg-button,
  .lhg-blog-cta a,
  .lhg-hub-hero-link,
  .lhg-hub-news-bridge>a,
  .lhg-hub-subscribe>a,
  .lhg-hub-load-more button,
  .faq-contact>a,
  .end-cta a
){
  border-radius:4px!important;
  text-decoration:none!important;
}

/* Every clickable control gets the same timing and a visible keyboard state. */
:is(
  .lhg-menu-toggle,
  .lhg-products-trigger,
  .lhg-primary-nav>a,
  .lhg-header-cta,
  .lhg-mega-category,
  .lhg-mega-product,
  .lhg-mega-view,
  .lhg-mega-cta,
  .lhg-site-footer a,
  .btn,
  .text-link,
  .family,
  .carousel-button,
  .product-card,
  .application,
  .insight,
  .faq-q,
  a.channel,
  .lhg-catalog-button,
  .lhg-catalog-reset,
  .lhg-catalog-category,
  .lhg-catalog-card,
  .lhg-button,
  .lhg-text-link,
  .lhg-family-compare a,
  .lhg-gallery-control,
  .lhg-thumbs button,
  .lhg-related-controls button,
  .lhg-related-dots button,
  .lhg-dialog-close,
  .lhg-faq summary,
  .lhg-anchor a,
  .lhg-hub-hero-link,
  .lhg-hub-subscribe>a,
  .lhg-hub-rail-block.is-resource a,
  .lhg-collection-filters button,
  .lhg-hub-load-more button,
  .lhg-blog-read,
  .lhg-category-back,
  .lhg-blog-pagination .page-numbers,
  .lhg-hub-pagination a,
  .lhg-blog-cta a,
  .faq-rail-help a,
  .faq-content-intro button,
  .faq-item button,
  .faq-contact>a,
  .end-cta a,
  .read-more
){
  transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease!important;
}

:is(
  .lhg-menu-toggle,
  .lhg-products-trigger,
  .lhg-primary-nav>a,
  .lhg-header-cta,
  .lhg-mega-category,
  .lhg-mega-product,
  .lhg-mega-view,
  .lhg-mega-cta,
  .lhg-site-footer a,
  .btn,
  .text-link,
  .family,
  .carousel-button,
  .product-card,
  .application,
  .insight,
  .faq-q,
  a.channel,
  .lhg-catalog-button,
  .lhg-catalog-reset,
  .lhg-catalog-category,
  .lhg-catalog-card,
  .lhg-button,
  .lhg-text-link,
  .lhg-family-compare a,
  .lhg-gallery-control,
  .lhg-thumbs button,
  .lhg-related-controls button,
  .lhg-related-dots button,
  .lhg-dialog-close,
  .lhg-faq summary,
  .lhg-anchor a,
  .lhg-hub-hero-link,
  .lhg-hub-subscribe>a,
  .lhg-hub-rail-block.is-resource a,
  .lhg-collection-filters button,
  .lhg-hub-load-more button,
  .lhg-blog-read,
  .lhg-category-back,
  .lhg-blog-pagination .page-numbers,
  .lhg-hub-pagination a,
  .lhg-blog-cta a,
  .faq-rail-help a,
  .faq-content-intro button,
  .faq-item button,
  .faq-contact>a,
  .end-cta a,
  .read-more
):focus-visible{
  outline:3px solid var(--lh-control-ring)!important;
  outline-offset:3px!important;
}

/* Primary actions: red, clear lift on hover, physical press on click. */
:is(
  .btn.red,
  .lhg-header-cta,
  .lhg-mega-cta,
  .lhg-footer-cta,
  .lhg-catalog-button:not(.is-ghost),
  .lhg-button-primary,
  .news-primary,
  .lhg-blog-cta a,
  .lhg-hub-news-bridge>a,
  .lhg-hub-subscribe>a,
  .faq-contact>a,
  .faq-rail-help a,
  .end-cta a
):hover{
  border-color:var(--lh-control-red-dark)!important;
  background:var(--lh-control-red-dark)!important;
  color:#fff!important;
  box-shadow:0 13px 28px rgba(237,28,36,.24)!important;
  transform:translateY(-2px)!important;
}

/* Secondary actions remain quiet until hovered. */
:is(
  .btn.light,
  .lhg-catalog-button.is-ghost,
  .lhg-button-ghost,
  .lhg-button-light,
  .news-secondary,
  .lhg-hub-load-more button
):hover{
  border-color:var(--lh-control-red)!important;
  color:var(--lh-control-red)!important;
  background:#fff!important;
  box-shadow:0 12px 26px rgba(3,20,38,.16)!important;
  transform:translateY(-2px)!important;
}

.btn.dark:hover{
  border-color:#102f4e!important;
  color:#fff!important;
  background:#102f4e!important;
  box-shadow:0 12px 26px rgba(3,20,38,.2)!important;
  transform:translateY(-2px)!important;
}

/* Navigation and footer links use color only; no decorative arrows or underlines. */
.lhg-site-header[data-site-header] .lhg-primary-nav>a:hover,
.lhg-site-header[data-site-header] .lhg-products-trigger:hover,
.lhg-site-header[data-site-header] .lhg-mega-view:hover,
.lhg-site-header[data-site-header] .lhg-mega-heading>a:hover{
  color:#ff5056!important;
  opacity:1!important;
  text-decoration:none!important;
}
.lhg-site-footer a:not(.lhg-footer-cta):hover{color:#fff!important;text-decoration:none!important}

/* Text actions stay typographic; feedback is color, not an added line or arrow. */
:is(.text-link,.lhg-text-link,.lhg-blog-read,.read-more,.lhg-category-back,.lhg-hub-rail-block.is-resource a):hover{
  color:var(--lh-control-red-dark)!important;
  text-decoration:none!important;
}

/* The FAQ rail action is a real button, not an underlined sentence. */
.faq-rail-help a{
  min-height:42px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--lh-control-red);
  border-radius:4px;
  color:#fff!important;
  background:var(--lh-control-red);
  text-decoration:none!important;
}

/* No decorative arrow glyphs in product-fit lists. */
.lhg-fit-alt li:before{content:'\2022'!important;color:var(--lh-control-red)!important}

/* Tabs, filters and accordion controls. */
.family:hover{color:var(--lh-control-red)!important;background:rgba(237,28,36,.035)!important}
.lhg-catalog-category:hover,
.lhg-catalog-reset:hover,
.faq-content-intro button:hover{
  border-color:var(--lh-control-red)!important;
  color:var(--lh-control-red)!important;
  background:#fff8f8!important;
}
.lhg-collection-filters button:hover,
.lhg-collection-filters button.is-active{
  border-color:var(--lh-control-red)!important;
  color:#fff!important;
  background:var(--lh-control-red)!important;
}
:is(.faq-q,.faq-item button):hover{color:var(--lh-control-red)!important}
.lhg-faq summary:hover{color:var(--lh-control-red)!important}

:is(.carousel-button,.lhg-thumbs button,.lhg-related-controls button,.lhg-dialog-close):hover{
  border-color:var(--lh-control-red)!important;
  color:var(--lh-control-red)!important;
  background:#fff8f8!important;
  box-shadow:0 9px 20px rgba(7,29,52,.1)!important;
}
.lhg-related-dots button:hover{background:var(--lh-control-red)!important}
.lhg-family-compare a:hover{
  border-color:var(--lh-control-red)!important;
  color:#fff!important;
  background:rgba(237,28,36,.18)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.14)!important;
  transform:translateY(-2px)!important;
}
.lhg-menu-toggle:hover{border-color:var(--lh-control-red)!important;background:rgba(237,28,36,.08)!important}
.lhg-blog-pagination a:hover,
.lhg-hub-pagination a:hover{
  border-color:var(--lh-control-red)!important;
  color:var(--lh-control-red)!important;
  background:#fff8f8!important;
  text-decoration:none!important;
}

/* Cards and contact channels get restrained depth without changing their design. */
:is(.product-card,.application,.insight,a.channel,.lhg-catalog-card,.lhg-mega-product):hover{
  transform:translateY(-3px)!important;
  box-shadow:0 16px 30px rgba(7,29,52,.11)!important;
}

/* Real press feedback. Icon controls keep their positional transforms. */
:is(
  .lhg-header-cta,
  .lhg-mega-cta,
  .lhg-footer-cta,
  .btn,
  .family,
  .carousel-button,
  .faq-q,
  a.channel,
  .lhg-catalog-button,
  .lhg-catalog-reset,
  .lhg-catalog-category,
  .lhg-collection-filters button,
  .lhg-hub-load-more button,
  .lhg-hub-hero-link,
  .lhg-hub-subscribe>a,
  .faq-content-intro button,
  .faq-rail-help a,
  .faq-contact>a,
  .faq-item button,
  .lhg-blog-cta a,
  .lhg-button,
  .lhg-family-compare a,
  .lhg-thumbs button,
  .lhg-related-controls button,
  .lhg-related-dots button,
  .lhg-dialog-close,
  .end-cta a
):active{
  transform:translateY(2px) scale(.985)!important;
  box-shadow:none!important;
}
.lhg-gallery-control:active{transform:translateY(calc(-50% + 1px)) scale(.985)!important;box-shadow:none!important}

:is(button,[role="button"],[class*="button"]):disabled,
:is(button,[role="button"],[class*="button"])[aria-disabled="true"]{
  cursor:not-allowed!important;
  box-shadow:none!important;
  transform:none!important;
  opacity:.42!important;
}

@media(hover:none){
  :is(.product-card,.application,.insight,a.channel,.lhg-catalog-card,.lhg-mega-product):hover{
    transform:none!important;
    box-shadow:revert-layer!important;
  }
}

.channel:not(a):hover{
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
.channel:not(a):hover:before{background:transparent!important}

@media(prefers-reduced-motion:reduce){
  :is(a,button,[role="button"]){scroll-behavior:auto!important;transition:none!important}
  :is(a,button,[role="button"]):hover,
  :is(a,button,[role="button"]):active{transform:none!important}
}
