/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/* Header Background */
body{
	font-family:"castoro"
}
.custom-header {
    width: 100%;
    background: #f4f0ff; /* light purple background */
	padding:10px 0;
}
.custom-footer {
    color: #fff;
    background-color: #000;
	padding-top:50px
}

/* Flex layout */
.header-container {
    max-width: 1300px;
    margin: auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo fix */
.header-left img {
    max-height: 60px;
    width: auto;
}

/* Center Menu */
.header-middle {
    flex: 1;
    display: flex;
    justify-content: center;
}

.main-menu {
    display: flex;
    gap: 50px;
}

.main-menu li {
    list-style: none;
    position: relative;
	padding:10px 0;
}

.main-menu li a {
    text-decoration: none;
    font-size: 20px;
    font-weight: 600;
    color: #4b3a7a; /* dark purple */
    padding-bottom: 5px;
    transition: 0.3s;
}

/* Hover underline (purple) */
.main-menu li a:hover {
    color: #3e1f9b;
}

.main-menu li a:hover::after {
    width: 100%;
}

/* Underline effect */
.main-menu li a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 3px;
    bottom: -4px;
    left: 0;
    background: #5830d6; 
    border-radius: 3px;
    transition: width 0.3s ease;
}

/* Active menu item matching screenshot */
.main-menu .current-menu-item > a {
    color: #5c22d1;
    font-weight: 700;
}

.main-menu .current-menu-item > a::after {
    width: 100%;
}

/* Right Button styling */
.header-right .header-btn {
    padding: 14px 35px;
    font-size: 20px;
    font-weight: 700;
    background: #5c22d1; /* client purple */
    color: #fff;
    border-radius: 12px;
    text-decoration: none;
    transition: 0.3s;
}

.header-right .header-btn:hover {
    background: #4813ad;
}
/* ===== SUBMENU DESKTOP ===== */

.main-menu li .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    min-width: 240px;
    padding: 10px 0;
    margin: 0;
    list-style: none;
    display: none;
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
    border-radius: 10px;
    z-index: 9999;
}

.main-menu li .sub-menu li a {
    font-size: 18px;
    color: #4b3a7a;
	padding:4px;
}

.main-menu li .sub-menu li a:hover {
    background: #f3efff;
    color: #3e1f9b;
	display:flex;
}

/* SHOW SUBMENU ON HOVER */
.main-menu li:hover > .sub-menu {
    display: block;
}

/* Arrow icon */
.main-menu > li.menu-item-has-children > a {
    position: relative;
    padding-right: 18px;
}

/* Arrow using BEFORE (no conflict with underline) */
.main-menu > li.menu-item-has-children > a::before {
    content: "▾";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #4b3a7a;
}
.main-menu li:hover > a::before {
    transform: translateY(-50%) rotate(180deg);
    transition: 0.3s;
}


/* ------------------------------
        RESPONSIVE MENU
------------------------------ */

.mobile-menu-toggle {
    display: none;
}

/* Tablet */
@media (max-width: 992px) {
    .header-container {
        padding: 15px 20px;
    }
	.custom-header{
		padding:0px
	}
}

/* Mobile */
@media (max-width: 910px) {

    /* show burger */
    .mobile-menu-toggle {
        display: block;
        font-size: 32px;
        cursor: pointer;
        background-color: #5c22d1;
		color:#fff;
		height:40px;
		width:40px;
		display:flex;
		justify-content:center;
		align-items:center;
		border-radius:5px;
    }

    /* hide desktop menu + button */
    .header-middle,
    .header-right {
        display: none !important;
    }

    /* when mobile menu open */
    body.mobile-menu-open .header-middle {
        display: block !important;
    }

    body.mobile-menu-open .header-right {
        display: none !important;
        text-align: center;
        margin-top: 20px;
    }

    /* mobile menu dropdown */
    .header-middle {
        position: absolute;
        top: 86px;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 10px 0;
        text-align: left;
		z-index:999
    }

    .main-menu {
        flex-direction: column;
        gap: 10px;
		padding:0 10px;
    }

    .main-menu li a {
        font-size: 22px;
        display: block;
    }
	.main-menu li a::after {
    content: none;
   }
	/* Active menu item (current page) */
.main-menu li.current-menu-item {
    background-color: #5c22d1;
}

/* Optional: hover effect */
.main-menu li:hover {
    background-color: #5c22d1;
}
	.main-menu .current-menu-item > a {
    color: #fff;
    font-weight: 700;
	padding:8px
}

}

