/* =================================================================
 * 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;
}


/* [★ここから追加] (shorturl/style.css より) */
/* =================================================================
 * [ADDED] UTM Builder Custom Styles
 * ================================================================= */

/* --- プリセットドロップダウン --- */
#utm-preset-select {
    /* 背景色を薄い紫にして差別化 */
    background-color: var(--bs-primary-bg-subtle);
    /* 枠線の色をプライマリカラーに */
    border-color: var(--bs-primary);
    /* 文字色をプライマリカラーに */
    color: var(--bs-primary);
    font-weight: 500;
}

/* 選択肢の色が背景と同化しないように調整 */
#utm-preset-select option {
    background-color: var(--bs-card-bg);
    color: var(--bs-body-color);
}

/* ダークモード時のプリセットドロップダウン */
[data-bs-theme="dark"] #utm-preset-select {
    /* 背景色を少し濃い紫（セカンダリカラー）に */
    background-color: var(--bs-secondary);
    /* 枠線の色を明るい紫（プライマリカラー）に */
    border-color: var(--bs-primary);
    /* 文字色を明るい色に */
    color: #ffffff;
}

/* ダークモード時の選択肢 */
[data-bs-theme="dark"] #utm-preset-select option {
    background-color: var(--bs-card-bg);
    color: var(--bs-body-color);
}

/* --- UTMクリアボタン --- */
#clear-utm-button {
    /* 既存の btn-outline-secondary を上書きして btn-outline-primary 風に */
    background-color: var(--bs-outline-initial-bg);
    color: var(--bs-primary);
    border-color: var(--bs-primary);
    font-weight: 500;
}

#clear-utm-button:hover,
#clear-utm-button:active {
    background-color: var(--bs-primary);
    color: #fff;
    /* ライトモードのホバー時は白文字 */
    border-color: var(--bs-primary);
}

/* ダークモード時のクリアボタン */
[data-bs-theme="dark"] #clear-utm-button {
    background-color: var(--bs-outline-initial-bg);
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

[data-bs-theme="dark"] #clear-utm-button:hover,
[data-bs-theme="dark"] #clear-utm-button:active {
    background-color: var(--bs-primary);
    color: #fff;
    /* ダークモードのホバー時も白文字 */
}

/* --- [NEW] UTM プレビュー欄 --- */
#utm-preview-url {
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary);
    opacity: 0.8;
    /* [★修正] input-group-sm の高さに合わせつつ、可変にする */
    min-height: 32px;
    height: auto;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* [★追加] input-group内のプレビュー欄の角丸を調整 */
.input-group>#utm-preview-url {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}


/* ダークモード時のプレビュー欄 */
[data-bs-theme="dark"] #utm-preview-url {
    background-color: var(--bs-secondary);
    border-color: var(--bs-primary);
    color: var(--bs-body-color);
    /* 文字色を通常に戻す */
    opacity: 1;
    /* ダークモードでは薄くしない */
    /* [★修正] min-heightを追加 */
    min-height: 32px;
}

/* [★ここまで追加] */