/* ==============================
   VARIABLES & RESET
============================== */
:root {
  --primary: #0b3558;
  --accent: #1f6fb2;
  --text: #1e1e1e;
  --muted: #6b7280;
  --bg: #f6f8fb;
}


*, *::before, *::after {
   box-sizing: border-box;
  margin: 0;
  padding: 0;
}
main {
  overflow-x: hidden;
}

body {
  font-family: Inter, Arial, sans-serif;
  line-height: 1.7;
  color: var(--text);
  background: var(--bg);
  opacity: 1;
}

.entry-content h2,
.wp-block-heading {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}


/* ==============================
   TYPOGRAPHY
============================== */
h1, h2, h3 {
  font-family: "Playfair Display", serif;
  margin-bottom: 14px;
}

p {
  margin-bottom: 16px;
}

a {
  color: var(--primary);
  text-decoration: none;
}

/* ==============================
   NAVIGATION
============================== */
/* =======================/* =======================
   Base Nav
   ======================= */
nav {
  background: #fff;
  border-bottom: 1px solid #ddd;
  position: sticky;
  top: 0;
  z-index: 999;
  padding: 14px 28px;
  
  flex-wrap: wrap;
  gap: 22px;
}

.nav-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav {
  list-style: none;
  display: flex;
  gap: 20px;
}

.nav li {
  position: relative;
}

.current-menu-item a {
    color: #ff6600; /* Change the text color */
    font-weight: bold; /* Make the text bold */
    border-bottom: 2px solid #ff6600; /* Add an underline effect */
}

.nav a {
  text-decoration: none;
  color: #000;
  padding: 8px 12px;
  display: block;
  font-weight: 500;
  white-space: nowrap;
}



/* Dropdown Indicator */
.nav li.menu-item-has-children > a::after {
  content: " ▾";
  font-size: 1em;
  display: inline-block;
  transition: transform 0.3s ease;
}

/* Dropdown Menu */
.nav li.menu-item-has-children > .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  min-width: 200px;
  display: none;
}

.sub-menu li a {
  padding: 10px 12px;
}

.sub-menu li a:hover {
  background: #f0f0f0;
}

/* Desktop Hover */
@media (min-width: 769px) {
  .nav li.menu-item-has-children:hover > .sub-menu {
    display: block;
  }
}

/* =======================
   Mobile Nav
   ======================= */
.nav-toggle {
  display: none;
  font-size: 22px;
  background: none;
  border: none;
  cursor: pointer;
  color: #163656;
}

