/* ============================================================
   PALLADIUM LOGIN — split-screen login with configurable slider.
   The DOM is assembled by palladium-login.js (the OrchardCore.Users
   login view can't be overridden from here). All rules are scoped to
   .pdl, so this file is inert on every page the script doesn't touch.
   ============================================================ */
:root { --pdl-emerald:#1AD598; --pdl-emerald-d:#0E9D6E; --pdl-navy:#0B1929; --pdl-navy-2:#0E2236; }

html.pdl-on, html.pdl-on body { height:100%; overflow:hidden; }

.pdl { position:fixed; inset:0; z-index:2000; display:flex; background:#fff; overflow:auto;
       font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:#1E293B; }

/* ── Left media / slider ── */
.pdl-media { position:relative; flex:1 1 56%; overflow:hidden;
             background:linear-gradient(135deg,var(--pdl-navy) 0%,var(--pdl-navy-2) 55%,#11543f 100%); }
.pdl-slide { position:absolute; inset:0; background-position:center; background-size:cover; opacity:0; transition:opacity 1s ease; }
.pdl-slide.is-active { opacity:1; }
.pdl-media::after { content:""; position:absolute; inset:0;
                    background:linear-gradient(180deg,rgba(8,18,30,.12),rgba(8,18,30,.34) 55%,rgba(8,18,30,.82)); }
.pdl-media-overlay { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:space-between; padding:2.75rem 3rem; color:#fff; }
.pdl-logo { display:inline-flex; align-items:center; gap:.7rem; font-weight:600; font-size:1.05rem; }
.pdl-mark { width:40px; height:40px; border-radius:11px; display:grid; place-items:center;
            background:linear-gradient(140deg,var(--pdl-emerald),var(--pdl-emerald-d)); color:#06281D; font-weight:800; font-size:1.15rem;
            box-shadow:0 6px 18px rgba(26,213,152,.4); }
.pdl-tagline { max-width:30rem; }
.pdl-tagline h2 { font-size:2rem; line-height:1.18; font-weight:700; margin:0 0 .6rem; letter-spacing:-.02em; text-shadow:0 2px 16px rgba(0,0,0,.35); }
.pdl-tagline p { font-size:1.02rem; opacity:.92; margin:0; text-shadow:0 1px 10px rgba(0,0,0,.35); min-height:1.2em; }
.pdl-dots { display:flex; gap:.5rem; margin-top:1.25rem; }
.pdl-dot { width:28px; height:4px; border-radius:99px; background:rgba(255,255,255,.35); border:0; padding:0; cursor:pointer; transition:background .3s,width .3s; }
.pdl-dot.is-active { background:var(--pdl-emerald); width:40px; }

/* ── Right form panel ── */
.pdl-panel { flex:1 1 44%; display:flex; align-items:center; justify-content:center; padding:2.5rem 1.5rem; background:#F7F9FC; }
.pdl-card { width:100%; max-width:400px; }
.pdl-card .pdl-mark { margin-bottom:1.4rem; }
.pdl-h1 { font-size:1.7rem; font-weight:700; color:#0F172A; letter-spacing:-.02em; margin:0 0 .35rem; }
.pdl-sub { color:#64748B; font-size:.95rem; margin:0 0 1.6rem; }

/* Neutralise the relocated OrchardCore grid wrappers, if any tag along. */
.pdl-card .row, .pdl-card .col-md-6 { margin:0 !important; padding:0 !important; max-width:100% !important; flex:0 0 100% !important; width:100% !important; }
.pdl-card > .row > .col-md-6 > h1, .pdl-card hr { display:none; }

/* Style the relocated login form. */
.pdl .validation-summary-errors { color:#B91C1C; font-size:.85rem; background:#FEF2F2; border:1px solid #FECACA; border-radius:10px; padding:.7rem .9rem; margin-bottom:1rem; }
.pdl .validation-summary-errors ul { margin:0; padding-left:1.1rem; }
.pdl .field-validation-error { color:#DC2626; font-size:.83rem; }
.pdl label.form-label, .pdl .form-label { font-weight:500; color:#334155; margin-bottom:.35rem; font-size:.9rem; }
.pdl .form-control { padding:.7rem .9rem; border:1px solid #D7DEE8; border-radius:10px; font-size:.97rem; background:#fff; box-shadow:none; }
.pdl .form-control:focus { border-color:var(--pdl-emerald); box-shadow:0 0 0 3px rgba(26,213,152,.18); }
.pdl .input-group .form-control { border-radius:10px 0 0 10px; }
.pdl .input-group .btn { border-radius:0 10px 10px 0; border:1px solid #D7DEE8; border-left:0; background:#fff; color:#64748B; }
.pdl .mb-3 { margin-bottom:1.05rem !important; }
.pdl .form-check-input:checked { background-color:var(--pdl-emerald); border-color:var(--pdl-emerald); }
.pdl .form-check-label { color:#475569; }
.pdl .btn-primary { width:100%; padding:.72rem 1rem; border:0; border-radius:10px; font-weight:600; font-size:1rem;
                    background:linear-gradient(140deg,var(--pdl-emerald),var(--pdl-emerald-d)); color:#06281D;
                    box-shadow:0 8px 20px rgba(26,213,152,.30); transition:transform .12s, box-shadow .2s; }
.pdl .btn-primary:hover, .pdl .btn-primary:focus { transform:translateY(-1px); box-shadow:0 10px 26px rgba(26,213,152,.42); color:#06281D; }
.pdl .list-unstyled { margin-top:1rem; font-size:.9rem; padding-left:0; }
.pdl a { color:var(--pdl-emerald-d); text-decoration:none; }
.pdl a:hover { text-decoration:underline; }

@media (max-width:991.98px) { .pdl-media { display:none; } .pdl-panel { flex:1 1 100%; background:#fff; } }
