.doc-icon {
    width: 44px;
    height: 52px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  
  .doc-icon.pdf {
    background: #fff0f0;
    color: #c0392b;
    border: 1.5px solid #f5c6c6;
  }
  
  .doc-icon.docx {
    background: #e8f0fe;
    color: #1a5fc5;
    border: 1.5px solid #c5d7f5;
  }
  
  .doc-date {
    font-size: 0.75rem;
    color: #5a6070;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  
  /* download button */
  .doc-download {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #1a2a6b;
    padding: 5px 12px;
    border-radius: 6px;
    background: #f7f8fc;
    border: 1.5px solid #dde3f0;
    transition: all 0.18s;
    text-decoration: none;
  }
  
  .doc-download:hover {
    background: #1a2a6b;
    color: #ffffff;
    border-color: #1a2a6b;
  }
  
  /* Make header and navigation truly full width */
  .site-header {
      position: fixed;    /* Keeps header fixed at top while scrolling */
      width: 100%;        /* Full width of viewport */
      top: 0;
      left: 0;
      z-index: 999;       /* Ensures header stays above other content */
      box-shadow: 0 2px 5px rgba(0,0,0,0.1);  
      transition: box-shadow 0.3s ease; 
  }
  
  /* Add class for enhanced shadow when scrolled */
  .site-header.scrolled {
      box-shadow: 0 0px 20px rgba(0,0,0,0.4);  /* Enhanced shadow when scrolled */
  }
  
  /* Add padding to body to prevent content from hiding under fixed header */
  body {
      padding-top: 20px;  /* Creates space below fixed header */
  }
  
  /* Adjusts header position when WordPress admin bar is present */
  .admin-bar .site-header {
      top: 32px;  /* Matches WordPress admin bar height */
  }
  
  /* Controls the inner header content spacing */
  .inside-header {
      padding: 0.75rem 1rem !important;  
  }
  
  /* Sets up the main navigation container */
  .main-navigation {
      width: 100%;
      max-width: 100% !important;  
  }
  
  /* Styles the primary menu container */
  #primary-menu {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: flex-end;  
      gap: 1.5rem; 
  }
  
/* Styles the primary menu items */
.main-navigation .main-nav ul li a {
    position: relative !important;
    transition: all 0.2s ease !important;
    font-size: 1.14rem !important; 
    font-weight: 500 !important;  
}

/* Keep primary nav links sized to their text so underline matches word width */
.main-navigation .main-nav > ul > li > a {
    display: inline-flex !important;
    width: fit-content !important;
}
  
  /* Main navigation bar items underline effect */
  .main-navigation .main-nav > ul > li > a::after {
      content: '' !important;
      position: absolute !important;
      width: 0 !important;
      height: 3px !important;
      bottom: 12px !important;
      left: 50% !important;
      background-color: var(--color-secondary-2) !important;
      transform: translateX(-50%) !important;
      transition: width 0.3s ease !important;
  }
  
  /* Show underline on hover for main nav items except last */
  .main-navigation .main-nav > ul > li:not(:last-child):hover > a::after {
      width: 70% !important;
  }
  
  /* Remove underline from main nav last item */
  .main-navigation .main-nav > ul > li:last-child > a::after {
      display: none !important;
  }
  
  /* Styles the last menu item as a button - only main nav, not dropdowns */
  .main-navigation .main-nav > ul > li:last-child > a,
  #primary-menu .main-nav > ul > li:last-child > a {
      color: var(--color-white) !important;  
      background-color: var(--color-secondary-2); 
      border-radius: 8px;
      padding: 0px 20px;
      transition: all 0.3s ease;
      position: relative;
  }
  
  /* Bounce Animation */
  @keyframes bounce {
      0%, 100% { 
          transform: translateY(0);
      }
      50% { 
          transform: translateY(-6px);
      }
  }
  
  /* Apply bounce on hover - only main nav, not dropdowns */
  .main-navigation .main-nav > ul > li:last-child > a:hover,
  #primary-menu .main-nav > ul > li:last-child > a:hover {
      animation: bounce 0.6s cubic-bezier(0.36, 0, 0.66, -0.56) both;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      color: var(--color-white) !important;
  }
  
  /* Remove previous hover effects */
  .main-navigation .main-nav > ul > li:last-child a::before {
      display: none;
  }
  
  /* Override focus state for blue button - very specific selectors */
  #menu-item-39 a:focus,
  #menu-item-39 a:focus-visible,
  #menu-item-39 a:active,
  li#menu-item-39 a:focus,
  li#menu-item-39 a:focus-visible,
  li#menu-item-39 a:active,
  .menu-item-39 a:focus,
  .menu-item-39 a:focus-visible,
  .menu-item-39 a:active,
  .main-navigation .main-nav > ul > li:last-child > a:focus,
  .main-navigation .main-nav > ul > li:last-child > a:focus-visible,
  .main-navigation .main-nav > ul > li:last-child > a:active {
      color: var(--color-white) !important;
      outline: 2px solid var(--color-white) !important;
      outline-offset: 2px !important;
  }
  
  /* Respect motion preferences */
  @media (prefers-reduced-motion: reduce) {
      .main-navigation .main-nav > ul > li:last-child a:hover {
          animation: none;
          transform: none;
      }
  }
  
  /* Logo styling */
  .site-logo img {
      border-radius: 12px; 
      transition: all 0.3s ease;  
      max-height: 100px !important;  
      width: auto !important; 
  }
  
  /* Logo hover effects */
  .site-logo img:hover {
      transform: scale(1.05);  
      box-shadow: 0 4px 15px rgba(0,0,0,0.7);  
  }
  
  /* Styles for secondary navigation buttons */
  .sub-nav-button {
      border-radius: 4px !important;
      padding: 8px 15px !important;
      transition: all 0.2s ease !important; 
  }
  
  /* Dropdown menu container styling */
  .main-navigation .sub-menu {
      border-radius: 8px !important;
      box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
      padding: 2px !important;
      min-width: 300px !important;
      
      /* Modern dropdown animation */
      opacity: 0 !important;
      transform: translateY(-5px) !important;
      transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
      pointer-events: none !important;
  }
  
  /* Dropdown items underline effect */
  .main-navigation .sub-menu li a::after {
      content: '' !important;
      position: absolute !important;
      width: 0 !important;
      height: 3px !important;
      bottom: 6px !important;
      left: 50% !important;
      background-color: var(--color-secondary-2) !important;
      transform: translateX(-50%) !important;
      transition: width 0.3s ease !important;
  }
  
  /* Show underline on hover for ALL dropdown items */
  .main-navigation .sub-menu li:hover > a::after {
      width: 70% !important;
  }
  
  /* Hover animation for sub-menu items */
  .main-navigation .sub-menu li a:hover {       
      transform: translateX(3px) !important;         
  }
  
  /* Show dropdown on hover */
  .main-navigation li.menu-item-has-children:hover > .sub-menu {
      opacity: 1 !important;
      transform: translateY(0) !important;
      pointer-events: auto !important;
  }
  
  /* Individual dropdown menu item container */
  .main-navigation .sub-menu li {
      background: none !important;  /* Removes default background */
      padding: 0 !important;  /* Removes default padding */
  }
  
