/* =================================================================
 * Page Specific Styles for Signature Stamp Maker (style.css)
 * ================================================================= */

/**
 * プレビューエリアをスクロールに追従させる
 */
.tool-results-sticky {
    position: -webkit-sticky;
    /* For Safari */
    position: sticky;
    top: 80px;
    /* ヘッダー高 + マージン */
}

/**
 * Canvasコンテナ
 * プレビューを見やすくするため背景色とパディングを設ける
 */
.canvas-container {
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* 横判表示時にコンテナが伸縮するのを防ぐ */
    min-height: 250px;
}

/**
 * Canvas本体
 * コンテナに合わせて最大幅で表示し、アスペクト比を保つ
 */
#stampCanvas {
    max-width: 100%;
    height: auto;
    background-color: #ffffff;
    /* 印影を見やすくするため白背景 */
    transition: all 0.3s ease;
}

/* タイプごとのCanvasスタイル */
#stampCanvas.type-personal-circle,
#stampCanvas.type-corporate-circle {
    border-radius: 50%;
}

#stampCanvas.type-personal-date,
#stampCanvas.type-corporate-square,
#stampCanvas.type-address {
    border-radius: 0.15rem;
    /* 角を少しだけ丸める */
}

.form-control-color {
    max-width: 3rem;
    padding: 0.25rem;
}


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