/*
Theme Name: LinAs Child Theme
Description: Child theme for LinAs Study in Australia website
Author: LinAs Team
Template: LinAs Theme Live
Version: 1.0.0
*/

/* Optimized CSS - Critical styles only */
:root{--linas-primary:#98B6BB;--linas-secondary:#FAB31E;--linas-accent:#CC333A;--linas-dark:#2c3e50;--linas-light:#f8f9fa;--linas-white:#ffffff; font-size: 67%;}

/* Prevent horizontal scroll */
html,body{max-width:100%;overflow-x:hidden;}

/* Hero title styles */
h1.hero-title {
    font-size: 4.5rem !important;
    font-weight: 800 !important;
    margin: 0 0 20px !important;
    line-height: 1.2 !important;
    color: #286d77 !important;
}

h1.hero-title p {
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* Fix header stretching when mobile menu opens */
@media (max-width: 1024px) {
    #site-header,
    .elementor-location-header,
    header[data-elementor-type="header"] {
        min-height: auto !important;
        max-height: 80px !important;
        overflow: visible !important;
        position: relative !important;
    }
    
    .elementor-widget-container {
        overflow: visible !important;
    }
    
    /* Full screen dropdown menu */
    .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        z-index: 9999 !important;
        background-color: white !important;
    }
}

.fade-in-up{opacity:0;transform:translateY(30px);animation:fadeInUp 0.8s ease forwards}
.delay-1{animation-delay:0.2s}.delay-2{animation-delay:0.4s}.delay-3{animation-delay:0.6s}
@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}
.template-part{position:relative;opacity:0;transform:translateY(20px)}
.linas-hero-wrapper{position:relative;overflow:hidden}
.linas-hero-wrapper img,.linas-hero-wrapper video{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}
@media (max-width:768px){.linas-hero-wrapper{padding:60px 0}}
/* Non-critical styles loaded asynchronously */
.linas-loaded{opacity:1;transform:translateY(0)}

/* Services Section Overlap Styles */
.linas-services{
    padding:0px 0;
    background:transparent;
    position:relative;
    z-index: 999999; /* Ensure services appear above hero and header */
    margin-top: 0px !important; /* Pull services up to overlap hero */
}

.linas-container{max-width:1200px;margin:0 auto;padding:0 20px}

.services-tabs{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0;
    margin:40px auto 80px auto;
    background:#ffffff;
    border-radius:100px;
    padding:12px;
    box-shadow:0 4px 20px rgba(0,0,0,0.05);
    width:fit-content;
}

.tab-btn{
    background:transparent!important;
    color:var(--linas-dark);
    border:none;
    padding:18px 60px;
    font-size:1.55rem;
    font-weight:700;
    cursor:pointer;
    transition:all .25s ease;
    border-radius:100px;
    text-decoration:none;
    color:#000 !important
}
.tab-btn:hover{
    text-decoration:none;
}

.tab-btn:first-child{margin-right:4px;}
.tab-btn:last-child{margin-left:4px;}

.tab-btn.active{
    background:var(--linas-secondary)!important;
    color:var(--linas-dark);
    text-decoration:none;
}

.tab-content{display:none}
.tab-content.active{display:block;animation:fadeInUp 0.5s ease}

.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
    gap:30px;
    margin-bottom:60px;
}

.service-card{
    background:rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(15px);
    padding:35px 30px;
    border-radius:20px;
    box-shadow:0 15px 50px rgba(0,0,0,0.15);
    border:1px solid rgba(255,255,255,0.2);
    transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
    position:relative;
    overflow:hidden;
    text-align:left;
    display:flex;
    flex-direction:column;
    height:100%;
    transform:translateY(-10px);
}

.service-card:hover{
    transform:none;
    box-shadow:0 15px 50px rgba(0,0,0,0.15);
}

