/* =========================================================
   DAVV UID PORTAL - PROFESSIONAL UNIVERSITY THEME
   Shared UI overrides only
   ========================================================= */

:root {
    --davv-navy: #28558f;
    --davv-navy-dark: #1b3f73;
    --davv-blue: #3d6fba;
    --davv-gold: #c89b3c;
    --davv-text: #26374d;
    --davv-muted: #66758a;
    --davv-border: #dce4ee;
    --davv-bg: #f3f6fa;
    --davv-white: #ffffff;
}

/* ---------- PAGE BACKGROUND ---------- */

html,
body {
    min-height: 100%;
}

body {
    margin: 0 !important;
    padding: 32px 16px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: var(--davv-text) !important;

    background:
        radial-gradient(circle at 0% 0%,
            rgba(40,93,168,.07),
            transparent 32%),
        radial-gradient(circle at 100% 100%,
            rgba(200,155,60,.07),
            transparent 32%),
        #f3f6fa !important;

    background-attachment: fixed !important;
}

body::before {
    opacity: .12 !important;
}

/* ---------- MAIN UNIVERSITY CONTAINER ---------- */

.wrapper {
    width: min(1080px, 96vw) !important;
    margin: 0 auto !important;

    background: #ffffff !important;

    border: 1px solid #d8e0ea !important;
    border-radius: 14px !important;

    box-shadow:
        0 18px 45px rgba(28,48,75,.13),
        0 2px 8px rgba(28,48,75,.06) !important;

    overflow: hidden !important;
}

/* ---------- DAVV HEADER ---------- */

.portal-header {
    min-height: 142px !important;

    padding: 0 30px !important;

    background:
        linear-gradient(
            115deg,
            #1b3f73 0%,
            #28558f 55%,
            #3d6fba 100%
        ) !important;

    border-radius: 14px 14px 0 0 !important;
    border-bottom: 4px solid var(--davv-gold) !important;

    box-shadow: none !important;
}

.portal-logo {
    width: 120px !important;
    flex: 0 0 120px !important;
}

.portal-logo img {
    width: 96px !important;
    height: 96px !important;
    filter: drop-shadow(0 3px 7px rgba(0,0,0,.20)) !important;
}

.portal-title {
    margin-left: 0 !important;
}

.portal-title h1 {
    font-size: clamp(25px, 2.5vw, 34px) !important;
    font-weight: 700 !important;
    letter-spacing: .25px !important;
}

.portal-title p {
    margin: 8px 0 4px !important;
    color: rgba(255,255,255,.90) !important;
}

.portal-title h3 {
    color: rgba(255,255,255,.96) !important;
}

/* ---------- CONTENT ---------- */

.main {
    width: 100% !important;
    min-height: 330px !important;

    padding: 42px 34px 50px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfcfe 100%
        ) !important;

    border: 0 !important;
    box-shadow: none !important;
}

/* ---------- FORM CONTAINER ---------- */

.formcls {
    width: min(930px, 100%) !important;

    margin: 0 auto !important;
    padding: 22px 28px 30px !important;

    background: #ffffff !important;
    background-image: none !important;

    border: 1px solid var(--davv-border) !important;
    border-top: 4px solid var(--davv-navy) !important;
    border-radius: 10px !important;

    box-shadow:
        0 10px 30px rgba(25,52,93,.08) !important;

    color: var(--davv-text) !important;
}

/* ---------- FORM TITLE ---------- */

caption {
    margin: 0 0 24px !important;
    padding: 12px 18px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            90deg,
            var(--davv-navy-dark),
            var(--davv-navy)
        ) !important;

    border-radius: 7px !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: .15px !important;
}

/* ---------- TABLE / LABELS ---------- */

table {
    width: min(860px, 100%) !important;
}

th,
td {
    color: var(--davv-text) !important;
}

th {
    font-weight: 600 !important;
}

/* ---------- INPUTS ---------- */

.formcls input,
.formcls select,
.formcls option,
.formcls datalist,
.formcls textarea {
    max-width: 100% !important;

    color: #34445a !important;
    background: #ffffff !important;

    border: 1px solid #cbd6e3 !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease !important;
}

.formcls input:focus,
.formcls select:focus,
.formcls textarea:focus {
    outline: none !important;

    border-color: #527dbd !important;

    box-shadow:
        0 0 0 3px rgba(40,93,168,.10) !important;
}

/* ---------- SUBMIT BUTTON ---------- */

#sub-btn,
.submit,
input[type="submit"] {
    cursor: pointer !important;

    color: #ffffff !important;
    background:
        linear-gradient(
            90deg,
            #28558f,
            #3d6fba
        ) !important;

    border: 0 !important;
    border-radius: 6px !important;

    font-weight: 700 !important;

    box-shadow:
        0 5px 12px rgba(23,52,93,.16) !important;
}

#sub-btn:hover,
.submit:hover,
input[type="submit"]:hover {
    background:
        linear-gradient(
            90deg,
            #1b3f73,
            #3566aa
        ) !important;
}

/* ---------- DIRECT REGISTRATION MESSAGE ---------- */

.wrongplace {
    width: min(760px, 92%) !important;
    margin: 20px auto !important;
    padding: 0 0 28px !important;

    overflow: hidden !important;

    color: var(--davv-text) !important;
    background: #ffffff !important;

    border: 1px solid var(--davv-border) !important;
    border-radius: 10px !important;

    box-shadow:
        0 10px 30px rgba(23,52,93,.08) !important;

    text-align: center !important;
}

.wrongplace .wrongp {
    margin: 0 0 25px !important;
    padding: 13px 20px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #28558f,
            #3d6fba
        ) !important;

    font-size: 18px !important;
    font-weight: 600 !important;
}

.wrongplace p:not(.wrongp) {
    padding: 0 30px !important;
    color: #455468 !important;
    line-height: 1.65 !important;
}

.wrongplace a {
    color: #245da8 !important;
    font-weight: 600 !important;
}

/* ---------- LINKS ---------- */

a {
    transition: color .2s ease !important;
}

.main a {
    color: #245da8;
}

/* ---------- FOOTER ---------- */

.portal-footer {
    height: 145px !important;
    min-height: 145px !important;

    background:
        linear-gradient(
            115deg,
            #1b3f73 0%,
            #28558f 60%,
            #3566aa 100%
        ) !important;

    border-top: 3px solid var(--davv-gold) !important;
    border-radius: 0 0 14px 14px !important;

    box-shadow: none !important;
}

.portal-copyright {
    padding-top: 30px !important;

    color: rgba(255,255,255,.94) !important;

    font-size: 13px !important;
    font-weight: 600 !important;
}

.portal-campus-art {
    height: 65px !important;
    opacity: .07 !important;
}

/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

    body {
        padding: 12px 8px !important;
    }

    .wrapper {
        width: 100% !important;
        border-radius: 10px !important;
    }

    .portal-header {
        min-height: auto !important;
        padding: 22px 16px !important;

        flex-direction: column !important;
        text-align: center !important;
    }

    .portal-logo {
        width: auto !important;
        flex: none !important;
    }

    .portal-logo img {
        width: 78px !important;
        height: 78px !important;
    }

    .portal-title h1 {
        font-size: 22px !important;
    }

    .main {
        padding: 24px 12px 32px !important;
    }

    .formcls {
        padding: 18px 12px 25px !important;
    }

    .formcls input,
    .formcls select,
    .formcls textarea {
        width: 100% !important;
    }

    .portal-footer {
        height: 125px !important;
        min-height: 125px !important;
    }
}
