/* =====================================================================
   KRCU-VidyarthiMitra - university theme over Bootstrap 5.3.8
   SRS v2.0 §2. Loaded AFTER bootstrap.min.css.

   The CDN path cannot regenerate Bootstrap's derived subtle/emphasis
   colours, so the ones this portal actually uses are set explicitly
   below. Compiling from Sass (see README) removes that need.
   ===================================================================== */

:root {
    /* University brand tokens - source of truth */
    --header-logo:       #FFFFE3;
    --header-nav:        #3F0713;
    --header-sub-nav:    #EF3B33;
    --home-content-bg:   #FFFFFF;
    --message-panel:     #FFF6DA;
    --footer-bg:         #3F0713;
    --footer-text:       #FFFFE3;
    --footer-link:       #FFFFE3;
    --footer-link-hover: #EF3B33;
    --h1-color:          #3F0713;
    --h2-color:          #3F0713;
    --h3-color:          #5a0e21;
    --h4-color:          #6b1128;
    --h5-color:          #7c1430;
    --h6-color:          #555555;
    --paragraph-color:   #333333;

    /* Bootstrap remap */
    --bs-primary:            #3F0713;
    --bs-primary-rgb:        63, 7, 19;
    --bs-primary-bg-subtle:  #F3E6E9;
    --bs-primary-border-subtle: #D9BCC3;
    --bs-primary-text-emphasis: #2A040D;
    --bs-danger:             #EF3B33;
    --bs-danger-rgb:         239, 59, 51;
    --bs-body-color:         var(--paragraph-color);
    --bs-body-bg:            var(--home-content-bg);
    --bs-heading-color:      var(--h1-color);
    --bs-link-color:         var(--header-nav);
    --bs-link-color-rgb:     63, 7, 19;
    --bs-link-hover-color:   var(--header-sub-nav);
    --bs-font-sans-serif:    "Inter", "Noto Sans Kannada", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bs-border-radius:      .375rem;
}

body { font-family: var(--bs-font-sans-serif); }

h1 { color: var(--h1-color); }
h2 { color: var(--h2-color); }
h3 { color: var(--h3-color); }
h4 { color: var(--h4-color); }
h5 { color: var(--h5-color); }
h6 { color: var(--h6-color); }

.kn { font-family: "Noto Sans Kannada", sans-serif; }

/* Header ------------------------------------------------------------- */
.navbar-krcu { background-color: var(--header-nav); }
.navbar-krcu .navbar-brand,
.navbar-krcu .nav-link,
.navbar-krcu .navbar-text { color: var(--header-logo); }
.navbar-krcu .nav-link:hover,
.navbar-krcu .nav-link:focus,
.navbar-krcu .nav-link.active { color: var(--header-sub-nav); }
.navbar-krcu .navbar-toggler { border-color: rgba(255,255,227,.4); }
.navbar-krcu .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFE3' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.subnav-krcu {
    background-color: var(--header-sub-nav);
    color: #fff;
    font-size: .875rem;
}
.brand-logo { height: 42px; width: auto; background: #fff; padding: 3px; border-radius: 4px; }

/* Footer ------------------------------------------------------------- */
.footer-krcu { background-color: var(--footer-bg); color: var(--footer-text); }
.footer-krcu a { color: var(--footer-link); text-decoration: none; }
.footer-krcu a:hover { color: var(--footer-link-hover); text-decoration: underline; }

/* Notice panel ------------------------------------------------------- */
.alert-krcu {
    --bs-alert-bg: var(--message-panel);
    --bs-alert-color: var(--h1-color);
    --bs-alert-border-color: transparent;
    border-left: 4px solid var(--header-sub-nav);
}

/* Buttons ------------------------------------------------------------ */
.btn-krcu {
    --bs-btn-bg: var(--header-nav);
    --bs-btn-border-color: var(--header-nav);
    --bs-btn-color: var(--header-logo);
    --bs-btn-hover-bg: #5a0e21;
    --bs-btn-hover-border-color: #5a0e21;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #2A040D;
    --bs-btn-active-border-color: #2A040D;
    --bs-btn-disabled-bg: #8c7a80;
    --bs-btn-disabled-border-color: #8c7a80;
    --bs-btn-disabled-color: #fff;
}
.btn-outline-krcu {
    --bs-btn-color: var(--header-nav);
    --bs-btn-border-color: var(--header-nav);
    --bs-btn-hover-bg: var(--header-nav);
    --bs-btn-hover-border-color: var(--header-nav);
    --bs-btn-hover-color: var(--header-logo);
}

/* Preference cards --------------------------------------------------- */
.pref-card { border-left: 4px solid var(--header-nav); }
.pref-card[data-rank="2"] { border-left-color: var(--h4-color); }
.pref-card[data-rank="3"] { border-left-color: var(--h6-color); }
.pref-ordinal {
    background: var(--header-nav);
    color: var(--header-logo);
    width: 2rem; height: 2rem;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    font-weight: 600;
    flex: 0 0 auto;
}

/* Page furniture ----------------------------------------------------- */
.page-head { border-bottom: 2px solid var(--header-sub-nav); }
.stat-figure { font-size: 2rem; font-weight: 600; color: var(--header-nav); line-height: 1.1; }
.table-krcu > thead { background-color: var(--header-nav); color: var(--header-logo); }
.table-krcu > thead th { color: inherit; background-color: inherit; }

/* Split sign-in screen ------------------------------------------------ */
.login-split {
    min-height: 100vh;
    display: flex;
    flex-wrap: wrap;
}
.login-panel {
    flex: 1 1 420px;
    padding: clamp(2rem, 5vw, 4.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}
.login-panel-brand {
    background: var(--header-nav);
    color: var(--header-logo);
}
.login-panel-form {
    background: var(--message-panel);
    color: var(--paragraph-color);
}
.login-eyebrow {
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .1em;
    font-weight: 600;
    opacity: .7;
}
.login-headline {
    font-family: "Source Serif 4", Georgia, serif;
    font-weight: 700;
    line-height: 1.15;
}
.login-panel-brand .login-headline { color: var(--header-logo); }
.login-panel-form .login-headline  { color: var(--h1-color); }
.login-brand-mark {
    height: 40px; width: 40px;
    background: #fff;
    border-radius: 6px;
    padding: 4px;
    object-fit: contain;
}
.login-info-rows { border-top: 1px solid rgba(255,255,227,.2); }
.login-info-rows > div {
    padding: .85rem 0;
    border-bottom: 1px solid rgba(255,255,227,.12);
}
.login-info-rows dt { color: var(--header-logo); font-weight: 600; font-size: .85rem; }
.login-info-rows dd { color: rgba(255,255,227,.8); font-size: .85rem; margin: 0; }
.login-footnote {
    text-transform: uppercase;
    font-size: .68rem;
    letter-spacing: .08em;
    color: rgba(255,255,227,.55);
}
.login-field-label {
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .06em;
    font-weight: 600;
    color: var(--h6-color);
}
@media (max-width: 767.98px) {
    .login-panel { flex-basis: 100%; }
}

/* Keep the focus ring visible - students will be on keyboards and
   screen readers, and Bootstrap's default is the accessible one. */
:focus-visible { outline: 3px solid var(--header-sub-nav); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

@media print {
    .d-print-none, .navbar, .footer-krcu, .subnav-krcu { display: none !important; }
    body { background: #fff; }
    .card { border: 1px solid #999 !important; }
}
