/* PROFIMAN: štýly prihlásenia a registrácie */

/* Prepísanie štýlov Elementoru na stránke prihlásenia */
/* Zaoblené rohy podľa dizajnu značky (pozri :root v profiman-global.css). */
.elementor .pm-login-card { border-radius: var(--pm-r-xl, 16px) !important; }
.elementor .pm-role-card  { border-radius: var(--pm-r-lg, 14px) !important; }
.elementor .pm-role-ico   { border-radius: var(--pm-r, 10px) !important; }
@media (min-width: 481px) { .elementor .pm-tab-btn { border-radius: 0 !important; } } /* podčiarknuté karty; na mobile sú to zaoblené boxy */
.elementor .pm-login-trust { border-radius: var(--pm-r, 10px) !important; }
.elementor .pm-tab-btn {
    background: none !important;
    color: var(--pm-g500) !important;
}
.elementor .pm-tab-btn.active {
    color: var(--pm-p) !important;
    border-bottom-color: var(--pm-p) !important;
}
.elementor .pm-login-card h2,
.elementor .pm-login-card h3,
.elementor .pm-role-title {
    color: inherit !important;
}
.elementor .pm-login-card input.pm-fi {
    border-radius: var(--pm-r, 10px) !important;
    border: 1.5px solid var(--pm-g200) !important;
    background: #fff !important;
}
.elementor .pm-login-card input.pm-fi:focus {
    border-color: var(--pm-p) !important;
    box-shadow: 0 0 0 3px rgba(74,34,176,.08) !important;
}

.pm-login-card {
    max-width: 460px;
    width: 100%;
    margin: 0 auto;
    background: var(--pm-w);
    border: 1px solid var(--pm-g100);
    border-radius: var(--pm-r-xl, 16px);
    box-shadow: var(--pm-shm, 0 8px 24px rgba(26,21,48,.08));
    padding: 40px 10px;
}
.pm-login-title {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 900;
    color: var(--pm-g900);
    margin-bottom: 6px;
    font-family: var(--pm-fd);
}
.pm-login-sub {
    text-align: center;
    font-size: .88rem;
    color: var(--pm-g500);
    margin-bottom: 24px;
}

/* Výber roly */
.pm-role-picker {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.pm-role-card {
    padding: 24px 16px;
    border-radius: var(--pm-r-lg, 14px);
    border: 2px solid var(--pm-g100);
    background: var(--pm-w);
    cursor: pointer;
    text-align: center;
    transition: all .25s;
}
.pm-role-card:hover {
    border-color: var(--pm-g300);
    background: var(--pm-g50);
}
.pm-role-ico {
    width: 48px;
    height: 48px;
    border-radius: var(--pm-r, 10px);
    background: var(--pm-g50);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    transition: all .25s;
    color: var(--pm-g500);
}
.pm-role-card:hover .pm-role-ico {
    background: var(--pm-pl);
    color: var(--pm-p);
}
.pm-role-title {
    font-family: var(--pm-fd);
    font-weight: 800;
    font-size: .92rem;
    color: var(--pm-g700);
    margin-bottom: 4px;
}
.pm-role-desc {
    font-size: .76rem;
    color: var(--pm-g400);
    line-height: 1.5;
}

/* Tlačidlo Späť */
.pm-login-back {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}
.pm-back-btn {
    background: none;
    border: none;
    color: var(--pm-g500);
    padding: 4px;
    cursor: pointer;
    display: flex;
}
.pm-login-back span {
    font-size: .82rem;
    color: var(--pm-g500);
    font-weight: 600;
}

/* Prepínač kariet */
.pm-tab-switch {
    display: flex;
    margin-bottom: 24px;
    border-bottom: 2px solid var(--pm-g100);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
}
.pm-tab-switch::-webkit-scrollbar { display: none; } /* Chrome/Safari */
.pm-tab-btn {
    flex: 1 0 auto; /* rásť, ak je miesto; nikdy nie užšie ako obsah */
    padding: 12px;
    text-align: center;
    font-family: var(--pm-fd);
    font-weight: 700;
    font-size: .86rem;
    color: var(--pm-g500);
    cursor: pointer;
    border: none;
    background: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all .2s;
    white-space: nowrap; /* aby sa "Registrácia" nezalomila na dva riadky */
}
.pm-tab-btn:hover { color: var(--pm-p); }
.pm-tab-btn.active {
    color: var(--pm-p);
    border-bottom-color: var(--pm-p);
}

/* Chybová hláška */
.pm-form-error {
    color: var(--pm-red);
    font-size: .84rem;
    font-weight: 600;
    min-height: 20px;
    margin-bottom: 12px;
}

/* Pruh dôvery */
.pm-login-trust {
    max-width: 460px;
    width: 100%;
    margin: 16px auto 0;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: var(--pm-r, 10px);
    padding: 12px;
    background: var(--pm-pl);
    font-size: .8rem;
    color: var(--pm-p);
    font-weight: 600;
}

/* Odkaz */
.pm-link {
    font-size: .84rem;
    color: var(--pm-p);
    font-weight: 600;
    text-decoration: none;
}
.pm-link:hover { text-decoration: underline; }

/* Text podmienok */
.pm-terms-text {
    font-size: .76rem;
    color: var(--pm-g400);
    margin-top: 12px;
    text-align: center;
    line-height: 1.6;
}

/* Animácia */
@keyframes pmFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.pm-login-card { animation: pmFadeIn .3s ease; }

/* ── Mobil: karty ako klikateľné boxy, bez jemných farieb ── */
@media (max-width: 480px) {
    .pm-login-card { padding: 28px 10px; }

    .pm-tab-switch {
        flex-direction: column !important;
        border-bottom: none !important;
        overflow-x: visible !important;
        gap: 8px !important;
        margin-bottom: 20px !important;
    }

    .pm-tab-btn {
        flex: none !important;
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 14px 16px !important;
        font-size: .92rem !important;
        font-weight: 700 !important;
        border: 2px solid #d1d5db !important;
        border-bottom: 2px solid #d1d5db !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        color: #374151 !important;
        margin-bottom: 0 !important;
        box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
        cursor: pointer !important;
    }

    .pm-tab-btn.active {
        border-color: #4A22B0 !important;
        border-bottom-color: #4A22B0 !important;
        background: #f3f0ff !important;
        color: #4A22B0 !important;
        box-shadow: 0 0 0 3px rgba(74,34,176,.12) !important;
    }

    .pm-tab-btn:hover:not(.active) {
        border-color: #9ca3af !important;
        background: #f9fafb !important;
    }

    .pm-login-trust { padding: 10px 12px; }
    .pm-role-picker { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 360px) {
    .pm-login-card { padding: 20px 8px; }
}
