@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap');

        :root {
            --bg-color: #FFFFFF;
            --text-color: #333333;
            --header-bg: #efeeee;
            --footer-bg: #e1e1e1;
            --accent-color: #034b83;
            --card-bg: #FFFFFF;
            --card-hover-bg: #3498db;
            --card-hover-text: #FFFFFF;
            --shadow: 0 1px 10px rgba(0, 0, 0, 0.03);
            --accent-shadow: 0 4px 20px rgba(52, 152, 219, 0.2);
			--radius: 20px;
            --transition: all 0.3s ease;
			--hero-bg: linear-gradient(-11deg, rgba(58, 61, 91, 0.1), rgb(255 255 255 / 72%));
            --image-overlay: linear-gradient(to bottom, rgba(245, 245, 247, 0.1), rgba(245, 245, 247, 0.7));
            --hero-icon-bg: rgba(255, 255, 255, 0.7);
            --font-heading: 'Oswald', sans-serif;
            --font-body: 'Montserrat', sans-serif;
            --sidebar-width: 332px;
            /* Start calculator light mood code */
			--button-hover: #e0e0e0;
			--button-active: #d6d6d6;
			--display-bg: #ffffff;
			--display-text: #333333;
			--border-color: #dddddd;
			--scientific-btn: #4caf50;
			--numeric-btn: #2196f3;
			--utility-btn: #ff9800;
			--special-btn: #f44336;
			/* Start article light mood code */
        --error-bg: #ffebee;
        --error-text: #c62828;
        --underweight: #ffcc80;
        --normal: #a5d6a7;
        --overweight: #ffab91;
        --obesity: #ef9a9a;
        --info-bg: #f8f9fa;
        --indicator-color: #2c3e50;
        --female-accent: #da22c3;
        --male-accent: #29be22;
        --low-risk: #4CAF50;
        --moderate-risk: #FFC107;
        --high-risk: #F44336;
		--grey-color: #d4dde2;
		--scrollbar-bg: rgba(0, 0, 0, 0.05);
            --scrollbar-thumb: #e74c3c;
            --menu-hover-bg: rgba(52, 152, 219, 0.1);
            --dropdown-bg: #FFFFFF;
            --dropdown-border: #f0f0f0;
            --dropdown-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
            --icon-bg: #f0f7ff;
			--box-hover: rgba(231, 76, 60, 0.1);
        }

        [data-theme="dark"] {
            --bg-color: #8f8f9b;
            --text-color: #EAEAEA;
            --header-bg: #2B2D42;
            --footer-bg: #38383e;
            --accent-color: #FFD700;
            --card-bg: #3A3D5B;
            --card-hover-bg: #FFD700;
            --card-hover-text: #1E1E2F;
            --shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
            --accent-shadow: 0 4px 20px rgba(255, 215, 0, 0.2);
			--hero-bg: linear-gradient(-11deg, rgb(247 248 255 / 72%), rgb(0 0 0));
            --image-overlay: linear-gradient(to bottom, rgba(30, 30, 47, 0.1), rgba(30, 30, 47, 0.7));
            --hero-icon-bg: rgba(58, 61, 91, 0.7);
            /* Start calculator dark mood code */
			--button-hover: #444;
			--button-active: #555;
			--display-bg: #3A3D5B;
			--display-text: #fff;
			--border-color: #444;
			--scientific-btn: #2e7d32;
			--numeric-btn: #0d47a1;
			--utility-btn: #e65100;
			--special-btn: #bb1818;
			/* Start article dark mood code */
			--background-color: #6d6d6d;
            --text-color: #EAEAEA;
            --header-background: #2B2D42;
            --accent-color: #FFD700;
            --soft-box-shadow: 0 8px 16px rgba(255, 215, 0, 0.1);
            --font-family: 'Poppins', sans-serif;
            --ad-placeholder-bg: #4a4e69;
            --ad-placeholder-border: #6c757d;
			--scrollbar-bg: rgba(255, 255, 255, 0.05);
            --scrollbar-thumb: #e74c3c;
            --menu-hover-bg: rgba(231, 76, 60, 0.2);
            --dropdown-bg: #2d3047;
            --dropdown-border: #3a3e5c;
            --dropdown-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
            --icon-bg: rgba(58, 62, 92, 0.5);
        }

        /* start nav introduction */
		.mobile-only {
			display: none;
		}
		/* end nav introduction */
		
		* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
		
		body {
            background-color: var(--bg-color);
            color: var(--text-color);
            line-height: 1.6;
            font-family: var(--font-body);
            transition: var(--transition);
        }
		
		/* TYPOGRAPHY */

        h1, h2, h3, h4, h5, h6 {
            font-family: var(--font-heading);
        }
		
		h1, h2, h3 {
			color: var(--accent-color);
		}

        h1 {
			font-size: 2.8rem;
        }

        h2 {
			font-size: 2.4rem;
        }

        h3 {
			font-size: 2rem;
        }
		h4 {
			font-size: 1.6rem;
		}
		
		p {
			color: var(--text-color);
		}
		
		/* RESPONSIVENESS HEADINGS */
		
		@media (max-width: 768px) {
			h1 {
				font-size: 2.2rem;
			}
			h2 {
				font-size: 1.8rem;
			}
			h3 {
				font-size: 1.5rem;
			}
			h4 {
				font-size: 1.25rem;
			}		
		}
		
		@media (max-width: 600px) {
			h1 {
				font-size: 2rem;
			}
			h2 {
				font-size: 1.6rem;
			}
			h3 {
				font-size: 1.4rem;
			}
			h4 {
				font-size: 1.2rem;
			}		
		}
		
		@media (max-width: 400px) {
			h1 {
				font-size: 1.7rem;
			}
			h2 {
				font-size: 1.5rem;
			}
			h3 {
				font-size: 1.3rem;
			}
			h4 {
				font-size: 1rem;
			}		
		}
		
		h3 a {
			color: inherit;
		}
		
		li a {
			font-family: var(--font-heading);
			color: var(--accent-color);
		}
		
		li {
			color: var(--default-text);
		}
		/* START DROPDOWN MENUS RESPONSIVE CSS CODES */
        /* Custom scrollbar for mobile */
        .mobile-scroll-container {
            max-height: 60vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            padding-right: 5px;
        }

        /* Beautiful scrollbar styling */
        .mobile-scroll-container::-webkit-scrollbar {
            width: 6px;
        }

        .mobile-scroll-container::-webkit-scrollbar-track {
            background: var(--scrollbar-bg);
            border-radius: 10px;
        }

        .mobile-scroll-container::-webkit-scrollbar-thumb {
            background: var(--scrollbar-thumb);
            border-radius: 10px;
        }

        .mobile-scroll-container::-webkit-scrollbar-thumb:hover {
            background: var(--primary-dark);
        }

        /* For Firefox */
        .mobile-scroll-container {
            scrollbar-width: thin;
            scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-bg);
        }
		/* END DROPDOWN MENUS RESPONSIVE CSS CODES */
		

        /* START HEADER CSS CODES */
        .site-header {
            background-color: var(--footer-bg);
            box-shadow: var(--shadow);
            position: sticky;
            top: 0;
            z-index: 1000;
            padding: 0 20px;
            transition: var(--transition);
			font-family: var(--font-heading);
        }

        .header-container {
            max-width: 1200px;
            margin: 0 auto;
			padding: 10px 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        /* Logo styling */
        .logo {
			display: flex;
			align-items: center;
			gap: 0.5rem;
			text-decoration: none;
		}

		.logo-icon {
			width: 50px;
			height: 50px;
		}

        .logo-text {
            font-size: 22px;
        }

        .logo-subtext {
            color: var(--primary-color);
            font-weight: 600;
        }

        /* Main navigation */
        .main-nav {
            display: flex;
            align-items: center;
        }

        /* Navigation list */
        .nav-list {
            display: flex;
            list-style: none;
        }

        .nav-item {
            position: relative;
            margin-right: 8px;
        }

        .nav-link {
            display: flex;
            align-items: center;
            padding: 10px;
            text-decoration: none;
            color: var(--h1-color);
            font-weight: 500;
            border-radius: 6px;
            transition: var(--transition);
            white-space: nowrap;
            font-family: var(--font-heading);
        }

        .nav-link:hover {
            background-color: var(--accent-color);
            color: var(--card-hover-text);
        }

        .nav-link.active {
            background-color: rgb(11 64 206 / 10%);
            color: var(--accent-color);
            font-weight: 600;
        }

        [data-theme="dark"] .nav-link.active {
            background-color: rgba(231, 76, 60, 0.2);
        }

        /* Dropdown menu styling */
        .dropdown-menu {
            position: absolute;
            top: 100%;
            right: -200px;
            background: var(--dropdown-bg);
            box-shadow: var(--dropdown-shadow);
            border-radius: 10px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(15px);
            transition: var(--transition);
            z-index: 1000;
            padding: 20px;
            max-width: 80vw;
            overflow: hidden;
            border: 1px solid var(--dropdown-border);
			font-family: var(--font-heading);
        }

        .nav-item:hover .dropdown-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(5px);
        }

        /* Multi-column layout for dropdown */
        
		.dropdown-columns-4 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
			min-width: 600px;
            gap: 10px;
        }
		
		.dropdown-columns-3 {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
			min-width: 500px;
            gap: 10px;
        }
		
		.dropdown-columns-2 {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
			min-width: 300px;
            gap: 10px;
        }
		
		.dropdown-columns {
            display: flex;
            gap: 10px;
        }
		
		/* Responsiveness */
		
		@media (max-width: 992px) {
			/* Multi-column layout for dropdown */
        
			.dropdown-columns-4 {
				grid-template-columns: 1fr;
				gap: 10px;
			}
			
			.dropdown-columns-3 {
				grid-template-columns: 1fr;
				gap: 10px;
			}
			
			.dropdown-columns-2 {
				grid-template-columns: 1fr;
				gap: 10px;
			}
			
			.dropdown-columns {
				flex-direction: column;
			}
			
			/* end 1 to 4 columns */
		}
		
		/* End multi column layout */

        .dropdown-section {
            margin-bottom: 0;
			font-family: var(--font-heading);
        }

        .dropdown-title {
            font-size: 16px;
            font-weight: 600;
            color: var(--h1-color);
            margin-bottom: 15px;
            padding-bottom: 8px;
            border-bottom: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            font-family: var(--font-heading);
        }

        .dropdown-icon {
            width: 18px;
            height: 18px;
            margin-right: 10px;
            background-color: var(--primary-color);
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 10px;
        }

        .dropdown-list {
            list-style: none;
        }

        .dropdown-item {
            margin-bottom: 8px;
        }

        .dropdown-link {
            display: flex;
            align-items: center;
            padding: 8px 0;
            text-decoration: none;
            color: var(--gray-text);
            font-size: 14px;
            transition: var(--transition);
            border-radius: 4px;
            font-family: var(--font-heading);
        }

        .dropdown-link:hover {
            color: var(--primary-color);
        }

        .item-icon {
            width: 16px;
            height: 16px;
            margin-right: 10px;
            background-color: var(--header-bg);
            border-radius: 3px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gray-text);
            font-size: 16px;
        }
		
		.dropdown-img {
			display: flex;
			flex-direction: column;
			padding: 10px;
			border: 2px dotted var(--accent-color);
			border-radius: 10px;
		}
		
		.dropdown-img:hover {
			box-shadow: var(--shadow);
		}
		
		.dropdown-pic {
			width: 130px;
			height: 130px;
		}

        /* Header actions */
        .header-actions {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .theme-toggle {
            display: flex;
            align-items: center;
        }

        .toggle-switch {
            position: relative;
            display: inline-block;
            width: 50px;
            height: 24px;
        }

        .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

        .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ddd;
            transition: .4s;
            border-radius: 24px;
			box-shadow: inset 1px 0px 5px 3px;
        }

        [data-theme="dark"] .toggle-slider {
            background-color: #555;
        }

        .toggle-slider:before {
            position: absolute;
            content: "";
            height: 18px;
            width: 18px;
            left: 3px;
            bottom: 3px;
            background-color: var(--accent-color);
            transition: .4s;
            border-radius: 50%;
        }

        input:checked + .toggle-slider {
            background-color: var(--primary-color);
        }

        input:checked + .toggle-slider:before {
            transform: translateX(26px);
        }

        .mobile-menu-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 24px;
            color: var(--h1-color);
            cursor: pointer;
            padding: 5px;
            transition: var(--transition);
        }
		
		/* PNG icon styling for when you add them */
        .png-icon {
            width: 20px;
            height: 20px;
            margin-right: 10px;
            object-fit: contain;
        }

        .png-icon-small {
            width: 16px;
            height: 16px;
            margin-right: 10px;
        }
		/* END HEADER CSS CODES */
		
		/* START MAIN PAGE CSS */
		.main-content {
			max-width: 1200px;
			margin: 2rem auto;
			padding: 1rem;
		}
		
		.main-calculator-content {
			max-width: 1200px;
			margin: 2rem auto;
			padding: 1rem;
			display: flex;
			gap: 2rem;
		}
		/* END MAIN PAGE CSS */

        /* Hero section start style */
        .hero {
			background: var(--hero-bg);
			border-radius: 12px;
			padding: 2rem 2rem;
			margin-bottom: 3rem;
			text-align: center;
			box-shadow: var(--shadow);
		}

		.hero h2 {
			font-size: 2.5rem;
			margin-bottom: 1rem;
			color: var(--accent-color);
		}

		.hero p {
			font-size: 1.2rem;
			max-width: 700px;
			margin: 0 auto;
		}
		
		.hero-icons {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 1.5rem;
			margin: 2rem auto 0;
			max-width: 900px;
		}

		.hero-icon {
			display: flex;
			flex-direction: column;
			align-items: center;
			border: 2px solid var(--accent-color);
			border-radius: 15px;
			padding: 5px;
			cursor: pointer;
			transition: var(--transition);
		}

		.hero-icon:hover {
			transform: translateY(-5px);
		}

		.icon-circle {
			width: 60px;
			height: 60px;
			border-radius: 50%;
			background-color: var(--hero-icon-bg);
			display: flex;
			align-items: center;
			justify-content: center;
			margin-bottom: 0.5rem;
			transition: var(--transition);
			backdrop-filter: blur(5px);
			border: 1px solid rgba(52, 152, 219, 0.3);
		}

		.icon-img {
			width: 60px;
			height: 60px;
			object-fit: contain;
			transition: var(--transition);
			border-radius: 50%;
		}

		.hero-icon:hover .icon-img {
			transform: scale(1.1);
		}

		.hero-icon p {
			font-size: 0.9rem;
			font-weight: 500;
			text-align: center;
			color: var(--text-color);
			margin-top: 0.3rem;
		}

		.hero-icon:hover p {
			color: var(--accent-color);
		}
		
		/* Hero section end style */

        .highlight {
            color: var(--primary-color);
            font-weight: 600;
        }
		
		/* START SEARCH SECTION CSS */
		/* START SEARCH SECTION CSS */
		.search-wrapper {
    background: var(--footer-bg);
    max-width: 620px;
	margin: 0 auto;
	margin-bottom: 20px;
    width: 100%;
    padding: .5rem;
    border-radius: 20px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* ===== Branding ===== */
.brand {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: .5rem;
    border-bottom: 2px dashed #d4c9bc;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.brand p {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: -0.5px;
    color: var(--accent-color);
}

.brand p span {
    font-weight: 600;
    background: var(--accent-color);
    color: white;
    padding: 0.1rem 0.7rem;
    border-radius: 60px;
    font-size: 1rem;
    margin-left: 6px;
    letter-spacing: 0.3px;
}

.brand .domain {
    font-size: 0.8rem;
    background: var(--footer-bg);
    padding: 0.2rem 1rem;
    border-radius: 30px;
    color: var(--default-text);
    font-weight: 500;
}

.brand-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.language-toggle {
    background: var(--accent-color);
    color: white;
    border: none;
    padding: 0.2rem 1rem;
    border-radius: 40px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.3px;
    border: 1px solid var(--footer-bg);
}
/* ===== Search Container ===== */
.search-container {
    position: relative;
    width: 100%;
}

.input-group-search {
    align-items: center;
    border-radius: 80px;
    padding: 0.1rem 0.1rem 0.1rem 1.5rem;
    transition: all 0.2s ease;
    border: 2px solid transparent;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
}

.input-group-search svg {
    width: 20px;
    height: 20px;
    stroke: var(--accent-color);
    stroke-width: 2;
    fill: none;
    flex-shrink: 0;
    margin-right: 8px;
    opacity: 0.7;
}

#searchInput {
    flex: 1;
    border: none;
    background: transparent;
    padding: 0.5rem;
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--accent-color);
    outline: none;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    letter-spacing: -0.2px;
}

