/* ============================================================================
   GNDU ODL - AGNIVEER PORTAL STYLESHEET
   Bootstrap 5.3.3 Harmonized Military & Academic Theme
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
    --agni-primary: #2c3e20;
    --agni-primary-hover: #1e2c16;
    --agni-primary-dark: #162210;
    --agni-navy: #1e3a5f;
    --agni-navy-hover: #132742;
    --agni-gold: #b38f38;
    --agni-gold-hover: #8c6e26;
    --agni-gold-light: #fbf5e6;
    --agni-gold-accent: #ffde8a;
    --agni-bg: #f7f6f0;
    --agni-border: #dcd6c8;
    --agni-text-dark: #22201c;
    --agni-text-muted: #5d5648;
    --agni-maroon: #800000;

    /* Agniveer Official Logo Palette & Shades */
    --photo-primary: #D90101;     /* 🟥 Primary 90.6% */
    --photo-accent: #FCCC03;      /* 🟨 Accent 4.7% */
    --photo-secondary: #F28903;   /* 🟧 Secondary 1.6% */
    --photo-support-1: #DF3701;   /* 🟧 Support 3.1% */
}

* {
    box-sizing: border-box;
}

body {
    background-color: var(--agni-bg);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--agni-text-dark);
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
}

/* Form Container */
form {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    flex-grow: 1;
}

/* ==========================================
   TOP HERO HEADER ROW (Same Line: Left Button, Center Logos, Right Helpline)
   ========================================== */
.agni-hero-top-row {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto 20px auto;
    padding: 16px 24px 0 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
}

.agni-hero-col-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.agni-hero-col-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.agni-hero-col-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.homeBackButton {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 13.5px;
    font-weight: 600;
    background: #2c3e20;
    padding: 10px 18px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
    transition: all 0.25s ease;
}

.homeBackButton:hover {
    color: #1a2a14 !important;
    background: #b38f38;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(179, 143, 56, 0.35);
}

.homeBackButton i {
    transition: transform 0.2s ease;
}

.homeBackButton:hover i {
    transform: translateX(-3px);
}

.agni-helpline-box {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: #2c3e20;
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
    font-size: 12.5px;
    line-height: 1.35;
    text-align: left;
}

.helpline-entry {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #f5f2e8;
    white-space: nowrap;
}

.helpline-entry i {
    color: #ffde8a;
    font-size: 13px;
    width: 15px;
    text-align: center;
    flex-shrink: 0;
}

.helpline-entry strong {
    color: #ffde8a;
    font-weight: 700;
}

.helpline-entry a {
    color: #ffde8a;
    text-decoration: underline;
    font-weight: 700;
    transition: color 0.2s ease;
}

.helpline-entry a:hover {
    color: #ffffff;
}

/* ==========================================
   PORTAL HERO & DUAL LOGOS
   ========================================== */
.agni-hero {
    text-align: center;
    padding: 10px 15px 30px 15px;
}

.agni-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 0;
}

.agni-logos img.gndu-logo {
    height: 84px;
    width: auto;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.1));
}

.agni-logos img.agni-logo {
    height: 84px;
    width: auto;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.1));
}

.agni-logos .brand-divider {
    font-size: 28px;
    color: var(--agni-gold);
    font-weight: 300;
    opacity: 0.8;
}

.agni-hero h1 {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: var(--agni-primary);
    margin: 0 0 6px 0;
    letter-spacing: -0.5px;
}

.agni-hero p.sub-dept {
    font-size: 15.5px;
    color: var(--agni-text-muted);
    margin: 0 0 12px 0;
}

.agni-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ede8dc;
    color: var(--agni-primary);
    font-weight: 700;
    font-size: 13px;
    padding: 6px 18px;
    border-radius: 20px;
    border: 1px solid var(--agni-border);
}

/* ==========================================
   THREE-BOX ADMISSION GRID
   ========================================== */
.agni-grid-container {
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 15px 40px 15px;
    flex-grow: 1;
}

.agni-cards-row {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    justify-content: center;
    align-items: stretch;
}

.agni-box-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid var(--agni-border);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
    flex: 1 1 340px;
    max-width: 410px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    position: relative;
}

