﻿/* ----- CUSTOM VARIABLES & BOOTSTRAP OVERRIDES ----- */
    :root {
      --dns-crimson: #a51c30;
      --dns-saffron: #f4c430;
      --dns-forest: #1e4a2c;
      --dns-cream: #fff9e6;
      --dns-slate: #2c3e50;
      --bs-primary: var(--dns-crimson);
      --bs-primary-rgb: 165, 28, 48;
      --bs-warning: var(--dns-saffron);
      --bs-warning-rgb: 244, 196, 48;
      --bs-success: var(--dns-forest);
      --bs-success-rgb: 30, 74, 44;
      --bs-font-sans-serif: 'Poppins', 'Hind Siliguri', system-ui, sans-serif;
    }

    body {
      background-color: var(--dns-cream);
      font-family: 'Poppins', 'Hind Siliguri', sans-serif;
      color: #1e2a2f;
    }

    .deva {
      font-family: 'Hind Siliguri', 'Poppins', sans-serif;
      font-weight: 500;
    }
  
    /* custom color utilities */
    .bg-crimson { background-color: var(--dns-crimson) !important; }
    .bg-saffron { background-color: var(--dns-saffron) !important; }
    .bg-forest { background-color: var(--dns-forest) !important; }
    .bg-cream { background-color: var(--dns-cream) !important; }
    .text-crimson { color: var(--dns-crimson) !important; }
    .text-forest { color: var(--dns-forest) !important; }
    .border-crimson { border-color: var(--dns-crimson) !important; }
    .border-saffron { border-color: var(--dns-saffron) !important; }

    /* custom buttons */
    .btn-crimson {
      background-color: var(--dns-crimson);
      color: white;
      border: none;
      transition: 0.2s;
      box-shadow: 0 4px 10px rgba(165,28,48,0.2);
    }
    .btn-crimson:hover {
      background-color: #871826;
      color: white;
      transform: translateY(-2px);
      box-shadow: 0 10px 20px rgba(165,28,48,0.3);
    }
    .btn-outline-crimson {
      border: 2px solid var(--dns-crimson);
      color: var(--dns-crimson);
      background: transparent;
    }
    .btn-outline-crimson:hover {
      background-color: var(--dns-crimson);
      color: white;
    }

    /* hero section - preserving unique shapes */
    .hero-wave {
      background: linear-gradient(105deg, #fff2db 0%, #ffe9d4 100%);
      border-bottom: 8px solid var(--dns-saffron);
      position: relative;
      overflow: hidden;
    }
    .hero-wave::after {
      content: "॥ न्यौपाने ॥";
      position: absolute;
      bottom: 10px;
      right: 30px;
      font-size: 2.5rem;
      font-weight: 700;
      color: rgba(165,28,48,0.05);
      font-family: 'Hind Siliguri', serif;
      letter-spacing: 6px;
      pointer-events: none;
    }
    .hero-image-shape {
      background-color: #ffe1c6;
      border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
      box-shadow: #f1db97 25px 25px 0px -5px;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 260px;
    }
    .hero-image-shape i {
      text-shadow: 5px 5px 0 rgba(244,196,48,0.4);
      font-size: 7rem;
      color: #1e4a2c;
    }

    /* cards & leaders - preserving original design but using bootstrap grid */
    .custom-card {
      background: white;
      padding: 2rem 1.5rem;
      border-radius: 28px;
      box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
      transition: 0.25s;
      border: 1px solid rgba(244,196,48,0.2);
      text-align: center;
      height: 100%;
    }
    .custom-card:hover {
      transform: translateY(-8px);
      border-color: var(--dns-saffron);
      box-shadow: 0 25px 30px -10px rgba(30,74,44,0.1);
    }
    .leader-card {
      background: white;
      border-radius: 40px 40px 30px 30px;
      padding: 2rem 1rem 1.8rem;
      box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
      transition: 0.2s;
      border-bottom: 6px solid var(--dns-saffron);
      height: 100%;
    }
    .leader-img {
      width: 130px;
      height: 130px;
      background: #efdfc9;
      border-radius: 50%;
      margin: 0 auto 1.2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 4rem;
      color: #4d3e2e;
      border: 5px solid var(--dns-cream);
      outline: 2px solid var(--dns-saffron);
    }
    .event-item-bs {
      background: white;
      border-radius: 50px;
      padding: 1rem 1.8rem;
      display: flex;
      align-items: center;
      gap: 1.2rem;
      box-shadow: 0 2px 10px rgba(0,0,0,0.02);
      border-left: 8px solid var(--dns-crimson);
    }
    .event-date-badge {
      background: var(--dns-crimson);
      color: white;
      border-radius: 40px;
      padding: 0.5rem 1.4rem;
      font-weight: 600;
      white-space: nowrap;
    }
    .greeting-panel {
      background: linear-gradient(145deg, #fff1e0, #ffeada);
      border-radius: 60px 20px 60px 20px;
      padding: 2.8rem 2rem;
      border-left: 12px solid var(--dns-crimson);
    }
    .footer-dns {
      background-color: #0b2c23;
      color: #f0e6d2;
      border-top: 8px solid var(--dns-saffron);
    }
    .footer-dns a {
      color: #e2dccd;
      text-decoration: none;
      transition: 0.2s;
    }
    .footer-dns a:hover {
      color: var(--dns-saffron);
    }

    /* responsive touch */
    @media (max-width: 768px) {
       * {
            font-size: 10px;
        }
      .event-item-bs {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 30px;
      }
      .hero-image-shape {
        max-width: 80%;
        margin: 0 auto;
      }
    }