:root {
    --primary-color: #422a14; --secondary-color: #7e5d3e; --accent-color: #d4af37;
    --background-color: #fff; --text-color: #333; --text-light: #666; --border-color: #e0e0e0;
    --success-color: #4caf50; --error-color: #c62828;
    --shadow-light: 0 2px 8px rgba(0,0,0,0.08); --shadow-medium: 0 4px 16px rgba(0,0,0,0.12);
    --radius: 8px; --transition: 0.2s ease;
}
* { box-sizing: border-box; }

/* --- Question Submission Form --- */
.rabbi-question-form-container { max-width: 700px; margin: 20px auto; background: var(--background-color); border-radius: var(--radius); box-shadow: var(--shadow-medium); overflow: hidden; direction: rtl; border: 1px solid var(--border-color); }
.rabbi-question-form-container .form-header { padding: 20px 30px; background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: white; text-align: center; }
.rabbi-question-form-container .form-header h2 { margin: 0; font-size: 1.8em; }
.rabbi-question-form-container .form-body { padding: 25px 30px; }
.rabbi-question-form-container .form-row { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 15px; }
.rabbi-question-form-container .form-group { flex: 1; min-width: 200px; margin-bottom: 15px; }
.rabbi-question-form-container input[type="text"], .rabbi-question-form-container input[type="email"], .rabbi-question-form-container textarea {
    width: 100%; padding: 12px 15px; border: 1px solid var(--border-color); border-radius: var(--radius); font-size: 1em; transition: var(--transition);
    background-color: #fcfcfc; /* Subtle background for fields */
}
.rabbi-question-form-container input:focus, .rabbi-question-form-container textarea:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(66,42,20,0.1); outline: none; }
.rabbi-question-form-container button[type="submit"] {
    width: 100%; padding: 14px; background: var(--primary-color); color: white; border: none;
    border-radius: var(--radius); font-size: 1.1em; font-weight: 600; cursor: pointer; transition: var(--transition);
}
.rabbi-question-form-container button:hover { background: var(--secondary-color); }
.rabbi-question-form-container .urgency-group label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.form-message { padding: 12px; margin-top: 15px; border-radius: var(--radius); text-align: center; }
.form-message.success { background-color: #e8f5e9; color: #2e7d32; }
.form-message.error { background-color: #ffebee; color: #c62828; }

/* --- Public Accordion --- */
.rabbi-questions-accordion .accordion-toplevel-header { 
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; 
    margin-bottom: 20px; gap: 20px; padding: 20px;
    background: var(--background-color); border-radius: var(--radius);
    box-shadow: var(--shadow-medium); border: 1px solid var(--border-color);
}
.rabbi-questions-accordion .accordion-toplevel-header h2 { margin: 0; font-size: 1.8em; color: var(--primary-color); }
.rabbi-questions-accordion .accordion-search { flex-grow: 1; max-width: 400px; }
.rabbi-questions-accordion .accordion-search input { width: 100%; padding: 10px 15px; border: 1px solid var(--border-color); border-radius: var(--radius); font-size: 1em; }
.rabbi-questions-accordion .qa-accordion-item { background: var(--background-color); border: 1px solid var(--border-color); border-radius: var(--radius); margin-bottom: 10px; overflow: hidden; box-shadow: var(--shadow-light); }
.rabbi-questions-accordion .qa-accordion-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; cursor: pointer; transition: var(--transition); }
.rabbi-questions-accordion .qa-accordion-header:hover { background-color: #f9f9f9; }
.rabbi-questions-accordion .accordion-question-preview { font-weight: 600; color: var(--text-color); }
.rabbi-questions-accordion .accordion-icon { font-size: 1.5em; color: var(--primary-color); transition: var(--transition); }
.rabbi-questions-accordion .qa-accordion-item.active .accordion-icon { transform: rotate(45deg); }
.rabbi-questions-accordion .qa-accordion-content { display: none; padding: 0 20px 20px; border-top: 1px solid var(--border-color); }
.rabbi-questions-accordion h4 { margin: 15px 0 8px 0; color: var(--primary-color); }
.rabbi-questions-accordion p { margin: 0; line-height: 1.7; }
.rabbi-questions-accordion .accordion-answer { margin-top: 15px; padding-top: 15px; border-top: 1px solid #eee; }
.rabbi-questions-accordion .accordion-footer { text-align: left; margin-top: 15px; font-size: 0.9em; color: var(--text-light); }

/* --- Rabbi/Admin Management --- */
.rabbi-questions-manager { background: #f9f9f9; padding: 20px; }
.rabbi-questions-manager.admin-page { background: transparent; padding: 0; }
.filters-container { background: #fff; padding: 15px; margin-bottom: 20px; border: 1px solid #ddd; border-radius: var(--radius); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 15px; }
.filters-form { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; }
.management-tabs { display: flex; border-bottom: 1px solid var(--border-color); margin-bottom: 20px; flex-wrap: wrap; gap: 10px; }
.tab-btn { flex: 1 1 auto; padding: 10px 18px; border: none; background: transparent; cursor: pointer; font-size: 1em; color: var(--text-light); border-bottom: 3px solid transparent; margin-bottom: -1px; text-align: center; min-width: 120px;}
.tab-btn.active { color: var(--primary-color); border-bottom-color: var(--primary-color); font-weight: 600; }
.question-item { background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius); margin-bottom: 20px; overflow: hidden; position: relative; }
.question-item .bulk-checkbox { position: absolute; top: 15px; right: 15px; }
.question-item.status-pending { border-right: 4px solid var(--accent-color); }
.question-item.status-answered { border-right: 4px solid var(--success-color); }
.question-item.status-archived { border-right: 4px solid var(--text-light); }
.question-header { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; padding: 12px 15px; background: #f9f9f9; border-bottom: 1px solid var(--border-color); }
.question-header strong { margin-left: 5px; }
.question-header .date { font-size: 0.9em; color: var(--text-light); margin-right: auto; }
.question-header .status-badge { font-weight: bold; font-size: 0.9em; }
.urgency-high { font-weight: bold; color: var(--error-color); }
.question-body { padding: 15px; }
.question-body .field-title { margin: 0 0 8px 0; font-size: 0.9em; color: var(--text-light); text-transform: uppercase; }
.question-body p { margin: 0 0 15px 0; line-height: 1.6; }
.answer-content { background: #f5f5f5; padding: 10px; border-radius: var(--radius); }
.pending-answer-form textarea, .edit-textarea { width: 100%; min-height: 120px; padding: 10px; margin-top: 10px; margin-bottom: 10px; border: 1px solid #ccc; border-radius: var(--radius); }
.is-public-toggle label { display: flex; align-items: center; gap: 5px; cursor: pointer; }
.question-actions, .edit-actions { display: flex; gap: 10px; padding: 15px; background: #f9f9f9; border-top: 1px solid var(--border-color); }
.question-actions .button, .edit-actions .button { padding: 6px 14px; text-decoration: none; border-radius: var(--radius); cursor: pointer; border: 1px solid #ccc; }
.button.button-primary { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
.button.button-secondary { background: #fff; color: #333; }
.button.button-danger { background: transparent; color: var(--primary-color); border-color: var(--primary-color); }
.button.button-danger:hover { background: var(--primary-color); color: #fff; }
.message-box { padding: 12px; margin: 15px 15px 0; border-radius: var(--radius); text-align: center; }
.message-box.success { background-color: #e8f5e9; color: #2e7d32; }
.message-box.error { background-color: #ffebee; color: #c62828; }

/* --- Custom Modal --- */
#custom-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; z-index: 10001; direction: rtl; }
#custom-modal { background: #fff; padding: 25px 30px; border-radius: var(--radius); box-shadow: var(--shadow-medium); text-align: center; max-width: 400px; width: 90%; }
#custom-modal h4 { margin-top: 0; margin-bottom: 10px; font-size: 1.4em; }
#custom-modal p { color: var(--text-light); margin-bottom: 25px; }
.modal-buttons { display: flex; justify-content: center; gap: 15px; }
