/*
Theme Name:   Hello elementor  Child
Description:  A child theme for the Hello elemenor theme
Author:       Invuse
Author URI:   https://example.com
Template:     hello-elementor
Version:      1.0.0
*/

/* Import parent theme styles */
@import url("../hello-elementor/style.css");

/* Initially show the descriptions for testing */
.comd-menu-description {
    display: none; /* Hide description initially */
    position: relative; /* Position relative to the parent */
    margin-top: 20px; /* Space between the menu item and the description */
    font-size: 12px;
    color: #555;
    opacity: 1; /* Keep visible for testing */
    transition: opacity 0.3s ease, transform 0.3s ease;
    text-align: left;
}

/* Set the fixed width for the menu item with padding */
#comd-desktop-nav .menu-item {
    display: inline-block;
    position: relative;
    width: auto; /* Initially auto width */
    box-sizing: border-box; /* Include padding in width calculation */
    overflow: hidden; /* Prevent overflow */
    opacity: 1;
    padding: 16px;
    transition: background-color 0.3s ease; /* Transition for background change */
}

/* Background color change on hover of the anchor */
#comd-desktop-nav  .menu-item:hover {
    background-color: #F3F3F3; /* Set background color when hovering over the menu item */
    border-radius: 4px;
}

/* Ensure the width of the active item is the same as the hover width */
#comd-desktop-nav .current-menu-item {
    background-color: var(--e-global-color-primary); /* Same as hover effect */
    border-radius: 4px;
    width: 182px; /* Ensure it's not expanded */
    padding: 16px; /* Same as hover state */
    color: var(--e-global-color-accent);
}


/* Ensure descriptions stay visible on the active menu item */
#comd-desktop-nav .current-menu-item .comd-menu-description {
    display: block;
    font-size: 12px;
    color: var(--e-global-color-accent);
}

/* Underline expansion effect for current item (matching hover effect) */
#comd-desktop-nav .current-menu-item .hfe-menu-item:hover::after {
    width: 100%;
    opacity: 1;
}

#comd-desktop-nav .current-menu-item a.hfe-menu-item {
    color: var(--e-global-color-accent);
}


/* Underline expansion effect for current item (matching hover effect) */
#comd-desktop-nav .current-menu-item .hfe-menu-item:hover::after {
    width: 100%;

    background-color: var(--e-global-color-accent);
    opacity: 1;
}

/* Show description on hover */
#comd-desktop-nav  .menu-item:hover .comd-menu-description {
    display: block;
    transform: translateY(0); /* Animate the description from below */
}



/* Underline effect for menu links */
.menu-item .hfe-menu-item {
    position: relative; /* Ensure the anchor has a position relative for proper positioning of the pseudo-element */
}

/* Underline pseudo-element */
#comd-desktop-nav .menu-item .hfe-menu-item::after {
    content: "";
    position: absolute;
    bottom: -10px; /* Position underline directly below the anchor */
    left: 0;
    width: 0; /* Initially set the width to 0 */
    height: 1px;
    background-color: #1a73e8;
    transform-origin: bottom left;
    transition: width 0.3s ease-out;
    opacity: 0; /* Initially hide the underline */
    margin-top: 5px;
}

/* Apply hover effect to the current menu item as well */
#comd-desktop-nav .current-menu-item .hfe-menu-item::after {
    width: 100%; /* Full underline for active item */
    opacity: 1; /* Make the underline visible */
    content: "";
    position: absolute;
    bottom: -10px; /* Position underline directly below the anchor */
    left: 0;
    height: 1px;
    background-color: var(--e-global-color-accent);
    opacity: 1; /* Initially hide the underline */
    margin-top: 5px;
}


/* Underline expands when hovering over the link */
#comd-desktop-nav .menu-item .hfe-menu-item:hover::after,
#comd-desktop-nav .menu-item:hover .hfe-menu-item::after  {
    width: 100%; /* Underline expands to full width of the link */
    opacity: 1; /* Make the underline visible */
}

#comd-desktop-nav .menu-item:hover a.hfe-menu-item {
    color: var(--e-global-color-primary)
}

#comd-desktop-nav .current-menu-item:hover a.hfe-menu-item {
    color: var(--e-global-color-accent)
}


#comd-footer a.hfe-menu-item:hover {
    text-decoration: underline;
}

/* Ensures the description stays below the menu item without resizing the item */
#comd-desktop-nav .menu-item:hover {
    animation: bounceWidth 0.5s ease-out forwards; /* Apply the animation */
    cursor: pointer;
}

/* Remove bounceWidth animation for the active item */
#comd-desktop-nav .current-menu-item:hover {
    animation: none; /* Remove bounce effect */
    background-color: var(--e-global-color-primary);
}


