.ncg-survey-container {
    max-width: 800px;
    margin: 0 auto;
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    border-top: 5px solid #23312C;
}

.ncg-survey-page { display: none; } /* JS handles visibility */
.ncg-survey-page.active { display: block; animation: fadeIn 0.5s; }

.ncg-field-group { margin-bottom: 30px; }
.ncg-field-label { display: block; font-weight: 700; color: #23312C; margin-bottom: 10px; font-size: 1.1rem; }
.req { color: #d63638; }

/* Inputs */
input[type="text"], textarea {
    width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-family: inherit;
}
input:focus, textarea:focus { border-color: #C89B7B; outline: none; }

/* Radio/Check */
.ncg-check-opt { display: block; margin-bottom: 8px; cursor: pointer; }

/* Star Rating */
.ncg-star-rating { display: inline-block; direction: rtl; }
.ncg-star-rating input { display: none; }
.ncg-star-rating label { font-size: 30px; color: #ddd; cursor: pointer; transition: 0.2s; }
.ncg-star-rating input:checked ~ label, .ncg-star-rating label:hover, .ncg-star-rating label:hover ~ label { color: #FFD700; }

/* Likert */
.likert-row { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #eee; }
.likert-row .scale { display: flex; gap: 15px; }
.likert-row label { display: flex; flex-direction: column; align-items: center; font-size: 12px; cursor: pointer; }

/* Footer */
.ncg-survey-footer { margin-top: 40px; display: flex; justify-content: space-between; border-top: 1px solid #eee; padding-top: 20px; }
.button { padding: 12px 25px; cursor: pointer; font-weight: 700; border-radius: 4px; border: none; }
.ncg-next-btn, .ncg-submit-btn { background: #23312C; color: #fff; }
.ncg-prev-btn { background: #eee; color: #333; }

.ncg-success-message { text-align: center; padding: 40px; color: green; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