#searchInput::placeholder {
    color: var(--default-text);
    font-weight: 300;
    letter-spacing: 0.2px;
    font-size: 1rem;
}

.button {
    background: var(--accent-color);
    border: none;
    color: white;
    font-weight: 500;
    padding: 0.7rem 1.5rem;
    border-radius: 60px;
    font-size: 0.95rem;
    cursor: pointer;
    transition: 0.15s ease;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.3px;
    border: 1px solid #2d3a4b;
    box-shadow: 0 4px 8px -4px rgba(0, 0, 0, 0.2);
    margin-left: 0.3rem;
}

.input-group-search button:hover {
    background: #2f4057;
    transform: scale(0.97);
}

.input-group-search button:active {
    transform: scale(0.94);
}

/* ===== Dropdown ===== */
.keyword-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #ffffff;
    border-radius: 28px;
    box-shadow: 0 20px 40px -12px rgba(20, 20, 20, 0.25), 0 6px 14px -6px rgba(0, 0, 0, 0.08);
    max-height: 320px;
    overflow-y: auto;
    padding: 0.5rem 0.3rem;
    z-index: 100;
    border: 1px solid #e6ddd2;
    transition: opacity 0.18s ease, transform 0.15s ease;
    opacity: 0;
    transform: scaleY(0.92) translateY(-6px);
    transform-origin: top center;
    pointer-events: none;
    visibility: hidden;
}

.keyword-dropdown.active {
    opacity: 1;
    transform: scaleY(1) translateY(0);
    pointer-events: auto;
    visibility: visible;
}

/* ===== Keyword Items ===== */
.keyword-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 1.4rem;
    margin: 0.1rem 0.2rem;
    border-radius: 60px;
    background: transparent;
    transition: background 0.12s ease, padding-left 0.1s;
    border: 1px solid transparent;
    text-decoration: none;
    color: #1e2a38;
    cursor: pointer;
    font-weight: 480;
    font-size: 1rem;
    gap: 0.6rem;
}

.keyword-item:hover {
    background: #f0ebe4;
    border-color: #d5cbbc;
    padding-left: 1.9rem;
}

.keyword-item:active {
    background: #dacfc2;
}

.keyword-item::before {
    content: "🕌";
    font-size: 0.9rem;
    opacity: 0.5;
    transition: opacity 0.1s;
    margin-right: 0.3rem;
}

.keyword-item:hover::before {
    opacity: 0.9;
}

.keyword-item .kw-text {
    font-weight: 500;
}

.keyword-item .kw-sub {
    font-size: 0.7rem;
    color: #7b6e5e;
    background: #eae3db;
    padding: 0.15rem 0.7rem;
    border-radius: 30px;
    margin-left: auto;
    white-space: nowrap;
}

.keyword-item .kw-url {
    display: none;
}

.keyword-item .kw-city {
    font-size: 0.75rem;
    color: #5a6a7a;
    background: #eef0f2;
    padding: 0.15rem 0.8rem;
    border-radius: 30px;
    margin-left: 0.5rem;
    white-space: nowrap;
}

.keyword-item .kw-prayer-icon {
    font-size: 0.7rem;
    opacity: 0.6;
    margin-right: 0.3rem;
}

/* ===== No Results ===== */
.no-result {
    justify-content: center;
    opacity: 0.6;
    cursor: default;
    font-size: 0.9rem;
    padding: 0.8rem;
}

.no-result::before {
    content: "🔎";
    opacity: 0.5;
    margin-right: 0.4rem;
}

/* ===== Scrollbar ===== */
.keyword-dropdown::-webkit-scrollbar {
    width: 6px;
    background: transparent;
}