@media (max-width: 1024px) {
  .nav-container {
    justify-content: space-between;
  }

  .nav-toggle {
    display: block;
  }

  .nav {
	position:absolute;
top: 100%;
        left: 0;
        right: 0;
    flex-direction: column;
    align-items: center;
    display: none;
    background: #fff;
    border-top: 1px solid #ddd;
    
    transition: max-height 0.3s ease;
    max-height: 0;
  }

  .nav.open {
    display: flex;
    max-height: 1000px; /* large enough for menu */
  }

  .nav li {
    width: 100%;
    text-align: center;
  }

  .nav a {
    padding: 14px;
  }

  .nav li.menu-item-has-children > .sub-menu {
    position: relative;
    border: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .nav li.menu-item-has-children.open > .sub-menu {
    display: block;
    max-height: 500px; /* adjust if submenu is taller */
  }

  /* Arrow rotation on mobile */
  .nav li.menu-item-has-children.open > a::after {
    transform: rotate(180deg);
  }
}
/* =====================================================
   HOMEPAGE GLOBAL STYLES
   ===================================================== */
body.home-page {
  background-color: #ffffff;
  --section-padding: 90px;
}

/* =====================================================
   SECTION BACKGROUNDS (VISUAL SEGMENTATION)
   ===================================================== */
body.home-page .bg-hero {
  background: linear-gradient(135deg, #0f2a44, #1b3f63);
  color: #ffffff;
  text-align:center;
}

body.home-page .bg-about {
  background-color: #f9fafb;
}

body.home-page .bg-expertise {
  background-color: #eef2f6;
}

body.home-page .bg-experience {
  background-color: #ffffff;
}

body.home-page .bg-publications {
  background-color: #e6f2f1;
}

body.home-page .bg-gallery {
  background-color: #f1f5f9;
}

body.home-page .bg-contact {
  background: linear-gradient(135deg, #10293f, #183b57);
  color: #ffffff;
}

/* =====================================================
   SECTION SPACING
   ===================================================== */
body.home-page .section {
  padding: var(--section-padding) 0;
}

body.home-page .hero-section {
  padding: 120px 0;
}

/* =====================================================
   TYPOGRAPHY
   ===================================================== */
body.home-page .hero-title {
  font-size: 3rem;
  font-weight: 600;
  max-width: 1100px;
  line-height: 1.25;
}

body.home-page .hero-subtitle {
  font-size: 1.15rem;
  max-width: 760px;
  margin: 20px 0 40px;
  opacity: 0.95;
}

body.home-page .section-title {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 24px;
}

body.home-page .section-text {
  max-width: 800px;
  line-height: 1.75;
  color: #334155;
  margin: 0 auto 30px auto;
  text-align:center;
}

.center-block {
  display: block; /* Already a block-level element, but explicitly setting is fine */
  width: 70%; /* Set a width less than 100% */
  margin-left: auto;
  margin-right: auto;
  /* Shorthand for above */
  margin: 0 auto;
}


/* =====================================================
   CARDS
   ===================================================== */
body.home-page .card {
  background-color: #ffffff;
  padding: 32px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.home-page .card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.1);
}

/* =====================================================
   BUTTONS
   ===================================================== */
body.home-page .btn-primary {
  background-color: #1f6fb2;
  color: #ffffff;
  padding: 12px 28px;
  border-radius: 6px;
}

body.home-page .btn-secondary {
  background-color: transparent;
  border: 2px solid #1f6fb2;
  color: #1f6fb2;
  padding: 12px 28px;
  border-radius: 6px;
  display: inline-block;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

body.home-page .btn-wrap {
  text-align: center;
 position:relative;
}

body.home-page .bg-hero .btn-secondary{
    margin-left:30px;
}

body.home-page .btn-wrap .btn-secondary{
         position: relative;
        top: 50px; 
}

body.home-page .btn-secondary:hover {
  background-color: #1f6fb2; /* brand fill on hover */
  color: #fff;               /* text turns white on hover */
  transform: translateY(-2px);
}

body.home-page .btn-primary:hover{
  opacity: 0.9;
}

@media (max-width: 768px) {
  body.home-page .bg-hero .btn-secondary {
    margin:0;
    
  }
}

/* =====================================================
   LINKS
   ===================================================== */
body.home-page .text-link {
  color: #1f6fb2;
  font-weight: 500;
  text-decoration: none;
}

body.home-page .text-link:hover {
  text-decoration: underline;
}

/* =====================================================
   GRID REFINEMENT (SAFE OVERRIDE)
   ===================================================== */
body.home-page .grid {
  gap: 30px;
}

/* =====================================================
   CONTACT CTA TEXT OVERRIDE
   ===================================================== */
body.home-page .bg-contact .section-title,
body.home-page .bg-contact .section-text {
  color: #ffffff;
}

/* ===== MODERN PROFESSIONAL CARD DESIGN ===== */
body.home-page .professional-cards {
  gap: 36px;
}

body.home-page .professional-cards .modern-card, body.home-page .bg-expertise .modern-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 36px 28px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.07);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.icon-svg {
  width: 48px;
  height: 48px;
  stroke: #1f6fb2; /* primary brand color */
  transition: stroke 0.3s ease, transform 0.3s ease;
}

.modern-card:hover .icon-svg {
  stroke: #e9f2fa; /* accent on hover */
  transform: scale(1.1);
}



body.home-page .bg-expertise .modern-card::before, body.home-page .professional-cards .modern-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(135deg, rgba(31,111,178,0.05), rgba(255,209,0,0.05));
  transform: rotate(25deg);
  z-index: 0;
}

body.home-page .bg-expertise .modern-card .icon-wrap, body.home-page .professional-cards .modern-card .icon-wrap {
  width: 60px;
  height: 60px;
  background: #f0f4f8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  z-index: 1;
  font-size: 36px;
    
    line-height: 60px;
   
    color: #fff;
    margin: 0 auto 12px auto;
}

body.home-page .professional-cards .modern-card .icon-wrap img {
  width: 32px;
  height: 32px;
}

body.home-page .bg-expertise .modern-card h3, body.home-page .professional-cards .modern-card h3 {
  font-size: 1.35rem;
  font-weight: 600;
  margin-bottom: 14px;
  color: #0f2a44;
  z-index: 1;
}

body.home-page .bg-expertise .modern-card p, body.home-page .professional-cards .modern-card p {
  font-size: 1rem;
  line-height: 1.65;
  color: #334155;
  z-index: 1;
}

body.home-page .professional-cards .modern-card .text-link {
  margin-top: 16px;
  display: inline-block;
  font-weight: 500;
  color: #1f6fb2;
  z-index: 1;
}

body.home-page .professional-cards .modern-card .text-link:hover {
  color: #104e7a;
  text-decoration: underline;
}

body.home-page .bg-expertise .modern-card:hover, body.home-page .professional-cards .modern-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  
}

body.home-page .bg-expertise .modern-card:hover .icon-wrap, body.home-page .professional-cards .modern-card:hover .icon-wrap {
  
   background:#1f6fb2;
}

/* ===== AWARDS & PUBLICATIONS ACTION FIX ===== */
body.home-page .action-links {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  body.home-page .action-links {
    flex-direction: column;
    align-items: center; /* stack everything and center */
  }

  body.home-page .action-links a {
    width: 100%;
    text-align: center;
  }
}

