/* ==========================================================================
   inc/consumer-style.css
   消費者（一般訪問者）向け簡易マイページ・お気に入りボタンのスタイル
   ========================================================================== */

/* ---- 認証フォーム（未ログイン時） ---- */
.consumer-auth-wrap {
    max-width: 420px;
    margin: 20px auto;
    padding: 30px;
    background: #fbf9f6;
    border: 1px solid #e5ded6;
    border-radius: 12px;
}
.consumer-auth-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
.consumer-tab-btn {
    flex: 1;
    padding: 10px;
    background: #fff;
    border: 1px solid #d89134;
    color: #d89134;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
}
.consumer-tab-btn.active {
    background: #d89134;
    color: #fff;
}
.consumer-auth-form p { margin-bottom: 16px; }
.consumer-auth-form label {
    display: block;
    font-weight: bold;
    font-size: 13px;
    color: #4a3c31;
    margin-bottom: 6px;
}
.consumer-auth-form input[type="text"],
.consumer-auth-form input[type="email"],
.consumer-auth-form input[type="password"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 15px;
    box-sizing: border-box;
}
.consumer-submit-btn {
    display: block;
    width: 100%;
    padding: 12px;
    background: #d89134;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}
.consumer-submit-btn:hover { background: #be7a25; }
.consumer-auth-msg { margin-top: 10px; font-size: 13px; font-weight: bold; }

/* ---- ダッシュボード（ログイン時） ---- */
.consumer-dashboard-wrap {
    max-width: 600px;
    margin: 20px auto;
}
.consumer-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.consumer-username {
    font-size: 1.2em;
    font-weight: bold;
    color: #4a3c31;
    margin: 0;
}
.consumer-link-btn {
    background: none;
    border: 1px solid #999;
    color: #666;
    padding: 7px 16px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
}
.consumer-link-btn:hover { background: #f0f0f0; }

.consumer-section-block {
    background: #fbf9f6;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 16px;
}

.consumer-section-title {
    font-size: 1.05em;
    font-weight: bold;
    color: #4a3c31;
    border-bottom: 2px solid #d89134;
    padding-bottom: 8px;
    margin: 0 0 14px;
}

.consumer-empty-msg {
    color: #888;
    font-size: 14px;
    padding: 20px;
    background: #fafafa;
    border-radius: 8px;
    text-align: center;
}

/* ---- お気に入り1行 ---- */
.consumer-favorite-row {
    background: #fff;
    border: 1px solid #e5ded6;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 10px;
}
.consumer-favorite-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}
.consumer-favorite-farmname {
    font-weight: bold;
    font-size: 1.05em;
    color: #4a3c31;
    text-decoration: none;
}
.consumer-favorite-farmname:hover { text-decoration: underline; }

.consumer-favorite-pref {
    font-size: 12px;
    color: #888;
}

.consumer-board-badge {
    font-size: 12px;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 12px;
    text-decoration: none;
}
.consumer-board-badge.is-open {
    background: #e8f5e9;
    color: #2e7d32;
}
.consumer-board-badge.is-open:hover { text-decoration: underline; }
.consumer-board-badge.is-closed {
    background: #f0f0f0;
    color: #888;
}
.consumer-board-badge.is-external {
    background: #ede8e0;
    color: #6b5a3e;
}

.consumer-section-note {
    font-size: 12px;
    color: #888;
    margin: -8px 0 12px;
}

.consumer-favorite-remove {
    margin-left: auto;
    background: none;
    border: none;
    color: #bbb;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
    padding: 2px 6px;
}
.consumer-favorite-remove:hover { color: #c62828; }

.consumer-favorite-status {
    font-size: 13px;
    color: #555;
    padding-left: 2px;
}
.consumer-status-line {
    font-weight: bold;
    color: #7c5d38;
    margin-right: 8px;
}
.consumer-status-comment { color: #555; }
.consumer-status-empty { color: #aaa; font-style: italic; }

.consumer-dashboard-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.consumer-dashboard-actions .consumer-link-btn { flex: 1; min-width: 160px; text-align: center; }

#consumer-profile-form-wrap {
    margin-top: 20px;
    padding: 20px;
    background: #fbf9f6;
    border: 1px solid #e5ded6;
    border-radius: 10px;
}
#consumer-profile-form p { margin-bottom: 14px; }
#consumer-profile-form label { display: block; font-weight: bold; font-size: 13px; margin-bottom: 6px; color: #4a3c31; }
#consumer-profile-form input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 15px;
    box-sizing: border-box;
}

/* ---- お気に入りボタン（single-farmer.php に設置） ---- */
.favorite-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 20px;
    font-size: 0.85rem;
    font-weight: bold;
    border-radius: 20px;
    border: 1px solid #d89134;
    background: #fff;
    color: #d89134;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.favorite-toggle-btn:hover { background: #fdf3e7; }
.favorite-toggle-btn.is-favorited {
    background: #d89134;
    color: #fff;
}
.favorite-toggle-btn.is-small {
    padding: 3px 12px;
    font-size: 0.72rem;
    gap: 4px;
}

@media screen and (max-width: 559px) {
    .consumer-dashboard-actions { flex-direction: column; }
    .consumer-favorite-head { gap: 6px; }
}