.keyword-dropdown::-webkit-scrollbar-thumb {
    background: #cbbcb0;
    border-radius: 20px;
}

.keyword-dropdown::-webkit-scrollbar-track {
    background: #f2ede7;
    border-radius: 20px;
}

/* ===== Arabic Support ===== */
[dir="rtl"] {
    font-family: 'Inter', 'Noto Sans Arabic', system-ui, sans-serif;
}

[dir="rtl"] .keyword-item::before {
    margin-right: 0;
    margin-left: 0.3rem;
}

[dir="rtl"] .keyword-item .kw-sub {
    margin-left: 0;
    margin-right: auto;
}

[dir="rtl"] .keyword-item .kw-city {
    margin-left: 0;
    margin-right: 0.5rem;
}

/* ===== Responsive ===== */
@media (max-width: 480px) {
    .search-wrapper {
        padding: .5rem;
    }

    .input-group {
        padding-left: 1rem;
    }

    #searchInput {
        font-size: 0.95rem;
        padding: 0.8rem 0.2rem;
    }

    .input-group button {
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
    }

    .brand p {
        font-size: .8rem;
    }

    .brand {
        flex-direction: column;
        align-items: stretch;
    }

    .brand-controls {
        justify-content: flex-end;
    }

    .keyword-item {
        flex-wrap: wrap;
    }

    .keyword-item .kw-city {
        font-size: 0.65rem;
    }
}
		/* END SEARCH SECTION CSS */
		/* END SEARCH SECTION CSS */
		
		/* START SIDEBAR ACCORDION STYLE */
		.calculator-sidebar {
			width: var(--sidebar-width);
			border-radius: 12px;
			box-shadow: var(--shadow);
			padding: 10px;
			display: flex;
			flex-direction: column;
			gap: 10px;
			height: fit-content; /* Add this to control height based on content */
			min-height: auto; /* Ensure it doesn't have a minimum height */
		}
		
		/* Calculator Table Styles */
		.calculator-table {
			display: table;
			width: 100%;
			border-collapse: collapse;
		}

		.calculator-row {
			display: grid;
		}

		.calculator-cell {
			display: table-cell;
			padding: 8px 15px;
			border: 1px solid var(--accent-color);
			cursor: pointer;
			transition: var(--transition);
			font-family: var(--font-heading);
			font-weight: 500;
			color: var(--accent-color);
			background-color: var(--card-bg);
			text-decoration: none;
		}

		.calculator-cell:hover {
			background-color: var(--accent-color);
			color: var(--card-hover-text);
			transform: translateY(-2px);
			box-shadow: var(--accent-shadow);
		}

		/* Accordion content adjustments */
		.accordion-content {
			max-height: 0;
			background: var(--card-bg);
			overflow: hidden;
			transition: max-height 0.3s ease;
			padding: 0 15px; /* Add padding for better spacing */
		}

		.accordion-content.active {
			max-height: 500px;
			padding: 2px; /* Add padding when active */
		}

		/* Ensure accordion items don't have extra spacing */
		.accordion-item {
			border-bottom: 1px solid rgba(0, 0, 0, 0.1);
			margin-bottom: 0; /* Remove any margin */
		}

		[data-theme="dark"] .accordion-item {
			border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		}

		/* Remove any extra margins from accordion headers */
		.accordion-header {
			padding: 1rem 1.5rem;
			background-color: var(--card-bg);
			cursor: pointer;
			display: flex;
			justify-content: space-between;
			align-items: center;
			transition: var(--transition);
			font-family: var(--font-heading);
			font-weight: 600;
			font-size: 1.1rem;
			margin: 0; /* Ensure no margin */
		}
		
        /* Accordion Styling */
        .accordion {
            width: 100%;
        }

        .accordion-item {
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }

        [data-theme="dark"] .accordion-item {
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .accordion-header {
            padding: 1rem 1.5rem;
            background-color: var(--footer-bg);
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: var(--transition);
            font-family: var(--font-heading);
            font-weight: 600;
            font-size: 1.1rem;
			color: var(--accent-color);
        }

        .accordion-header:hover {
            background-color: rgba(52, 152, 219, 0.1);
        }

        [data-theme="dark"] .accordion-header:hover {
            background-color: rgba(255, 215, 0, 0.1);
        }

        .accordion-header.active {
            background: var(--accent-color);
			color: white;
        }

        .accordion-icon {
            transition: var(--transition);
        }

        .accordion-header.active .accordion-icon {
            transform: rotate(180deg);
        }

        .accordion-content {
            height: 30vh;
            transition: max-height 0.3s ease;
			overflow-y: auto;
        }

        /* START SIDEBAR ACCORDION CONTENT SCROLL FUNCTION */
		.accordion-content::-webkit-scrollbar {
            width: 8px;
        }
        
        .accordion-content::-webkit-scrollbar-track {
            background: var(--header-bg);
            border-radius: 10px;
        }
        
        .accordion-content::-webkit-scrollbar-thumb {
            background: var(--accent-color);
            border-radius: 10px;
        }
        
        .accordion-content::-webkit-scrollbar-thumb:hover {
            background: #fdbb2d;
        }
		/* END SIDEBAR ACCORDION CONTENT SCROLL FUNCTION */
		
		/* END SIDEBAR ACCORDION STYLE */

        /* START Tool categories */
        .category-grid, .calculator-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 2rem;
			margin-bottom: 3rem;
		}

		.category-card, .calculator-card {
			background-color: var(--card-bg);
			border-radius: 12px;
			border: 2px solid var(--accent-color);
			padding: 0.5rem .8rem;
			transition: var(--transition);
			cursor: pointer;
			box-shadow: var(--shadow);
			display: flex;
			gap: 1rem;
		}

		.category-card:hover, .calculator-card:hover {
			background-color: var(--accent-color);
			color: var(--card-hover-text);
			transform: translateY(-5px);
			box-shadow: var(--accent-shadow);
		}

		.category-card:hover h3, .calculator-card:hover h3 {
			color: var(--card-hover-text);
		}

		.category-card:hover h4, .calculator-card:hover h4 {
			color: var(--card-hover-text);
		}

		/* Category Card with Image */
		.category-card {
			position: relative;
			overflow: hidden;
			padding: 0;
			height: 300px;
		}

		.card-image-container {
			position: relative;
			width: 100%;
			height: 100%;
		}

		.card-image {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.5s ease;
		}

		.image-overlay {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: var(--image-overlay);
		}

		.card-content {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			padding: 1.5rem;
			z-index: 2;
		}

		.category-card:hover .card-image {
			transform: scale(1.05);
		}

		/* Adjust icon position */
		.category-card .card-icon {
			font-size: 2rem;
			margin-bottom: 0.5rem;
			color: var(--accent-color);
		}

		/* Adjust text contrast for better readability over images */
		.category-card h3 {
			color: white;
			text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
		}

		.category-card p {
			color: var(--text-color);
			text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
		}

		/* Hover effects with images */
		.category-card:hover h3,
		.category-card:hover p {
			color: var(--card-hover-text);
			text-shadow: none;
		}

		.category-card:hover .card-icon {
			color: var(--card-hover-text);
		}

		.category-card:hover .image-overlay {
			background: rgba(52, 152, 219, 0.8);
		}

		[data-theme="dark"] .category-card:hover .image-overlay {
			background: rgba(255, 215, 0, 0.8);
		}

		.card-icon {
			font-size: 2.5rem;
			margin-bottom: 1rem;
		}

		.card-icon img {
			width: 40px;
			height: 40px;
			object-fit: contain;
			margin-bottom: 1rem;
			transition: var(--transition);
		}

		.calculator-card:hover .card-icon img {
			transform: scale(1.1);
			filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
		}

		.category-card h3, .calculator-card h3 {
			font-size: 1.5rem;
			color: var(--accent-color);
		}

		.category-card h4, .calculator-card h4 {
			font-size: 1.2rem;
			color: var(--accent-color);
		}

		.card-footer {
			margin-top: auto;
			font-size: 1.5rem;
			text-align: right;
		}
		
		.card-info {
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
		
		.card-photo {
			padding: 1rem;
			align-items: center;
			justify-content: center;
		}

		/* END TOOL CATEGORY SECTION */
		
		/* START MAIN CONTENT LAYOUT */
        .calculator-content {
            flex: 1;
            background-color: var(--card-bg);
            border-radius: 12px;
            padding: 5px;
            box-shadow: var(--shadow);
        }

        .calculator-sidebar {
			width: var(--sidebar-width);
			border-radius: 12px;
			box-shadow: var(--shadow);
			padding: 10px;
			display: flex;
			flex-direction: column;
			gap: 30px;
			height: fit-content; /* Add this to control height based on content */
			min-height: auto; /* Ensure it doesn't have a minimum height */
		}
		
		/* Calculator Table Styles */
		.calculator-table {
			display: table;
			width: 100%;
			border-collapse: collapse;
		}

		.calculator-row {
			display: grid;
		}

		.calculator-cell {
			display: table-cell;
			padding: 12px 15px;
			border: 1px solid var(--border-color);
			cursor: pointer;
			transition: var(--transition);
			font-family: var(--font-body);
			font-weight: 500;
			color: var(--text-color);
			background-color: var(--card-bg);
		}

		.calculator-cell:hover {
			background-color: var(--accent-color);
			color: var(--card-hover-text);
			transform: translateY(-2px);
			box-shadow: var(--accent-shadow);
		}
		/* END MAIN CONTENT LAYOUT */
		
		/* START ARTICLE CSS */
		#toolsArticle {
                margin-top: 3rem;
                border-radius: 8px;
				padding: 2rem;
            }
            #toolsArticle h1 {
                color: var(--accent-color);
                margin-bottom: 1rem;
                font-size: 2.2rem;
            }
			
			#toolsArticle h2 {
                color: var(--accent-color);
                margin-bottom: 1rem;
                text-align: center;
                font-size: 2rem;
            }
            #toolsArticle h3 {
                color: var(--accent-color);
                opacity: 0.9;
                margin-top: 1.5rem;
                margin-bottom: 0.5rem;
                border-bottom: 1px solid var(--header-background);
                padding-bottom: 0.3rem;
            }
            #toolsArticle p, #toolsArticle ul {
                margin-bottom: 1rem;
                font-size: 0.95rem;
                opacity: 0.9;
            }
            #toolsArticle li {
                margin-left: 1.5rem;
                margin-bottom: 0.5rem;
            }
             #toolsArticle strong { color: var(--accent-color); opacity: 1;}
		/* END ARTICLE CSS*/
		
		/* START FOOTER CSS */
		footer {
            background-color: var(--footer-bg);
            color: var(--footer-text);
			font-family: var(--font-heading);
            padding: 3rem 0 0;
            margin-top: 3rem;
        }

        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 1rem;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 2rem;
        }

        .footer-column {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .footer-logo {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1rem;
        }

        .footer-logo-icon {
            width: 40px;
            height: 40px;
        }

        .footer-logo-text {
            font-size: 1.5rem;
            font-weight: bold;
            color: var(--accent-color);
        }

        .footer-description {
            font-size: 0.9rem;
            line-height: 1.6;
            opacity: 0.8;
        }

        .footer-heading {
            font-size: 1.2rem;
            font-weight: bold;
            margin-bottom: 1rem;
            color: var(--accent-color);
            position: relative;
            padding-bottom: 0.5rem;
        }

        .footer-heading::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 40px;
            height: 2px;
            background-color: var(--accent-color);
        }

        .footer-links {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .footer-link {
            color: var(--footer-text);
            text-decoration: none;
            transition: color 0.3s ease;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.9rem;
        }

        .footer-link:hover {
            color: var(--accent-color);
        }

        .footer-link-icon {
            width: 25px;
            height: 25px;
        }

        .social-links {
            display: flex;
            gap: 1rem;
            margin-top: 1rem;
        }

        .social-link {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            background-color: rgba(255, 215, 0, 0.1);
            border-radius: 50%;
            transition: all 0.3s ease;
        }

        .social-link:hover {
            background-color: var(--accent-color);
            transform: translateY(-3px);
        }

        .social-icon {
            width: 18px;
            height: 18px;
        }

        .app-download {
            display: inline-block;
            margin-top: 1.5rem;
        }

        .app-store-icon {
            width: 120px;
            height: auto;
            border-radius: 5px;
            transition: transform 0.3s ease;
        }

        .app-store-icon:hover {
            transform: scale(1.05);
        }

        .copyright {
            background-color: var(--header-bg);
            padding: 1.5rem 0;
            margin-top: 3rem;
            text-align: center;
            font-size: 0.8rem;
            opacity: 0.7;
        }
		/* END FOOTER CSS */

        /* Mobile responsiveness */
        @media (max-width: 992px) {
            .mobile-menu-toggle {
                display: block;
            }
            
            .main-nav {
                position: fixed;
                top: 50px;
                left: 0;
                width: 75%;
                background: var(--header-bg);
                box-shadow: var(--shadow);
                padding: 20px;
                transform: translateY(-100%);
                opacity: 0;
                visibility: hidden;
                transition: var(--transition);
                z-index: 999;
                border-top: 1px solid var(--border-color);
                height: calc(100vh - 70px);
                display: flex;
                flex-direction: column;
            }
            
            .main-nav.active {
                transform: translateY(0);
                opacity: 1;
                visibility: visible;
            }
            
            .nav-list {
                flex-direction: column;
                width: 100%;
                flex: 1;
                overflow-y: auto;
                padding-right: 5px;
            }
            
            .nav-item {
                width: 100%;
                margin-right: 0;
                margin-bottom: 5px;
            }
            
            .nav-link {
                padding: 15px;
                border-radius: 8px;
                border-bottom: 1px solid var(--border-color);
            }
            
            .dropdown-menu {
                position: static;
                opacity: 1;
                visibility: visible;
                transform: none;
                box-shadow: none;
                padding: 0;
                min-width: auto;
                max-width: 100%;
                display: none;
                background: var(--light-gray);
                border-radius: 8px;
                margin-top: 5px;
                border: 1px solid var(--border-color);
                max-height: 400px;
                overflow-y: auto;
            }
            
            .dropdown-menu.active {
                display: block;
                padding: 15px;
            }
            
            .dropdown-columns {
                grid-template-columns: 1fr;
                gap: 20px;
            }

            /* Make mobile dropdown scrollable */
            .dropdown-menu.active .dropdown-columns {
                max-height: 350px;
                overflow-y: auto;
                padding-right: 10px;
            }

            .dropdown-menu.active .dropdown-columns::-webkit-scrollbar {
                width: 5px;
            }

            .dropdown-menu.active .dropdown-columns::-webkit-scrollbar-track {
                background: var(--scrollbar-bg);
                border-radius: 10px;
            }

            .dropdown-menu.active .dropdown-columns::-webkit-scrollbar-thumb {
                background: var(--scrollbar-thumb);
                border-radius: 10px;
            }
            
            .hero-title {
                font-size: 36px;
            }
            
            .hero-subtitle {
                font-size: 18px;
            }
            
            .header-actions {
                gap: 10px;
            }
        }

        @media (max-width: 768px) {
            .mobile-only {
				display: block;
			}
			.hero-section {
                padding: 60px 20px;
            }
            
            .hero-title {
                font-size: 30px;
            }
            
            .hero-subtitle {
                font-size: 16px;
            }
            
            .categories-grid {
                grid-template-columns: 1fr;
            }
        }
		
		/* Page Load Animation - Theme Compatible */
.page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bg-color);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.page-loader.hidden {
    opacity: 0;
    visibility: hidden;
}