body.home-page .action-links .text-link {
  font-size: 1rem;
}

body.home-page .action-links .btn {
  margin-top: 0;
}

/* ===== PRESENTATIONS + GALLERY CTA FIX ===== */
body.home-page .section.bg-gallery .action-links {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

body.home-page .section.bg-gallery .action-links .btn {
  padding: 12px 28px;
  border-radius: 6px;
}



body.home-page .bg-publications ul {
  list-style-position: inside; /* keeps bullets aligned nicely */
  padding: 0;
  margin: 0 auto 20px auto;     /* center the UL horizontally, add bottom spacing */
  display: table;               /* allows UL to shrink-wrap content */
}

/* Center the list items */
body.home-page .bg-publications ul li {
  text-align: center;
  margin-bottom: 8px;          /* spacing between items */
  font-size: 1rem;
  color: #555;
}
/* ==============================
   HERO
============================== */
/* Hero header */
.hero {
  background: #f7f9fc;
  border-bottom: 1px solid #e6ebf2;
}

.hero-banner {
  
   position: relative;
  height: 420px;
  background-image: 
    linear-gradient(
      to right,
      rgba(15, 23, 42, 0.65) 0%,
      rgba(15, 23, 42, 0.35) 45%,
      rgba(15, 23, 42, 0.15) 70%
    ),
    url("../../assets/images/dr-ganapati-ojha-policy-evaluator-banner.jpg");
  background-size: cover;
  background-position: 70% center;
  color: #fff;
  border-bottom: 1px solid #e6ebf2;
}

.hero-banner-inner {
  max-width: 1100px;
  height: 100%;
  margin: auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
}

.hero-banner-text {
  max-width: 550px;
}

.hero-banner-text h1 {
  margin: 0;
  font-size: 3.5rem;
  line-height: 1.2;
}

.hero-banner-text p {
  margin-top: 10px;
  font-size: 1.05rem;
  
}

@media (max-width: 768px) {
  .hero-banner {
    height: auto;
    background-image: 
    linear-gradient(
      to right,
      rgba(15, 23, 42, 0.65) 0%,
      rgba(15, 23, 42, 0.35) 45%,
      rgba(15, 23, 42, 0.15) 70%
    ),
    url("../../assets/images/dr-ganapati-ojha-policy-evaluator-banner.jpg");
    background-color: #f7f9fc;
  }

  .hero-banner-inner {
    padding: 40px 20px;
    justify-content: center;
    text-align: left;
    
  }
  
  .hero-banner-inner h1{
      width:60%;
  }
}

.small-hero {
  padding: 90px 20px 50px;
}


/* ==============================
   LAYOUT & CONTAINER
============================== */
.container {
  max-width: 1100px;
  margin: auto;
  padding: 70px 20px;
}

.section-title {
  font-size: 34px;
  text-align: center;
  margin-bottom: 40px;
}

/* Section helpers */ 
.section-muted { 
    background:#eef2f6; 
    
}

.section-dark { 
    background:var(--primary); 
    color:#fff; 
    
}

.section-dark h2, .section-dark h3, .section-dark p{ 
    color:#fff; 
    
}

.kicker { 
    text-transform:uppercase; 
    font-size:13px; 
    letter-spacing:1.4px; 
    color:var(--accent); 
    display:block; 
    margin-bottom:8px; 
    
}


/* ==============================
   CARD STYLES (GENERAL - Home / About / Other pages)
============================== */



.grid { 
    display:grid; 
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); 
    gap:28px; 
    
}

.keystat .grid { 
    display:grid; 
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); 
    gap: 0px;
    
}


.card {
  background: #fff;
  padding: 30px;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  position: relative;
  transition: 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: #1f6fb2;
  border-radius: 6px 0 0 6px;
}

.card h3 {
  font-size: 22px;
  color: #0f172a;
  margin-bottom: 10px;
}

.card strong {
  color: var(--primary);
}

.stat strong { 
    display:block; 
    font-size:34px; 
    color:var(--primary); 
    
} 



/* Accordion */ 

.accordion h3 { 
    cursor:pointer; 
    padding:18px; 
    background:#fff; 
    border-radius:6px; 
    margin-bottom:6px; 
    
} 

.accordion-content { 
    display:none; 
    padding:20px; 
    background:#fafafa; 
    border-radius:6px; 
    margin-bottom:20px; 
    max-height:0; 
    overflow:hidden; 
    transition:max-height 0.4s ease;
    
}

.accordion-content.open { 
    max-height:800px; 
    
}

/* Animation */ 
.fade { 
    opacity:0; 
    transform:translateY(25px); 
    transition:0.6s ease; 
    
} 

.fade.show { 
    opacity:1; 
    transform:none; 
    
}

/* Page transition */ 

body.fade-in { 
    opacity:1; 

    
} 
body.fade-out { 
    opacity:0; 
	 transition: opacity 0.2s ease;
    
} 

