/* ==============================================
   utilities.css — ユーティリティクラス（最終読み込み = 最高優先度）
   ============================================== */

/* ── テキスト配置 ── */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

/* ── マージン（bottom） ── */
.mb-sm {
    margin-bottom: var(--spacing-sm);
}

.mb-md {
    margin-bottom: var(--spacing-md);
}

.mb-lg {
    margin-bottom: var(--spacing-lg);
}

.mb-xl {
    margin-bottom: var(--spacing-xl);
}

.mb-2xl {
    margin-bottom: var(--spacing-2xl);
}

/* ── マージン（top） ── */
.mt-sm {
    margin-top: var(--spacing-sm);
}

.mt-md {
    margin-top: var(--spacing-md);
}

.mt-lg {
    margin-top: var(--spacing-lg);
}

.mt-xl {
    margin-top: var(--spacing-xl);
}

.mt-2xl {
    margin-top: var(--spacing-2xl);
}

/* v1互換 */
.margin-top-lg {
    margin-top: var(--spacing-2xl);
}

/* ── 表示制御 ── */
.hidden {
    display: none;
}

.visible {
    display: block;
}

/* ── スクリーンリーダー専用 ── */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* ── ボディ固定（メニュー開時） ── */
body.menu-open {
    overflow: hidden;
}