.loader-logo-container {
    text-align: center;
    padding: 30px;
    max-width: 90%;
}

.loader-logo-link {
    text-decoration: none;
    display: inline-block;
    position: relative;
}

.loader-logo {
    width: 180px;
    height: 180px;
    background: linear-gradient(135deg, var(--accent-color) 0%, #daa520 100%);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    box-shadow: 0 0 25px rgba(218, 165, 32, 0.3);
    position: relative;
    overflow: hidden;
    animation: pulse 2s infinite;
}

.loader-logo:before {
    content: '';
    position: absolute;
    width: 150%;
    height: 150%;
    background: repeating-linear-gradient( 
        45deg, 
        var(--accent-color),
        rgba(255, 215, 0, 0.3) 10px,
        transparent 10px,
        transparent 20px 
    );
    animation: rotate 20s linear infinite;
}

.loader-logo-inner {
    width: 70%;
    height: 70%;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    background: var(--card-bg);
}

.loader-calculator-icon {
    width: 70%;
    height: 70%;
    border-radius: 10px;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1%;
    justify-content: center;
    align-items: center;
}

.loader-calculator-icon img {
    width: 80%;
    height: 80%;
    object-fit: contain;
    filter: brightness(0.8);
}

.loader-logo-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    z-index: 2;
    pointer-events: none;
}

.loader-royal-text {
    font-family: 'Times New Roman', Times, serif;
    font-size: 32px;
    font-weight: bold;
    color: var(--accent-color);
    text-shadow: 
        2px 2px 0 var(--text-color),
        -1px -1px 0 var(--text-color), 
        1px -1px 0 var(--text-color), 
        -1px 1px 0 var(--text-color);
    letter-spacing: 2px;
    animation: textGlow 2s ease-in-out infinite alternate;
}

[data-theme="dark"] .loader-logo {
    box-shadow: 0 0 25px rgba(255, 215, 0, 0.4);
}

[data-theme="dark"] .loader-royal-text {
    text-shadow: 
        2px 2px 0 #000000,
        -1px -1px 0 #000000, 
        1px -1px 0 #000000, 
        -1px 1px 0 #000000;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.05);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.8;
    }
}

@keyframes textGlow {
    from {
        text-shadow: 
            2px 2px 0 var(--text-color),
            -1px -1px 0 var(--text-color), 
            1px -1px 0 var(--text-color), 
            -1px 1px 0 var(--text-color);
    }
    to {
        text-shadow: 
            0 0 10px var(--accent-color),
            0 0 20px var(--accent-color),
            2px 2px 0 var(--text-color);
    }
}

@media (max-width: 600px) {
    .loader-logo {
        width: 150px;
        height: 150px;
    }
    
    .loader-royal-text {
        font-size: 26px;
    }
}
/* UNSTYLING HEADINGS */
.main-header,
.main-footer,
.calculator-sidebar {
    transition: font-family 0.3s ease;
}

h1 a, h2 a, h3 a {
    color: inherit;          /* Inherit the color from h1 */
    text-decoration: none;   /* Remove underline */
    font-weight: inherit;    /* Inherit font weight */
}

h1 a:hover, h1 a:focus, h1 a:active {
    color: inherit;
    text-decoration: none;
}

/* Responsive Design */
@media (max-width: 1150px) {
				
				.calculator-body {
					padding: 8px;
				}
			}

@media (max-width: 1024px) {
    .category-grid, .calculator-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-content {
        grid-template-columns: 1fr 1fr;
    }
    
    .footer-copyright {
        grid-column: span 2;
        text-align: center;
    }
    
    .category-card {
        height: 250px;
    }
    
    .hero-icons {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem 1rem;
    }
    
    .icon-circle {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
	
	.main-content {
        flex-direction: column;
    }
	
	.main-calculator-content {
        flex-direction: column;
    }
            
    .calculator-content {
        order: 1;
    }
			
	.calculator-body {
		padding: 10px 50px;
		gap: 30px;
	}
}

@media (max-width: 992px) {
	.footer-container {
                grid-template-columns: repeat(2, 1fr);
                gap: 2rem;
            }
	.calculator-body {
		padding: 10px 50px;
		gap: 20px;
	}
		
	#scihistory {
		width: 40%;
		}	
}

