/**
 * CocoFit アクセシビリティ
 * prefers-reduced-motion / :focus-visible 対応
 */

/* ==========================================================================
   prefers-reduced-motion（動きを減らす設定への対応）
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .cocofit-rank-badge--1 {
        animation: none;
    }

    .cocofit-ranking-card:hover {
        transform: none;
    }

    .cocofit-ranking-card__btn--primary:hover,
    .cocofit-ranking-card__btn--ghost:hover,
    .cocofit-ranking-card__btn--secondary:hover {
        transform: none;
    }

    .cocofit-ranking-card__btn--primary::after {
        transition: none;
    }

    .cocofit-tab-panel--animated.is-active .cocofit-ranking-list > .cocofit-ranking-card {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .cocofit-ranking-card__reviews-toggle:disabled:active {
        animation: none;
    }

    .cocofit-ranking-card__rating:hover .cocofit-ranking-card__score {
        transform: none;
    }

    .cocofit-ranking-card__image img {
        animation: none;
    }
}

/* ==========================================================================
   :focus-visible（キーボード操作時のフォーカス表示を統一）
   ========================================================================== */

#cocofit-root .cocofit-tab:focus-visible,
#cocofit-root .cocofit-ranking-card__btn:focus-visible,
#cocofit-root .cocofit-ranking-card__cta-btn:focus-visible,
#cocofit-root .cocofit-ranking-card__title a:focus-visible,
#cocofit-root .cocofit-filter-btn:focus-visible,
#cocofit-root .cocofit-filter-search-input:focus-visible,
#cocofit-root .cocofit-filter-submit:focus-visible,
#cocofit-root .cocofit-filter-clear:focus-visible,
#cocofit-root .cocofit-filter-toggle:focus-visible,
.cocofit-root .cocofit-filter-btn:focus-visible,
.cocofit-root .cocofit-filter-search-input:focus-visible,
.cocofit-root .cocofit-filter-submit:focus-visible,
.cocofit-root .cocofit-filter-clear:focus-visible,
.cocofit-root .cocofit-filter-toggle:focus-visible,
#cocofit-root .cocofit-ranking-card__reviews-toggle:focus-visible,
#cocofit-root .cocofit-top3-card__btn:focus-visible,
#cocofit-root .cocofit-comparison-table__action-btn:focus-visible {
    outline: 2px solid var(--cocofit-brand, #22bcac);
    outline-offset: 2px;
}

#cocofit-root .cocofit-tab:focus:not(:focus-visible),
#cocofit-root .cocofit-ranking-card__btn:focus:not(:focus-visible),
#cocofit-root .cocofit-ranking-card__cta-btn:focus:not(:focus-visible),
#cocofit-root .cocofit-filter-btn:focus:not(:focus-visible),
#cocofit-root .cocofit-filter-search-input:focus:not(:focus-visible),
#cocofit-root .cocofit-filter-submit:focus:not(:focus-visible),
#cocofit-root .cocofit-filter-clear:focus:not(:focus-visible),
#cocofit-root .cocofit-filter-toggle:focus:not(:focus-visible),
.cocofit-root .cocofit-filter-btn:focus:not(:focus-visible),
.cocofit-root .cocofit-filter-search-input:focus:not(:focus-visible),
.cocofit-root .cocofit-filter-submit:focus:not(:focus-visible),
.cocofit-root .cocofit-filter-clear:focus:not(:focus-visible),
.cocofit-root .cocofit-filter-toggle:focus:not(:focus-visible),
#cocofit-root .cocofit-ranking-card__reviews-toggle:focus:not(:focus-visible),
#cocofit-root .cocofit-top3-card__btn:focus:not(:focus-visible),
#cocofit-root .cocofit-comparison-table__action-btn:focus:not(:focus-visible) {
    outline: none;
}
