/* ========================================
   TOP HEADER BAR - White text on blue background
   ======================================== */

/* Override the blue color on header icons - MAXIMUM SPECIFICITY */
.elementor-element.elementor-element-432a613f .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon,
.elementor-element.elementor-element-432a613f .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg,
.elementor-element.elementor-element-432a613f .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Header text - white */
.elementor-element.elementor-element-432a613f .elementor-icon-list-text,
.elementor-element.elementor-element-432a613f .elementor-icon-list-text *,
.elementor-element.elementor-element-432a613f span,
.elementor-element.elementor-element-432a613f p {
    color: #ffffff !important;
}

/* Header links - white */
.elementor-element.elementor-element-432a613f a,
.elementor-element.elementor-element-432a613f a:link,
.elementor-element.elementor-element-432a613f a:visited,
.elementor-element.elementor-element-432a613f a:hover,
.elementor-element.elementor-element-432a613f a:active,
.elementor-element.elementor-element-432a613f a[href^="mailto:"],
.elementor-element.elementor-element-432a613f a[href^="tel:"] {
    color: #ffffff !important;
}

/* FIX DROPDOWN MENU DISPLAY - Make it visible on hover with professional styling */
.elementor-nav-menu li:hover > ul.sub-menu,
.elementor-nav-menu li:hover > .elementor-nav-menu--dropdown,
.elementor-nav-menu .menu-item-has-children:hover > ul.sub-menu,
.elementor-nav-menu .menu-item-has-children:hover > .elementor-nav-menu--dropdown,
ul.sub-menu:hover,
.elementor-nav-menu--dropdown:hover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure dropdown stays visible when hovering over it */
.elementor-nav-menu .menu-item-has-children:hover > .elementor-nav-menu--dropdown,
.elementor-nav-menu .menu-item-has-children > .elementor-nav-menu--dropdown:hover {
    display: block !important;
}

/* Professional dropdown styling - match original design */
.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--dropdown,
.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--main .elementor-nav-menu--dropdown,
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    background-color: #ffffff !important;
    box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.1) !important;
    border-radius: 0 !important;
}

/* Fix dropdown positioning - remove gap and align properly */
.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown,
.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    margin-top: 0 !important;
    top: 100% !important;
}

/* Ensure proper width alignment */
.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--dropdown {
    min-width: 220px !important;
    left: 0 !important;
}

.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--dropdown a,
.elementor-nav-menu--dropdown a.elementor-sub-item {
    color: #16163f !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px !important;
    background-color: transparent !important;
}

.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--dropdown a:hover,
.elementor-87 .elementor-element-52c4e85f .elementor-nav-menu--dropdown a:focus,
.elementor-nav-menu--dropdown a.elementor-sub-item:hover {
    color: #165DFB !important;
    background-color: transparent !important;
}

/* Email text color in footer */
footer a[href^="mailto:"] {
    color: #aeb4bd !important;
}

/* ========================================
   ICON FIX - Force SVG icons to display
   ======================================== */

/* Force icon containers to have explicit color */
.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon {
    color: #0066cc !important;
}

/* Force all icon SVGs and paths to use currentColor */
.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg.e-font-icon-svg {
    fill: currentColor !important;
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
}

.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg.e-font-icon-svg path {
    fill: currentColor !important;
}

/* Icon boxes */
.elementor-widget-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon {
    color: #0066cc !important;
}

.elementor-widget-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon svg {
    fill: currentColor !important;
}

.elementor-widget-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon svg path {
    fill: currentColor !important;
}

/* General elementor icons */
.elementor-icon {
    color: inherit !important;
}

.elementor-icon svg,
.elementor-icon .e-font-icon-svg {
    fill: currentColor !important;
}

.elementor-icon svg path,
.elementor-icon .e-font-icon-svg path {
    fill: currentColor !important;
}

/* Social icons - white fill */
.elementor-social-icons .elementor-social-icon {
    color: #fff !important;
}

.elementor-social-icons .elementor-social-icon svg {
    fill: #fff !important;
}

.elementor-social-icons .elementor-social-icon svg path {
    fill: #fff !important;
}

/* Navigation menu icons */
.elementor-nav-menu svg {
    fill: currentColor !important;
}

.elementor-nav-menu svg path {
    fill: currentColor !important;
}

/* Search icons */
.elementor-search-form svg {
    fill: currentColor !important;
}

.elementor-search-form svg path {
    fill: currentColor !important;
}

/* Fallback - any SVG with e-font-icon-svg class */
svg.e-font-icon-svg {
    fill: currentColor !important;
    display: inline-block !important;
}

svg.e-font-icon-svg path {
    fill: currentColor !important;
}

/* Ensure containers are visible */
.e-font-icon-svg-container {
    display: inline-flex !important;
}

/* ========================================
   HUGE ICONS FIX - Accordion arrows
   ======================================== */

/* Ensure Huge Icons font loads correctly */
@font-face {
    font-family: "Huge Icons";
    src: url(https://www.cybergrantsalliance.org/wp-content/plugins/happy-elementor-addons/assets/fonts/huge-icons/huge-icons.woff2) format("woff2"),
         url(https://www.cybergrantsalliance.org/wp-content/plugins/happy-elementor-addons/assets/fonts/huge-icons/huge-icons.woff) format("woff"),
         url(https://www.cybergrantsalliance.org/wp-content/plugins/happy-elementor-addons/assets/fonts/huge-icons/huge-icons.svg#huge-icons) format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Apply Huge Icons font to elements */
i.huge,
.huge {
    font-family: "Huge Icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    display: inline-block !important;
}

/* Accordion icon visibility */
.e-n-accordion-item-title-icon i.huge {
    visibility: visible !important;
    opacity: 1 !important;
    color: currentColor !important;
}

/* ========================================
   HAPPY ICONS FIX - Thunder and Shield icons
   ======================================== */

/* Ensure Happy Icons font loads correctly */
@font-face {
    font-family: "Happy Icons";
    src: url(https://www.cybergrantsalliance.org/wp-content/plugins/happy-elementor-addons/assets/fonts/happy-icons.woff2) format("woff2"),
         url(https://www.cybergrantsalliance.org/wp-content/plugins/happy-elementor-addons/assets/fonts/happy-icons.woff) format("woff"),
         url(https://www.cybergrantsalliance.org/wp-content/plugins/happy-elementor-addons/assets/fonts/happy-icons.svg#happy-icons) format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Apply Happy Icons font to elements */
i.hm,
.hm {
    font-family: "Happy Icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    display: inline-block !important;
    speak: none !important;
}

/* Happy icon visibility */
i.hm {
    visibility: visible !important;
    opacity: 1 !important;
    color: currentColor !important;
}
