/* ============================================================
   Styling für com_users (Profil-Ansicht & Profil-Bearbeitung)
   Mobile-First — Single-Column als Basis, ab 720px zweispaltig
   Template-Farben: #033B5F (Navy), #0441a3, #EC7A45 (Orange)
   ============================================================ */

/* ---------- Wrapper-Karte ---------- */
.com-users-profile,
.com-users-profile__edit {
    max-width: 720px;
    margin: 16px auto;
    padding: 20px 18px;
    background: #ffffff;
    border: 1px solid #d8dde3;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    color: #2b2b2b;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
}
.com-users-profile *,
.com-users-profile__edit * {
    box-sizing: border-box;
}

/* Überschriften */
.com-users-profile h1,
.com-users-profile__edit h1,
.com-users-profile h2,
.com-users-profile__edit h2 {
    color: #033B5F;
    margin: 0 0 14px 0;
    padding-bottom: 6px;
    border-bottom: 2px solid #EC7A45;
    font-size: 18px;
    font-weight: 600;
}
.com-users-profile h2,
.com-users-profile__edit h2 {
    font-size: 15px;
    border-bottom-width: 1px;
    border-bottom-color: #d8dde3;
    margin-top: 18px;
}

/* ============================================================
   Profil-Ansicht (default.php)
   ============================================================ */
.com-users-profile dl,
.com-users-profile table {
    margin: 0;
    width: 100%;
    border-collapse: collapse;
}
.com-users-profile dl dt,
.com-users-profile table th {
    color: #033B5F;
    font-weight: 600;
    text-align: left;
    padding: 6px 8px;
    width: 38%;
    border-bottom: 1px solid #eef1f4;
    vertical-align: top;
}
.com-users-profile dl dd,
.com-users-profile table td {
    padding: 6px 8px;
    border-bottom: 1px solid #eef1f4;
    vertical-align: top;
    margin: 0;
}
.com-users-profile dl dd:empty::before,
.com-users-profile table td:empty::before {
    content: "—";
    color: #b0b6bd;
}

