/* Homepage-specific styles - extracted from inline <style> block */
        /* CRITICAL: Force content within viewport on mobile */
        html {
            overflow-x: hidden !important;
            max-width: 100% !important;
            width: 100% !important;
        }

        body {
            overflow-x: hidden !important;
            max-width: 100% !important;
            width: 100% !important;
            position: relative !important;
        }

        * {
            box-sizing: border-box !important;
            max-width: 100vw;
        }

        body {
            font-family: 'Heebo', sans-serif;
            direction: rtl;
            /* Mobile performance optimizations */
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
            /* Fix for Galaxy devices */
            -webkit-text-size-adjust: 100%;
            -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
            /* Prevent horizontal scroll on mobile */
            overflow-x: hidden;
        }

        /* Skip to content link - Accessibility */
        .skip-link {
            position: absolute;
            left: -9999px;
            top: 0;
            z-index: 9999;
            padding: 1rem 2rem;
            background: #005fcc;
            color: white;
            text-decoration: none;
            font-weight: bold;
            border-radius: 0 0 4px 0;
        }

        .skip-link:focus {
            position: fixed;
            left: 0;
            top: 0;
        }

        /* Focus outlines for accessibility */
        a:focus,
        button:focus,
        input:focus,
        select:focus,
        textarea:focus {
            outline: 3px solid #005fcc !important;
            outline-offset: 2px;
        }

        /* Ensure buttons have minimum touch target size */
        button,
        a[role="button"] {
            min-width: 44px;
            min-height: 44px;
        }

        /* Accessibility floating button */
        .accessibility-btn {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1000;
            width: 60px;
            height: 60px;
            background: #005fcc;
            color: white;
            border: none;
            border-radius: 50%;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            text-decoration: none;
        }

        .accessibility-btn:hover {
            background: #004499;
            transform: scale(1.1);
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
        }

        .accessibility-btn:focus {
            outline: 3px solid #005fcc;
            outline-offset: 3px;
        }

        .accessibility-btn svg {
            width: 30px;
            height: 30px;
            fill: currentColor;
        }

        @media (max-width: 768px) {
            .accessibility-btn {
                width: 50px;
                height: 50px;
                bottom: 15px;
                right: 15px;
            }

            .accessibility-btn svg {
                width: 24px;
                height: 24px;
            }
        }

        .h-80vh {
            height: 65vh;
        }

        @media (max-width: 768px) {
            .h-80vh {
                min-height: 60vh;
            }
        }

        .header-logo {
            height: 80px;
            width: auto;
            transition: all 0.3s ease-in-out;
        }

        @media (min-width: 768px) {
            .header-logo {
                height: 160px;
            }
        }

        .header-text-logo {
            width: 220px;
            height: auto;
            transition: all 0.3s ease-in-out;
        }

        .scrolled .header-logo {
            height: 65px;
        }

        .scrolled .header-text-logo {
            width: 170px;
        }

        /* Card hover effect from example */
        article,
        figure {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        article:hover,
        figure:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 24px rgba(0, 0, 0, .12);
        }

        /* Top border animation effect */
        article::before,
        figure::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 0%;
            height: 4px;
            background: #b8941f;
            transition: width 0.3s ease;
        }

        article:hover::before,
        figure:hover::before {
            width: 100%;
        }

        /* Improved mobile responsiveness */
        @media (max-width: 768px) {

            article,
            figure {
                transition: transform 0.3s ease, box-shadow 0.3s ease;
            }

            article:hover,
            figure:hover {
                transform: translateY(-5px);
                box-shadow: 0 12px 24px rgba(0, 0, 0, .12);
            }

            article::before,
            figure::before {
                height: 3px;
                /* Slightly smaller border on mobile */
                background: #b8941f;
            }

            .section-header h2,
            #artTitle,
            #areasTitle,
            #revTitle {
                font-size: 2rem !important;
            }

            .h-80vh {
                min-height: 60vh;
            }

            .scroll-arrow {
                bottom: 20px;
                /* Lower the arrow on mobile to avoid overlap with button */
            }
        }

        /* Handle touch devices */
        @media (hover: none) {

            article:active::before,
            figure:active::before {
                width: 100%;
            }

            article:active,
            figure:active {
                transform: translateY(-3px);
                box-shadow: 0 8px 16px rgba(0, 0, 0, .1);
            }
        }

        /* Scroll down arrow animation */
        .scroll-arrow {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            color: #b8941f;
            font-size: 2rem;
            animation: bounce 2s infinite;
            cursor: pointer;
            z-index: 10;
            transition: color 0.3s ease;
        }

        .scroll-arrow:hover {
            color: #1a1a1a;
        }

        @keyframes bounce {

            0%,
            20%,
            50%,
            80%,
            100% {
                transform: translateX(-50%) translateY(0);
            }

            40% {
                transform: translateX(-50%) translateY(-10px);
            }

            60% {
                transform: translateX(-50%) translateY(-5px);
            }
        }

        /* Full-screen mobile menu */
        .mobile-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #1a1a2e;
            z-index: 9999;
            transform: translateX(100%);
            transition: transform 0.3s ease-in-out;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
        }

        .mobile-menu-overlay.active {
            transform: translateX(0);
        }

        /* Header section with logo and close button */
        .mobile-menu-overlay>.flex.justify-between {
            background: #1a1a2e;
            border-bottom: 1px solid rgba(201, 165, 92, 0.3);
        }

        /* Main nav section */
        .mobile-menu-overlay nav {
            background: #1a1a2e;
            flex: 1;
        }

        .mobile-menu-overlay nav ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .mobile-menu-overlay nav ul li a.mobile-menu-link {
            display: block;
            padding: 1rem;
            background: transparent !important;
            color: #c9a55c !important;
            text-decoration: none;
            border-radius: 0;
            border-bottom: 1px solid rgba(201, 165, 92, 0.2);
            margin-bottom: 0;
            transition: all 0.3s ease;
        }

        .mobile-menu-overlay nav ul li a.mobile-menu-link:hover {
            background: rgba(201, 165, 92, 0.15) !important;
            color: #d4af37 !important;
        }

        /* Mobile menu styles moved to css/mobile-menu.css */

        .mobile-menu-close {
            position: absolute;
            top: 20px;
            right: 20px;
            background: none;
            border: none;
            font-size: 2rem;
            color: #c9a55c;
            cursor: pointer;
        }

        .mobile-menu-links {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .mobile-menu-links a {
            display: block;
            padding: 1rem;
            background: transparent;
            color: #c9a55c;
            text-decoration: none;
            border-radius: 0;
            border-bottom: 1px solid rgba(201, 165, 92, 0.2);
            transition: all 0.3s ease;
        }

        .mobile-menu-links a:hover {
            background: rgba(201, 165, 92, 0.15);
            color: #d4af37;
        }

        /* Mobile menu button styling to match links */
        .mobile-menu-links button.mobile-menu-link,
        nav button.mobile-menu-link {
            display: block;
            padding: 1rem;
            background: #2d2d2d;
            color: #c9a55c;
            text-decoration: none;
            border-radius: 5px;
            transition: all 0.3s ease;
            width: 100%;
            text-align: right;
            font-size: 1.125rem;
            line-height: 1.75rem;
            border: none;
            cursor: pointer;
        }

        .mobile-menu-links button.mobile-menu-link:hover,
        nav button.mobile-menu-link:hover {
            background: #c9a55c;
            color: #1a1a1a;
        }

        /* Navigation dropdown styles */
        #practice-dropdown {
            min-width: 280px;
            max-height: calc(100vh - 120px);
            /* Default max-height based on viewport */
            overflow-y: auto !important;
            overflow-x: hidden;
        }

        /* Comprehensive Mobile Responsiveness */

        /* Galaxy and Android devices - specific fixes */
        @media screen and (max-width: 768px) and (orientation: portrait) {
            .h-80vh {
                min-height: 100vh;
            }

            .scroll-arrow {
                bottom: 20px;
            }

            /* Fix for Galaxy viewport issues */
            body {
                -webkit-text-size-adjust: 100%;
                -ms-text-size-adjust: 100%;
                text-size-adjust: 100%;
            }

            /* Ensure proper scaling on Galaxy devices */
            .container {
                padding-left: 1rem;
                padding-right: 1rem;
            }
        }

        /* iPhone SE (375x667) */
        @media screen and (max-width: 375px) and (max-height: 667px) {
            .h-80vh {
                min-height: 100vh;
            }

            .header-logo {
                height: 70px;
            }

            .header-text-logo {
                width: 160px;
            }

            .scrolled .header-logo {
                height: 45px;
            }

            .scrolled .header-text-logo {
                width: 130px;
            }

            h1 {
                font-size: 1.75rem !important;
                line-height: 1.2;
            }

            h2 {
                font-size: 1.25rem !important;
                line-height: 1.3;
            }

            .scroll-arrow {
                bottom: 15px;
                font-size: 1.5rem;
            }
        }

        /* iPhone 12/13/14 (390x844) */
        @media screen and (min-width: 376px) and (max-width: 390px) and (max-height: 844px) {
            .h-80vh {
                min-height: 100vh;
            }

            .header-logo {
                height: 80px;
            }

            .header-text-logo {
                width: 180px;
            }

            .scrolled .header-logo {
                height: 48px;
            }

            .scrolled .header-text-logo {
                width: 150px;
            }

            h1 {
                font-size: 2rem !important;
                line-height: 1.2;
            }

            h2 {
                font-size: 1.5rem !important;
                line-height: 1.3;
            }
        }

        /* iPhone 12/13/14 Pro Max (428x926) */
        @media screen and (min-width: 391px) and (max-width: 428px) and (max-height: 926px) {
            .h-80vh {
                min-height: 100vh;
            }

            .header-logo {
                height: 90px;
            }

            .header-text-logo {
                width: 200px;
            }

            .scrolled .header-logo {
                height: 50px;
            }

            .scrolled .header-text-logo {
                width: 165px;
            }

            h1 {
                font-size: 2.25rem !important;
                line-height: 1.2;
            }

            h2 {
                font-size: 1.75rem !important;
                line-height: 1.3;
            }
        }

        /* iPhone 15 Plus/Pro Max (430x932) */
        @media screen and (min-width: 429px) and (max-width: 430px) and (max-height: 932px) {
            .h-80vh {
                min-height: 100vh;
            }

            h1 {
                font-size: 2.5rem !important;
                line-height: 1.2;
            }

            h2 {
                font-size: 1.875rem !important;
                line-height: 1.3;
            }
        }

        /* Galaxy S21/S22/S23 (360x800) */
        @media screen and (max-width: 360px) and (max-height: 800px) {
            .h-80vh {
                min-height: 100vh;
            }

            .header-logo {
                height: 65px;
            }

            .header-text-logo {
                width: 140px;
            }

            .scrolled .header-logo {
                height: 42px;
            }

            .scrolled .header-text-logo {
                width: 120px;
            }

            h1 {
                font-size: 1.5rem !important;
                line-height: 1.2;
            }

            h2 {
                font-size: 1.125rem !important;
                line-height: 1.3;
            }

            .scroll-arrow {
                bottom: 10px;
                font-size: 1.25rem;
            }
        }

        /* Galaxy S21/S22/S23 Ultra (412x915) */
        @media screen and (min-width: 361px) and (max-width: 412px) and (max-height: 915px) {
            .h-80vh {
                min-height: 100vh;
            }

            .header-logo {
                height: 85px;
            }

            .header-text-logo {
                width: 190px;
            }

            .scrolled .header-logo {
                height: 48px;
            }

            .scrolled .header-text-logo {
                width: 160px;
            }

            h1 {
                font-size: 1.875rem !important;
                line-height: 1.2;
            }

            h2 {
                font-size: 1.375rem !important;
                line-height: 1.3;
            }
        }

        /* Landscape orientation fixes */
        @media screen and (max-height: 500px) and (orientation: landscape) {
            .h-80vh {
                min-height: 100vh;
            }

            .header-logo {
                height: 50px;
            }

            .header-text-logo {
                width: 120px;
            }

            .scrolled .header-logo {
                height: 35px;
            }

            .scrolled .header-text-logo {
                width: 100px;
            }

            h1 {
                font-size: 1.5rem !important;
                line-height: 1.1;
            }

            h2 {
                font-size: 1.125rem !important;
                line-height: 1.2;
            }

            .scroll-arrow {
                bottom: 5px;
                font-size: 1rem;
            }
        }

        /* General mobile improvements */
        @media (max-width: 768px) {
            .h-80vh {
                min-height: 100vh;
            }

            .scroll-arrow {
                bottom: 20px;
            }

            /* Fix text wrapping issues */
            h1,
            h2,
            p {
                word-wrap: break-word;
                overflow-wrap: break-word;
                hyphens: auto;
            }

            /* Improve touch targets */
            button,
            a {
                min-height: 44px;
                min-width: 44px;
            }

            /* Better spacing for mobile */
            .container {
                padding-left: 1rem;
                padding-right: 1rem;
            }

            /* Fix for Galaxy browser issues */
            * {
                -webkit-tap-highlight-color: transparent;
            }
        }

        /* Section Separator Lines */
        .section-separator {
            height: 2px;
            width: 100%;
            margin: 0;
            padding: 0;
            display: block;
            line-height: 0;
            position: relative;
            z-index: 1;
        }

        .section-separator:first-child {
            margin-top: -1px;
        }

        .section-separator.black {
            background: #1a1a1a;
        }

        .section-separator.gold {
            background: #b8941f;
        }

        /* Floating Call Button */
        .call-float {
            position: fixed;
            width: 60px;
            height: 60px;
            bottom: 90px;
            left: 20px;
            background-color: #0a3d62;
            color: white;
            border-radius: 50%;
            text-align: center;
            font-size: 30px;
            box-shadow: 0 4px 12px rgba(10, 61, 98, 0.4);
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            text-decoration: none;
        }

        .call-float:hover {
            background-color: #1f4f7a;
            transform: scale(1.1);
            box-shadow: 0 6px 20px rgba(10, 61, 98, 0.6);
        }

        .call-float svg {
            width: 30px;
            height: 30px;
        }

        /* Mobile: Hide floating buttons - we have the sticky CTA bar */
        @media (max-width: 768px) {

            .whatsapp-float,
            .call-float {
                display: none !important;
            }
        }

        /* Category dropdown styling - Mobile only */
        .mobile-menu-overlay button[onclick*="toggleCategoryDropdown"],
        #mobile-practice-dropdown .mb-2>button {
            display: flex !important;
            visibility: visible !important;
            opacity: 1 !important;
            width: 100% !important;
            padding: 0.75rem 1rem !important;
            background-color: #2d2d2d !important;
            color: #c9a55c !important;
            border: 1px solid #c9a55c !important;
            border-radius: 0.5rem !important;
            font-size: 1rem !important;
            font-weight: 600 !important;
            text-align: right !important;
            cursor: pointer !important;
            justify-content: space-between !important;
            align-items: center !important;
        }

        .mobile-menu-overlay button[onclick*="toggleCategoryDropdown"] span,
        #mobile-practice-dropdown .mb-2>button span {
            color: #c9a55c !important;
            visibility: visible !important;
            opacity: 1 !important;
        }

        /* Footer text visibility fix */
        footer a,
        footer p,
        footer li,
        footer span,
        footer div {
            color: #d1d5db !important;
        }

        footer h3 {
            color: #ffffff !important;
        }

        footer a:hover {
            color: #c9a55c !important;
        }

        /* Mobile: Hide floating buttons and progress bar */
        @media (max-width: 768px) {

            .whatsapp-float,
            .call-float,
            .accessibility-btn,
            .reading-progress {
                display: none !important;
            }
        }