.service-icon{width:90px;height:90px;margin:0 0 10px 0;position:relative;display:flex;align-items:center;justify-content:center}
.service-icon img{width:90px;height:90px;object-fit:contain}
.service-emoji{font-size:32px;color:white}
.service-card h3{font-size:1.7rem!important;font-weight:700;color:var(--linas-dark);margin:0 0 15px;line-height:1.3}
.service-card p{color:#666;line-height:1.6;margin:0 0 20px;font-size:15px;text-align:left}
.service-features{list-style:none;padding:0;margin:0 0 25px;text-align:left}
.service-features li{display:flex;align-items:center;margin-bottom:8px;font-size:14px;color:#555}
.service-features li:before{content:'';display:inline-block;width:6px;height:6px;background:var(--linas-primary);border-radius:50%;margin-right:10px;flex-shrink:0}
.service-btn{display:inline-block;background:transparent;color:var(--linas-primary);text-decoration:none;font-weight:600;font-size:14px;padding:0;border:none;cursor:pointer;transition:all 0.3s ease;text-transform:lowercase;margin-top:auto}
.service-btn:hover{color:var(--linas-accent)}
.no-services{text-align:center;padding:40px;color:#666;font-style:italic}

/* Testimonials Carousel */
.testimonials-carousel-wrapper {
    position: relative;
    max-width: 1300px;
    margin: 0 auto 50px auto;
    padding: 20px 80px;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid var(--linas-primary);
    border-radius: 50%;
    color: var(--linas-primary);
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.carousel-prev {
    left: 10px;
}

.carousel-next {
    right: 10px;
}

.service-show-more {
    display: none;
}

/* Pašalintas .carousel-btn:hover blokas, kad nebūtų hover efekto */

.testimonials-carousel {
    overflow: hidden;
    margin: 0;
}

.testimonials-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 30px;
    padding: 13px;
}

.testimonial-card {
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    border: 1px solid rgba(33, 108, 119, 0.1);
    transition: all 0.3s ease;
    flex: 0 0 calc(33.333% - 20px);
    min-width: 350px;
    display: flex;
    flex-direction: column;
}

.testimonial-card:hover {
    transform: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

.testimonial-card p {
    flex-grow: 1;
    margin-bottom: 0;
}

.testimonial-card .quote-icon {
    position: absolute;
    top: -10px;
    left: 30px;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #286D77, #286D77);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
    box-shadow: 0 4px 15px rgba(40, 109, 119, 0.3);
}

.testimonial-card .rating {
    margin: 20px 0 15px 0;
}

.testimonial-card .star {
    color: #e9ecef;
    font-size: 18px;
    margin-right: 2px;
}

.testimonial-card .star.active {
    color: var(--linas-secondary);
}

.testimonial-card .testimonial-text {
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    margin: 0 0 25px 0;
    font-style: italic;
    flex-grow: 1;
}

.testimonial-card .student-info {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
    margin-top: auto;
}

.testimonial-card .avatar {
    width: 50px;
    height: 50px;
    background: var(--linas-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 18px;
    flex-shrink: 0;
}

.testimonial-card .student-details {
    flex: 1;
}

.testimonial-card .name-flag {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.testimonial-card .student-name {
    color: var(--linas-dark);
    font-size: 16px;
}

.testimonial-card .flag {
    font-size: 16px;
}

.testimonial-card .course {
    font-size: 14px;
    color: #666;
    margin-bottom: 3px;
}

.testimonial-card .university {
    font-size: 13px;
    color: var(--linas-accent);
    font-weight: 600;
}

/* Tablet Responsive */
@media (max-width: 1024px) {
    .testimonials-carousel-wrapper {
        padding: 20px 60px;
    }
    
    .testimonial-card {
        flex: 0 0 calc(50% - 25px);
        min-width: 320px;
    }
}

@media (max-width:768px){
    .linas-services{
        padding:60px 0;
        margin-top: -120px !important; /* Smaller overlap for mobile */
    }
    
    .services-tabs{
        flex-direction:column;
        align-items:center;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        border-radius: 20px;
        padding: 15px;
    }
    
    .tab-btn{
        border-radius:10px!important;
        margin-bottom:10px;
        width:100%;
        max-width:300px;
        border:2px solid var(--linas-primary)!important;
    }
    
    .services-grid{
        grid-template-columns:1fr;
        gap:20px;
    }
    
    .service-card{
        padding:25px 20px;
        background:rgba(255, 255, 255, 0.98);
    }
    
    .testimonials-carousel-wrapper {
        padding: 20px 50px;
    }
    
    .carousel-btn {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .carousel-prev {
        left: 5px;
    }
    
    .carousel-next {
        right: 5px;
    }
    
    .testimonial-card {
        flex: 0 0 calc(100% - 30px);
        min-width: 300px;
    }
    .testimonials-cta::before, .testimonials-cta::after {
       
        width: 300px !important;
       
    }
    .service-show-more {
        display: block;
    }
}

/* Sticky Header Z-index fix */
.elementor-element-5656a8a8 {
    z-index: 1000000 !important;
}

/* Testimonials CTA Card */
.testimonials-cta{
    position:relative;
    background:#ffffff;
    border-radius:60px;
    padding:90px 60px;
    max-width:1200px;
    margin:60px auto 0 auto;
    box-shadow:0 12px 40px rgba(0,0,0,.06);
    text-align:center;
    overflow:hidden;
}

.cta-heading{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--linas-dark);margin:0 0 25px 0;}
.cta-sub{font-size:1.25rem;color:#666;max-width:720px;margin:0 auto 45px auto;}
.cta-button{display:inline-block;background:var(--linas-primary);color:#fff;padding:22px 48px;font-size:1.1rem;font-weight:700;border-radius:50px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
.cta-button:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,.15);}

/* Fix submenu width to fit long text */
.elementor-nav-menu ul.sub-menu,
.elementor-nav-menu .sub-menu,
ul.sub-menu.elementor-nav-menu--dropdown {
    width: auto !important; /* Let width grow to content */
    min-width: 20rem !important; /* Still keep a sensible min width */
}

/* Prevent anchor text from wrapping and ensure proper padding */
.elementor-nav-menu ul.sub-menu a,
.elementor-nav-menu .sub-menu a,
.elementor-nav-menu ul.sub-menu .elementor-sub-item,
.elementor-nav-menu .sub-menu .elementor-sub-item {
    white-space: nowrap !important;
}

/* Mobile burger menu submenu styling - make it look like parent menu */
@media (max-width: 1024px) {
    .extend-visa {
        background-color: #206C77 !important;
        margin-top: 30px !important;
        text-align: center !important;
    }
    .linas-arrow {
        display: none !important;
    }
    #menu-2-24d32f58 .extend-visa a {
        color:#fff !important;
        display: inline-block;
    }
    /* Align all menu text to the left */
    .elementor-nav-menu--dropdown {
        text-align: left !important;
        position: relative !important;
    }
   
    
    /* Close button for mobile menu - top right corner */
    .elementor-nav-menu--dropdown .linas-mobile-close {
        position: fixed !important;
        top: 20px !important;
        right: 20px !important;
        width: 40px !important;
        height: 40px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border: none !important;
        border-radius: 50% !important;
        cursor: pointer !important;
        z-index: 10000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 20px !important;
        color: #333 !important;
        transition: all 0.3s ease !important;
    }
    
    .elementor-nav-menu--dropdown .linas-mobile-close:hover {
        color: var(--linas-primary, #FAB31E) !important;
        background: white !important;
        transform: scale(1.1) !important;
    }
    
    /* Full screen menu container styling */
    .elementor-nav-menu--dropdown .elementor-nav-menu {
        padding: 80px 40px 40px 40px !important;
        height: 100% !important;
        overflow-y: auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }
    
    .elementor-nav-menu--dropdown .elementor-nav-menu {
        text-align: left !important;
    }
    
    .elementor-nav-menu--dropdown .elementor-item,
    .elementor-nav-menu--dropdown a {
        text-align: left !important;
        justify-content: flex-start !important;
    }
    
    /* Parent menu items - larger font for full screen */
    .elementor-nav-menu--dropdown > ul > li > a,
    .elementor-nav-menu--dropdown .elementor-nav-menu > li > a,
    .elementor-nav-menu--dropdown .elementor-item {
        font-size: 16px !important; /* Slightly larger for full screen */
        font-weight: 600 !important;
        padding: 20px 30px !important; /* More generous padding */
        border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    }
    
    /* Reset submenu positioning for mobile dropdown */
    .elementor-nav-menu--dropdown ul.sub-menu,
    .elementor-nav-menu--dropdown .sub-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: auto !important;
        display: none !important; /* Hidden by default, shown by JS */
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
        list-style: none !important;
        text-align: left !important;
    }
    
    /* Show submenu when opened */
    .elementor-nav-menu--dropdown ul.sub-menu.linas-submenu-open,
    .elementor-nav-menu--dropdown .sub-menu.linas-submenu-open {
        display: block !important;
    }
    
    /* Mobile submenu items styling - match parent items */
    .elementor-nav-menu--dropdown ul.sub-menu li,
    .elementor-nav-menu--dropdown .sub-menu li {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    }
    
    .elementor-nav-menu--dropdown ul.sub-menu a,
    .elementor-nav-menu--dropdown .sub-menu a,
    .elementor-nav-menu--dropdown ul.sub-menu .elementor-sub-item,
    .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
        display: block !important;
        padding: 12px 40px !important; /* Indent submenu items */
        color: #000 !important;
        text-decoration: none !important;
        background: transparent !important;
        border: none !important;
        font-size: 14px !important; /* Slightly larger for full screen submenu */
        font-weight: 400 !important; /* Normal weight */
        line-height: 1.4 !important;
        white-space: normal !important;
        width: 100% !important;
        transition: background-color 0.15s ease !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
    
    .elementor-nav-menu--dropdown ul.sub-menu a:hover,
    .elementor-nav-menu--dropdown .sub-menu a:hover,
    .elementor-nav-menu--dropdown ul.sub-menu .elementor-sub-item:hover,
    .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item:hover {
        background-color: rgba(0,0,0,0.05) !important;
        color: #000 !important;
    }
    
    /* Mobile submenu arrow styling */
    .elementor-nav-menu--dropdown .menu-item-has-children > a {
        position: relative !important;
        padding-right: 70px !important; /* Make space for larger clickable arrow area */
    }
    
    .elementor-nav-menu--dropdown .menu-item-has-children > a .linas-mobile-arrow {
        position: absolute !important;
        right: 0 !important; /* Extend to edge */
        top: 0 !important; /* Full height */
        bottom: 0 !important; /* Full height */
        width: 60px !important; /* Large clickable area */
        height: auto !important; /* Full height of parent */
        cursor: pointer !important;
        z-index: 10 !important;
        background: transparent !important;
        transition: background-color 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Create the actual triangle inside the clickable area */
    .elementor-nav-menu--dropdown .menu-item-has-children > a .linas-mobile-arrow::after {
        content: '' !important;
        width: 0 !important;
        height: 0 !important;
        border-left: 4px solid transparent !important;
        border-right: 4px solid transparent !important;
        border-top: 6px solid #333 !important;
        border-bottom: none !important;
        transition: all 0.3s ease !important;
    }
    
    /* Hover effect for better feedback */
    .elementor-nav-menu--dropdown .menu-item-has-children > a .linas-mobile-arrow:hover {
        background-color: rgba(0,0,0,0.05) !important;
    }
    
    .elementor-nav-menu--dropdown .menu-item-has-children.linas-submenu-open > a .linas-mobile-arrow::after {
        transform: rotate(180deg) !important; /* Rotate arrow up when submenu is open */
        border-top-color: var(--linas-primary, #FAB31E) !important; /* Change color when active */
    }
    
    .elementor-nav-menu--dropdown .menu-item-has-children.linas-submenu-open > a .linas-mobile-arrow {
        background-color: rgba(250, 179, 30, 0.1) !important; /* Light background when active */
    }
    
    /* Hide CSS arrows (from parent theme) when submenu is open in mobile dropdown */
    .elementor-nav-menu--dropdown .linas-submenu-open ul.sub-menu::before,
    .elementor-nav-menu--dropdown .linas-submenu-open .sub-menu::before,
    .elementor-nav-menu--dropdown .linas-submenu-open ul.sub-menu::after,
    .elementor-nav-menu--dropdown .linas-submenu-open .sub-menu::after {
        display: none !important; /* Hide parent theme arrows below menu item */
    }
}

/* ===========================
   CLICKABLE SERVICE CARDS
   =========================== */

/* Override existing service-card hover to work with clickable functionality */
.service-card.clickable-card {
    text-decoration: none !important;
    color: inherit !important;
}

.service-card.clickable-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2) !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* Ensure heading and text colors remain consistent in clickable cards */
.service-card.clickable-card h3 {
    color: #286d77 !important;
}

.service-card.clickable-card .service-desc {
    color: #666 !important;
}

/* Service arrow positioning and styling */
.service-card .service-arrow {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 20px;
}

.service-card .arrow-icon {
    font-size: 28px;
    color: #2A6D78;
    font-weight: bold;
    transition: all 0.3s ease;
    line-height: 1;
}

.service-card.clickable-card:hover .arrow-icon {
    color: #FAB31E;
    transform: translateX(8px) scale(1.1);
}

/* Mobile responsive adjustments for clickable cards */
@media (max-width: 767px) {
    .service-card.clickable-card:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    }
    
    .service-card .arrow-icon {
        font-size: 24px;
    }
    
    .service-card.clickable-card:hover .arrow-icon {
        transform: translateX(5px) scale(1.05);
    }
}

/* ===========================
   SELL COURSES ORANGE STYLING
   =========================== */

/* Add this class to your "I didn't start LinAs to sell courses" heading in Elementor */
.orange-sell-courses h1:last-child,
.orange-sell-courses h2:last-child,
.orange-sell-courses h3:last-child,
.orange-sell-courses .elementor-heading-title {
    /* This will target the heading for custom styling */
}

/* Alternative: target by specific element ID (get from Elementor) */
.elementor-element-YOUR_ELEMENT_ID .elementor-heading-title {
    /* You can add spans in Elementor content like: */
    /* I didn't start LinAs to <span style="color:#FAB31E;">sell courses.</span> */
}