.com-users-profile .btn-toolbar { margin-bottom: 12px; }
.com-users-profile .btn-toolbar .btn {
    background: #0441a3;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    display: inline-block;
}
.com-users-profile .btn-toolbar .btn:hover { background: #062f73; }

/* ============================================================
   Profil-Bearbeitung (edit.php) — MOBILE-FIRST
   Basis: Labels über den Inputs, alles enge vertikale Reihung
   ============================================================ */
.com-users-profile__edit-form {
    margin: 0;
    padding: 0;
}

.com-users-profile__edit-form fieldset {
    border: none;
    padding: 0;
    margin: 0 0 16px 0;
    min-width: 0;   /* Wichtig: verhindert flex-overflow auf Mobile */
}
.com-users-profile__edit-form legend {
    color: #033B5F;
    font-size: 15px;
    font-weight: 600;
    padding: 0 0 5px 0;
    margin: 12px 0 8px 0;
    border-bottom: 1px solid #d8dde3;
    width: 100%;
    line-height: 1.3;
}

/* control-group = eine Form-Zeile. Mobile: stacked, eng */
.com-users-profile__edit-form .control-group {
    display: block;
    margin: 0 0 10px 0;
    padding: 0;
}
.com-users-profile__edit-form .control-label,
.com-users-profile__edit-form .control-group > label {
    display: block;
    font-weight: 500;
    color: #555;
    margin: 0 0 3px 0;
    padding: 0;
    line-height: 1.3;
}
.com-users-profile__edit-form .controls {
    display: block;
    padding: 0;
    margin: 0;
}

/* Inputs etc. — volle Breite auf Mobile */
.com-users-profile__edit-form input[type="text"],
.com-users-profile__edit-form input[type="email"],
.com-users-profile__edit-form input[type="password"],
.com-users-profile__edit-form input[type="tel"],
.com-users-profile__edit-form input[type="url"],
.com-users-profile__edit-form input[type="number"],
.com-users-profile__edit-form input[type="date"],
.com-users-profile__edit-form select,
.com-users-profile__edit-form textarea {
    width: 100%;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid #c4cbd3;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    font-family: inherit;
    color: #2b2b2b;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    margin: 0;
    display: block;
}
.com-users-profile__edit-form input:focus,
.com-users-profile__edit-form select:focus,
.com-users-profile__edit-form textarea:focus {
    outline: none;
    border-color: #0441a3;
    box-shadow: 0 0 0 3px rgba(4, 65, 163, 0.12);
}
.com-users-profile__edit-form textarea {
    min-height: 90px;
    resize: vertical;
}

/* Disabled / Readonly */
.com-users-profile__edit-form input[disabled],
.com-users-profile__edit-form input[readonly],
.com-users-profile__edit-form select[disabled] {
    background: #f1f3f5;
    color: #888;
    cursor: not-allowed;
}

/* Checkboxen / Radios */
.com-users-profile__edit-form input[type="checkbox"],
.com-users-profile__edit-form input[type="radio"] {
    width: auto;
    display: inline-block;
    margin-right: 6px;
    vertical-align: middle;
}

/* Pflichtfeld */
.com-users-profile__edit-form .star,
.com-users-profile__edit-form label.required::after {
    color: #c0392b;
    margin-left: 3px;
}

/* Hilfetexte unter Feldern */
.com-users-profile__edit-form .form-text,
.com-users-profile__edit-form small,
.com-users-profile__edit-form .field-description {
    display: block;
    color: #777;
    font-size: 12px;
    line-height: 1.4;
    margin: 3px 0 0 0;
    padding: 0;
}

/* Fehlerzustand */
.com-users-profile__edit-form .invalid,
.com-users-profile__edit-form input:invalid:not(:placeholder-shown) {
    border-color: #c0392b;
    background: #fdf2f0;
}
.com-users-profile__edit-form .error-message,
.com-users-profile__edit-form .invalid-feedback {
    color: #c0392b;
    font-size: 12px;
    margin-top: 3px;
}

/* Passwort-Anzeige-Button und ähnliche Sub-Buttons direkt unter Inputs */
.com-users-profile__edit-form .input-group,
.com-users-profile__edit-form joomla-show-password,
.com-users-profile__edit-form joomla-field-passwordview {
    display: block;
    margin: 0;
}
.com-users-profile__edit-form button[type="button"] {
    margin-top: 4px;
}

/* "Minimale Anzahl Zeichen"-Hinweis sauberer ausgeben */
.com-users-profile__edit-form .password-rules,
.com-users-profile__edit-form #passwordstrengthRules {
    font-size: 12px;
    color: #777;
    margin: 4px 0 0 0;
    padding: 0;
    line-height: 1.4;
    font-weight: normal;
}

/* Submit-Bereich */
.com-users-profile__edit-submit {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #eef1f4;
}
.com-users-profile__edit-submit .controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.com-users-profile__edit-form .btn {
    padding: 9px 18px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.com-users-profile__edit-form .btn-primary { background: #0441a3; color: #fff; }
.com-users-profile__edit-form .btn-primary:hover { background: #062f73; }
.com-users-profile__edit-form .btn-danger { background: #b0b6bd; color: #fff; }
.com-users-profile__edit-form .btn-danger:hover { background: #8b9099; }

/* ============================================================
   Ab Tablet/Desktop: zweispaltige Form
   ============================================================ */
@media (min-width: 720px) {
    .com-users-profile,
    .com-users-profile__edit {
        padding: 28px 32px;
        margin: 24px auto 40px;
    }
    .com-users-profile__edit h1,
    .com-users-profile h1 {
        font-size: 20px;
        margin-bottom: 18px;
        padding-bottom: 8px;
    }

    .com-users-profile__edit-form .control-group {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 12px;
    }
    .com-users-profile__edit-form .control-label,
    .com-users-profile__edit-form .control-group > label {
        flex: 0 0 200px;
        text-align: right;
        padding-top: 7px;
        margin: 0;
    }
    .com-users-profile__edit-form .controls {
        flex: 1 1 280px;
        min-width: 0;
    }
    .com-users-profile__edit-form input[type="text"],
    .com-users-profile__edit-form input[type="email"],
    .com-users-profile__edit-form input[type="password"],
    .com-users-profile__edit-form select,
    .com-users-profile__edit-form textarea {
        max-width: 420px;
    }
}