@media (max-width: 768px) {
    .main-content{
		margin: 0rem auto;
	}
	
	.main-calculator-content{
		margin: 0rem auto;
	}
	
	.calculator-body {
		padding: 10px 70px;
		gap: 15px;
	}
	
	.tool-container {
		margin: 0rem auto;
	}
	
	.converter-box {
		padding: 10px;
	}
	
	.header-content {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .main-nav ul {
        gap: 1rem;
		display: block;
    }
    
    .hero h2 {
        font-size: 1.5rem;
    }
    
    .section-title {
        font-size: 1.5rem;
    }
    
    .hero p {
        font-size: 1rem;
    }
    
    .category-card {
        height: 220px;
    }
    
    .card-content {
        padding: 1rem;
    }
    
    .category-card .card-icon {
        font-size: 1.8rem;
    }
    
    .category-card h3 {
        font-size: 1.3rem;
    }
    
    .category-card p {
        font-size: 0.9rem;
    }
    
    .hero-icons {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .hero-icon p {
        font-size: 0.8rem;
    }
    
    nav ul {
        flex-wrap: wrap;
        justify-content: center;
    }		
}

@media (max-width: 600px) {
    .calculator-body {
		padding: 10px;
		gap: 15px;
	}
	
	.converter-box {
		padding: 10px;
	}
	
	.category-grid, .calculator-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-container {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            
            .footer-column {
                align-items: center;
                text-align: center;
            }
            
            .footer-heading::after {
                left: 50%;
                transform: translateX(-50%);
            }
            
            .footer-links {
                align-items: center;
            }
    
    .hero-icons {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .calculator-list li {
        flex-direction: column;
    }
    
    .calculator-list li::after {
        content: none;
    }
    
    .calculator-list a {
        margin-bottom: 0.3rem;
    }		
}

@media (max-width: 400px) {
    .calculator-body {
		padding: 3px;
		gap: 10px;
	}
	
	.icon-circle {
        width: 45px;
        height: 45px;
        font-size: 1.3rem;
    }
    
    .hero-icon p {
        font-size: 0.75rem;
    }
    
    .main-nav a {
        padding: 0.5rem;
    }
	
	.main-nav ul {
		gap: .5rem;
	}
	
	.dropdown-content {
		width: 180px;
	}
    
    .toggle-label {
		font-size: 1.2rem;
	}
	
	.input-group button {
		padding: 0.5rem;
	}
	
}

.main-page {
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
}

.main-footer {
	background: var(--footer-bg);
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.index-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: 20px;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.index-container {
		flex-direction: column;
		padding: 10px;
	}
	
	.main-content {
		padding: 15px;
	}
	
	.header-actions {
		gap: 4px;
	}
	
	.site-header {
		padding: 0 7px;
	}
}

@media (max-width: 480px) {
	.main-content {
		padding: 10px;
	}
	
	#toolsArticle {
		padding: 1rem;
	}
	
	.index-container {
	padding: 0px;
	}
	
	#sciout {
		padding: 2px;
	}
}

@media (max-width: 1024px) {
	.index-container {
	gap: 0px;
	grid-template-columns: repeat(1, 1fr);
	}
	
	#scihistory {
		width: 38%;
		}
}

@media (max-width: 380px) {
	#sciout {
		padding: 0px;
	}
}

/* START LANGUAGE TOOGLE CSS */
/* Alternative: Dropdown style for compact headers */
.language-dropdown {
    position: relative;
    display: inline-block;
}

.language-dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px;
    background: var(--footer-bg);
    color: var(--text-color);
    border: 2px solid var(--accent-color);
    border-radius: 50px;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.3s ease;
}

.language-dropdown-toggle:hover {
    background: var(--card-bg);
	color: var(--accent-color);
}

.language-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 100px;
    background: var(--card-bg);
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    padding: 5px;
    overflow: hidden;
    z-index: 1000;
}

.language-dropdown-menu.open {
    display: block;
    animation: slideDown 0.2s ease forwards;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.language-dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0px 16px;
    color: var(--text-color);
    text-decoration: none;
    border-radius: 8px;
	border: 2px solid var(--accent-color);
    transition: all 0.2s ease;
}

.language-dropdown-menu a.active {
    background: #ffd700;
    color: #1a1a2e;
    font-weight: 600;
}

/* RTL dropdown */
html[dir="rtl"] .language-dropdown-menu {
    left: auto;
    right: 0;
}

/* Dark mode dropdown */
body.dark-mode .language-dropdown-menu {
    background: #1a1a2e;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

body.dark-mode .language-dropdown-menu a {
    color: #e0e0e0;
}

body.dark-mode .language-dropdown-menu a:hover {
    background: #16213e;
}

body.dark-mode .language-dropdown-menu a.active {
    background: #ffd700;
    color: #1a1a2e;
}
/* END LANGUAGE TOGGLE CSS */
/* START SCIENTIFIC CALCULATOR CSS */
        #sciout {
			background-color: var(--footer-bg);
			border-radius: 10px;
			padding: 10px;
			box-shadow: 0 4px 8px rgba(0,0,0,0.1);
			border: 1px solid var(--accent-color);
		}

		#sciOutPut::before {
			content: "×" hidden;
			font-size: 0.8em;
			vertical-align: middle;
			margin: 0 2px;
		}

		#sciInPut {
            text-align: right;
            font-size: 1.2em;
            color: var(--display-text);
            background-color: var(--display-bg);
            min-height: 24px;
            padding: 5px 10px;
            word-wrap: break-word;
            border-bottom: 1px solid var(--display-text);
            font-family: Arial, sans-serif;
            overflow-x: auto;
            white-space: nowrap;
        }

		#sciOutPut {
            text-align: right;
            font-size: 2em;
            font-weight: bold;
            padding: 5px 3px;
            min-height: 40px;
            word-wrap: break-word;
            color: var(--display-text);
            background-color: var(--display-bg);
            transition: all 0.3s ease;
            font-family: Arial, sans-serif;
            overflow-x: auto;
            white-space: nowrap;
        }

		.scifunc, .scinm, .sciop, .scieq {
			display: inline-block;
			width: 60px;
			height: 40px;
			margin: 2px;
			text-align: center;
			line-height: 40px;
			border-radius: 5px;
			cursor: pointer;
			user-select: none;
			transition: all 0.2s ease;
			border: 1px solid var(--border-color);
			font-weight: 500;
		}

		.scifunc {
			background-color: var(--scientific-btn);
			color: white;
			box-shadow: 0 2px 4px rgba(0,0,0,0.1);
		}

		.scifunc sup {
			vertical-align: top;
			position: relative;
			top: 1.2em;
			left: 0.1em;
			font-size: 0.75em;
			line-height: 0;
		}

		.scinm {
			background-color: var(--numeric-btn);
			color: white;
			font-weight: bold;
			font-size: 20px;
			box-shadow: 0 2px 4px rgba(0,0,0,0.1);
		}

		.sciop {
			background-color: var(--utility-btn);
			color: white;
			box-shadow: 0 2px 4px rgba(0,0,0,0.1);
		}

		.scieq {
			background-color: var(--special-btn);
			color: white;
			box-shadow: 0 2px 4px rgba(0,0,0,0.1);
		}

		.scird {
			display: inline-block;
			padding: 2px;
			background-color: #bbbbbb;
			border-radius: 5px;
			margin-left: 10px;
		}

		.scifunc:hover, .scinm:hover, .sciop:hover, .scieq:hover {
			background-color: var(--button-hover);
			transform: translateY(-2px);
			box-shadow: 0 4px 8px rgba(0,0,0,0.15);
		}

		.scifunc:active, .scinm:active, .sciop:active, .scieq:active {
			transform: scale(0.95);
			box-shadow: 0 1px 2px rgba(0,0,0,0.1);
		}

		#scihistory {
			padding: 10px;
			max-height: 600px;
			overflow-y: auto;
			color: #000000;
			background: #fdfdfb;
			width: 50%;
			margin: 0 auto;
			box-shadow: 
    0 4px 6px -1px rgba(0, 0, 0, 0.05), 
    0 10px 20px -5px rgba(0, 0, 0, 0.1);
}
		}

		/* Calculator container styling */
		.calculator-container {
			background: var(--bg-color);
			border-radius: 15px;
			padding: 20px;
			box-shadow: 0 8px 25px rgba(0,0,0,0.1);
			max-width: 400px;
			margin: 0 auto;
		}

		/* Button grid layout */
		.button-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 8px;
			margin-top: 15px;
		}

		/* Additional styling for better visual hierarchy */
		.calc-display {
			background: var(--display-bg);
			border-radius: 8px;
			padding: 15px;
			margin-bottom: 15px;
			border: 1px solid var(--border-color);
		}
		
		/* Enhanced focus states for accessibility */
		.scifunc:focus, .scinm:focus, .sciop:focus, .scieq:focus {
			outline: 2px solid var(--accent-color);
			outline-offset: 2px;
		}

		/* Loading state for calculations */
		.calculating {
			opacity: 0.7;
			pointer-events: none;
		}
		
		/* Start new codes added */
		.calculator-container {
            width: 100%;
            padding: 0px;
            border: 1px solid green;
            border-radius: 20px;
        }
		
		#sciOutPut.warning {
            color: var(--warning-color);
			display: flex;
        }

        #sciOutPut.error {
            color: var(--error-color);
        }

        .brace-indicator {
            display: inline-block;
            color: var(--display-text);
            font-size: 2.4rem;
            margin-top: -15px;
            vertical-align: super;
			font-family: Arial, sans-serif;
        }
		/* End new codes added */
		
		/* responsiveness */
		
		@media (max-width: 768px) {
            .calculator-buttons {
                grid-template-columns: repeat(4, 1fr);
                gap: 0.5rem;
            }
           
            .calc-btn {
                padding: 0.75rem;
                font-size: 1rem;
            }
			
			#scihistory {
				width: 50%;
			}
        }
		
		@media (max-width: 600px) {
            .scifunc, .scinm, .sciop, .scieq {
				width: 58px;
				height: 42px;
				line-height: 35px;
				font-size: 1.2em;
			}
			
			.scird {
				margin: 0px;
				padding: 2px;
			}
			
			#sciOutPut {
				font-size: 2.5em;
			}
			
			#sciout {
				padding: 4px;
			}
			
			.calculator-container {
				padding: 15px;
				margin: 10px;
			}
			
			.button-grid {
				gap: 6px;
			}
			
			#scihistory {
				width: 70%;
			}
        }
		
		@media (max-width: 400px) {
			#sciout {
				padding: 0px;
			}
			
			.scifunc, .scinm, .sciop, .scieq {
				margin: 1px;
				width: 55px;
				height: 42px;
				font-size: 1em;
			}
			
			#scihistory {
				width: 70%;
			}
		}
		
		.keys-table {
            width: 100%;
            border-collapse: collapse;
            margin: 30px 0;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            border-radius: 10px;
            overflow: hidden;
        }
        
        .keys-table th {
            background: #2c3e50;
            color: white;
            padding: 15px;
            text-align: left;
        }
        
        .keys-table td {
            padding: 12px 15px;
            border-bottom: 1px solid #ddd;
        }
        
        .key-button {
            display: inline-block;
            padding: 8px 15px;
            background: #34495e;
            color: white;
            border-radius: 5px;
            font-weight: bold;
            min-width: 50px;
            text-align: center;
        }
        
        .key-func {
            background: #2e7d32;
        }
        
        .key-op {
            background: #e65100;
        }
        
        .key-num {
            background: #0d47a1;
        }
        
        .key-mem {
            background: #bb1818;
        }
		
		/* End scientific Calculator CSS */
