/* Shared native link/card states. Keyword cards intentionally retain their own rules.
   No layout, content, click handlers, or player behavior is defined here. */
:is(.lm-home-design,.lm-watch-page,.lm-inner-page,.lma,.lms,.lmcp-detail,.lmframe-footer,.woocommerce) a:where(:not(.lm-bible-keyword-card,.lm-bible-keyword-card *)):is(:hover,:focus-visible):where(:not(.lma-directory a,.button,.woocommerce-loop-product__link,.wp-block-button__link,.lm-home-action-primary,.lm-home-action-secondary,.lm-television-cta,.lm-library-button,.lm-library-card,.lma-card,.lmcp-card,.lms-thumbnail,.lm-home-watch-link,.lmframe-product-grid a,.wp-block-post-featured-image a)){
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
/* Heading decoration is driven by the card, including its thumbnail and metadata. */
:is(.lm-featured-song,.lm-television-card,.lm-library-card,.lmframe-product-grid li,.lmcp-card):is(:hover,:focus-within) :is(h3,h3 a),
.lma-card:is(:hover,:focus-visible) h2,
.lms-result:is(:hover,:focus-within) :is(h3,h3 a),
.lma-directory a:is(:hover,:focus-visible) strong,
.lm-home-watch-link:is(:hover,:focus-visible) .lm-home-watch-title,
.lm-watch-card:is(:hover,:focus-within) .lm-watch-title-button a{
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
.woocommerce .products .product:is(:hover,:focus-within) .woocommerce-loop-product__title{
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
/* Gutenberg text-only buttons are links, not filled controls. */
:is(.lm-featured-songs-browse,.lm-episodes-browse,.lm-shop-browse,.lm-library-browse,.lm-ministry-link) .wp-block-button__link:is(:hover,:focus-visible){
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
/* Low specificity lets input-wrapper and player-specific focus indicators remain. */
:where(.lm-home-design,.lm-watch-page,.lm-inner-page,.lma,.lms,.lmcp-detail,.lmframe-header,.lmframe-footer) :where(a,button,summary,input,select):not(.lm-bible-keyword-card,.lm-bible-keyword-card *):focus-visible{
  outline:2px solid #b58c46;outline-offset:4px;
}
/* Filled actions keep their shape; disabled controls receive no hover treatment. */
:is(.lmframe-donate,.lma-filters button,.lms-submit,.lmcp-purchase button[type="submit"]):not(:disabled):is(:hover,:focus-visible){filter:brightness(.95)}