/* Animation keyframes for the width effect */
@keyframes bounceWidth {
    0% {
        width: 182px; /* Start at normal width */
    }
    90% {
        width: 190px; /* Expand to 182px */
        opacity: 1;
        animation-timing-function: ease-out; /* Apply ease-out to this range */
    }
    95% {
        width: 182px; /* Shrink back to original width (150px) */
    }
    100% {
        width: 182px; /* Expand back to 182px */
        animation-timing-function: ease-in; /* Apply ease-in to the final expansion */
    }
}

#comd-desktop-nav .hfe-nav-menu {
    margin-right: 0px;
    text-align: center;
}

#comd-desktop-nav .hfe-nav-menu__layout-horizontal {
    justify-content: center;
}

/* For mobile and tablet (Max Width 768px) */
@media (max-width: 1024px) {
    /* Ensure the description is always visible and no transitions */
    .menu-item .comd-menu-description {
        display: block !important; /* Force description to display on mobile */
        opacity: 1 !important; /* Ensure it is visible */
        margin-top: 10px; /* Adjust margin if needed */
        font-size: 14px; /* Adjust font size if necessary */
        text-align: left !important; /* Make sure text is aligned correctly */
    }

    /* Ensure menu item is full width on smaller screens */
    .menu-item {
        width: 100% !important; /* Take full width on mobile/tablet */
        padding: 0px;
    }

    /* Remove hover effects for mobile/tablet */
    #comd-desktop-nav  .menu-item:hover {
        background-color: #F3F3F3 !important; /* Keep background change */
        animation: none !important; /* Disable animation on hover */
    }

    /* Ensure the underline effect is visible for mobile */
    #comd-desktop-nav .menu-item .hfe-menu-item::after {
        width: 100% !important;
        opacity: 1 !important;
    }

    .hfe-nav-menu__layout-horizontal {
        padding-left: 68px;
        padding-right: 68px;
    }

    #comd-desktop-nav .menu-item .hfe-menu-item {
        padding: 0px;
    }
}

.comd-contact-label {
    font-family: Helvetica;
    font-weight: 700;
    font-size: 16px;
    color: var(--e-global-color-text);
}

.comd-contact-value {
    font-family: Helvetica;
    font-weight: 400;
    font-size: 14px;
    color: #8793A1;
}

.comd-contact-text {
    font-family: Helvetica;
    font-weight: 400;
    font-size: 18px;
    color: var(--e-global-color-text);
}


#comd-down-arrow a.elementor-icon:hover svg {
    transform: scale(1.25);  /* Scale the icon to 125% (1.25 times) */
    transform-origin: top center; /* Set the scaling origin to the top center */
    transition: transform 0.3s ease; /* Smooth transition */
}

/* News */

.comd-publish-value {
    font-weight: 700;
    font-size: 16px;
    color: var(--e-global-color-text);
}

.comd-read-time-value {
    font-weight: 700;
    font-size: 16px;
    color: var(--e-global-color-text);
}

.page-content .custom-breadcrumb .breadcrumb-home a:hover, .page-content .custom-breadcrumb .breadcrumb-whats-new a:hover {
    color: var(--e-global-color-text);
    text-decoration: underline;
}

.custom-breadcrumb .breadcrumb-title {
    color: #8793A1;
}


/* .page-content .news-grid a:hover {
    text-decoration: underline;
} */

.page-content .news-grid a {
    text-decoration: none;
}


.miga_custom_posts_content h3 {
    font-family: Merriweather;
    font-weight: 700;
    font-style: italic;
    font-size: 26px;
    line-height: 100%;
    letter-spacing: 0%;
    color: var(--e-global-color-primary);
    position: relative; /* Ensure h3 is the context for the absolute positioning */
    padding-left: 110px; /* Adjust this based on SVG size */
}

.miga_custom_posts_content h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%; /* Center the SVG vertically */
    transform: translateY(-50%); /* Adjust position better */
    width: 68px; /* Increase width if needed */
    height: 118px; /* Increase height if needed */
    background: url('/wp-content/uploads/2025/03/blue-paragraph-quote.svg') no-repeat center center;
    background-size: contain;
    z-index: -1; /* Position the SVG behind the text */
}

/* First sticky menu style */
.desktop-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    padding: 10px 0; /* Adjust padding as needed */

}

/* Hide the header on the checkout page */
.woocommerce-checkout header, .woocommerce-checkout footer, .woocommerce-checkout .entry-title {
    display: none !important;
}

.woocommerce-checkout .woocommerce {
    padding: 20px;
}

