/* ═══════════════════════════════════════════════════════════
   Questionnaire Module — Pharmazon Design System
   Loaded globally via default.xml (modals can appear anywhere)
   ═══════════════════════════════════════════════════════════ */

/* ─── Modal panel ─── */
.pz-questionnaire-modal {
    border-radius: 12px !important;
    overflow: hidden;
}

/* ─── Modal header ─── */
.pz-questionnaire-modal > div:first-child {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e2e5ea;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pz-questionnaire-modal > div:first-child h3 {
    font-size: 20px;
    font-weight: 800;
    color: #052523;
    margin: 0;
    line-height: 1.3;
}

/* Close button */
.pz-questionnaire-modal > div:first-child button {
    color: #828D9E;
    padding: 0.25rem;
    border-radius: 6px;
    transition: none;
}

.pz-questionnaire-modal > div:first-child button:hover {
    color: #052523;
    background: #f2f3f7;
}

/* Mandatory notice */
.pz-questionnaire-modal > div:first-child p {
    font-size: 14px;
    font-weight: 600;
    color: #f34832;
    margin-top: 0.25rem;
}

/* ─── Modal body ─── */
.pz-questionnaire-modal > div:nth-child(2) {
    padding: 1.25rem 1.5rem;
}

/* Form labels */
.pz-questionnaire-modal label.block {
    font-size: 16px;
    font-weight: 700;
    color: #052523;
    margin-bottom: 0.4rem;
}

/* Required asterisk */
.pz-questionnaire-modal .text-red-500 {
    color: #f34832;
}

/* Text inputs, textareas, selects */
.pz-questionnaire-modal input[type="text"],
.pz-questionnaire-modal input[type="date"],
.pz-questionnaire-modal input[type="datetime-local"],
.pz-questionnaire-modal textarea,
.pz-questionnaire-modal select {
    font-size: 16px;
    color: #052523;
    border: 1px solid #CACFD8;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    box-shadow: none;
}

.pz-questionnaire-modal input[type="text"]:focus,
.pz-questionnaire-modal input[type="date"]:focus,
.pz-questionnaire-modal input[type="datetime-local"]:focus,
.pz-questionnaire-modal textarea:focus,
.pz-questionnaire-modal select:focus {
    border-color: #28b1a8;
    box-shadow: 0 0 0 2px rgba(40, 177, 168, 0.15);
    outline: none;
}

/* Radio & checkbox labels */
.pz-questionnaire-modal .space-y-2 label span {
    font-size: 16px;
    font-weight: 500;
    color: #052523;
}

/* Radio & checkbox inputs — accent color */
.pz-questionnaire-modal input[type="radio"],
.pz-questionnaire-modal input[type="checkbox"] {
    accent-color: #28b1a8;
}

/* Hint text */
.pz-questionnaire-modal p.text-xs {
    font-size: 14px;
    color: #828D9E;
}

/* Description prose blocks */
.pz-questionnaire-modal .prose {
    font-size: 15px;
    color: #052523;
    line-height: 1.6;
}

/* File input */
.pz-questionnaire-modal input[type="file"] {
    font-size: 15px;
    color: #828D9E;
}

/* Field spacing */
.pz-questionnaire-modal form > template + div,
.pz-questionnaire-modal form .mb-4 {
    margin-bottom: 1.25rem;
}

/* ─── Modal footer ─── */
.pz-questionnaire-modal > div:last-child {
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e5ea;
    background: #fcfcfd;
    border-radius: 0 0 12px 12px;
    gap: 0.75rem;
    align-items: stretch;
}

/* Cancel button */
.pz-questionnaire-modal > div:last-child button:not(.btn) {
    font-size: 16px;
    font-weight: 600;
    color: #052523;
    border: 1px solid #CACFD8;
    border-radius: 8px;
    padding: 0.4rem 1rem;
    background: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pz-questionnaire-modal > div:last-child button:not(.btn):hover {
    border-color: #28b1a8;
    color: #28b1a8;
}

/* Submit button — inherits btn btn-primary styling */
.pz-questionnaire-modal > div:last-child .btn {
    font-size: 16px;
    font-weight: 700;
    padding: 0.4rem 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ─── Error message ─── */
.pz-questionnaire-modal .bg-red-50 {
    background: rgba(243, 72, 50, 0.06);
    border: 1px solid rgba(243, 72, 50, 0.15);
    border-radius: 8px;
}

.pz-questionnaire-modal .text-red-700 {
    color: #f34832;
    font-size: 15px;
    font-weight: 500;
}

/* ─── Loading spinner ─── */
.pz-questionnaire-modal .text-primary {
    color: #28b1a8;
}

.pz-questionnaire-modal .text-gray-500 {
    color: #828D9E;
    font-size: 16px;
}

/* ─── Multiselect checkbox list ─── */
.pz-questionnaire-modal .space-y-2.p-3 {
    background: #f9fafb;
    border-color: #e2e5ea;
}

.pz-questionnaire-modal .space-y-2.p-3 label:hover {
    background: white;
}

.pz-questionnaire-modal .space-y-2.p-3 input[type="checkbox"] {
    flex-shrink: 0;
}