/* END SCIENTIFIC CALCULATOR CSS */

/* START BMI (BODY MASS INDEX) CALCULATOR CSS */
        .calculator-container-bmi {
        background-color: var(--footer-bg);
        padding: 1rem;
		margin: 0 auto;
        border-radius: 10px;
        box-shadow: var(--shadow);
        width: 100%;
        max-width: 600px;
        transition: background-color 0.3s;
        position: relative; /* Added for dark mode button positioning */
    }

    .datetime-display {
        text-align: center;
        color: var(--text-color);
        margin-bottom: 1.5rem;
        font-size: 1rem;
    }
	
	.personal-info-group {
        margin-bottom: 1.5rem;
		display: flex;
		gap: 1rem;
		width: 100%;
    }
	
	.personal-info-group .input-info .input-group {
        width: 100%;
    }
	
	.input-info {
        margin-bottom: 1.5rem;
    }
	
	.camera-container {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .camera-preview {
        width: 200px;
        height: 200px;
        background-color: var(--display-bg);
        border: 2px dashed var(--accent-color);
        border-radius: 5px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        position: relative;
    }
    
    .camera-preview video,
    .camera-preview canvas,
    .camera-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    .camera-controls {
        display: relative;
        gap: 0.5rem;
        position: absolute;
        bottom: 50px;
        z-index: 2;
    }
    
    .initial-controls {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .camera-btn {
        padding: 0.5rem 1rem;
        background-color: var(--primary-color);
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 0.9rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        transition: all 0.3s;
    }
    
    .camera-btn:hover {
        background-color: var(--primary-hover);
    }
    
    .camera-btn.secondary {
        background-color: transparent;
        color: white;
        border: 1px solid white;
        backdrop-filter: blur(5px);
    }
    
    .camera-btn.secondary:hover {
        background-color: rgba(255, 255, 255, 0.2);
    }
    
    .camera-icon {
        font-size: 2rem;
        color: var(--main-color);
        margin-bottom: 0.5rem;
    }
	
	#fileInput {
		display: none; /* Keep the file input hidden */
	}
    
    /* New validation styles */
    .input-group.invalid input {
        border-color: var(--accent-color);
        background-color: var(--display-bg);
    }
    
    .error-message {
        color: var(--text-color);
        font-size: 0.75rem;
        margin-top: 0.25rem;
        display: none;
    }
    
    .input-group.invalid .error-message {
        display: block;
    }
	

    .toggle-group {
        display: flex;
        justify-content: center;
        margin-bottom: 1.5rem;
        gap: 0.5rem;
    }

    .toggle-btn {
        padding: 0.5rem 1rem;
        border: 2px solid var(--accent-color);
        background: var(--card-bg);
        cursor: pointer;
        transition: all 0.3s;
        font-weight: bold;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        border-radius: 5px;
        color: var(--text-color);
    }

    .toggle-btn.active {
        background-color: var(--primary-color);
        color: white;
    }

    .input-group {   
        position: relative;
		margin-bottom: .5rem;
    }
    
    .input-message {
        font-size: 0.75rem;
        color: var(--text-color);
        margin-top: 0.25rem;
        display: block;
    }
	
	.bmi-group {
        display: flex;
        justify-content: center;
		text-align: center;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
	
	.bmi-group span {
		font-weight: bold;
		font-size: 10px;
		text-align: center;
		border-left: 4px solid var(--accent-color);
		background-color: var(--display-bg);
		padding: 7px;
		border-radius: 10px;
        color: var(--text-color);
	}


    label {
        display: block;
        color: var(--text-color);
        font-weight: bold;
    }

    .input-with-unit {
        display: flex;
        gap: 0.75rem;
    }

    input, select {
        padding: 0.75rem;
        border: 1px solid var(--accent-color);
        border-radius: 5px;
        font-size: 1rem;
        background-color: var(--display-bg);
        color: var(--text-color);
        border-color: var(--accent-color);
    }

    input {
        flex: 1;
        min-width: 0;
    }

    select {
        min-width: 80px;
        background-color: var(--card-bg);
    }

    .result-container {
        margin-top: 1.5rem;
        display: none;
    }

    .bmi-result {
        padding: 1rem;
        border-radius: 5px;
        font-size: 1.2rem;
        font-weight: bold;
        text-align: center;
        margin-bottom: 0.1rem;
        color: var(--accent-color);
    }

    .advanced-metrics {
        padding: 1rem;
        border-radius: 5px;
        margin-top: 1rem;
    }

    .metric-result {
        margin-bottom: 1rem;
		padding: 1rem;
		background-color: var(--display-bg);
        border-radius: 5px;
        position: relative;
		color: var(--text-color);
    }

    .metric-result strong {
        display: block;
        margin-bottom: 0.3rem;
    }

    .risk-indicator {
        height: 10px;
        border-radius: 5px;
        background: linear-gradient(to right, var(--low-risk), var(--moderate-risk), var(--high-risk));
        margin: 0.5rem 0;
        position: relative;
    }

    .risk-marker {
        position: absolute;
        top: -5px;
        width: 2px;
        height: 30px;
        background-color: var(--indicator-color);
    }

    .bmi-scale-container {
        margin: 1.5rem 0;
		padding: 1rem;
		background-color: var(--display-bg);
        border-radius: 5px;
    }

    .bmi-scale {
        display: flex;
        height: 25px;
        border-radius: 10px;
        overflow: hidden;
        position: relative;
		border-top: 3px solid var(--indicator-color);
    }

    .scale-segment {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: bold;
        font-size: 11px;
        text-align: center;
    }

    .scale-labels {
        display: flex;
        justify-content: space-between;
        font-size: 0.7rem;
        color: var(--light-text);
        margin-bottom: 0.5rem;
    }
	
	.scale-markers {
        display: flex;
        justify-content: space-between;
        position: relative;
        margin-top: -0.1rem;
		margin-bottom: 1rem;
        font-size: 0.7rem;
        color: var(--light-text);
    }
	
	.scale-markers-men {
        display: flex;
        justify-content: space-between;
        position: relative;
        margin-top: -0.1rem;
		margin-bottom: 1rem;
        font-size: 0.7rem;
        color: var(--male-accent);
    }
	.scale-markers-women {
        display: flex;
        justify-content: space-between;
        position: relative;
        margin-top: -1.1rem;
		margin-bottom: 1rem;
        font-size: 0.7rem;
        color: var(--female-accent);
    }

    .scale-markers span {
        position: absolute;
        transform: translateX(-50%);
    }
	
    .bmi-indicator {
        position: absolute;
        top: 0px;
        left: 0;
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 12px solid var(--indicator-color);
        transform: translateX(-50%);
        transition: left 0.5s ease;
        display: none;
    }
	
	.bmi-categories {
        margin-top: 1rem;
        text-align: left;
        background-color: var(--grey-color);
        padding: 0rem;
        border-radius: 5px;
    }
	
	.bmi-scale-container h3 {
        text-align: center;
		padding: 10px;
        color: var(--accent-color);
        font-size: clamp(1rem, 3vw, 1.2rem);
        margin-bottom: 0.5rem;
    }

    .bmi-categories h3 {
        text-align: center;
		margin-top: 0;
        color: var(--accent-color);
        font-size: clamp(1rem, 3vw, 1.2rem);
        margin-bottom: 0.5rem;
    }

    .hidden {
        display: none;
    }

    .female-mode {
        --primary-color: var(--female-accent);
        --primary-hover: #f368e0;
    }

    .male-mode {
        --primary-color: var(--male-accent);
        --primary-hover: #0abde3;
    }

    .interpretation {
        font-size: 1rem;
        color: var(--light-text);
        margin-top: 0.5rem;
    }

    .health-tips {
        margin-top: 1.5rem;
        background-color: var(--display-bg);
        padding: 1rem;
        border-radius: 5px;
		color: var(--text-color);
    }
	
	.dark-mode .health-tips li .good {
        color: var(--low-risk) !important;
    }
    .dark-mode .health-tips li .warning {
        color: var(--moderate-risk) !important;
    }
    .dark-mode .health-tips li .danger {
        color: var(--high-risk) !important;
    }

    .health-tips h3 {
        margin-bottom: 0.5rem;
		color: var(--accent-color);
    }

    .health-tips ul {
        padding-left: 1.2rem;
    }

    .health-tips li {
        margin-bottom: 0.5rem;
        display: flex;
        align-items: flex-start;
        gap: 0.5rem;
		color: var(--text-color);
    }

    .health-tips li i {
        margin-top: 0.2rem;
        flex-shrink: 0;
    }

    .metric-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
		color: var(--accent-color);
    }

    .metric-icon {
        font-size: 1.2rem;
    }

    .good { color: var(--low-risk); }
    .warning { color: var(--moderate-risk); }
    .danger { color: var(--high-risk); }
	
	.input-summary {
        background-color: var(--card-bg);
        padding: 1rem;
        border-radius: 5px;
        margin-bottom: 1.5rem;
    }

    .summary-row {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .summary-item {
        flex: 1;
        min-width: 120px;
    }

    .summary-label {
        font-weight: bold;
        color: var(--text-color);
        font-size: 0.8rem;
    }
	
    .summary-value {
        font-weight: bold;
		font-size: 10px;
		text-align: center;
		border-left: 4px solid var(--primary-color);
		background-color: var(--card-bg);
		padding: 7px;
		border-radius: 10px;
        color: var(--main-color);
    }

    .summary-photo {
        width: 120px;
        height: 120px;
        border-radius: 5px;
        object-fit: cover;
        border: 1px solid var(--light-text);
    }
	
	.save-confirmation {
		position: fixed;
		bottom: 20px;
		right: 20px;
		background: var(--low-risk);
		color: white;
		padding: 10px 15px;
		border-radius: 5px;
		box-shadow: 0 2px 10px rgba(0,0,0,0.2);
		z-index: 1000;
		display: none;
	}

    /* Reset button style */
    .reset-btn {
        background-color: var(--error-text);
    }
	
	.action-buttons {
        display: flex;
        gap: 1rem;
        margin-top: 1.5rem;
    }

    .action-buttons button {
        flex: 1;
    }

    .save-btn {
        background-color: var(--low-risk);
    }

    .save-btn:hover {
        background-color: #388e3c;
    }

    .summary-datetime {
        font-size: 1rem;
        color: var(--text-color);
        margin: 0.5rem;
		padding: 5px;
		background-color: var(--card-bg);
    }

    .reset-btn:hover {
        background-color: #b71c1c;
    }
	
	.info-link {
        color: var(--primary-color);
        font-size: 0.75rem;
        cursor: pointer;
        margin-left: 0.5rem;
        text-decoration: underline;
    }

    .info-link:hover {
        color: var(--primary-hover);
    }

    /* Image popup styles */
    .image-popup {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.8);
		z-index: 1000;
		justify-content: center;
		align-items: center;
	}


    .image-popup-content {
		position: relative;
		max-width: 90%;
		max-height: 90%;
		padding: 20px; /* Added padding */
		background: var(--card-bg); /* Match your theme */
		border-radius: 10px;
	}

    .image-popup-content img {
		max-width: 100%;
		max-height: 80vh;
		border-radius: 5px;
		display: block; /* Fix for image spacing */
	}


    .image-popup-close {
		position: absolute;
		top: -15px;
		right: -15px;
		background: var(--error-text);
		color: white;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		font-size: 1rem;
		border: 2px solid white;
		z-index: 1001; /* Ensure it's above the image */
	}
	
	.calculator-popup {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.7);
		z-index: 1000;
		justify-content: center;
		align-items: center;
	}
    
	.popup-container {
		position: relative;
		width: 90%;
		max-width: 500px;
		background: var(--card-bg);
		border-radius: 10px;
		padding: 20px;
		box-shadow: 0 4px 20px rgba(0,0,0,0.2);
	}
    
    .popup-close {
		position: absolute;
		top: -15px;
		right: -15px;
		background: #c62828;
		color: white;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		font-size: 1rem;
		border: 2px solid white;
		z-index: 1001;
	}

	.popup-container iframe {
		width: 100%;
		height: 400px;
		border: none;
		border-radius: 5px;
	}

	.converter-link, .find-age-link {
		color: #3498db;
		cursor: pointer;
		text-decoration: underline;
		font-size: 0.8rem;
		margin-left: 0.5rem;
	}
	
	@media (max-width: 480px) {
    .calculator-body {
		padding: 0px;
	}
	
	#toolsArticle {
		padding: 1rem;
	}
	
	.calculator-container-bmi {
        padding: .5rem;
    }
        
    .bmi-group span {
        font-size: 6px;
        padding: 4px;
		color: var(--main-color);
    }
        
    .camera-preview {
        width: 150px;
        height: 150px;
    }
        
    .camera-btn {
        padding: 0.4rem 0.8rem;
        font-size: 0.8rem;
    }
	.personal-info-group {
		display: block !important;
		flex-direction: initial;
		justify-content: initial;
		align-items: initial;
	}
}
		
		/* ENE BMI (BODY MASS INDEX) CALCULATOR CSS */
		
		/* BACK TO TOP CSS */
	
	.back-to-top {
      position: fixed;
      bottom: 30px;
      right: 30px;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: var(--accent-color);
      color: white;
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
      transition: all 0.3s;
      z-index: 9999;
      opacity: 0;
      visibility: hidden;
    }

    .back-to-top.show {
      opacity: 1;
      visibility: visible;
    }

    .back-to-top:hover {
      background: #2a5a3a;
      transform: translateY(-3px);
    }

    @media (max-width: 768px) {
      .back-to-top { bottom: 20px; right: 20px; width: 44px; height: 44px; font-size: 20px; }
    }