@media (prefers-reduced-motion: reduce) { 
    *{ 
        animation:none !important; 
        transition:none !important; 
        scroll-behavior:auto !important; 
        
    } 
    
}

/* ==============================
   FOOTER
============================== */
footer {
  background: #111;
  color: #aaa;
  text-align: center;
  padding: 26px;
  font-size: 14px;
}

main {
  min-height: 60vh;
}


/* ==============================
   Gallery Page
============================== */

.gallery-page{
opacity:1 !important;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  grid-auto-rows: 8px;
  gap: 16px;
}

.gallery-item {
  grid-row-end: span var(--row-span);
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
	  touch-action: manipulation;
  -webkit-user-select: none;
transition: transform 0.35s ease;
}

/* Make gallery links and their children clickable */
.gallery-item,
.gallery-item * {
  pointer-events: auto;
	cursor: pointer;
}

/* Optional: play icon on top of image */
.gallery-item .play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none; /* clicks go through to <a> */
}

.play-icon svg {
  width: 64px;
  height: 64px;
}

.glightbox-container{
	z-index: 99999 !important;
}
.glightbox-container .gclose {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: absolute;
    top: 16px;
    right: 16px;
    cursor: pointer;
    z-index: 99999;
  
}

.glightbox-container .gclose svg {
  width: 28px;
  height: 28px;
}

body.glightbox-open {
	overflow: hidden !important;
}
/* Caption overlay */
.gallery-caption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 10px 14px;

  background: linear-gradient(
    to top,
    rgba(0,0,0,.75),
    rgba(0,0,0,0)
  );

  color: #fff;
  font-size: 14px;
  line-height: 1.4;

  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;

  pointer-events: none; /* VERY important */
}

/* Hover (desktop) */
.gallery-item:hover .gallery-caption {
  opacity: 1;
  transform: translateY(0);
}

.gallery-item:hover img {
  transform: scale(1.04);
}


/* GLightbox caption */
.gslide-description {
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.85),
    rgba(0,0,0,0)
  );
  padding: 16px 20px;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
}

/* Title only (no description) */
.gslide-description .gslide-title {
  font-weight: 500;
  margin: 0;
}

/* Hide empty description wrapper if no title */
.gslide-description:empty {
  display: none;
}

/* Touch devices: show caption always */
@media (hover: none) {
  .gallery-caption {
    opacity: 1;
    transform: none;
  }
}
/* Mobile-only tap padding */
@media (max-width: 768px) {
  .gallery-item {
    padding: 6px; /* invisible tap buffer */
  }

  .gallery-item::after {
    content: "";
    position: absolute;
    inset: -8px;
  }

	.glightbox-container .gclose {
    top: auto;
    bottom: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: rgba(0,0,0,0.65);
    border-radius: 50%;
  }
}

/* ==============================
   About Page Cards â€“ Scoped 
	Elegant Cards â€“ Scoped to About Page
============================== */

body.about-page .container ul{
    padding-left:40px;
}

.container.fade .card { 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    
} 

.container.fade .card:hover { 
    transform: translateY(-6px); 
    box-shadow: 0 14px 28px rgba(0,0,0,0.1); 
    
} 

.container.fade .card-icon { 
    font-size: 40px; 
    margin-bottom: 12px; 
    display: inline-block; 
    
} 

.container.fade .card-btn { 
    display: inline-block; 
    margin-top: 12px; 
    padding: 8px 14px; 
    background: var(--primary); 
    color: #fff; 
    border-radius: 4px; 
    font-weight: 500; 
    transition: 0.3s ease; 
    
} 

.container.fade .card-btn:hover { 
    background: var(--accent); 
    color: #fff; 
    transform: translateY(-2px); 
    
} 

.container.fade .elegant-card { 
    background: #fff; 
    border-radius: 12px; 
    padding: 20px 18px; 
    box-shadow: 0 6px 12px rgba(0,0,0,0.05); 
    text-align: center; 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    
} 

.container.fade .elegant-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 14px 28px rgba(0,0,0,0.08); 
    
} 

.container.fade .elegant-card .card-icon { 
    font-size: 36px; 
    width: 60px; 
    height: 60px; 
    line-height: 60px; 
    border-radius: 50%; 
    background: var(--accent); 
    color: #fff; 
    margin: 0 auto 12px auto; 
    
} 

.container.fade .elegant-card h3 { 
    font-size: 20px; 
    margin-bottom: 8px; 
    color: var(--primary); 
    
} 

.container.fade .elegant-card p { 
    font-size: 14px; 
    color: var(--muted); 
    margin-bottom: 10px; 
    line-height: 1.5; 
    
} 

.container.fade .elegant-card .card-link { 
    font-size: 14px; 
    font-weight: 500; 
    color: var(--primary); 
    text-decoration: none; 
    border-bottom: 1px solid transparent; 
    transition: border-color 0.3s ease, transform 0.3s ease; 
    
} 

