/**
 * inc/rice_sale.css
 * お米直販情報掲示板 スタイルシート
 *
 * 既存の form-style.css / producer-register.css と同じ
 * カラーパレットに準拠：
 *   メインブラウン  : #7c5d38
 *   アクセントゴールド : #d89134 / #dcb065
 *   ライトベージュ  : #f9f7f4
 *   ボーダー        : #e5ded6 / #e3e3e3
 */

/* =====================================================
 * 一覧ページ（/rice-sale/）
 * ===================================================== */

.rice-sale-list-wrap {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 0 40px;
}

/* 農家カード */
.rs-list-card {
    transition: box-shadow 0.2s ease;
}
.rs-list-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

/* 商品グリッド */
.rs-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 15px;
}

/* 問い合わせボタン群 */
.rs-contact-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}
.rs-contact-btns a,
.rs-contact-btns button {
    transition: opacity 0.15s ease;
}
.rs-contact-btns a:hover,
.rs-contact-btns button:hover {
    opacity: 0.85;
}

/* もっと見るボタン */
.rs-toggle-btn {
    padding: 6px 4px;
    min-height: 32px;
    touch-action: manipulation;
}
.rs-toggle-btn:hover {
    text-decoration: underline;
}

/* 電話番号フォーム */
.rs-tel-form input[type="email"] {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 9px 12px;
    font-size: 0.9em;
}
.rs-tel-form input[type="email"]:focus {
    outline: none;
    border-color: #7c5d38;
    box-shadow: 0 0 0 2px rgba(124, 93, 56, 0.15);
}

/* =====================================================
 * 投稿フォーム（マイページ内）
 * ===================================================== */

.rice-sale-form-wrap {
    max-width: 720px;
}

/* フォームグループ */
.rs-field-group label {
    font-weight: bold;
    color: #333;
    display: block;
    margin-bottom: 6px;
}

/* テキスト系インプット */
.rs-field-group input[type="text"],
.rs-field-group input[type="email"],
.rs-field-group input[type="url"],
.rs-field-group input[type="number"],
.rs-field-group textarea {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px;
    font-size: 0.95em;
    transition: border-color 0.15s;
    box-sizing: border-box;
}
.rs-field-group input[type="text"]:focus,
.rs-field-group input[type="email"]:focus,
.rs-field-group input[type="url"]:focus,
.rs-field-group input[type="number"]:focus,
.rs-field-group textarea:focus {
    outline: none;
    border-color: #7c5d38;
    box-shadow: 0 0 0 2px rgba(124, 93, 56, 0.15);
}

/* セレクト */
.rs-product-card select {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px;
    font-size: 0.9em;
    background: #fff;
    transition: border-color 0.15s;
}
.rs-product-card select:focus {
    outline: none;
    border-color: #7c5d38;
}

/* チェックボックス */
.rs-field-group input[type="checkbox"] {
    accent-color: #7c5d38;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* 保存ボタン */
#rs-save-btn {
    transition: background-color 0.2s ease, opacity 0.2s ease;
}
#rs-save-btn:hover:not(:disabled) {
    background-color: #9a7348 !important;
}
#rs-save-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* 削除ボタン */
#rs-delete-btn {
    transition: background-color 0.2s ease;
}
#rs-delete-btn:hover:not(:disabled) {
    background-color: #c00 !important;
    color: #fff !important;
}
#rs-delete-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* =====================================================
 * レスポンシブ
 * ===================================================== */

@media (max-width: 600px) {

    .rs-product-card > div[style*="grid"] {
        grid-template-columns: 1fr 1fr !important;
    }

    .rs-contact-btns {
        flex-direction: column;
    }
    .rs-contact-btns a,
    .rs-contact-btns button {
        width: 100%;
        text-align: center;
    }

    .rs-tel-form > div {
        flex-direction: column;
    }
    .rs-tel-form input[type="email"] {
        width: 100%;
        min-width: unset !important;
    }
    .rs-tel-form button {
        width: 100%;
    }

    .rs-products {
        grid-template-columns: repeat(2, 1fr);
    }

    .rs-card-header {
        flex-wrap: wrap;
    }
}