/* END BACK TO TOP CSS */

/* START ZAKAT CALCULATOR CSS */
        .container {
            max-width: 740px;
			width: 100%;
            padding: 20px;
            background-color: var(--footer-bg);
            border-radius: 10px;
            box-shadow: var(--shadow);
        }

        .gold-rate-section {
            background-color: var(--display-bg);
            padding: 10px;
            border-radius: 8px;
            margin-bottom: 10px;
            border-left: 4px solid var(--accent-color);
			color: var(--text-color);
        }
        
        .gold-rate-info {
            display: flex;
			flex-direction: column;
            justify-content: space-between;
            margin-top: 10px;
        }
        
        .gold-rate-update {
            font-size: 0.8rem;
            color: var(--text-color);
            text-align: right;
            margin-top: 5px;
        }

        .subtitle {
            text-align: center;
            color: var(--text-color);
            margin-bottom: 30px;
            font-size: 1.1rem;
        }

        .currency-selector {
            background-color: var(--display-bg);
            padding: 10px;
            border-radius: 8px;
            margin-bottom: 20px;
            text-align: center;
			color: var(--text-color)
        }

        .currency-selector label {
            font-weight: 600;
            color: var(--text-color);
            margin-right: 10px;
        }

        .currency-selector select {
            padding: 8px 15px;
            border: 1px solid var(--accent-color);
            border-radius: 5px;
            font-size: 1rem;
            background-color: var(--display-bg);
			color: var(--text-color);
			outline: 2px solid var(--accent-color);
            box-shadow: var(--shadow);
        }

        .calculator-columns {
            display: flex;
            gap: 20px;
            margin-bottom: 20px;
        }

        @media (max-width: 768px) {
            .calculator-columns {
                flex-direction: column;
            }
        }

        .column {
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .section {
            background-color: var(--light-color);
            padding: 8px;
            border-radius: 8px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
            margin-bottom: 10px;
        }

        .input-group {
            margin-bottom: 15px;
            position: relative;
        }

        label {
            display: block;
            margin-bottom: 5px;
            font-weight: 600;
            color: var(--text-color);
        }

        .input-icon {
            position: absolute;
            left: 1px;
            top: 32px;
            color: #fff;
			padding: 4px;
			background-color: var(--accent-color);
			border-radius: 4px;
			font-size: 20px;
        }

        input[type="number"] {
            width: 100%;
            padding: 10px 10px 10px 35px;
            border-radius: 5px;
            font-size: 1rem;
            transition: all 0.3s ease;
			background-color: var(--display-bg);
			color: var(--text-color);
        }

        input[type="number"]:focus {
			
			outline: 2px solid var(--accent-color);
            box-shadow: var(--shadow);
        }

        .total-box {
            background-color: var(--display-bg);
            color: var(--text-color);
            padding: 10px;
            border-radius: 8px;
            margin-top: auto;
            font-weight: bold;
            text-align: center;
        }

        .total-amount {
            font-size: 1.5rem;
            margin-top: 5px;
			color: var(--accent-color);
        }

        .zakatable-amount {
            background-color: var(--display-bg);
            color: var(--accent-color);
            padding: 10px;
            border-radius: 8px;
            text-align: center;
            margin-bottom: 10px;
        }

        .zakatable-title {
            font-size: 1.2rem;
            margin-bottom: 10px;
			color: var(--accent-color);
        }

        .zakatable-value {
            font-size: 2rem;
            font-weight: bold;
            color: var(--accent-color);
        }

        .result-section {
            background-color: var(--display-bg);
            color: var(--text-color);
            padding: 25px;
            border-radius: 8px;
            text-align: center;
        }

        .result-title {
            font-size: 1.4rem;
            margin-bottom: 10px;
        }

        .zakat-amount {
            font-size: 2.5rem;
            font-weight: bold;
            color: var(--accent-color);
        }

        .btn {
            background-color: var(--accent-color);
            color: white;
            border: none;
            padding: 12px;
            font-size: 1.1rem;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s;
            width: 100%;
            margin: 20px 0;
            font-weight: 600;
        }

        .btn:hover {
            background-color: #003333;
        }

        .btn:active {
            transform: scale(0.98);
        }
		
		/* ENE ZAKAT CALCULATOR CSS */
		
		/* 01 START AGE CALCULATOR CSS */
.calculator-container {
            padding: 25px;
            text-align: center;
        }

        .result-container-age {
            background-color: var(--result-bg);
            padding: 5px;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .capture-content {
            display: flex;
            gap: 0px;
        }
		
		.Capture-container {
            border: 2px solid var(--accent-color);
            border-radius: var(--border-radius);
            box-shadow: var(--shadow);
            padding: 30px;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .age-result {
            position: relative;
			flex: 1;
            min-width: 250px;
			padding-left: 10px;
        }

        .camera-container {
            flex: 1;
            min-width: 250px;
            display: flex;
            flex-direction: column;
            gap: 15px;
            position: relative;
        }
		
		.photo-preview-container {
            position: relative;
            width: 100%;
            height: 300px;
            border-radius: var(--border-radius);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border: 2px dashed var(--border-color);
        }
		
		.photo-preview-container:hover .photo-actions {
            opacity: 1;
        }

        .photo-preview-container.has-image .photo-actions {
            opacity: 0;
        }

        .photo-preview-container.has-image:hover .photo-actions {
            opacity: 1;
        }

        .photo-preview-container.has-image .photo-placeholder {
            display: none;
        }

        .photo-preview-container.has-image #photoPreview {
            display: block;
        }
		
		.photo-placeholder {
            text-align: center;
            color: var(--light-text);
            padding: 20px;
        }

        .result-title {
            font-size: 24px;
            color: var(--accent-color);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        #ageOutput {
            font-size: 18px;
            color: var(--text-color);
            font-weight: 500;
            line-height: 1.8;
        }

        #ageOutput span {
            display: block;
            padding: 2px 12px;
            margin: 5px 0;
            color: var(--accent-color);
            border-left: 4px solid var(--accent-color);
            border-radius: var(--radius);
            text-align: left;
        }

        #photoPreview {
            max-width: 100%;
            max-height: 100%;
            display: none;
            object-fit: contain;
        }

        .photo-actions {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 15px;
            background-color: rgba(0, 0, 0, 0.3);
            opacity: 1;
            transition: opacity 0.3s;
        }
		
		.hidden {
			display: none;
		}

        .photo-btn {
            padding: 10px 15px;
            font-size: 14px;
        }

        #retakeBtn {
            background-color: #dc3545;
            display: none;
        }

        #retakeBtn:hover {
            background-color: #bb2d3b;
        }

        .action-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            padding: 15px;
            background-color: var(--button-group-bg);
            border-radius: var(--border-radius);
            margin-top: 10px;
        }

        .action-btn {
            padding: 12px 20px;
            font-size: 14px;
            background-color: var(--primary-color);
            color: white;
            border: none;
            border-radius: var(--border-radius);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.2s;
        }

        .action-btn:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow);
        }

        .action-btn:nth-child(1) { background-color: #ff6b6b; }
        .action-btn:nth-child(2) { background-color: #f06595; }
        .action-btn:nth-child(3) { background-color: #748ffc; }
        .action-btn:nth-child(4) { background-color: #20c997; }
        .action-btn:nth-child(5) { background-color: #868e96; }

        .action-btn:hover {
            opacity: 0.9;
        }
		
		.save-btn-container {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }
        
        #saveAsImageBtn {
            background-color: #28a745;
            padding: 12px 24px;
            font-size: 16px;
        }
        
        #saveAsImageBtn:hover {
            background-color: #218838;
        }
		
		.calculation-time {
            font-size: 14px;
            color: var(--text-color);
            text-align: center;
            font-style: italic;
        }
		
		.save-options-container {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
            margin-top: 15px;
        }
		
		.username-group {
            margin-bottom: 15px;
            text-align: left;
        }
        
        .mobile-age-output {
			display: none;
		}
        
		.birthday-info {
            font-size: 18px;
            color: var(--accent-color);
            padding: 8px 12px;
            text-align: center;
        }

        @media (max-width: 768px) {
            .result-content {
                flex-direction: column;
            }
            
            .age-result, .camera-container {
                width: 100%;
            }
			
			.mobile-age-output {
                font-size: 18px;
				display: block;
                background-color: rgba(0, 0, 0, 0.7);
                color: white;
                padding: 10px;
                border-radius: var(--border-radius);
                margin-bottom: 15px;
                text-align: center;
            }
            
            .desktop-age-output {
                display: none;
            }
            
            .photo-actions {
                top: auto;
                bottom: 0;
                background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
            }
        }

        @media (max-width: 480px) {
            .calculator-container, .result-container {
                padding: 10px;
            }
            
            .photo-actions, .action-buttons {
                flex-direction: column;
            }
            
            .photo-btn, .action-btn {
                width: 100%;
            }
			
			.Capture-container {
				padding: 10px;
			}
        }

        /* Animation for result */
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .result-container {
            animation: fadeIn 0.5s ease-out;
        }
/* 01 END AGE CALCULATOR CSS */

/* START GPA CALCULATOR CSS */
 
.table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 20px;
  position: relative;
  border: 1px solid var(--main-color);
  border-radius: 8px;
  background: var(--info-bg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.courses-table {
  width: 100%;
  min-width: 300px; /* Minimum width before scrolling kicks in */
  border-collapse: collapse;
  background: var(--footer-bg);
}

.courses-table th {
    background-color: var(--th-bg);
    color: var(--main-color);
    padding: 12px 10px;
    text-align: left;
    font-weight: 500;
	border-left: 1px solid var(--main-color);
}

.courses-table td {
    padding: 10px;
    border-bottom: 1px solid var(--main-color);
    vertical-align: middle;
}

.courses-table tr:hover {
  background-color: var(--card-bg);
}

.course-row input, 
.course-row select {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid var(--main-color);
	color: var(--text-color);
	background-color: var(--card-bg);
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
}

.course-credits {
    width: 80px;
}

.remove-btn {
    background-color: #e74c3c;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
}

.remove-btn:hover {
    background-color: #c0392b;
}

/* Button Styles */
.button-group {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

#add-course:hover, #reset-calculator:hover, #calculate-plan:hover {
    background-color: #27ae60;
}

/* Result Section */
.result-section {
    padding: 6px;
    background-color: var(--card-bg);
    border-radius: 8px;
    margin-top: 15px;
}

#gpa-result {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 10px 0;
    color: var(--main-color);
    padding: 10px;
    background-color: var(--th-bg);
    border-radius: 6px;
    border-left: 5px solid #3498db;
}

#grade-summary {
    margin-top: 20px;
}

.grade-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

/* GPA Planner */
.gpa-planner {
    margin-top: 12px;
    padding: 10px;
    background-color: var(--card-bg);
    border-radius: 8px;
    border: 1px solid var(--main-color);
}

.planner-inputs {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.input-group {
    display: flex;
    flex-direction: column;
	width: 100%;
}

.input-group label {
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--text-color);
}

.input-group input {
    padding: 6px 12px;
    border: 1px solid var(--accent-color);
    border-radius: 6px;
    font-size: 16px;
	color: var(--text-color);
}

#calculate-plan {
    width: 100%;
    margin-top: 10px;
}

#plan-result {
    margin-top: 20px;
    padding: 15px;
    background-color: var(--th-bg);
    border-radius: 6px;
    border: 1px solid #eee;
}