.agni-box-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(44, 62, 32, 0.16);
    border-color: var(--agni-gold);
}

.agni-card-header {
    padding: 26px 22px 18px 22px;
    text-align: center;
    border-bottom: 1px solid #f0eee6;
    background: #faf9f6;
}

.icon-circle-lg {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin: 0 auto 14px auto;
    transition: transform 0.25s ease;
}

.agni-box-card:hover .icon-circle-lg {
    transform: scale(1.08);
}

.icon-circle--box1 {
    background: #ffffff;
    color: #1a73e8;
    border: 2.5px solid #1a73e8;
    box-shadow: 0 4px 16px rgba(26, 115, 232, 0.2);
    font-size: 32px;
}

.icon-circle--box2 {
    background: #fff5f5;
    color: var(--photo-primary);
    border: 2.5px solid var(--photo-primary);
    box-shadow: 0 4px 14px rgba(217, 1, 1, 0.22);
}

.icon-circle--box3 {
    background: #e3ebf7;
    color: var(--agni-navy);
    border: 2.5px solid #5b84b1;
}

.agni-card-header h3 {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-weight: 700;
    font-size: 21px;
    margin: 0 0 10px 0;
    color: var(--agni-primary);
    line-height: 1.35;
}

/* Badge font size increased across ALL boxes */
.badge-pill-custom {
    display: inline-block;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 8px 22px !important;
    border-radius: 24px !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
    line-height: 1.3;
}

/* Box 1: Solo Google Blue Badge (Clean, solid single color) */
.badge-box1 {
    background: #1a73e8 !important;
    color: #ffffff !important;
    border: 1px solid #1557b0 !important;
    box-shadow: 0 3px 10px rgba(26, 115, 232, 0.32) !important;
}

/* Box 2: Official Agniveer Logo Red (#D90101) */
.badge-box2 {
    background: var(--photo-primary) !important;
    color: #ffffff !important;
    border: 1px solid #b30000 !important;
    box-shadow: 0 3px 10px rgba(217, 1, 1, 0.35) !important;
}

/* Box 3: Navy Blue Badge */
.badge-box3 {
    background: var(--agni-navy) !important;
    color: #ffffff !important;
    border: 1px solid #132742 !important;
    box-shadow: 0 3px 10px rgba(30, 58, 95, 0.35) !important;
}

.agni-box-card--box1:hover {
    border-color: #1a73e8 !important;
}

.agni-box-card--box2:hover {
    border-color: var(--photo-primary) !important;
}

.agni-card-body {
    padding: 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.agni-card-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--agni-text-muted);
    margin-bottom: 18px;
}

.agni-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}

.agni-bullet-list li {
    font-size: 15px;
    font-weight: 600;
    color: #2e2a22;
    padding: 9px 0;
    border-bottom: 1px dashed #ede8dc;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.45;
}

.agni-bullet-list li:last-child {
    border-bottom: none;
}

.agni-bullet-list li i {
    color: var(--agni-gold);
    font-size: 16px;
    flex-shrink: 0;
}

/* Box 1: Bullet Icons */
.box1-list li {
    color: #2c2820;
}