.container.fade .elegant-card .card-link:hover { 
    border-color: var(--primary); transform: translateY(-1px); 
    
}

/* ==============================
   ABOUT SUB PAGE TIMELINE
============================== */

.timeline {
  position: relative;
  margin: 60px 0;
  padding: 40px 0;
}

.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  background: linear-gradient(to bottom, #1f6fb238, rgba(11,53,88,0.6));
  box-shadow: 0 0 6px #1f6fb238;
  border-radius: 2px;
  z-index: 0;
}

.timeline-item {
  position: relative;
  width: 50%;
  display: flex;
  align-items: center;
  padding: 15px 20px;
  opacity: 0;
  transform: translateX(0);
  transition: transform 0.4s ease, opacity 0.6s ease, box-shadow 0.3s ease;
  cursor: pointer;
}


.timeline-item.left {
  left: 0;
  justify-content: flex-end;
  text-align: right;
  transform: translateX(-50px);
  margin-top:10px;
}

.timeline-item.right {
  left: 50%;
  justify-content: flex-start;
  text-align: left;
  transform: translateX(50px);
}

.timeline-item.show {
  opacity: 1;
  transform: translateX(0);
}

.timeline-item.zoomed {
  transform: translateX(0) scale(1.12);
  z-index: 5;
  transform-origin: center;
}


.timeline-item.left .marker::before {
  right: 100%;
}

.timeline-item.right .marker::before {
  left: 100%;
}



.timeline-item.left .content {
  margin-right: 20px;
}

.timeline-item.right .content {
  margin-left: 20px;
}

.timeline-item:hover .content {
  transform: translateY(-3px) rotateZ(-0.5deg);
  box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  background-color: #eef8ff;
}

.timeline-item:hover .marker {
  transform: scale(1.1);
  box-shadow: 0 0 8px rgba(201,162,77,0.4);
}

/*
for small screen
*/

.marker-small {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--primary);
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  margin-bottom:12px;
  display:none;
}

.marker-small img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.marker {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--primary);
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  
}

.marker img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}
.marker::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 16px;
  height: 2px;
  background: #1f6fb2;
}


.timeline-item .content {
  max-width: 280px;
  padding: 14px 18px;
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.06);
  background: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}



/* Responsive */
@media (max-width: 768px) {
  .timeline-item {
    width: 100% !important;
    left: 0 !important;
    flex-direction: column !important;
    text-align: center !important;
    padding: 10px 0;
  }
	

.timeline-item .content {
    max-width: 90%;
    margin: 0 auto;
  }

    .timeline-item .right{
        margin-top: 10px;
        
    }
    
    .timeline .left .marker{
        display:none;
    }
    
    .timeline .left .marker-small{
        display:flex !important;
    }
  .timeline-item .marker{
    margin-bottom: 12px;
  }

  .timeline-item .marker::before {
    display: none;
  }



}


/* ==============================
   TRAINING PAGE TIMELINE
============================== */
.training-page .training-timeline {
  position: relative;
  margin: 60px 0;
  padding: 40px 0;
}

.training-page .training-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  background: linear-gradient(to bottom, #1f6fb24f, rgba(11,53,88,0.6));
  box-shadow: 0 0 6px #1f6fb24f;
  border-radius: 2px;
  z-index: 0;
}

.training-page .training-item {
  position: relative;
  width: 50%;
  display: flex;
  align-items: center;
  padding: 15px 20px;
  opacity: 0;
  transform: translateX(0);
  transition: transform 0.4s ease, opacity 0.6s ease, box-shadow 0.3s ease;
  cursor: pointer;


}

.training-page .training-item.left {
  left: 0;
  justify-content: flex-end;
  text-align: right;
  transform: translateX(-50px);
   margin-top:10px;
}

.training-page .training-item.right {
  left: 50%;
  justify-content: flex-start;
  text-align: left;
  transform: translateX(50px);
}

.training-page .training-item.show {
  opacity: 1;
  transform: translateX(0);
}

.training-page .zoom-wrapper {
  overflow: hidden;
}

.training-page .training-item.zoomed {
  transform: translateX(0) scale(1.12);
  z-index: 5;
  transform-origin: center;
}

.training-page .training-marker {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--primary);
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.training-page .training-marker::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 16px;
  height: 2px;
  background: #1f6fb2;
}

.training-page .training-item.left .training-marker::before {
  right: 100%;
}

.training-page .training-item.right .training-marker::before {
  left: 100%;
}

/*
for small screen
*/

.training-page .training-marker-small {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--primary);
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  margin-bottom:12px;
  display:none;
}




.training-page .training-content {
  max-width: 280px;
  padding: 14px 18px;
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.06);
  background: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.training-page .training-item.left .training-content {
  margin-right: 20px;
}

.training-page .training-item.right .training-content {
  margin-left: 20px;
}

.training-page .training-item:hover .training-content {
  transform: translateY(-3px) rotateZ(-0.5deg);
  box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  background-color: #eef8ff;
}

