/* ============================================================
   INDIAN PG COUNCIL (IPGC) ROYAL BLUE & CRIMSON RED THEME
   Accurately replicates the signature IPGC aesthetic:
   Vibrant Deep Blue (#010066) + Crimson Red (#fe0000)
   with the iconic 175deg diagonal-split buttons and headers
   ============================================================ */
:root {
  /* Core Brand Colors */
  --primary-color: #010066;          /* Vibrant Deep Blue */
  --primary-dark: #00004d;           /* Deep Midnight Blue */
  --primary-light: #001a99;          /* Rich Royal Blue */
  --primary-color-rgb: 1, 0, 102;
  --accordion-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23010066'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

  --secondary-color: #fe0000;        /* Vibrant Crimson Red */
  --secondary-dark: #cc0000;         /* Dark Crimson */
  --secondary-light: #ff3333;        /* Bright Red */

  /* Highlights / Accent */
  --gold-color: #ffd700;             /* Shield Border Gold */
  --kdo-orange: #fe0000;             /* Primary Accent Red */
  --kdo-orange-alt: #ffd700;         /* Secondary Accent Gold */

  /* Navy brand mappings */
  --kdo-navy: #010066;
  --kdo-navy-dark: #00004d;
  --kdo-navy-deeper: #000033;
  --kdo-navy-deep: #00001a;
  --kdo-navy-mid: #001180;

  /* Supporter, progress & loader colors */
  --supporter-primary: #fe0000;
  --supporter-light: #ffd6d6;
  --ticker-border: #010066;
  --ticker-label-bg: #010066;
  --ticker-dot: #ffd700;

  /* Signature IPGC Corner-to-Corner Diagonal Split Gradients */
  --gradient-primary: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Crect width='100' height='100' fill='%23010066'/%3E%3Cpolygon points='0,100 100,0 100,100' fill='%23fe0000'/%3E%3C/svg%3E");
  --gradient-primary-reverse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Crect width='100' height='100' fill='%23010066'/%3E%3Cpolygon points='0,100 100,0 100,100' fill='%23fe0000'/%3E%3C/svg%3E");
  --gradient-primary-hover: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Crect width='100' height='100' fill='%23fe0000'/%3E%3Cpolygon points='0,100 100,0 100,100' fill='%23010066'/%3E%3C/svg%3E");
  --gradient-navbar: linear-gradient(135deg, #010066, #00004d);
  --gradient-footer: linear-gradient(135deg, #000022 0%, #000011 100%);
  --gradient-footer-cta: linear-gradient(135deg, #fe0000, #cc0000);
}

/* ── Top Brand Strip & News Ticker Bar (Red background + Navy Blue Label) ── */
.top-green-strip,
.news-ticker-bar {
  background: #fe0000 !important;
  border-top: 2px solid #010066 !important;
  border-bottom: 2px solid #010066 !important;
}

.ticker-label {
  background: #010066 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
}

.ticker-content a {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.ticker-item i {
  color: #ffd700 !important;
}

/* ── Top Header Section ── */
.main-title {
  color: #010066 !important;
  font-weight: 800 !important;
}

.subtitle {
  color: #fe0000 !important;
  font-weight: 700 !important;
}

.header-contact .contact-item i {
  color: #fe0000 !important;
}

.header-social-icons a {
  background: #fe0000 !important;
  color: #ffffff !important;
  box-shadow: 0 3px 8px rgba(254, 0, 0, 0.3) !important;
}

.header-social-icons a:hover {
  background: #010066 !important;
  transform: translateY(-2px);
}

/* ── Red Contact Ribbon Strip Below Header ── */
.header-bottom-bar {
  background: #fe0000 !important;
  color: #ffffff !important;
}

.quick-link-item i {
  color: #ffd700 !important;
}

/* ── Main Navigation Bar (Navy Blue with Crimson Red Bottom Border) ── */
.main-navbar-container {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1040 !important;
  background: #010066 !important;
  border-bottom: 3.5px solid #fe0000 !important;
  box-shadow: 0 4px 15px rgba(1, 0, 102, 0.35) !important;
}

.main-navbar-container .nav-link {
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}

.main-navbar-container .nav-link:hover,
.main-navbar-container .nav-link.active,
.main-navbar-container .dropdown:hover .nav-link,
.main-navbar-container .dropdown.show .nav-link {
  color: #ffd700 !important;
  background: rgba(254, 0, 0, 0.25) !important;
  transform: none !important;
  box-shadow: none !important;
  border-radius: 6px;
}

.main-navbar-container .dropdown-menu {
  border-top: 3px solid #fe0000 !important;
}

/* ── Signature IPGC Accurate Center Diagonal Split Headings ── */
.section-heading {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 40' preserveAspectRatio='none'%3E%3Crect width='1000' height='40' fill='%23010066'/%3E%3Cpolygon points='300,40 700,0 1000,0 1000,40' fill='%23fe0000'/%3E%3C/svg%3E") no-repeat center / 100% 100% !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
  text-align: center !important;
  box-shadow: 0 3px 10px rgba(1, 0, 102, 0.25) !important;
  overflow: hidden !important;
  font-size: clamp(0.95rem, 1.2vw, 1.25rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.section-heading span {
  background-color: #ffffff !important;
  color: #010066 !important;
  padding: 3px 14px !important;
  border-radius: 4px !important;
  font-weight: 800 !important;
  display: inline-block !important;
  border-bottom: 2.5px solid #fe0000 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  line-height: 1.35 !important;
}

/* ── Signature IPGC Accurate Corner-to-Corner Diagonal Split Action Buttons ── */
.btn-primary,
.btn-submit,
.btn-submit-grad,
.btn-donate,
.floating-btn-donate,
button[type="submit"]:not(.btn-close):not(.dropdown-toggle),
button[type="submit"].btn-primary,
.kdo-btn-navy,
.btn-navy,
.quick-action-btn,
.btn-action-diagonal,
.quick-action-buttons .btn,
.quick-action-buttons .btn-action,
.btn-action,
.view-all-btn,
.card-custom .view-all-btn,
.event-btn,
.upcoming-events-box + .text-center .event-btn,
.upcoming-events-box + .text-center .btn,
.events-list .btn,
.events-list a.btn,
.btn-orange,
.header-branding-bar a.btn,
.btn-donate-header {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Crect width='100' height='100' fill='%23010066'/%3E%3Cpolygon points='0,100 100,0 100,100' fill='%23fe0000'/%3E%3C/svg%3E") no-repeat center / 100% 100% !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(1, 0, 102, 0.3) !important;
  transition: all 0.25s ease !important;
}

.btn-primary:hover,
.btn-submit:hover,
.btn-submit-grad:hover,
.btn-donate:hover,
.floating-btn-donate:hover,
button[type="submit"]:not(.btn-close):not(.dropdown-toggle):hover,
button[type="submit"].btn-primary:hover,
.kdo-btn-navy:hover,
.btn-navy:hover,
.quick-action-btn:hover,
.btn-action-diagonal:hover,
.quick-action-buttons .btn:hover,
.quick-action-buttons .btn-action:hover,
.btn-action:hover,
.view-all-btn:hover,
.card-custom .view-all-btn:hover,
.event-btn:hover,
.upcoming-events-box + .text-center .event-btn:hover,
.upcoming-events-box + .text-center .btn:hover,
.events-list .btn:hover,
.events-list a.btn:hover,
.btn-orange:hover,
.header-branding-bar a.btn:hover,
.btn-donate-header:hover {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Crect width='100' height='100' fill='%23fe0000'/%3E%3Cpolygon points='0,100 100,0 100,100' fill='%23010066'/%3E%3C/svg%3E") no-repeat center / 100% 100% !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(254, 0, 0, 0.35) !important;
}

/* Ensure consistent button radius - eliminate all pill / round button overrides */
.btn.rounded-pill,
a.btn.rounded-pill,
button.rounded-pill,
.quick-action-buttons .btn,
.quick-action-buttons .btn-action {
  border-radius: 8px !important;
}

/* Quick action buttons mobile consistency - clean 2-column layout */
@media (max-width: 768px) {
  .quick-action-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin-bottom: 1.25rem !important;
  }
  
  .quick-action-buttons .btn,
  .quick-action-buttons .btn-action {
    width: 100% !important;
    font-size: 11px !important;
    padding: 8px 6px !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* 5th button (Crowdfunding) centered at equal 50% width */
  .quick-action-buttons .btn:last-child,
  .quick-action-buttons .btn-action:last-child {
    grid-column: 1 / -1 !important;
    width: calc(50% - 4px) !important;
    justify-self: center !important;
  }
}

/* Explicit full-width and 18px gap for view-all-btn */
.card-custom .view-all-btn,
.view-all-btn {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 10px 16px !important;
  margin-top: 18px !important;
  margin-bottom: 4px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

/* ── Events Page Badges & Cards Consistency ── */
.events-list .badge.bg-secondary {
  background-color: #010066 !important;
  border-radius: 6px !important;
}
.events-list .badge.bg-orange {
  background-color: #fe0000 !important;
  border-radius: 6px !important;
}
.events-list .past-event {
  opacity: 1 !important;
  filter: none !important;
}

/* ── Solid Card Headers (No Gradients) ── */
.card-header-ipgc,
.activity-card-header,
.events-card-header {
  background: #010066 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* ── Footer High-Contrast Styling ── */
.footer-links li a {
  color: #e2e8f0 !important;
}

.footer-links li a:hover {
  color: #ffffff !important;
}

.footer-links li a i,
.footer-links li i {
  color: #ffd700 !important; /* Bright Gold ensures 100% visibility against dark background */
}

.footer-text p {
  color: #cbd5e1 !important;
}

.footer-widget-heading h3 {
  color: #ffffff !important;
}

/* ── Mobile 3-Tier Header ── */
.mobile-tier-1 {
  background: #010066 !important;
}

.mobile-tier-2 .brand-title,
.mobile-tier-2 div[style*="color: #cc0000"] {
  color: #010066 !important;
}

.mobile-tier-3 {
  background: #fe0000 !important;
}

/* ── Objectives Card Underline Divider (Centered Blue-Red Gradient) ── */
.objective-card-body h5::after {
  content: '' !important;
  display: block !important;
  width: 36px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #010066, #fe0000) !important;
  border-radius: 3px !important;
  margin: 8px auto 0 auto !important;
}

/* -------------------------------------------------------------------------
   Floating Quick Contact Widget (WhatsApp & Call)
   ------------------------------------------------------------------------- */
.floating-contact-widget {
  position: fixed;
  bottom: 25px;
  left: 22px;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.floating-contact-btn {
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.floating-contact-btn i {
  color: #ffffff !important;
  line-height: 1;
  transition: transform 0.3s ease;
}

/* Call Button */
.floating-call-btn {
  background: linear-gradient(135deg, #010066 0%, #1a1a8c 100%) !important;
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
}

.floating-call-btn i {
  font-size: 20px;
}

.floating-call-btn:hover {
  background: linear-gradient(135deg, #fe0000 0%, #cc0000 100%) !important;
  transform: scale(1.12) translateY(-2px);
  box-shadow: 0 10px 24px rgba(254, 0, 0, 0.45);
}

.floating-call-btn:hover i {
  transform: rotate(15deg);
}

/* WhatsApp Button */
.floating-wa-btn {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
}

.floating-wa-btn i {
  font-size: 28px;
}

.floating-wa-btn:hover {
  background: linear-gradient(135deg, #1ebe5d 0%, #0d7367 100%) !important;
  transform: scale(1.12) translateY(-2px);
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.55);
}

.floating-wa-btn:hover i {
  transform: scale(1.08);
}

/* Pulse Ripple Animation for WhatsApp */
.wa-pulse-ring {
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border-radius: 50%;
  border: 2px solid #25D366;
  opacity: 0.8;
  animation: waPulse 2s infinite ease-out;
  pointer-events: none;
}

@keyframes waPulse {
  0% {
    transform: scale(0.95);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.22);
    opacity: 0;
  }
  100% {
    transform: scale(0.95);
    opacity: 0;
  }
}

/* Tooltip Badge on Hover */
.contact-tooltip {
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(-8px);
  background: #111827;
  color: #ffffff !important;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 8px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  font-family: 'Poppins', sans-serif;
  z-index: 1051;
}

.contact-tooltip::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-width: 5px;
  border-style: solid;
  border-color: transparent #111827 transparent transparent;
}

.floating-contact-btn:hover .contact-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .floating-contact-widget {
    bottom: 20px;
    left: 14px;
    gap: 10px;
  }
  .floating-contact-btn {
    width: 48px;
    height: 48px;
  }
  .floating-contact-btn i {
    font-size: 22px;
  }
  .floating-call-btn i {
    font-size: 19px;
  }
  .floating-wa-btn i {
    font-size: 25px;
  }
  .contact-tooltip {
    display: none !important;
  }
}