.box1-list li:nth-child(1) i { color: #1a73e8; font-size: 16px; }
.box1-list li:nth-child(2) i { color: #ea4335; font-size: 16px; }
.box1-list li:nth-child(3) i { color: #fbbc05; font-size: 16px; }
.box1-list li:nth-child(4) i { color: #34a853; font-size: 16px; }
.box1-list li:nth-child(5) i { color: #1a73e8; font-size: 16px; }

/* Box 2: Official Agniveer Shades for Bullet Icons */
.box2-list li:nth-child(1) i { color: var(--photo-primary); font-size: 16px; }
.box2-list li:nth-child(2) i { color: var(--photo-support-1); font-size: 16px; }
.box2-list li:nth-child(3) i { color: var(--photo-secondary); font-size: 16px; }
.box2-list li:nth-child(4) i { color: var(--photo-primary); font-size: 16px; }
.box2-list li:nth-child(5) i { color: var(--photo-support-1); font-size: 16px; }

.agni-card-action {
    margin-top: auto;
}

/* Box 1 Button: Solo Google Blue */
.btn-card-box1 {
    background: #1a73e8;
    color: #ffffff !important;
    font-weight: 700;
    padding: 14px 22px;
    font-size: 16px;
    border-radius: 8px;
    border: none;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(26, 115, 232, 0.35);
    cursor: pointer;
}

.btn-card-box1:hover {
    background: #1557b0;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(26, 115, 232, 0.45);
}

/* Box 2 Button: Official Agniveer Palette Primary (#D90101) & Support (#DF3701) */
.btn-card-box2 {
    background: linear-gradient(135deg, var(--photo-primary) 0%, var(--photo-support-1) 100%);
    color: #ffffff !important;
    font-weight: 700;
    padding: 14px 22px;
    font-size: 16px;
    border-radius: 8px;
    border: 1px solid rgba(252, 204, 3, 0.3);
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(217, 1, 1, 0.35);
    cursor: pointer;
}

.btn-card-box2:hover {
    background: linear-gradient(135deg, #b80000 0%, var(--photo-primary) 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(217, 1, 1, 0.5);
}

.btn-card-box3 {
    background: linear-gradient(135deg, #1e3a5f 0%, #2b5082 100%);
    color: #ffffff !important;
    font-weight: 700;
    padding: 14px 22px;
    font-size: 16px;
    border-radius: 8px;
    border: none;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(30, 58, 95, 0.25);
    cursor: pointer;
}

.btn-card-box3:hover {
    background: linear-gradient(135deg, #152943 0%, #1e3a5f 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(30, 58, 95, 0.35);
}

/* ==========================================
   FOOTERS
   ========================================== */
.agni-support-footer-bar {
    background: #ffffff;
    border-top: 1px solid #e2dcce;
    padding: 16px 20px;
    text-align: center;
    font-size: 13.5px;
    color: #555044;
    margin-top: auto;
}

.agni-support-footer-bar a {
    color: var(--agni-primary);
    font-weight: 700;
    text-decoration: none;
}

.agni-support-footer-bar a:hover {
    text-decoration: underline;
}

.agni-inaugration-footer-bar {
    background: #fdfaf3;
    border-top: 1px dashed #decbb0;
    padding: 18px 20px 24px 20px;
    text-align: center;
    font-size: 21px;
    font-weight: 700;
    color: var(--agni-maroon);
    letter-spacing: -0.2px;
}

.agni-inaugration-footer-bar i {
    color: var(--agni-gold);
    margin-right: 6px;
}

/* ==========================================
   MODAL DIALOG CUSTOM STYLING (Link Available Soon)
   ========================================== */
.modal-content.agni-modal-content {
    border-radius: 16px;
    border: 2px solid var(--agni-gold);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
    background: #ffffff;
    overflow: hidden;
}

.agni-modal-header {
    background: linear-gradient(135deg, #2c3e20 0%, #1e2c16 100%);
    color: #ffffff;
    padding: 20px 24px;
    border-bottom: 2px solid var(--agni-gold);
}

.agni-modal-header .modal-title {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-weight: 700;
    font-size: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.agni-modal-header .btn-close {
    filter: invert(1);
}

.agni-modal-body {
    padding: 28px 24px;
    text-align: center;
}

.agni-modal-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #fdf3e2;
    color: #b38f38;
    border: 2px solid #d4a359;
    font-size: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px auto;
}

.agni-modal-body h4 {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-weight: 700;
    color: #2c3e20;
    margin-bottom: 10px;
}

.agni-modal-body p {
    font-size: 14.5px;
    color: #5d5648;
    line-height: 1.6;
    margin-bottom: 16px;
}

.agni-modal-footer {
    padding: 14px 24px;
    background: #faf9f6;
    border-top: 1px solid #ede8dc;
    display: flex;
    justify-content: center;
}

/* ==========================================
   RESPONSIVE DESIGN
   ========================================== */
@media (max-width: 768px) {
    .agni-top-bar-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .agni-hero h1 {
        font-size: 24px;
    }

    .agni-logos img.gndu-logo,
    .agni-logos img.agni-logo {
        height: 60px;
    }

    .agni-inaugration-footer-bar {
        font-size: 16px;
    }
}