.training-page .training-item:hover .training-marker {
  transform: scale(1.1);
  box-shadow: 0 0 8px rgba(201,162,77,0.4);
}

/* Responsive */
@media (max-width: 768px) {
  .training-page .training-item {
    width: 100% !important;
    left: 0 !important;
    flex-direction: column !important;
    text-align: center !important;
    padding: 10px 0;
  }

  .training-page .training-content {
    max-width: 90%;
    
  }
  .training-page .training-item.right .training-content {
  margin-left: 0;
}
  .training-page .training-item.left .training-content {
  margin-right: 0;
}

  .training-page .training-marker {
    margin-bottom: 12px;
  }
  
   .training-page .right{
        margin-top: 10px;
        
    }
    
    .training-page .left .training-marker{
        display:none;
    }
    
    .training-page .left .training-marker-small{
        display:block;
    }
  

  .training-page .training-marker::before {
    display: none;
  }
}


/* ==============================
   Personal Association PAGE TIMELINE
============================== */


body.pa-page .container {
  max-width: 1100px;
  margin: auto;
  padding: 70px 20px;
}



body.pa-page .pa-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.pa-page .pa-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  margin-bottom: 20px;
  padding: 16px 20px;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
  cursor: default;
}

body.pa-page .pa-list li:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  background-color: #eef8ff;
}

body.pa-page .pa-content {
  flex: 1;
  font-size: 16px;
  font-weight: 500;
  color: #0b3558;
}

body.pa-page .pa-logo {
  width: 60px;
  height: 60px;
  margin-left: 16px;
  flex-shrink: 0;
}

body.pa-page .pa-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 6px;
}

body.pa-page .pa-item {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

body.pa-page .pa-item.show {
  opacity: 1;
  transform: translateY(0);
}


/* ==============================
   Awards PAGE TIMELINE
============================== */



/* Timeline Items */
body.awards-page .award-item {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

/* Alternate left/right */
body.awards-page .award-item.left .award-content {
  margin-left: auto;  /* pushes card to left side */
  margin-right: 60px; /* space from center line */
  text-align: right;
}

/* Right side content */
body.awards-page .award-item.right .award-content {
  margin-left: 60px; /* space from center line */
  
  text-align: left;
}

/* Marker */
body.awards-page .award-marker {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 20px;
  background: #1f6fb2;
  border: 2px solid #0b3558;
  border-radius: 50%;
  z-index: 1;
}

/* Content Card */
body.awards-page .award-content {
  background: #fff;
  padding: 18px 24px;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  max-width: 500px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

/* Hover animation */
body.awards-page .award-content:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
  background-color: #eef8ff;
}

/* Fade-in on scroll */
body.awards-page .award-item.show {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive for mobile */
@media (max-width: 768px) {
  body.awards-page .award-item {
    width: 100%;
    flex-direction: column;
    text-align: center;
    padding: 0 10px;
  }

  body.awards-page .award-content {
    width: 90%;
    margin-top: 20px;
  }

  body.awards-page .award-marker {
    left: 50%;
  }
}

/* ==============================
   Experience PAGE TIMELINE
============================== */



.experience-container {
  max-width: 1100px;
  margin: 0 auto;
}

.experience-container h1 {
  text-align: center;
  font-size: 38px;
  margin-bottom: 50px;
  font-weight: 700;
  color: #2c3e50;
}

.mid-head{
    text-align: center;
}

/* Compact Card with alternating background */
.experience-card {
  background: #fff;
  padding: 18px 22px;
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  font-size: 14.5px;
  line-height: 1.6;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s ease, transform 0.3s ease;
  position: relative;

}



.experience-page .card-wrapper{
    overflow:hiiden;
}

/* Alternating subtle background and indentation */
.experience-card:nth-child(even) {
  background-color: #f1f3f6;
  margin-left: 30px;
}

.experience-card:nth-child(odd) {
  margin-right: 30px;
}

/* Responsive */
@media (max-width: 768px) {
    .experience-card:nth-child(even) {
  
  margin-left: 0px;
}

.experience-card:nth-child(odd) {
  margin-right: 0px;
}
}

.experience-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
  border-left: 4px solid #1f6fb2;
}

.experience-card h2 {
  font-size: 18px;
  margin: 0 0 4px 0;
  font-weight: 600;
  color: #2c3e50;
}

.experience-card .date {
  display: block;
  font-size: 13px;
  color: #7f8c8d;
  margin-bottom: 10px;
}

/* Fade-in on scroll */
.experience-card.show {
  opacity: 1;
  transform: translateY(0);
}

/* Year badge */
body.experience-page .date {
 
  font-size: 12px;
  font-weight: 600;
  color: #2563eb;
  background: #eef2ff;
  padding: 4px 10px;
  border-radius: 999px;
  letter-spacing: 0.5px;
  width: max-content;
  white-space: normal;
    max-width: 100%;
}

.experience-card ul{
     list-style-position: outside;
  padding-left: 1.75rem;   /* shifts bullet + text together */
  margin: 0.75rem 0;
}
.experience-card ul li{
     padding-left: 0;         /* IMPORTANT */
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;

}


/* ================================
    PRESENTATIONS
   ================================ */

body.presentations-page {

    /* ðŸ”¹ Map these to your EXISTING palette */
    --accent-color: #caa74d;
    --text-primary: #ffffff;
    --text-muted: #cccccc;
    --border-subtle: rgba(255,255,255,0.15);

    --tag-presenter: #2e86de;
    --tag-panelist: #6c5ce7;
    --tag-facilitator: #334155;
  --tag-co-chair: #059669;
    --tag-keynote: #e17055;

    --badge-bg: rgba(255,255,255,0.12);
}

/* ===== Container ===== */
body.presentations-page .international-presentations {
    max-width: 1100px;
    margin: auto;
}

/* ===== Card ===== */
body.presentations-page .presentation-card {
    padding: 26px 10px;
    opacity:0;
    background: transparent; /* explicit */
     position: relative;
    
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 12px;
    margin-bottom:5px;
    transition:
        opacity 0.5s ease,
        box-shadow 0.5s ease,
        transform 0.5s ease,
        border-color 0.5s ease;
}

/* When visible */
body.presentations-page .presentation-card.is-visible {
    opacity: 1;
     transform: translateY(0);
}

body.presentations-page .presentation-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,0,0,0.14);
    box-shadow:
        0 8px 22px rgba(0,0,0,0.08),
        0 2px 6px rgba(0,0,0,0.04);
}