/* Dropdown menu item link styling */
.main-navigation .sub-menu li a,
.main-navigation .main-nav .sub-menu li a,
#primary-menu .sub-menu li a {
    padding: 10px 16px !important;
    background: none !important;
    transition: all 0.2s ease !important;
    border-radius: 6px !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
}
  
/* Responsive adjustments for mobile devices */
@media (max-width: 768px) {
    .inside-header {
        padding: 0.5rem 1rem !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    /* LOGO SIZE: Change max-height to resize the logo (e.g. 60px, 80px, 100px) */
    .site-logo img {
        max-height: 70px !important;
    }

    /* HAMBURGER BUTTON SIZE: Change font-size to resize the icon (e.g. 0.8rem, 1rem, 1.5rem) */
    /* Change padding to adjust spacing around the icon (e.g. 3px, 5px, 10px) */
    .menu-toggle,
    .mobile-menu-control-wrapper {
        order: 2 !important;
        margin: 0 !important;
        padding: 5px !important;
        font-size: 1.5rem !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .menu-toggle .screen-reader-text {
        clip: rect(0, 0, 0, 0) !important;
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
    }

    .site-logo,
    .site-branding {
        order: 1 !important;
        margin: 0 !important;
    }

    /* Hide mobile nav by default, show only when toggled */
    #site-navigation,
    nav.main-navigation#site-navigation {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
        border-radius: 0 0 12px 12px !important;
        transform: none !important;
        z-index: 999 !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    /* Show nav when toggled open */
    #site-navigation.toggled,
    nav.main-navigation#site-navigation.toggled {
        height: auto !important;
        max-height: 80vh !important;
        overflow-y: auto !important;
        box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
    }

    .inside-navigation {
        padding: 0.5rem 1rem !important;
        margin: 0 !important;
    }

    #primary-menu {
        flex-direction: column !important;  
        gap: 0.5rem !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        padding-bottom: 1.5rem !important;
    }
    
    .main-navigation .main-nav > ul > li > a {
        width: fit-content !important;
        text-align: center !important;
    }

    .main-navigation .main-nav > ul > li {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .main-navigation .main-nav > ul > li:last-child > a {
        margin-bottom: 1rem !important;
    }

    /* Kill ALL hover-based underlines and effects on mobile (no mouse) */
    .main-navigation .main-nav > ul > li:hover > a::after,
    .main-navigation .sub-menu li:hover > a::after {
        width: 0 !important;
    }

    .main-navigation .sub-menu li a:hover {
        transform: none !important;
    }

    /* Make underline appear instantly on :active (tap) since taps are brief */
    .main-navigation .main-nav > ul > li > a::after,
    .main-navigation .sub-menu li a::after {
        transition: none !important;
    }

    /* Show underline on tap for main nav items */
    .main-navigation .main-nav > ul > li:not(:last-child):active > a::after,
    .main-navigation .main-nav > ul > li:not(:last-child) > a:active::after {
        width: 70% !important;
    }

    /* Show underline on tap for dropdown items */
    .main-navigation .sub-menu li:active > a::after,
    .main-navigation .sub-menu li > a:active::after {
        width: 70% !important;
    }

    .main-navigation .sub-menu li a:active {
        transform: translateX(3px) !important;
    }
}
  
  /* Current page navigation styling */
  .main-navigation .main-nav > ul > li.current-menu-item > a,
  .main-navigation .main-nav > ul > li.current_page_item > a {
      color: var(--color-secondary-2) !important;  /* Use your blue accent color */
  }
  
  /* Add permanent underline for current page */
  .main-navigation .main-nav > ul > li.current-menu-item > a::after,
  .main-navigation .main-nav > ul > li.current_page_item > a::after {
      width: 70% !important;  /* Match your hover state width */
      opacity: 1 !important;
  }
  
  /* Current page in sub-menu */
  .main-navigation .sub-menu li.current-menu-item > a,
  .main-navigation .sub-menu li.current_page_item > a {
      color: var(--color-secondary-2) !important;
      transform: translateX(3px) !important;
  }
  
  /* Add permanent underline for current sub-menu items */
  .main-navigation .sub-menu li.current-menu-item > a::after,
  .main-navigation .sub-menu li.current_page_item > a::after {
      width: 70% !important;
      opacity: 1 !important;
  }
  
  
  /* Exclude the button (last item) from current page styling */
  .main-navigation .main-nav > ul > li.current-menu-item:last-child > a,
  .main-navigation .main-nav > ul > li.current_page_item:last-child > a {
      color: var(--color-white) !important;
  }
  
  .main-navigation .main-nav > ul > li.current-menu-item:last-child > a::after,
  .main-navigation .main-nav > ul > li.current_page_item:last-child > a::after {
      display: none !important;
  }
  
  
  /* Add permanent underline to parent when sub-menu item is current */
  .main-navigation .main-nav > ul > li.current-menu-parent > a::after,
  .main-navigation .main-nav > ul > li.current-menu-ancestor > a::after {
      width: 70% !important;
      opacity: 1 !important;
  }
  
  /* Footer Pattern Adjustments */
  .footer-pattern {
      margin: 0 !important;
      padding: 0 !important;
  }
  
  .footer-pattern .gb-container {
      margin: 0 !important;
      padding: 1rem !important;
  }
  
  .footer-pattern .gb-inside-container {
      padding: 0 !important;
      margin: 0 !important;
  }
  
  /* Footer Spacing Fixes */
  .site-footer {
      padding: 0 !important;
      margin: 0 !important;
  }
  
  .site-footer .gb-container {
      padding: 0 !important;
      margin: 0 !important;
  }
  
  .site-footer .gb-inside-container {
      padding: 0 !important;
      margin: 0 !important;
  }
  
  .footer-bar-active .footer-bar {
      margin: 0 !important;
      padding: 0 !important;
  }
  
  .wp-block-group.alignfull {
      margin: 0 !important;
      padding: 0 !important;
  }
  
  /* Exclude the button styling if it happens to be a parent of current item */
  .main-navigation .main-nav > ul > li.current-menu-parent:last-child > a,
  .main-navigation .main-nav > ul > li.current-menu-ancestor:last-child > a {
      color: var(--color-white) !important;
  }
  
  .main-navigation .main-nav > ul > li.current-menu-parent:last-child > a::after,
  .main-navigation .main-nav > ul > li.current-menu-ancestor:last-child > a::after {
      display: none !important;
  }
  
  /* Separator styling */
  .wp-block-separator.has-text-color.has-color-primary-1-color.has-alpha-channel-opacity {
      margin-left: auto !important;
      margin-right: auto !important;
      opacity: 1.0 !important;
      border: none !important;
      border-top: 2px solid currentColor !important;
      margin-top: 2rem !important;
      margin-bottom: 2rem !important;
  }
  
  /* Hero title wrapper styling */
  .hero-title-wrap {
      position: relative !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      padding-top: 2.2rem !important;
      gap: 1rem !important;
  }
  
  /* Hero background word styling */
  .hero-bgword {
      opacity: 0.1 !important;
      z-index: 1 !important;
      position: absolute !important;
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
      font-size: 8rem !important;
      font-weight: 700 !important;
  }
  
  /* Hero title text styling */
  .hero-title-wrap .reveal-text {
      z-index: 10 !important;
      position: relative !important;
  }
  
  /* Ensure headline underline appears below the text */
  .hero-title-wrap .headline-underline {
      z-index: 5 !important;
      position: relative !important;
      margin-top: 0 !important;
      align-self: center !important;
  }
  
  .headline-underline { 
      display: block;
      height: 6px;
      width: 90%;
      background: linear-gradient(90deg, #3b7d3b 60%, #b2d8b2 100%);
      border-radius: 3px;
      margin-top: 8px;
      margin-left: 0;
      transform: scaleX(0);
      transform-origin: left;
      animation: underlineGrow 0.5s cubic-bezier(.4,0,.2,1) 0.7s forwards;
    }
  
/* Mobile-specific adjustments */
/* MOBILE BODY PADDING: Adjust this to match header height (e.g. 50px, 60px, 75px) */
@media (max-width: 768px) {
    body {
        padding-top: 0px;
    }
    
    .admin-bar .site-header {
        top: 0px;
    }
    
    .site-header {
        top: 0;
        padding-top: 0;
    }
      
          .hero-bgword {
              opacity: 0.1 !important;
              z-index: 1 !important;
              position: absolute !important;
              top: 50% !important;
              left: 50% !important;
              transform: translate(-50%, -50%) !important;
              font-size: 6.7rem !important;
              font-weight: 700 !important;
      }
      
          .hero-title-wrap {
              position: relative !important;
              display: flex !important;
              flex-direction: column !important;
              align-items: center !important;
              padding-top: 2.2rem !important;
              gap: 1rem !important;
              font-size: 1rem !important;
      }
  }
  
  .calendar-embed {
      position: relative !important;
      width: 90% !important;
      padding-top: 66.67% !important; /* Maintain 3:2 aspect ratio */
      height: 0 !important;
      overflow: hidden !important;
  }
  
  .calendar-embed iframe {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 90% !important;
      height: 90% !important;
      border: 0 !important;
  }
  
  .paypal-donate-btn {
    background: #ffd341;
    transition: background 0.3s ease;
  }
  
  .paypal-donate-btn:hover {
    background: #ffc439;
  }