/* 公開サイトで不足していた操作反応。既存のFigma指定・配置・矢印位置を維持する。 */
:root { --nk-hover-surface:#edf1f6; }

:is(a.nt-button, .np-category-more, .np-category-nav a, .np-stations a, .nt-tt-tabs a,
 .nt-tt-fare-form select, .nl-options summary, .nt-tt-intermediate summary,
 .nt-news-back, .nt-news-pagination a, .nt-share-toast-dismiss,
 .nt-menu-toggle, .nt-mobile-menu-close, .nt-contact-submit,
 .nt-contact-form .wpcf7-radio label, .nt-contact-form input, .nt-contact-form textarea) {
 transition:background-color 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
}
:is(.nt-brand, .nt-footer-social a, .nt-article-share-buttons > a,
 .nt-article-share-buttons > button, .entry-content .wp-block-button:not([class*="is-style-nt-button-"]) .wp-block-button__link) {
 transition:opacity 120ms ease-out;
}

@media (hover:hover) and (pointer:fine) {
 /* 白いボタンと、色指定のない枠線ボタン。DTの電話番号は対象にしない。 */
 a.nt-button--white:hover,
 a.nt-button:where(:not(.nt-button--red):not(.nt-button--green):not(.nt-button--outline)):hover {
  background-color:var(--nk-hover-surface);
 }
 /* ベージュ背景の運行スケジュール導線は、青みのない暖色グレー。 */
 .nt-trip-schedule a.nt-button--white:hover { background-color:#e6e2dc; }
 /* 暗い背景上の白文字には、明るい半透明の反応を使う。 */
 .nt-access-footer-top a.nt-button:hover { background-color:rgb(255 255 255 / 14%); border-color:#fff; }
 .nt-line a.nt-button:hover { background-color:#05a747; }
 .nl-membership a.nt-button:hover { background-color:#059d3b; }
 a.nt-accessband:hover { background-color:#1d2f42; }

 .nt-tt-tabs a:not(.is-active):hover,
 .np-stations a:hover,
 .nt-tt-fare-form select:not(:disabled):hover,
 .nt-tt-intermediate summary:hover,
 .nl-options summary:hover,
 .nt-menu-toggle:hover { background-color:var(--nk-hover-surface); }
 .nt-tt-tabs a.is-active:hover { background-color:#1d2f42; }
 .nt-contact-form .wpcf7-radio label:has(input:not(:disabled)):hover { background-color:var(--nk-hover-surface); }
 .nt-contact-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="hidden"]):not(:disabled):hover,
 .nt-contact-form textarea:not(:disabled):hover { border-color:#8a97a6; }
 .nt-mobile-menu-close:hover { background-color:rgb(255 255 255 / 14%); }
 .nt-access-video:hover > span { background-color:#b91b28; }
 .nt-access-video:hover { box-shadow:0 0 0 3px var(--nk-red); }
 .nt-footer-partners a:hover { box-shadow:0 0 0 2px #7e9bba; }

 /* アイコンだけのリンクは囲みを付けず、濃淡で反応させる。 */
 .nt-brand:hover,
 .nt-footer-social a:hover,
 .nt-article-share-buttons > a:hover,
 .nt-article-share-buttons > button:not(:disabled):hover { opacity:.72; }
 .nt-share-toast-dismiss:hover { background-color:#373737; }

 /* パンくず・補助リンク・記事本文。画像やカードを包むリンクとは分ける。 */
 :is(.nt-access-breadcrumb, .np-breadcrumb, .nl-breadcrumb,
 .nt-access-footer-legal, .nt-tt-connections, .nt-content-info,
 .nt-content-related, .nt-article-hub, .nt-contact-form, .nt-trip-table) a[href]:hover,
 .nt-forecast-title a:hover,
 a.nt-phone-link:not(.nt-button):hover {
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:.2em;
 }
 .entry-content a[href]:not(.wp-block-button__link):not(:has(img)):hover {
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:.2em;
 }
 .entry-content .wp-block-button:not([class*="is-style-nt-button-"]) .wp-block-button__link:hover { opacity:.8; }
 .nt-park-card > a:hover h3 { text-decoration:underline; text-underline-offset:.2em; }
 .nt-events .nt-section-action .nt-button:hover > span:first-child { text-decoration:underline; text-underline-offset:.2em; }
 a.nt-park-label:hover { text-decoration:underline; text-underline-offset:.2em; }
}

@media (prefers-reduced-motion:reduce) {
 :is(a.nt-button, .np-category-more, .np-category-nav a, .np-stations a, .nt-tt-tabs a,
 .nt-tt-fare-form select, .nl-options summary, .nt-tt-intermediate summary,
 .nt-news-back, .nt-news-pagination a, .nt-share-toast-dismiss,
 .nt-menu-toggle, .nt-mobile-menu-close, .nt-contact-submit,
 .nt-contact-form .wpcf7-radio label, .nt-contact-form input, .nt-contact-form textarea,
 .nt-brand, .nt-footer-social a, .nt-article-share-buttons > a,
 .nt-article-share-buttons > button, .entry-content .wp-block-button:not([class*="is-style-nt-button-"]) .wp-block-button__link) { transition:none; }
}