body.presentations-page .presentation-card:last-child {
    
    margin-bottom:20px;
}

/* ===== Headings ===== */
body.presentations-page .presentation-card h4 {
    margin-bottom: 8px;
    font-weight: 600;
    color: inherit;
}

body.presentations-page .presentation-card h4 span {
    font-weight: 400;
    font-style: italic;
}

/* ===== Meta line ===== */
body.presentations-page .meta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #6b7280;
}

body.presentations-page .meta time {
    padding: 2px 8px;
    border-radius: 10px;
    background: rgba(0,0,0,0.04);
    font-weight: 500;
}

/* ===== Tags ===== */
body.presentations-page .tags {
    margin-bottom: 12px;
}

body.presentations-page .tag {
    display: inline-block;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 14px;
    margin-right: 6px;
    color: #fff;
    line-height: 1.4;
}

body.presentations-page .tag.presenter { background: var(--tag-presenter); }
body.presentations-page .tag.panelist { background: var(--tag-panelist); }
body.presentations-page .tag.co-chair { background: var(--tag-co-chair); }
body.presentations-page .tag.facilitator { background: var(--tag-facilitator); }
body.presentations-page .tag.keynote  { background: var(--tag-keynote); }

/* ===== Country badge ===== */
body.presentations-page .country {
    display: inline-block;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 14px;
    line-height: 1.4;

    background: transparent;
    border: 1px solid #d1d5db;     /* subtle neutral border */
    color: #374151;                /* neutral text */

    cursor:default;
    transition:
        border-width 0.1s ease,
        box-shadow 0.1s ease,
        background-color 0.1s ease;
}

/* ===== Country-specific colors ===== */
body.presentations-page .country.nepal {
    border-color: #8b2c2c;
    color: #8b2c2c;
}

body.presentations-page .country.india {
    border-color: #7c5c1e;
    color: #7c5c1e;
}

body.presentations-page .country.sri-lanka {
    border-color: #3b5d50;
    color: #3b5d50;
}

body.presentations-page .country.usa {
    border-color: #2f4a6d;
    color: #2f4a6d;
}

body.presentations-page .country.egypt {
    border-color: #6a4a2f;
    color: #6a4a2f;
}

body.presentations-page .country.philippines {
    border-color: #2d5f7a;
    color: #2d5f7a;
}

body.presentations-page .country.global {
    border-color: #4b5563;
    color: #4b5563;
}

body.presentations-page .country.south-asia {
    border-color: #5b3e78;
    color: #5b3e78;
}
/* ===== Hover: outline â†’ soft fill ===== */
body.presentations-page .country:hover {
    border-width: 2px;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.04);
    background-color: rgba(0,0,0,0.03);

}

/* ===== Body text ===== */
body.presentations-page .presentation-card p {
    font-size: 15px;
    line-height: 1.65;
    
    margin-bottom: 0;
}



/* ===== Card actions ===== */
body.presentations-page .card-actions {
    text-align: right;
    margin-top: 10px;
}

body.presentations-page .card-actions a {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.25px;
    text-transform: uppercase;

    color: var(--accent-color);
    text-decoration: none;

    padding: 3px 7px;
    border-radius: 999px; /* tag / pill shape */
    border: 1px solid rgba(0,0,0,0.18);
    background-color: transparent;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

body.presentations-page .card-actions a:hover {
    background-color: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
    transform: translateY(-1px);
}

body.presentations-page .card-actions a::after {
    content: "â†—";
    font-size: 10px;
    opacity: 0.75;
}

/* ================================
   Publication PAGE
   ================================ */

body.publication-page .publication-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
	transition: opacity 0.15s ease;
}
.publication-list.loading {
    opacity: 0.6;
}

