/* ==========================================================================
   ICAMAIS 2027 - International Conference Stylesheet
   School of Applied and Life Sciences (SALS), Uttaranchal University
   Theme: Official Uttaranchal University Brand Palette
          Primary: Royal Navy (#131471), Eco Green (#6cb536), Crimson (#b63d4b)
   ========================================================================== */

/* Root Variables */
:root {
  --primary-color: #131471;        /* Official Brand Navy Blue */
  --primary-dark: #0b0c44;         /* Deep Brand Midnight Navy */
  --primary-light: #2344aa;        /* Royal Blue */
  --brand-green: #6cb536;          /* Official Brand Green */
  --brand-green-dark: #529924;     /* Deep Eco Green */
  --accent-crimson: #b63d4b;       /* Official Brand Crimson (NIRF) */
  --accent-gold: #f59e0b;          /* Amber / Gold */
  --bg-gradient-start: #07082b;    /* Deep Brand Navy Dark */
  --bg-gradient-end: #131471;      /* Brand Royal Navy */
  --nav-height: 4.5rem;
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Base Smooth Scrolling & Section Offset */
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-height) + 1rem);
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #1e293b;
  background-color: #f8fafc;
  overflow-x: hidden;
}

/* Accessible Focus States */
:focus-visible {
  outline: 3px solid #6cb536;
  outline-offset: 2px;
}

/* Glassmorphism Header */
.glass-header {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 2px solid rgba(19, 20, 113, 0.08);
  transition: var(--transition-smooth);
}

.glass-header.scrolled {
  box-shadow: 0 4px 20px -2px rgba(19, 20, 113, 0.12);
  background: rgba(255, 255, 255, 0.99);
}

/* Hero Background Elements - Official Brand Navy with Brand Green & Blue radial glow */
.hero-gradient-overlay {
  background-color: #0b0c44;
  background-image: 
    radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px),
    radial-gradient(circle at 15% 25%, rgba(108, 181, 54, 0.25) 0%, transparent 50%),
    radial-gradient(circle at 85% 70%, rgba(35, 68, 170, 0.45) 0%, transparent 60%),
    linear-gradient(135deg, #07082b 0%, #131471 45%, #0a0b3c 100%);
  background-size: 24px 24px, 100% 100%, 100% 100%, 100% 100%;
}

.hero-mesh-pattern {
  /* Retained for backward-compat without overriding gradient */
}

/* Modern Card Interactions */
.hover-lift {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px -8px rgba(19, 20, 113, 0.15);
}

/* Navigation Link Active State & Scrollspy */
.nav-link {
  position: relative;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  inset-block-end: -4px;
  block-size: 2px;
  background-color: #6cb536;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.nav-link:hover::after,
.nav-link.active::after,
.nav-link[aria-current="true"]::after,
.nav-link[aria-current="page"]::after {
  transform: scaleX(1);
}

.nav-link.active,
.nav-link[aria-current="true"],
.nav-link[aria-current="page"] {
  color: #131471 !important;
  font-weight: 700;
}

/* Mobile Popover Navigation: strictly hidden on desktop */
.site-menu,
#mobile-menu {
  display: none;
}

.site-menu.is-open,
#mobile-menu.is-open {
  display: block !important;
}

@media (min-width: 1024px) {
  .site-menu,
  #mobile-menu {
    display: none !important;
  }
}

/* Container-Aware Responsive Pricing Table (from modern-web-guidance) */
.table-container-wrapper {
  container-type: inline-size;
  inline-size: 100%;
}

.responsive-fee-table {
  inline-size: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.responsive-fee-table thead {
  position: sticky;
  inset-block-start: 0;
  z-index: 10;
}

@container (width < 640px) {
  .responsive-fee-table,
  .responsive-fee-table thead,
  .responsive-fee-table tbody,
  .responsive-fee-table tr,
  .responsive-fee-table th,
  .responsive-fee-table td {
    display: block;
  }

  .responsive-fee-table thead {
    display: none; /* Accessible labels injected via td pseudo-elements */
  }

  .responsive-fee-table tr {
    margin-block-end: 1rem;
    border-radius: 0.75rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    overflow: hidden;
  }

  .responsive-fee-table tbody th {
    background: #eef2fb;
    color: #131471;
    font-weight: 700;
    padding: 0.85rem 1rem;
    border-block-end: 1px solid #d9e2f6;
  }

  .responsive-fee-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.65rem 1rem;
    border-block-end: 1px solid #f1f5f9;
  }

  .responsive-fee-table td:last-child {
    border-block-end: none;
  }

  .responsive-fee-table td[data-col="national"]::before {
    content: "National (INR): ";
    font-weight: 600;
    color: #475569;
  }

  .responsive-fee-table td[data-col="international"]::before {
    content: "International (USD): ";
    font-weight: 600;
    color: #475569;
  }
}

/* Timeline Components */
.timeline-stem {
  position: absolute;
  inset-inline-start: 50%;
  inset-block: 0;
  inline-size: 3px;
  background: linear-gradient(180deg, #131471 0%, #6cb536 100%);
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .timeline-stem {
    inset-inline-start: 1.5rem;
  }
}

/* Modal styling with native dialog fallback */
dialog.custom-modal {
  border: none;
  border-radius: 1rem;
  padding: 0;
  max-inline-size: min(92dvw, 32rem);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  background: #ffffff;
}

dialog.custom-modal::backdrop {
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
}

/* Custom scrollbars */
::-webkit-scrollbar {
  inline-size: 8px;
  block-size: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Print Styles */
@media print {
  .glass-header,
  .site-menu,
  #register-modal,
  .no-print {
    display: none !important;
  }

  body {
    background: #ffffff;
    color: #000000;
  }
}
