/*
Theme Name: labstogo
Theme URI: https://example.com
Author: Your Name
Author URI: https://example.com
Description: A custom WordPress theme.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my-custom-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ===========================
   Global Styles
=========================== */

/* Custom scrollbar and base styles */
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
        
        /* Mobile menu transitions */
        .mobile-submenu {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
        .mobile-submenu.open {
            max-height: 1000px;
        }
        
        /* Dropdown fade in for desktop */
        .dropdown-menu {
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.2s ease-in-out;
        }
        .group:hover .dropdown-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        /* Swiper custom styles */
        .swiper-button-next, .swiper-button-prev {
            color: #8cc63f !important;
            background: rgba(255,255,255,0.9);
            width: 50px !important;
            height: 50px !important;
            border-radius: 50%;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .swiper-button-next:after, .swiper-button-prev:after {
            font-size: 20px !important;
            font-weight: bold;
        }
        .swiper-pagination-bullet {
            background: #fff !important;
            opacity: 0.5 !important;
        }
        .swiper-pagination-bullet-active {
            opacity: 1 !important;
            background: #8cc63f !important;
        }
        
        @keyframes slideUpFade {
            from { opacity: 0; transform: translateY(40px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .swiper-button-next:after, .swiper-button-prev:after {
            display: none;
        }
        
        .swiper-pagination-bullet {
            width: 10px !important;
            height: 10px !important;
            background: rgba(255,255,255,0.4) !important;
            opacity: 1 !important;
            transition: all 0.3s ease;
        }
        
        .accordion-content {
            transition: all 0.3s ease-in-out;
        }
        
        a.flex-shrink-0.flex.items-center.cursor-pointer {
            max-width: 219px;
            width: 100%;
        }
        
        
         .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out;
            opacity: 0;
        }
        
        .faq-item.active .faq-answer {
            max-height: 2000px; /* Large number to allow full expansion of long answers */
            opacity: 1;
            padding-bottom: 1.5rem;
        }

        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }

        .faq-nav-link.active {
            color: #0d326b;
            font-weight: 700;
            border-left-color: #8cc63f;
            background-color: #f8fafc;
        }
        
        /* Formats for inner lists inside FAQ answers */
        .faq-inner-list {
            list-style-type: disc;
            padding-left: 1.5rem;
            margin-top: 0.5rem;
            margin-bottom: 0.5rem;
        }
        .faq-inner-list li {
            margin-bottom: 0.25rem;
        }
         .line-clamp-3 {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;  
            overflow: hidden;
        }
        
        .blog-content p {
            margin-bottom: 1.5rem;
            line-height: 1.8;
            color: #4b5563; /* text-gray-600 */
        }
        .blog-content h2 {
            font-size: 1.875rem;
            font-weight: 800;
            color: #0d326b; /* brand-blue */
            margin-top: 2.5rem;
            margin-bottom: 1rem;
        }
        .blog-content h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: #1f2937; /* text-gray-900 */
            margin-top: 2rem;
            margin-bottom: 1rem;
        }
        .blog-content ul {
            list-style-type: disc;
            padding-left: 1.5rem;
            margin-bottom: 1.5rem;
            color: #4b5563;
        }
        .blog-content li {
            margin-bottom: 0.5rem;
        }
        .blog-content blockquote {
            border-left: 4px solid #0097b2; /* brand-cyan */
            background-color: #f0fdfa; /* cyan-50 */
            padding: 1.5rem;
            font-style: italic;
            margin-bottom: 1.5rem;
            border-radius: 0 0.5rem 0.5rem 0;
            color: #1f2937;
        }