/**
 * Zeilschool Booking – Frontend Styles
 *
 * @package ZeilschoolBooking
 */

.zsb-participant-fields {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 20px 0;
}

.zsb-fields-title {
    margin: 0 0 16px 0;
    padding: 0 0 12px 0;
    border-bottom: 2px solid #1d4ed8;
    color: #1e293b;
    font-size: 18px;
    font-weight: 600;
}

.zsb-course-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.zsb-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.zsb-badge--week       { background: #dbeafe; color: #1e40af; }
.zsb-badge--discipline { background: #e0f2fe; color: #0369a1; }
.zsb-badge--age        { background: #fef3c7; color: #92400e; }

.zsb-field { margin-bottom: 14px !important; }

.zsb-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: #334155;
    font-size: 14px;
}

.zsb-field .input-text,
.zsb-field select,
.zsb-field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: #fff;
}

.zsb-field .input-text:focus,
.zsb-field select:focus,
.zsb-field textarea:focus {
    outline: none;
    border-color: #1d4ed8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.1);
}

.zsb-field-hint {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #92400e;
    font-style: italic;
}

.zsb-field abbr.required {
    color: #dc2626;
    text-decoration: none;
    font-weight: 700;
}

.zsb-availability {
    margin: 12px 0;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.zsb-availability--low {
    background: #fff7ed;
    color: #9a3412;
    border-color: #fed7aa;
}

.zsb-availability__full {
    background: #fef2f2;
    color: #991b1b;
    border-color: #fecaca;
    display: block;
    padding: 8px 14px;
    border-radius: 6px;
    font-weight: 600;
}

@media (max-width: 600px) {
    .zsb-participant-fields { padding: 14px 16px; }
    .zsb-course-info { flex-direction: column; }
}
