/**
 * BGU-261: 学生メッセージ詳細（v1）「同学部の学生インタビュー」動線ブロック
 *
 * nx の一覧カード部品 bgu_iv_render_card()（nx/templates/interview/_shared.php）を
 * v1 ページへ参照出力するためのスコープ付きスタイル。
 * v1 ページには nx の Tailwind ビルド CSS（dist/assets/style.css）を読み込めない
 * （preflight リセットが v1 レイアウトを破壊する）ため、カードが使用する
 * ユーティリティクラスの確定値（dist ビルド出力から抽出した実値）を
 * .students-related-iv 配下に限定して静的に再現している。
 * ※ nx 側カード（bgu_iv_render_card）のマークアップ変更時は本ファイルの追随が必要。
 */

/* ===== ブロック外枠（v1 側レイアウト: .students-message__inner の幅に揃える） ===== */
.students-related-iv {
    margin-top: 40px;
}
.students-related-iv__inner {
    padding: 0 16px;
}
.students-related-iv__title {
    color: #1a1a1a;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 20px;
}
.students-related-iv__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
@media screen and (min-width: 768px) {
    .students-related-iv {
        margin-top: 60px;
    }
    .students-related-iv__inner {
        max-width: 1032px;
        margin: 0 auto;
    }
}
@media screen and (min-width: 1024px) {
    .students-related-iv__title {
        font-size: 26px;
        margin-bottom: 28px;
    }
    .students-related-iv__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 24px;
    }
}

/* ===== 以下、bgu_iv_render_card() が出力するカード内部クラスの再現 ===== */
.students-related-iv .iv-card-item {
    margin: 0;
    padding: 0;
}
.students-related-iv .iv-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* 配置・ボックス */
.students-related-iv .iv-card .relative { position: relative; }
.students-related-iv .iv-card .absolute { position: absolute; }
.students-related-iv .iv-card .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.students-related-iv .iv-card .inset-x-0 { left: 0; right: 0; }
.students-related-iv .iv-card .bottom-0 { bottom: 0; }
.students-related-iv .iv-card .aspect-\[3\/4\] { aspect-ratio: 3 / 4; }
.students-related-iv .iv-card .overflow-hidden { overflow: hidden; }
.students-related-iv .iv-card .rounded-\[12px\] { border-radius: 12px; }
.students-related-iv .iv-card .w-full { width: 100%; }
.students-related-iv .iv-card .h-full { height: 100%; }
.students-related-iv .iv-card .object-cover { object-fit: cover; }
.students-related-iv .iv-card .flex { display: flex; }
.students-related-iv .iv-card .flex-col { flex-direction: column; }
.students-related-iv .iv-card .items-center { align-items: center; }
.students-related-iv .iv-card .items-start { align-items: flex-start; }
.students-related-iv .iv-card .justify-center { justify-content: center; }
.students-related-iv .iv-card .gap-\[8px\] { gap: 8px; }
.students-related-iv .iv-card .inline-block { display: inline-block; }
.students-related-iv .iv-card .p-\[14px\] { padding: 14px; }
.students-related-iv .iv-card .px-\[8px\] { padding-left: 8px; padding-right: 8px; }
.students-related-iv .iv-card .py-\[2px\] { padding-top: 2px; padding-bottom: 2px; }
.students-related-iv .iv-card .pt-\[12px\] { padding-top: 12px; }
.students-related-iv .iv-card .mt-\[2px\] { margin-top: 2px; }
.students-related-iv .iv-card .m-0 { margin: 0; }

/* 写真ホバーのズーム（Tailwind v4 の scale-* は CSS scale プロパティ） */
.students-related-iv .iv-card .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.students-related-iv .iv-card .duration-300 { transition-duration: 300ms; }
.students-related-iv .iv-card:hover .group-hover\:scale-\[1\.04\] { scale: 1.04; }

/* 写真上の黒グラデ（bg-[linear-gradient(...)] は任意値クラス名のためセレクタ再現不可 → 構造で特定。
   img（.absolute.inset-0）は div 限定で除外、プレースホルダ div は :not(.flex) で除外 */
.students-related-iv .iv-card div.absolute.inset-0:not(.flex) {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.1) 55%, rgba(0, 0, 0, 0) 100%);
}

/* 色・タイポグラフィ（neutral 系は dist の oklch 実値 + hex フォールバック） */
.students-related-iv .iv-card .bg-neutral-200 { background-color: #e5e5e5; background-color: oklch(92.2% 0 0); }
.students-related-iv .iv-card .bg-\[var\(--fac\)\] { background-color: var(--fac); }
.students-related-iv .iv-card .text-white { color: #ffffff; }
.students-related-iv .iv-card .text-\[\#1a1a1a\] { color: #1a1a1a; }
.students-related-iv .iv-card .text-neutral-400 { color: #a1a1a1; color: oklch(70.8% 0 0); }
.students-related-iv .iv-card .text-neutral-500 { color: #737373; color: oklch(55.6% 0 0); }
.students-related-iv .iv-card .font-bold { font-weight: 600; } /* nx テーマは --font-weight-bold: 600 */
.students-related-iv .iv-card .text-\[11px\] { font-size: 11px; }
.students-related-iv .iv-card .text-\[12px\] { font-size: 12px; }
.students-related-iv .iv-card .text-\[14px\] { font-size: 14px; }
.students-related-iv .iv-card .text-\[15px\] { font-size: 15px; }
.students-related-iv .iv-card .leading-\[1\.45\] { line-height: 1.45; }
.students-related-iv .iv-card .leading-\[1\.6\] { line-height: 1.6; }
/* プレースホルダ（写真なし時の PHOTO 表示）。font-['Barlow'...] クラス名はセレクタ再現不可のため同要素の tracking に同居 */
.students-related-iv .iv-card .tracking-\[0\.25em\] { letter-spacing: 0.25em; font-family: 'Barlow', sans-serif; }
/* キャッチコピー 3 行クランプ + [text-shadow:...] 任意値クラスの再現（この p にのみ付与） */
.students-related-iv .iv-card .line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 1024px) {
    .students-related-iv .iv-card .min-\[1024px\]\:text-\[16px\] { font-size: 16px; }
}
