/* =================================================================
 * Page Specific Styles for QR Code Generator (style.css)
 * ================================================================= */

/* --- 1. レイアウトパターン (2カラム用) --- */

/* 「パターン1」で使用する設定/結果カードのベース */
.tool-settings,
.tool-results {
    height: 100%;
}

.tool-results {
    display: flex;
    flex-direction: column;
}

.tool-results .card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.tool-results .card-body>.h-100 {
    flex-grow: 1;
}

/* 結果エリアをスクロールに追従させる */
.tool-results-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 80px;
    /* ヘッダーの高さ + マージン (common/style-default.css に合わせる) */
}


/* --- 2. 汎用コンポーネント (UI Templateより) --- */

/* ローディングオーバーレイ */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: none;
    /* JSで制御 */
    justify-content: center;
    align-items: center;
    z-index: 1200;
    /* モーダルより手前 */
}

.loading-overlay.is-active {
    display: flex;
}

/* --- 3. ツール固有スタイル --- */

/* QRコードプレビューエリア */
.qr-preview-wrapper {
    min-width: 148px;
    line-height: 0;
    /* canvas下の余白削除 */

    /* [★ここから修正] */
    display: flex;
    /* 子要素を中央揃えにするため */
    align-items: center;
    justify-content: center;
    padding: 1rem;
    /* 内側の余白 */
    /* ダークモードのカード内背景色などに合わせる (Bootstrap 5.3) */
    background-color: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color-translucent);
    /* プレビューサイズに応じて高さを確保 (256px + 2rem padding) */
    min-height: 288px;
    /* [★ここまで修正] */
}

/* [★追加] 初期プレースホルダーのスタイル */
.qr-placeholder-content {
    display: flex;
    /* デフォルトは表示 (JSで切り替え) */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--bs-secondary-color);
    /* 薄めの文字色 */
    line-height: 1.5;
    /* テキストの行間 */
    text-align: center;
}

.qr-placeholder-content i {
    color: var(--bs-secondary-color);
    opacity: 0.5;
}


/* QRコードの <canvas> または <img> が中央に来るように */
#qr-preview-container canvas,
#qr-preview-container img {
    margin: 0 auto;
    /* [★追加] QRコード本体は白背景+余白を持たせる */
    background-color: #ffffff;
    padding: 1rem;
    border-radius: var(--bs-border-radius-sm);
    box-shadow: var(--bs-box-shadow-sm);
    /* [★追加] JSで表示が切り替わるため、デフォルトは非表示 */
    display: none;
}


/* =================================================================
 * 4. UX Improvements: フォーム視認性向上 (サイト全体統一)
 * ================================================================= */

.form-control, .form-select {
    background-color: #ffffff;
    border: 1px solid #adb5bd;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    color: var(--bs-body-color);
    transition: all 0.2s ease-in-out;
}

.form-control:hover, .form-select:hover {
    border-color: #6c757d;
}

.form-control:focus, .form-select:focus {
    background-color: #ffffff;
    border-color: #0d6efd;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05), 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: rgba(255, 255, 255, 0.06);
    border: 1px solid #6c757d;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    color: #f8f9fa;
}

[data-bs-theme="dark"] .form-control:hover,
[data-bs-theme="dark"] .form-select:hover {
    border-color: #adb5bd;
    background-color: rgba(255, 255, 255, 0.09);
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: rgba(255, 255, 255, 0.09);
    border-color: #86b7fe;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.2), 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* 単位やアイコンが付く入力欄（.input-group-text）の調整 */
.input-group-text {
    background-color: #f1f3f5;
    border: 1px solid #adb5bd;
    color: #495057;
    transition: all 0.2s ease-in-out;
}

[data-bs-theme="dark"] .input-group-text {
    background-color: rgba(0, 0, 0, 0.2);
    border: 1px solid #6c757d;
    color: #ced4da;
}