/**
 * SDTIMS Guest & Portal Styles
 * Bangladesh National Social Welfare Council (BNSWC)
 */

:root {
    --bs-font-sans-serif: 'Public Sans', 'Noto Sans Bengali', 'SolaimanLipi', 'Kalpurush', sans-serif;
    --bs-body-font-family: 'Public Sans', 'Noto Sans Bengali', 'SolaimanLipi', 'Kalpurush', sans-serif;
}

body, html, input, button, select, optgroup, textarea, h1, h2, h3, h4, h5, h6, .badge, .btn, .table, .form-control, .form-select {
    font-family: 'Public Sans', 'Noto Sans Bengali', 'SolaimanLipi', 'Kalpurush', sans-serif !important;
}

body, html {
    height: 100%;
    overflow: hidden;
}

.home-viewport {
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
    background: radial-gradient(120% 120% at 50% 10%, #f9fafb 0%, #edf2f7 100%);
}

.header-seal {
    height: 28px;
    width: auto;
}

.gov-emblem {
    max-height: 100px;
    width: auto;
}

.home-seal {
    height: 56px;
    width: auto;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.06));
    transition: transform 0.25s ease;
}

.home-seal:hover {
    transform: scale(1.05);
}

.home-card {
    max-width: 520px;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 15px 35px -5px rgba(22, 34, 51, 0.08), 0 0 0 1px rgba(22, 34, 51, 0.04) !important;
    z-index: 2;
}

.home-subheading {
    font-size: 0.8125rem;
    letter-spacing: 0.5px;
}

.home-title {
    font-size: 1.35rem;
    line-height: 1.35;
    color: #166534 !important;
}

.system-badge-card {
    background: rgba(115, 103, 240, 0.06);
    border: 1px solid rgba(115, 103, 240, 0.15);
}

.bilingual-switch-btn {
    font-size: 0.8125rem;
    font-weight: 600;
}

.home-cta-btn {
    background: linear-gradient(135deg, #7367f0 0%, #5b4ce6 100%) !important;
    border: none !important;
    letter-spacing: 0.3px;
    transition: all 0.2s ease-in-out;
}

.home-cta-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px -4px rgba(115, 103, 240, 0.45) !important;
}

.hover-primary:hover {
    color: #7367f0 !important;
}

.hover-underline:hover {
    text-decoration: underline !important;
}

/* Ambient Glow Effects */
.portal-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    filter: blur(80px);
    opacity: 0.45;
}

.portal-glow-top {
    width: 320px;
    height: 320px;
    background: rgba(115, 103, 240, 0.2);
    top: -60px;
    right: 15%;
}

.portal-glow-bottom {
    width: 300px;
    height: 300px;
    background: rgba(22, 101, 52, 0.15);
    bottom: -60px;
    left: 15%;
}

/* Responsive fallbacks for small screens or mobile */
@media (max-height: 600px), (max-width: 991px) {
    html, body {
        overflow: auto !important;
        height: auto !important;
    }
    .home-viewport {
        height: auto !important;
        min-height: 100vh !important;
        overflow-y: auto !important;
    }
}