/* Smaller phones */
@media (max-width: 480px) {
    .header-left img {
        max-height: 50px;
    }
}
/***************************************************  footer css *********************************************/
 .footer-cta {
        max-width: 1210px;
        margin: 0 auto 50px auto;
        text-align: center;
        padding: 100px 60px;
        background: linear-gradient(135deg, #0f0f0f, #1a1a1a);
        border: 0.8px solid #fff;
        border-radius: 20px;
        position: relative;
        overflow: hidden;
      }

      /* Right-top purple glow */
      .footer-cta:after {
        width: 340px;
        height: 268px;
        position: absolute;
        top: -9%;
        right: -17%;
        display: block;
        content: "";
        background-color: #4e55d340;
        filter: blur(132px);
        border-radius: 100%;
        z-index: -1;
      }

      /* Left-bottom green glow */
      .footer-cta:before {
        width: 375px;
        height: 265px;
        position: absolute;
        left: -11%;
        bottom: -4%;
        display: block;
        content: "";
        background-color: #a3f23424;
        filter: blur(132px);
        border-radius: 100%;
        z-index: -1;
      }

	   img.shopify-img {
         max-width: 170px !important;
     }
      .footer-cta .cta-heading {
        font-size: 32px;
        font-weight: 700;
        margin-bottom: 15px;
      }
      .footer-cta .cta-heading span {
        color: #a6ff00;
      }
      .footer-cta .cta-text {
        font-size: 16px;
        margin-bottom: 25px;
      }
      .cta-buttons {
        display: flex;
        justify-content: center;
        gap: 15px;
        flex-wrap: wrap;
      }
      .btn-primary,
      .btn-secondary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 10px 25px;
        border-radius: 30px;
        font-weight: 600;
        text-decoration: none;
        transition: 0.3s;
      }
      .btn-primary {
        background: #a6ff00;
        color: #000;
      }
      .btn-primary .btn-icon {
        margin-left: 10px;
      }
      .btn-secondary {
        background: transparent;
        border: 1px solid #fff;
        color: #fff;
      }

      /* Footer Main */
      .footer-main {
        max-width: 1255px;
        margin: 0 auto;
        padding: 50px 20px 30px 20px;
      }
      .footer-top {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        justify-content: space-between;
        padding-bottom: 40px;
      }
      .footer-logo {
        display: flex;
        flex-direction: column;
        gap: 15px;
        flex: 1 1 200px;
      }
      .footer-logo img {
        max-width: 70px;
      }

      .footer-columns {
        display: flex;
        justify-content: space-between;
        flex: 3 1 700px;
        gap: 40px;
        flex-wrap: wrap;
      }
      .footer-column h4 {
        font-size: 26px;
        font-weight: 700;
        margin: 0px;
        padding-bottom: 16px;
      }
      .footer-column ul {
        padding: 0;
        padding-left: 11px;
        margin: 0px;
        font-size: 8px;
      }
      .footer-column ul li {
        padding-bottom: 11px;
        padding-left: 10px;
      }
      .footer-column ul li a {
        color: #ffffffb2;
        text-decoration: none;
        font-size: 14px;
        transition: 0.2 ease;
      }
      .custom-footer .footer-column ul li a:hover {
        color: #5c22d1;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 3px;
      }

      /* Bottom Footer */
      .footer-bottom {
        text-align: center;
        align-items: center;
        border-top: 1px solid #333;
        padding-top: 50px;
      }
      .footer-bottom p {
        margin: 0;
        font-size: 16px;
        padding-bottom: 20px;
      }
      .social-icons a {
        margin-left: 10px;
        display: inline-block;
      }
      .social-icons img {
        width: 32px;
        height: 32px;
      }

      /* Responsive */
      @media (max-width: 768px) {
        .footer-top,
        .footer-columns,
        .footer-bottom {
          align-items: center;
		  gap:0px;
		  padding-bottom:0px;
		  padding-top:20px
        }
        .footer-column {
          margin-bottom: 20px;
        }
        .cta-buttons {
          flex-direction: column;
        }
		  .footer-cta{
			  margin:0 auto 0 auto
		  }
      }
