/* CC 2026 interaction rules. Geometry, content, native handlers and section
   identities stay intact. No blanket .btn rule: tags and quantity controls
   are not primary CTAs. */
:root { --cc-action-hover-ink:#36332F; --cc-action-hover-blue:#20A9C5; --cc-action-hover-red:#BE0510; --cc-action-hover-purple:#432066; }
/* Never inherit text weight from a label into a Font Awesome glyph. */
body[class] :is(.fa-solid,.fas) { font-weight:900 !important; }
body[class] :is(.fa-regular,.far) { font-weight:400 !important; }
/* The same keyboard affordance on every page, with a brighter night variant. */
body[class] :is(.container-component,.container-footer,.cc-offline-page,.cc-error-page) :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--cc-focus,#0D7995); outline-offset:3px; }
body[class] :is(.cc-gc-hero,.cc-gc-current,.cc-gca-hero,.cc-gca-card,.cc-gc-story,.cc-resource-library[data-resource-theme="grand-choral"] .cc-grand-resource-hero) { --cc-focus:#27B9D7; }
/* An inner numeric field belongs to its focusable pill, not a second ring. */
body[class] .hikashop_product_quantity_change_div_leftright:focus-within { outline:2px solid #0D7995; outline-offset:3px; }
body[class] .hikashop_product_quantity_change_div_leftright input.hikashop_product_quantity_field:focus-visible { outline:0 !important; }
/* Frontend links stay un-underlined in every state. Preserve navigation markers
   and the explicit keyboard focus rings above; the administrator is unaffected. */
body[class] a,
body[class] a:is(:hover,:focus,:focus-visible,:active,:visited) {
    text-decoration:none !important;
}
/* Editorial links retain their section-aware colours, including night heroes. */
body[class] :is(.container-component,.cc-hika-terms) :is(p,li,dd) > a:not([class]):not(:has(img,svg)) {
    color:var(--cc-inline-link,#0D7995);
}
body[class] :is(.container-component,.cc-hika-terms) :is(p,li,dd) > a:not([class]):not(:has(img,svg)):is(:hover,:focus-visible) { color:var(--cc-inline-link,#0D7995); }
body[class] .com-users-registration a.required { color:#0D7995; }
/* Native WebKit selects otherwise count the full option label in scrollWidth. */
body[class] .container-component .cc-membership-product-layout select { min-width:0; overflow:hidden; text-overflow:ellipsis; display:block; }
body[class] :is(.cc-gc-hero,.cc-gc-current,.cc-gca-hero,.cc-gca-card,.cc-gc-story) { --cc-inline-link:#FFFFFF; }
/* Explicit CTA families only: no extra shadows, motion or underlines. */
body[class] .container-component :is(.cc-project-cta,.cc-page-cta,.cc-history-button,.cc-training-cta,.cc-partitions-cta,.cc-event-cta,.cc-pd-primary-link,.cc-pd-secondary-link,.cc-thanks-button,.cc-legal-action,.cc-news-button,.cc-store-back,.cc-score-back,.cc-membership-product-back,.cc-bo-back,.cc-news-search__submit,.cc-registration-card__action,.cc-order-action,.cc-orders-history-link) {
    border-radius:999px; text-decoration:none !important; transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
/* Neutral main actions keep an ink/white pair; no accidental violet switch. */
body[class] .container-component :is(.cc-project-cta,.cc-page-cta:not(.cc-page-cta--outline),.cc-history-button--primary,.cc-teams-hero__cta,.cc-legal-action,.cc-order-action--primary,.cc-order-action--pay,.cc-thanks-button[href^="mailto:"]):is(:hover,:focus-visible) {
    background:var(--cc-action-hover-ink); border-color:var(--cc-action-hover-ink); color:#FFFFFF !important; transform:none; box-shadow:none;
}
body.cc-account-2026 .container-component .cc-space-header .cc-user-actions .btn-primary { background:#161412; border-color:#161412; color:#FFFFFF; }
body.cc-account-2026 .container-component .cc-space-header .cc-user-actions .btn-primary:is(:hover,:focus-visible) { background:var(--cc-action-hover-ink); border-color:var(--cc-action-hover-ink); color:#FFFFFF; }
body.cc-account-2026 .container-component .cc-space-header .cc-user-actions .btn-outline-secondary { background:#FFFFFF; color:#161412; border-color:#625F5B; }
body.cc-account-2026 .container-component .cc-space-header .cc-user-actions .btn-outline-secondary:is(:hover,:focus-visible) { background:#F8F8F6; color:#161412; border-color:#161412; }
/* White secondary actions behave alike across the light editorial pages. */
body[class] .container-component :is(.cc-page-cta--outline,.cc-history-button:not(.cc-history-button--primary),.cc-training-cta--outline,.cc-partitions-cta--outline,.cc-pd-secondary-link,.cc-store-back,.cc-score-back,.cc-membership-product-back,.cc-bo-back):is(:hover,:focus-visible) {
    background:#F8F8F6; border-color:#161412; color:#161412 !important; transform:none; box-shadow:none;
}
/* Bourse's labelled outline is intentionally a cyan main action. */
body.cc-training-scholarship-page .container-component .cc-training-callout .cc-training-cta--outline:is(:hover,:focus-visible) { background:var(--cc-action-hover-blue); border-color:var(--cc-action-hover-blue); color:#161412 !important; }
body[class] .container-component :is(.cc-training-cta:not(.cc-training-cta--outline),.cc-partitions-cta:not(.cc-partitions-cta--outline),.cc-catalogue-search-submit,.cc-pd-primary-link):is(:hover,:focus-visible) { background:var(--cc-action-hover-blue); border-color:var(--cc-action-hover-blue); color:#161412 !important; transform:none; box-shadow:none; }
body[class]:not(.cc-event-grand-choral-page) .container-component .cc-event-cta:not(.cc-event-cta--outline):is(:hover,:focus-visible) { background:var(--cc-action-hover-purple); border-color:var(--cc-action-hover-purple); color:#FFFFFF !important; }
body[class]:not(.cc-event-grand-choral-page) .container-component .cc-event-cta--outline:is(:hover,:focus-visible) { background:#F8F8F6; border-color:#161412; color:#161412 !important; }
/* Donation actions remain red and legible in all states. */
body[class] .container-component .cc-thanks-donation .cc-thanks-button:is(:hover,:focus-visible) { background:var(--cc-black) !important; border-color:var(--cc-black); color:#FFFFFF !important; box-shadow:none; transform:none; }
/* Partners' partition purchase is a blue action, never an old purple CTA. */
body[class] .container-component .cc-score-order a:is(:hover,:focus-visible) { background:#09657D; border-color:#09657D; color:#FFFFFF; text-decoration:none; }
/* Return actions use the same understated pill as news/product returns. */
body[class] .container-component :is(.cc-gc-landing__back,.cc-sete-back,.cc-withdrawal-back,.cc-grand-resource-hero__back,.cc-ag-resource-hero__back) {
    display:inline-flex; align-items:center; gap:8px; padding:8px 14px; background:#FFFFFF; color:#161412; border:1px solid #D9D8D5; border-radius:999px; font-weight:500; font-size:14px; text-decoration:none;
}
body[class] .container-component :is(.cc-gc-landing__back,.cc-sete-back,.cc-withdrawal-back,.cc-grand-resource-hero__back,.cc-ag-resource-hero__back):is(:hover,:focus-visible) { color:#161412; background:#F8F8F6; border-color:#161412; }
body[class] .container-component .cc-resource-library[data-resource-theme="grand-choral"] .cc-grand-resource-hero__back { background:transparent; border-color:rgb(255 255 255 / 45%); color:#FFFFFF; }
body[class] .container-component .cc-resource-library[data-resource-theme="grand-choral"] .cc-grand-resource-hero__back:is(:hover,:focus-visible) { background:#FFFFFF; border-color:#FFFFFF; color:#161412; }
/* Night navigation and light chip navigation keep their own composition. */
body[class] .container-component :is(.cc-gca-news-link,.cc-gca-shop-link,.cc-gca-video-link) { text-decoration:none !important; }
body[class] .container-component :is(.cc-gca-news-link,.cc-gca-shop-link,.cc-gca-video-link):is(:hover,:focus-visible) { background:rgb(255 255 255 / 8%); border-color:rgb(255 255 255 / 55%); color:#FFFFFF !important; }
body[class] .container-component :is(.cc-space-navigation__item,.cc-news-topics__filter,.cc-news-topics__dossier,.cc-groups-range-nav__link,.cc-grand-resource-hero__jump a) { text-decoration:none; }
body[class] :is(.cc-score-card__preview,.cc-store-gallery a,.cc-gca-poster,.cc-gc-story__media,.cc-pd-card__preview) { text-decoration:none !important; }
body[class] [data-cc-navigation-arrow] { font-family:inherit; font-weight:500; line-height:1; }
@media(prefers-reduced-motion:reduce) {
    body[class] .container-component :is(.cc-project-cta,.cc-page-cta,.cc-history-button,.cc-training-cta,.cc-partitions-cta,.cc-event-cta,.cc-pd-primary-link,.cc-pd-secondary-link,.cc-thanks-button,.cc-legal-action,.cc-news-button) { transition:none; }
}
