/* ─────────────────────────────────────────────────────────────────────────────
   pp-forms.css — univerzálna grafika formulárov petpass2 (26. 8. 2026)

   Zjednocuje staré bootstrap "form-horizontal" formuláre (klient, pacient,
   Nacionále, kontakty, adresy...) do vizuálu Rýchlej registrácie: label nad
   poľom, mäkké karty, fialové akcenty, zaoblené polia a tlačidlá.

   Zámerne NEupravuje žiadny blade: štýluje existujúci markup, takže platí pre
   všetky súčasné aj budúce formuláre s triedou form-horizontal. Nové formuláre
   píš buď v rg- štýle (viď registration/create.blade.php), alebo ako bežný
   form-horizontal a tento súbor ho oblečie.

   Vue komponenty (konzola vyšetrenia a pod.) form-horizontal nepoužívajú,
   tých sa súbor nedotýka. Owner portál má vlastný layout bez tohto súboru.
   ──────────────────────────────────────────────────────────────────────────── */

/* karta s formulárom */
.card:has(form.form-horizontal) {
    border: 1px solid #e8e4f5;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(42, 36, 64, .04);
}
.card:has(form.form-horizontal) > .card-header {
    background: #faf9ff;
    border-bottom: 1px solid #efecfb;
    border-radius: 12px 12px 0 0;
}
.card:has(form.form-horizontal) .card-title {
    font-weight: 700;
    color: #2a2440;
}

/* formulár: úzky stĺpec, dýchajúci */
form.form-horizontal {
    max-width: 780px;
    margin: 0 auto;
    padding: 4px 0 8px;
}

/* riadok: label NAD poľom namiesto vedľa (starý dvojstĺpec) */
form.form-horizontal .form-group.row,
form.form-horizontal .form-group {
    display: block;
    margin: 0 0 13px;
}
form.form-horizontal .form-group.row > label,
form.form-horizontal .form-group > label,
form.form-horizontal label.form-label {
    display: block;
    width: 100%;
    max-width: 100%;
    flex: none;
    text-align: left !important;
    font-size: 11.5px;
    font-weight: 600;
    color: #6a6485;
    padding: 0 0 3px;
    margin: 0;
}
form.form-horizontal .form-group.row > div[class*="col-"],
form.form-horizontal .form-group > div[class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: none;
    padding: 0;
}

/* polia */
form.form-horizontal .form-control {
    border: 1px solid #d9d5ec;
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 13.5px;
    height: auto;
    background: #fff;
    box-shadow: none;
}
form.form-horizontal .form-control:focus {
    border-color: #6c5ce7;
    box-shadow: none;
}
form.form-horizontal textarea.form-control { min-height: 72px; }

/* select2 v rovnakom kabáte */
form.form-horizontal .select2-container--default .select2-selection--single {
    border: 1px solid #d9d5ec;
    border-radius: 8px;
    height: 36px;
}
form.form-horizontal .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 34px;
    font-size: 13.5px;
}
form.form-horizontal .select2-container--default .select2-selection--single .select2-selection__arrow { height: 34px; }
form.form-horizontal .select2-container--default .select2-selection--multiple {
    border: 1px solid #d9d5ec;
    border-radius: 8px;
    min-height: 36px;
}
form.form-horizontal .select2-container--default.select2-container--focus .select2-selection--single,
form.form-horizontal .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #6c5ce7;
}

/* checkboxy a prepínače */
form.form-horizontal .custom-control-label { font-size: 13px; color: #4a4458; }
form.form-horizontal .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #6c5ce7;
    border-color: #6c5ce7;
}

/* nadpisy sekcií vnútri formulára */
form.form-horizontal legend,
form.form-horizontal h4,
form.form-horizontal h5 {
    font-size: 14px;
    font-weight: 700;
    color: #2a2440;
    border-bottom: 1px solid #efecfb;
    padding-bottom: 6px;
    margin: 18px 0 13px;
}
form.form-horizontal hr { border-color: #efecfb; margin: 18px 0; }

/* tlačidlá */
form.form-horizontal .btn-primary {
    background: #6c5ce7;
    border-color: #6c5ce7;
    border-radius: 10px;
    padding: 10px 18px;
    font-weight: 700;
    font-size: 14px;
}
form.form-horizontal .btn-primary:hover,
form.form-horizontal .btn-primary:focus {
    background: #5b4bd6;
    border-color: #5b4bd6;
}
form.form-horizontal .btn-secondary,
form.form-horizontal .btn-light {
    background: #f1eff7;
    border-color: #f1eff7;
    color: #4a4458;
    border-radius: 10px;
    padding: 10px 16px;
    font-weight: 700;
}
form.form-horizontal .btn-danger { border-radius: 10px; font-weight: 700; }

/* drobné pomôcky */
form.form-horizontal .form-text,
form.form-horizontal small.text-muted { font-size: 11px; color: #9a92b3; }
form.form-horizontal .invalid-feedback { font-size: 11.5px; }

@media (max-width: 767px) {
    form.form-horizontal { max-width: 100%; }
}

/* ── jednotný štítok „poslané / neposlané" ─────────────────────────────────
   Ten istý údaj má vyzerať rovnako v zobrazovaní (RTG štúdie), v laboratóriu
   aj pri lekárskej správe — zadanie majiteľa 18. 9. 2026 (hlásenie #5965).
   Nosí ho `<span class="pp-send pp-send--on|--off">`; dôvod stavu patrí do
   `title`, aby sa zoznam nezahltil textom. */
.pp-send {
    display: inline-block;
    padding: 1px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.7;
    white-space: nowrap;
}
.pp-send--off { background: #f1f0f5; color: #7c7690; border-color: #e2e0ea; }
.pp-send--on  { background: #e7f7ee; color: #1c7a47; border-color: #c9ecd8; }
