/* Sdílená komponenta formuláře osoby (.osoba-form).
   Vzhled sjednocen se žádostním formulářem (sjednocení veřejných formulářů). */
.osoba-form .of-grid { display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1.2rem; }
.osoba-form .of-fld { display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.osoba-form .of-fld.of-full { grid-column:1 / -1; }
.osoba-form .of-fld label { font-size:.9rem; font-weight:600; color:var(--ded-fe-ink-soft); }

.osoba-form .of-fld input,
.osoba-form .of-fld select,
.osoba-form .of-fld textarea {
    width:100%;
    padding:.6rem .85rem;
    border:1.5px solid var(--ded-fe-border);
    border-radius:var(--ded-fe-radius);
    background:var(--ded-fe-bg);
    font-size:.95rem;
    font-family:inherit;
    color:var(--ded-fe-ink);
    box-sizing:border-box;
    transition:border-color var(--ded-duration,.15s) var(--ded-ease,ease), box-shadow var(--ded-duration,.15s) var(--ded-ease,ease);
}
.osoba-form .of-fld input::placeholder,
.osoba-form .of-fld textarea::placeholder { color:var(--ded-fe-muted); }
.osoba-form .of-fld input:focus,
.osoba-form .of-fld select:focus,
.osoba-form .of-fld textarea:focus {
    outline:none;
    border-color:var(--ded-fe-red);
    background:var(--ded-fe-white);
    box-shadow:var(--ded-focus);
}

.osoba-form .of-req { color:var(--ded-error); }
.osoba-form .of-hint { color:var(--ded-fe-muted); font-size:.8rem; }

.osoba-form .of-ico-row { display:flex; gap:.4rem; }
.osoba-form .of-ico-row .of-ico { flex:1; min-width:0; }

/* Pomocná tlačítka (ARES, přidat/odebrat) – jednotný „muted" styl */
.osoba-form .of-ares-btn,
.osoba-form .of-odkaz-add,
.osoba-form .of-vedeni-add {
    background:var(--ded-fe-white);
    border:1.5px solid var(--ded-fe-border);
    border-radius:var(--ded-fe-radius);
    padding:.45rem .9rem;
    cursor:pointer;
    white-space:nowrap;
    font-size:.85rem;
    font-weight:600;
    color:var(--ded-fe-ink-soft);
    font-family:inherit;
    transition:all var(--ded-duration,.15s) var(--ded-ease,ease);
}
.osoba-form .of-ares-btn:hover,
.osoba-form .of-odkaz-add:hover,
.osoba-form .of-vedeni-add:hover {
    border-color:var(--ded-fe-red);
    color:var(--ded-fe-red);
    background:var(--ded-fe-red-light);
}

.osoba-form .of-odkaz-row { display:grid; grid-template-columns:1fr 1.4fr 40px; gap:.4rem; margin-bottom:.4rem; }
.osoba-form .of-vedeni-row { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 40px; gap:.4rem; margin-bottom:.4rem; }
.osoba-form .of-odkaz-del,
.osoba-form .of-vedeni-del {
    border:1.5px solid var(--ded-fe-border);
    background:var(--ded-fe-white);
    border-radius:var(--ded-fe-radius);
    cursor:pointer;
    color:var(--ded-fe-muted);
    transition:all var(--ded-duration,.15s) var(--ded-ease,ease);
}
.osoba-form .of-odkaz-del:hover,
.osoba-form .of-vedeni-del:hover { border-color:var(--ded-error); color:var(--ded-error); }

@media(max-width:600px){ .osoba-form .of-grid, .osoba-form .of-vedeni-row, .osoba-form .of-odkaz-row { grid-template-columns:1fr; } }

/* Admin: sjednocení se admin design systémem (jen pod body.dedictvi-admin-skin;
   frontend zůstává na --ded-fe-* tokenech výše). */
body.dedictvi-admin-skin .osoba-form .of-fld label { color: var(--ded-ink); font-size: 13px; }
body.dedictvi-admin-skin .osoba-form .of-fld input,
body.dedictvi-admin-skin .osoba-form .of-fld select,
body.dedictvi-admin-skin .osoba-form .of-fld textarea {
    background: var(--ded-surface);
    border: 1px solid var(--ded-border);
    border-radius: var(--ded-radius);
    color: var(--ded-ink);
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
body.dedictvi-admin-skin .osoba-form .of-fld input:focus,
body.dedictvi-admin-skin .osoba-form .of-fld select:focus,
body.dedictvi-admin-skin .osoba-form .of-fld textarea:focus {
    border-color: var(--ded-red);
    background: var(--ded-surface);
    box-shadow: var(--ded-focus);
}