.details-table, .summary-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: var(--card-bg);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.details-table thead tr:first-child th,
.summary-table thead tr th {
    background-color: var(--Card-bg);
    color: white;
    padding: 12px;
    text-align: center;
    font-size: 1.1em;
	border: 1px solid var(--main-color);
}

.details-table thead tr:nth-child(2) th {
    background-color: #3498db;
    text-align: left;
    font-size: 1em;
    padding: 1px;
	border-left: 1px solid white;
}


.details-table td, 
.summary-table td {
    padding: 10px;
    border-bottom: 1px solid var(--main-color);
	text-align: center;
}


.details-table td, 
.summary-table td {
    padding: 10px;
    border-bottom: 1px solid var(--main-color);
}

.details-table tr:last-child td,
.summary-table tr:last-child td {
    border-bottom: none;
}

.details-table tr:nth-child(even),
.summary-table tr:nth-child(even) {
    background-color: var(--card-bg);
}

/* Header styling for details table */
.details-table th[colspan="3"] {
    text-align: center;
    font-size: 1.1em;
    background-color: #2980b9;
}

.details-table tr:last-child td,
.summary-table tr:last-child td {
    border-bottom: none;
}

.details-table tr:nth-child(even),
.summary-table tr:nth-child(odd) {
    background-color: var(--card-bg);
}

.save-section {
    text-align: center;
    margin: 15px 0;
}

#save-results, #save-full {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#save-results:hover, #save-full:hover {
    background-color: #45a049;
}

#save-results i, #save-full i {
    font-size: 18px;
}

#save-results:disabled {
    background-color: var(--accent-color);
    cursor: not-allowed;
    opacity: 0.7;
}

#save-results:disabled:hover {
    background-color: #cccccc;
}

		/* Button grid layout */
		.button-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 8px;
			margin-top: 15px;
		}

		/* Additional styling for better visual hierarchy */
		.calc-display {
			background: var(--display-bg);
			border-radius: 8px;
			padding: 15px;
			margin-bottom: 15px;
			border: 1px solid var(--border-color);
		}

		/* Loading state for calculations */
		.calculating {
			opacity: 0.7;
			pointer-events: none;
		}
		
		/* RESPONSIVENESS */
		
		@media (max-width: 768px) {
            .calculator-container {
				max-width: 700px;
				padding: 10px;
			}
			
			.table-wrapper {
				background: linear-gradient(to right, white 95%, rgba(255,255,255,0));
			}
			
			.courses-table th {
			white-space: nowrap;
			position: sticky;
			top: 0;
			z-index: 10;
		  }
			
			.table-wrapper::after {
			content: '→';
			position: absolute;
			right: 10px;
			top: 50%;
			transform: translateY(-50%);
			color: #3498db;
			font-size: 24px;
			opacity: 0.6;
			pointer-events: none;
			animation: bounceRight 2s infinite;
		  }
		  
		  @keyframes bounceRight {
			0%, 100% { transform: translateY(-50%) translateX(0); }
			50% { transform: translateY(-50%) translateX(5px); }
		  }
			
			.planner-inputs {
				grid-template-columns: 1fr 1fr;
			}
        }
		
		@media (max-width: 480px) {
			.courses-table {
				min-width: 280px; /* Reduced from 300px */
			}
			
			.courses-table th, 
		  .courses-table td {
			padding: 6px 2px;
			font-size: 13px;
		  }
			
			.course-row input, 
		  .course-row select {
			padding: 5px;
			font-size: 13px;
		  }
		  
		  .courses-table td:nth-child(1) { /* Course Name */
				min-width: 140px;
				max-width: 140px;
			}
			
			.courses-table td:nth-child(2) { /* Grade */
				min-width: 80px;
				max-width: 80px;
			}
			
			.courses-table td:nth-child(3) { /* Credits */
				min-width: 40px;
				max-width: 40px;
			}
			
			.courses-table td:nth-child(4) { /* Action */
				min-width: 40px;
				max-width: 40px;
			}
		  
		  .remove-btn {
				padding: 3px 5px;
				font-size: 15px;
				width: 40px; /* Reduced from 50% */
			}
			
			.course-credits {
				width: 50px; /* Reduced from 80px */
			}
			
			#gpa-result {
				font-size: 1.2rem;
			}
			
			.button-group {
				display: flex;
				flex-wrap: wrap;
				gap: 10px;
				margin-top: 10px;
			}
			
			.details-table th, 
			.details-table td,
			.summary-table th,
			.summary-table td {
				padding: 8px;
				font-size: 14px;
				text-align: center;
			}
			
			.details-table thead tr:first-child th,
			.summary-table thead tr th {
				font-size: 1em;
				padding: 1px;
			}
		}
		
		/* END GPA CALCULATOR CSS */