body.publication-page .publication-card {
    
    --y-offset: 18px;

    opacity: 0;
    transform: translateY(var(--y-offset));

    background-color: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 12px;
    padding: 18px 20px;

    transition:
        opacity 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;

    
        
}

body.publication-page .publication-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0.14);
}

body.publication-page .pub-year-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom:10px;
}


body.publication-page .pub-year {
    font-size: 18px;
    font-weight: 600;
    color: var(--accent-color);
    line-height: 1;
    padding-top: 4px;
}

body.publication-page .pub-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 6px;
    color: #111;
}

body.publication-page .pub-meta p{
    font-size: 14px;
    color: #555;
    line-height: 1.5;
}

body.publication-page .pub-actions {
    margin-top: 10px;
    text-align: right;
}

body.publication-page .pub-actions a {
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 20px;

    color: var(--accent-color);
    border: 1px solid rgba(0,0,0,0.18);
    text-decoration: none;

    transition: all 0.2s ease;
}

body.publication-page .pub-actions a:hover {
    background-color: rgba(0,0,0,0.04);
    border-color: rgba(0,0,0,0.3);
}

body.publication-page .pub-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.3px;
    text-transform: uppercase;

    padding: 3px 9px;
    border-radius: 999px;
    margin-bottom: 0;

    border: 1px solid rgba(0,0,0,0.18);
    background-color: transparent;
    color: #444;

    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.5s ease,
        transform 0.5s ease;
}

/* When visible */
body.publication-page .pub-badge.is-visible {
    opacity: 1;
    --y-offset: 0px;
}

body.publication-page .publication-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Optional subtle differentiation */
body.publication-page .pub-badge.journal {
    border-color: rgba(52, 84, 209, 0.35);
    color: rgb(52, 84, 209);
}

body.publication-page .pub-badge.report {
    border-color: rgba(46, 125, 50, 0.35);
    color: rgb(46, 125, 50);
}

body.publication-page .pub-badge.thesis {
    border-color: rgba(123, 31, 162, 0.35);
    color: rgb(123, 31, 162);
}

body.publication-page .pub-badge.conference {
    border-color: rgba(245, 124, 0, 0.45);   /* warm amber */
    color: rgb(245, 124, 0);
}

/* Book / Book Chapter badge */
body.publication-page .pub-badge.book {
    border-color: rgba(140, 90, 40, 0.35);   /* warm academic brown */
    color: rgb(140, 90, 40);
}

.publication-card:hover .pub-badge {
    opacity: 1;
    transition-delay: 0.12s;
    color: #666;
}
body.publication-page .publication-card.is-visible:hover {
    --y-offset: -3px;
    box-shadow: 0 10px 26px rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0.14);
}



/* ==============================
   CONTACT PAGE
============================== */


body.contact-page .contact-intro{
      max-width:800px;
      margin:auto;
      margin-bottom:40px;
      color:#333;
    }

   body.contact-page .contact-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:40px;
    }

body.contact-page    .engagement-types ul{
      margin-top:15px;
      padding-left:20px;
      color:#444;
    }

  body.contact-page  label{
      font-weight:500;
      display:block;
      margin-bottom:6px;
      margin-top:15px;
    }

  body.contact-page select, body.contact-page input, body.contact-page textarea{
      width:100%;
      padding:12px;
      border:1px solid #ccc;
      font-family:inherit;
    }

   body.contact-page .note{
      font-size:14px;
      color:#666;
      margin-top:20px;
    }

    @media(max-width:800px){
      body.contact-page .contact-grid{
        grid-template-columns:1fr;
      }
    }

/* ==============================
   AJAX SEARCH
============================== */


.ajax-search-container {
    display: flex;
    justify-content: flex-end;
}
.ajax-search-wrapper {
    position: relative;
     width: 100%;
    max-width: 480px;
    margin-bottom: 10px;
    
	
}

.ajax-search-wrapper input{
	 width: 100%;
    height: 48px;
    padding: 0 44px 0 16px; /* right padding for spinner */
    font-size: 16px; /* prevents zoom on iOS */
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ajax-search-wrapper:focus {
    border-color: #000;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
}


.ajax-search-loader {
   position: absolute;
    right: 14px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid rgba(0,0,0,0.2);
    border-top: 2px solid #000;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}


.ajax-search-loader.active {
    opacity: 1;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 768px) {

    .ajax-search-wrapper {
        max-width: 100%;
    }

    .ajax-search-wrapper {
        height: 44px;
        font-size: 15px;
        padding: 0 40px 0 14px;
    }

    .ajax-search-loader {
        width: 14px;
        height: 14px;
        right: 12px;
    }
}