/* Extracted from index.html style block 1 */
/* Simple transition for page visibility */
        .page {
            display: none;
            animation: fadeIn 0.5s;
        }
        .page.active {
            display: block;
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        /* Style for active navigation link */
        .nav-link.active {
            color: #F97316; /* brand-orange */
            font-weight: 600;
        }
        
        /* Style for active dropdown toggle buttons */
        button.nav-link.active,
        [data-dropdown-toggle].active {
            color: #F97316; /* brand-orange */
            font-weight: 600;
        }
        
        /* Enhanced active state for dropdown items */
        .dropdown-menu .nav-link.active {
            background-color: #F97316;
            color: white;
            font-weight: 500;
        }
        
        /* Mobile navigation active states */
        #mobile-menu .nav-link.active {
            background-color: rgba(249, 115, 22, 0.1);
            color: #F97316;
            font-weight: 600;
        }
        /* Custom dropdown container */
        .custom-dropdown {
            position: relative;
            width: 100%;
        }
        
        .custom-dropdown-trigger {
            background: #ffffff;
            border: 2px solid #1f2937;
            border-radius: 10px;
            padding: 14px 16px;
            font-size: 16px;
            color: #111827;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s ease;
            width: 100%;
            text-align: left;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            min-height: 54px;
        }
        
        .custom-dropdown-trigger:hover {
            border-color: #F97316;
            background: #ffffff;
        }
        
        .custom-dropdown-trigger.active {
            border-color: #F97316;
            background: #ffffff;
            box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.2);
        }
        
        .custom-dropdown-arrow {
            transition: transform 0.2s ease;
        }
        
        .custom-dropdown-arrow.rotated {
            transform: rotate(180deg);
        }
        
        .custom-dropdown-menu {
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            right: 0;
            background: #ffffff;
            border: 2px solid #1f2937;
            border-radius: 12px;
            box-shadow: 0 18px 45px -20px rgba(15, 23, 42, 0.65);
            z-index: 50;
            max-height: 420px;
            overflow-y: auto;
            display: none;
        }
        
        .custom-dropdown-menu.show {
            display: block;
        }
        
        .custom-dropdown-section {
            border-bottom: 1px solid #f1f3f4;
        }
        
        .custom-dropdown-section:last-child {
            border-bottom: none;
        }
        
        /* Sticky-header scroll offset and margin-collapse prevention */
        :root {
            --acc-header-h: 72px; /* match your real navbar height */
        }

        /* prevent UA margins and margin-collapsing at top */
        html, body { margin: 0; }
        main {
            display: flow-root;          /* prevents top-margin collapse from first child */
        }

        /* nice anchor-jumps with sticky header */
        html { scroll-padding-top: var(--acc-header-h); }

        /* FIRST visible section under main: remove vh heights and bottom alignment */
        main > section:first-of-type.active,
        main > div:first-of-type.active {
            min-height: auto !important;
            height: auto !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            display: block !important;
            align-items: stretch !important;
            justify-content: flex-start !important;
        }

        /* Tailwind utility kill-switches, only if present */
        [class*="h-screen"], [class*="min-h-screen"], [class*="min-h-\\["] {
            min-height: auto !important;
            height: auto !important;
        }
        [class*="items-end"], [class*="content-end"], [class*="justify-end"] {
            align-items: stretch !important;
            justify-content: flex-start !important;
        }
        
        /* Ensure pages start properly under the header */
        .page {
            margin-top: 0;
            padding-top: 0;
            display: none; /* Keep pages hidden by default */
        }
        

        
        /* Safety kill-switch for hero height issues */
        .page-hero-fix {
            min-height: auto !important;
            height: auto !important;
            padding-top: 3rem !important;
            padding-bottom: 3rem !important;
            display: block !important;
            align-items: stretch !important;
            justify-content: flex-start !important;
        }
        
        /* Ensure proper spacing for all pages */
        section#contact, section#membership, section#member-search, section#careers {
            margin: 0;
            padding: 0;
        }
        .custom-dropdown-section-header {
            background: #fff7ed;
            color: #F97316;
            padding: 10px 16px;
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border-bottom: 1px solid #fed7aa;
        }
        
        .custom-dropdown-option {
            display: block;
            width: 100%;
            background: #ffffff;
            border: 0;
            text-align: left;
            font-family: inherit;
            padding: 13px 16px;
            color: #111827;
            cursor: pointer;
            transition: all 0.2s ease;
            border-bottom: 1px solid #e5e7eb;
            font-size: 15px;
            font-weight: 650;
            line-height: 1.35;
        }
        
        .custom-dropdown-option:last-child {
            border-bottom: none;
        }
        
        .custom-dropdown-option:hover {
            background: #F97316;
            color: #ffffff;
        }
        
        .custom-dropdown-option.selected {
            background: #F97316;
            color: #ffffff;
            font-weight: 800;
        }

        #gs-lesson-type {
            border: 2px solid #1f2937;
            color: #111827;
            font-weight: 700;
            min-height: 48px;
        }

        #gs-lesson-type:focus {
            border-color: #F97316;
            box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18);
        }
        
        /* Hide the original select */
        #lesson-choice {
            display: none;
        }
        /* Smooth fade-in animations for homepage sections */
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Decorative patterns without inline SVG markup. */
        .acc-dot-pattern {
            background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.14) 0 2px, transparent 2.5px);
            background-size: 60px 60px;
        }

        .acc-corner-pattern {
            background-image: radial-gradient(circle at top left, rgba(255, 255, 255, 0.3) 0 20px, transparent 20.5px);
            background-size: 40px 40px;
        }

        .skip-link {
            position: fixed;
            top: 1rem;
            left: 1rem;
            z-index: 100;
            transform: translateY(-200%);
            padding: 0.75rem 1rem;
            border-radius: 0.5rem;
            background: #ffffff;
            color: #1E293B;
            font-weight: 700;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.25);
        }

        .skip-link:focus {
            transform: translateY(0);
            outline: 3px solid #F97316;
            outline-offset: 3px;
        }

/* Extracted from index.html style block 2 */
.sc-week-card:has(input:checked) .sc-week-inner { border-color: #F97316; background-color: #fff7ed; }
        .sc-week-card:has(input:checked) .sc-check { background-color: #F97316; border-color: #F97316; }
        .sc-week-card:has(input:checked) .sc-wk-num { color: #F97316; }
