/* =========================================
   ベース設定
========================================= */
html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin-bottom: 60px;
}

/* =========================================
   カラーテーマ変数
========================================= */
:root {
    --bs-primary: #4ea8de; /* メインカラー（婦人科ブルー） */
    --bs-primary-rgb: 78, 168, 222;
}

/* site.css */
.form-title {
    font-size: 1.6rem; /* h4 と同等 */
    font-weight: 600; /* 太字 */
    text-align: center; /* 中央揃え */
    margin-bottom: 1.5rem; /* 下余白 */
    color: #4ea8de; 
}


/* =========================================
   Bootstrap カスタマイズ
========================================= */

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

    .btn-primary:hover {
        background-color: #4098cb;
        border-color: #3b8dbd;
    }

.text-primary {
    color: var(--bs-primary) !important;
}

.bg-primary {
    background-color: var(--bs-primary) !important;
}

.btn-md {
    padding: 0.6rem 1.2rem; /* 通常とlgの中間 */
    font-size: 1.05rem; /* 文字サイズも少し大きく */
}

/* =========================================
   診療科バッジ
========================================= */
.badge-obstetrics {
    background-color: #f6b26b;
    color: #fff;
}

.badge-infertility {
    background-color: #52b788;
    color: #fff;
}

.badge-gynecology {
    background-color: #4ea8de;
    color: #fff;
}

.badge-clinic {
    font-size: 1rem;
    padding: 0.5em 1.2em;
    border-radius: 50px;
}




/* =========================================
   共通ボタン
========================================= */
.btn {
    border-radius: 2rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .btn:hover {
        transform: translateY(-3px);
        box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
    }

.btn-danger:hover {
    background-color: #f8d7da;
    color: #842029;
    border-color: #f5c2c7;
}


/* =========================================
   ナビゲーション & フッター
========================================= */
.navbar-brand i {
    font-size: 1.2rem;
}

footer {
    font-size: 0.85rem;
    opacity: 0.9;
}

/* =========================================
   患者情報表示
========================================= */
.patient-info {
    background-color: #f8f9fa;
    border-radius: 0.5rem;
    padding: 0.6rem 0.9rem;
    margin: 0.8rem 0 1rem 0;
    line-height: 1.2;
}


    .patient-info strong {
        font-weight: 600;
    }

    .patient-info .badge {
        font-size: 0.8rem;
        vertical-align: middle;
        padding-top: 0.1rem;
        padding-bottom: 0.1rem;
    }

    .patient-info div {
        white-space: nowrap; /* 狭い画面で折り返すまで1行維持 */
    }

    .patient-info span.text-muted {
        color: #6c757d;
        font-size: 0.9rem;
    }

    .patient-info .badge {
        font-size: 0.8rem;
        vertical-align: middle;
        padding-top: 0.25rem; /* ← 高さを少し増やす */
        padding-bottom: 0.25rem;
        line-height: 1.2; /* 行の高さも少し余裕 */
    }

    .patient-info .age-text {
        font-size: inherit; /* 他と同じ大きさ */
    }


