/* --- Basic container styling --- */
/* Increased specificity to avoid theme conflicts */
#nic-compass-container { max-width: 800px !important; margin: 2em auto !important; font-family: sans-serif !important; border: 1px solid #ddd !important; padding: 2em !important; border-radius: 8px !important; background: #f9f9f9 !important; }
#nic-compass-container h2 { text-align: center; margin-top: 0; }

/* --- Pre-Questionnaire Form Specifics --- */
#nic-compass-container .nic-form-field { margin-bottom: 15px; }
#nic-compass-container .nic-form-field label { display: block; font-weight: bold; margin-bottom: 5px; }
#nic-compass-container .nic-form-field input[type="text"] { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
#nic-compass-container .nic-radio-field { margin-top: 25px; }
#nic-compass-container .nic-radio-options { display: flex; gap: 20px; align-items: center; margin-top: 10px; }
#nic-compass-container #nic-start-btn { margin-top: 25px; }

/* --- Accordion styling --- */
#nic-compass-container .nic-accordion-header { background-color: #005f73 !important; color: white !important; cursor: pointer; padding: 18px !important; width: 100%; border: none; text-align: left; outline: none; font-size: 18px; transition: 0.4s; border-radius: 4px; margin-top: 10px; }
#nic-compass-container .nic-accordion-header:hover { background-color: #0a9396 !important; }
#nic-compass-container .nic-accordion-header.active { border-radius: 4px 4px 0 0; }
#nic-compass-container .nic-accordion-content { padding: 0 18px; background-color: white; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; border: 1px solid #ddd; border-top: none; }
#nic-compass-container .nic-question { padding: 15px 0; border-bottom: 1px solid #f0f0f0; }
#nic-compass-container .nic-question:last-child { border-bottom: none; }

/* --- Rating scale styling --- */
#nic-compass-container .nic-rating-scale { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; }
#nic-compass-container .nic-rating-scale span { font-size: 0.9em; color: #555; }
#nic-compass-container .nic-radio-group { display: flex; gap: 10px; }
#nic-compass-container .nic-rating-scale input[type="radio"] { display: none; }
#nic-compass-container .nic-rating-scale label { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; border: 1px solid #ccc; border-radius: 50%; cursor: pointer; background: #fff; transition: all 0.2s ease; }
#nic-compass-container .nic-rating-scale input[type="radio"]:checked + label { background-color: #005f73 !important; color: white !important; border-color: #005f73 !important; font-weight: bold; transform: scale(1.1); }

/* --- Button styling --- */
#nic-compass-container .nic-button { background-color: #2a9d8f !important; color: white !important; padding: 15px 30px; border: none; border-radius: 5px; font-size: 18px; cursor: pointer; transition: background-color 0.3s; }
#nic-compass-container .nic-button:hover { background-color: #264653 !important; }

/* --- Results Section --- */
#nic-compass-container #nic-results-container { margin-top: 40px; padding-top: 30px; border-top: 2px solid #005f73; }
#nic-compass-container #nic-results-container h2 { text-align: center; font-size: 24px; margin-bottom: 20px; }
#nic-compass-container .nic-results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }

/* --- Chart Container --- */
#nic-compass-container .nic-chart-container { position: relative; width: 100%; max-width: 500px; margin: 0 auto; aspect-ratio: 1 / 1; height: auto; }
#nic-compass-container .nic-chart-key { list-style: none; padding: 0; margin: 15px auto; text-align: center; font-size: 0.9em; color: #555; }
#nic-compass-container .nic-chart-key li { display: inline-block; margin: 0 10px; }

#nic-compass-container #nic-narrative-analysis p { margin-bottom: 1em; line-height: 1.6; }
#nic-compass-container .nic-print-area { text-align: center; margin-top: 40px; }
#nic-compass-container #nic-print-btn { background-color: #6c757d !important; color: white !important; }
#nic-compass-container #nic-print-btn:hover { background-color: #5a6268 !important; }

/* --- Responsive styles --- */
@media (max-width: 768px) {
    #nic-compass-container .nic-results-grid { grid-template-columns: 1fr; }
}

/* --- Print Styles --- */
@media print {
    body * { visibility: hidden; }
    #nic-compass-container, #nic-compass-container * { visibility: visible; }
    #nic-compass-container { position: absolute; left: 0; top: 0; width: 100%; margin: 0; padding: 20px; border: none; box-shadow: none; }
    .nic-intro, #nic-questionnaire-form, .nic-print-area, #nic-pre-form-container { display: none !important; }
    #nic-results-container { display: block !important; margin-top: 0; padding-top: 0; border-top: none; }
    .nic-results-grid { grid-template-columns: 1fr; page-break-inside: avoid; }
    .nic-chart-container { max-width: 500px; }
    h2, h3, h4 { color: #000; }
    #nic-results-container::before { content: 'Your Neuro-Inclusion Compass Report'; display: block; text-align: center; font-size: 24px; font-weight: bold; margin-bottom: 30px; color: #000; }
}