/*Checkout Stepper*/

.woocommerce-checkout .stepper {
    display: flex;
    align-items: center;
    width: 686px;
    font-family: Arial, sans-serif;
       margin-bottom: 48px;
}

.woocommerce-checkout .step {
  display: flex;
  align-items: center;
  color: #333;
  font-size: 16px;
}

.woocommerce-checkout .step-number {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #1C6EE8; /* Blue border for active step */
  color: #1d4ed8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin-right: 16px;
}

.woocommerce-checkout .step.active .step-number {
  background-color: #1C6EE8;
  color: #fff;
}

.woocommerce-checkout .step-text {
  margin-right: 16px;
}

.woocommerce-checkout .step.active .step-text {
  color: #1C6EE8;
}

.woocommerce-checkout .step-separator {
  flex-grow: 1;
  height: 2px;
  background-color: #ccc;
  margin-right: 16px;
  width: 23px;
}

.woocommerce-checkout .active + .step-separator {
  background-color: #1d4ed8;
}

/* Second sticky menu style */
.container .tablinks.is-sticky{
    position: fixed;
    top: 48px; /* Make it stick directly below the first menu */
    width: 100%;
    z-index: 99;
    background-color: var(--e-global-color-accent);;
}

/* Second sticky menu style */
#comd-about-us-acc.is-sticky{
    position: fixed;
    top: 149px; /* Make it stick directly below the first menu */
    width: 100%;
    z-index: 999;
    background-color: var(--e-global-color-accent);;
}


/* Adjust body padding to respect sticky menus on non-mobile devices */
@media (min-width: 767px) {
    body {
        padding-top: 148px; /* Initial padding before scrolling */
    }
}



body.woocommerce-checkout{
    padding-top: 0px !important;
}

/* Footer */

.comd-newsletter .newsletter-button {
    position: relative;
    width: 209px;
    height: 56px;
    border: none;
}

.comd-newsletter .newsletter-button:hover {
    position: relative;
    width: 209px;
    height: 56px;
}
.comd-newsletter .submit-newsletter, .comd-newsletter [type=submit]:focus {
    position: relative;
    width: 209px;
    width: 209px;
    height: 56px;
    padding-top: 16px;
    padding-right: 24px;
    padding-bottom: 16px;
    padding-left: 16px;
    gap: 12px;
    border-radius: 4px;
    border: none;
    background: var(--White, #FAFAFA);
    color:var(--Text-Dark, #0D1E3A);
    font-family: Helvetica;
    font-weight: 700;
    font-size: 15px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: right;

}

.comd-newsletter .newsletter-button:hover {
    background: #FAFAFA;
    border-radius: 4px;
    color:var(--Text-Dark, #0D1E3A);

}

.comd-newsletter .newsletter-button:hover img {
    transform: scale(1.2);
}


.comd-newsletter .submit-newsletter:hover {
    background: #3D5EFF1A;
    color:var(--Text-Dark, #0D1E3A);

}

.comd-newsletter #email {
    width: 1039px;
    height: 56px;
    gap: 10px;
    border-radius: 4px;
    border-width: 1px;
    padding: 16px;
    padding-left: 50px;
    border: 1px solid var(--White, #FAFAFA);
    color: #FAFAFA;
    background: #FFFFFF1A;
    font-family: Helvetica;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
}

.comd-newsletter .line1fields img, .comd-newsletter .newsletter-button img {
    position: absolute;
    top:20px;
    left: 18px;
    z-index: 2;
}

.comd-newsletter #email::placeholder {
    color: #FAFAFA;
}

.elementor-button-text {
    color: #FAFAFA
}

.elementor-button-icon {
    line-height: 1;
}

.comd-newsletter #email:focus-visible {
    border: 1px solid var(--White, #FAFAFA);
}

.comd-newsletter .fieldflex {
    display: flex;
    gap: 32px;
}

/* Adjust body padding to respect sticky menus on non-mobile devices */
@media (max-width: 767px) {
    body, html {
        width: 100%;            /* Ensure the width fits the device width */
        overflow-x: hidden;     /* Prevent horizontal scrolling */
        margin: 0;              /* Remove any margin that might cause overflow */
        padding: 0;             /* Remove any padding that might cause overflow */
    }




    .comd-newsletter .fieldflex {
        display: block;
    }
    .comd-newsletter .submit-newsletter {
        padding-left: 95px;
        padding-right: 95px;
        width: 100%;
    }

    .comd-newsletter .newsletter-button {

        width: 100%;
    }

    .comd-newsletter .newsletter-button img {
        left: 75px;
    }

    .comd-newsletter #email {
        width: 100% ;
    }



}

