:root {
	--primary-blue: #2b54a5;
	--secondary-blue: #0056b3;
	--light-blue-bg: #E6F0FF;
	--accent-gold: #FFD700;
	--accent-green: #28A745;
	--accent-red: #E60012;
	--accent-purple: #883794;
	--accent-orange: #FF6B35;
	--accent-teal: #00A651;
	--accent-pink: #E91E63;
	--text-dark: #333333;
	
	
	--hkit-primary: #38519c; 
	--hkit-secondary: #f49b75; 
	--hkit-light-bg: #f8f9fa;
	--hkit-accent: #2ebfa5;
	--text-dark: #333333;
	--card-shadow: 0 10px 30px rgba(0,0,0,0.08);

	--hkit-blue: #2b54a5;
	--hkit-blue-hover: #1a3973;
	--hkit-dark-blue: #1a3668;
	--hkit-yellow: #f6c23e;
	--hkit-light-bg: #f0f4f8;
	--hkit-blue-hover: #1a3973;
	--hkit-gold: #fcc21b;
	--hkit-light-blue: #f4f7fb;
	--hkit-dark-gray: #333333;
	--hkit-light-gray: #6c757d;
	
	
}


/* 各別顏色定義 */
.theme-blue { background-color: #2b54a5 !important; }
.theme-green  { background-color: #28a745 !important; }
.theme-orange  { background-color: #fd7e14 !important; }
.theme-purple { background-color: #6f42c1 !important; }
.theme-cyan  { background-color: #17a2b8 !important; }
.theme-red  { background-color: #dc3545 !important; }
.theme-teal  { background-color: #20c997 !important; }
.theme-indigo  { background-color: #6610f2 !important; }
.theme-pink  { background-color: #e83e8c !important; }


body { 
	font-family: 'Noto Sans TC', sans-serif; 
	color: var(--text-dark);
	background-color: #F8F9FA;
}


 /* Fix: Ensure Offcanvas is above the Fixed Header on Mobile */
.offcanvas {
	z-index: 1060 !important;
}

/* Header Wrapper */
.header-wrapper {
	background-color: #FFFFFF;
	transition: box-shadow 0.3s ease;
}
.header-wrapper.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1050;
	box-shadow: 0 4px 15px rgba(0,51,153,0.15);
}


/* TOP BAR */
.top-bar {
	background-color: #2b54a5;
	color: #fff;
	font-size: 0.85rem;
}
.top-bar a { color: #fff; text-decoration: none; }
.top-bar a:hover { color: #FFD700; }


/* LOGO BAR */
.logo-bar {
	background-color: #FFFFFF;
	border-top: 1px solid #eee;
	padding: 12px 0;
}
.logo-icon {
	width: 55px;
	height: 55px;
	background: var(--primary-blue);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 1.5rem;
}
.logo-text h1 {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--primary-blue);
	margin-bottom: 0;
	line-height: 1.2;
}
.logo-text p {
	font-size: 0.8rem;
	color: #666;
	margin-bottom: 0;
}

.partner-badge {
	background: #F0F4F8;
	padding: 6px 15px;
	border-radius: 4px;
	font-weight: 600;
	color: #333;
	border: 1px solid #DDE2E8;
	font-size: 0.85rem;
}


/* NAVIGATION BAR */
.nav-bar {
	background-color: #FFFFFF;
	border-top: 1px solid #eee;
	padding: 0;
}
.nav-link {
	color: var(--text-dark) !important;
	font-weight: 700;
	padding: 12px 16px !important;
	font-size: 0.95rem;
	transition: all 0.2s;
	border-bottom: 3px solid transparent;
}
.nav-link:hover, .nav-link.active {
	color: var(--primary-blue) !important;
	background-color: var(--light-blue-bg);
	border-bottom: 3px solid var(--primary-blue);
}
.dropdown-menu {
	border: none;
	border-top: 3px solid var(--primary-blue);
	border-radius: 0;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
	padding: 10px 0;
}
.dropdown-item {
	padding: 8px 20px;
	font-weight: 600;
	white-space: normal;
}
.dropdown-item:hover {
	background-color: var(--light-blue-bg);
	color: var(--primary-blue);
}

/* 3-Level Dropdown CSS - Desktop */
@media (min-width: 992px) {
	.dropdown-submenu {
		position: relative;
	}
	.dropdown-submenu > .dropdown-menu {
		display: none;
		position: absolute;
		top: 0;
		left: 100%;
		margin-top: -10px;
		margin-left: 0;
		padding: 10px 0;
		min-width: 250px;
	}
	.dropdown-submenu:hover > .dropdown-menu {
		display: block;
	}
	.dropdown-submenu > a::after {
		display: block;
		content: " ";
		float: right;
		width: 0;
		height: 0;
		border-color: transparent;
		border-style: solid;
		border-width: 5px 0 5px 5px;
		border-left-color: #ccc;
		margin-top: 5px;
		margin-right: -10px;
	}
}

/* Mobile Menu Toggler */
.navbar-toggler {
	position: absolute;
	right: 15px;
	top: 10px;
	z-index: 1060;
	padding: 6px 10px;
	background-color: var(--primary-blue);
	border: none;
	border-radius: 4px;
}


.navbar-toggler .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}






 /* ========================================================================= */
         .hero-section {
            background: linear-gradient(135deg, var(--hkit-light-blue) 0%, #ffffff 100%);
            width: 100%;
            overflow: hidden;
        }

        /* 將守護比例 3.5:1 (2800/800) 同步套用到父級所有包裝容器，高度完美與圖片一致 */
        .hero-section,
        .hero-carousel,
        .carousel-inner,
        .carousel-item {
            width: 100%;
            position: relative;
            background-color: #102142;
            aspect-ratio: 2800 / 800; /* 高度會隨寬度流暢、精準、動態縮放 */
            transition: height 0.1s ease;
        }

        /* 守護圖片渲染：強制 100% 高度填充 + object-fit: cover 完美裁剪不變形 */
        .hero-banner-img {
            width: 100%;
            height: 100%; 
            display: block;
            object-fit: cover; 
            object-position: center center;
        }

        /* 針對極窄手機螢幕 (如 480px 以下)，重設最小高度，防止橫幅內容過窄看不清 */
        @media (max-width: 480px) {
            .hero-section,
            .hero-carousel,
            .carousel-inner,
            .carousel-item {
                aspect-ratio: auto;
                height: 160px; /* 手機端極窄安全高度防護 */
            }
        }
        /* ========================================================================= */



/* Mobile Specifics */
@media (max-width: 991px) {
	.hero-section { padding-top: 0; }
	.header-wrapper {
		position: fixed !important;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1050;
		box-shadow: 0 4px 15px rgba(0,51,153,0.15);
	}
	.top-bar { display: none !important; }
	.logo-bar { padding: 10px 0; }
	.logo-icon { width: 40px; height: 40px; font-size: 1.2rem; }
	.logo-text h1 { font-size: 1.1rem; }
	.logo-text p { display: none; }
	.partner-badge { display: none; }
	.nav-bar { display: none; }
}








/* Badge Styles - Colorful */
.badge-yellow {
	background-color: var(--accent-gold);
	color: var(--primary-blue);
	font-weight: 700;
	padding: 6px 16px;
	border-radius: 20px;
	display: inline-block;
	font-size: 0.95rem;
}
.badge-green {
	background-color: var(--accent-green);
	color: white;
}
.badge-red {
	background-color: var(--accent-red);
	color: white;
}
.badge-purple {
	background-color: var(--accent-purple);
	color: white;
}
.badge-orange {
	background-color: var(--accent-orange);
	color: white;
}
.badge-pink {
	background-color: var(--accent-pink);
	color: white;
}
.badge-teal {
	background-color: var(--accent-teal);
	color: white;
}



/* Buttons */
.btn-yellow {
	background-color: var(--accent-gold);
	color: var(--primary-blue);
	border: none;
	font-weight: 700;
	border-radius: 25px;
	padding: 10px 30px;
}
.btn-yellow:hover {
	background-color: #E6C200;
	color: var(--primary-blue);
}
.btn-outline-white {
	border: 2px solid white;
	color: white;
	background: transparent;
	font-weight: 700;
	border-radius: 25px;
	padding: 10px 30px;
}
.btn-outline-white:hover {
	background-color: white;
	color: var(--primary-blue);
}
.btn-blue {
	background-color: var(--primary-blue);
	color: white;
	border: none;
	font-weight: 700;
	border-radius: 25px;
	padding: 10px 30px;
}
.btn-blue:hover {
	background-color: var(--secondary-blue);
	color: white;
}



/* Courses Section */
.course-card {
	border: none;
	overflow: hidden;
	transition: transform 0.3s, box-shadow 0.3s;
	height: 100%;
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
	border-radius: 8px;
}
.course-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0,51,153,0.15);
}
.course-img {
	height: 140px;
	background-size: cover;
	background-position: center;
	position: relative;
}
.course-footer {
	color: white;
	padding: 10px;
	text-align: center;
	font-weight: 700;
	font-size: 0.9rem;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}



/* Colorful Course Footer Colors */
.course-footer-blue { background-color: var(--primary-blue); }
.course-footer-green { background-color: var(--accent-green); }
.course-footer-red { background-color: var(--accent-red); }
.course-footer-purple { background-color: var(--accent-purple); }
.course-footer-orange { background-color: var(--accent-orange); }
.course-footer-teal { background-color: var(--accent-teal); }
.course-footer-pink { background-color: var(--accent-pink); }
.course-footer-navy { background-color: #0A192F; }


/* Locations Section - MTR Timeline */
.locations-section {
	padding: 60px 0;
	background-color: #FFFFFF;
}
.mtr-line {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-around;
	padding: 40px 0;
	overflow-x: auto;
	min-width: 800px;
}
.mtr-line::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 8px;
	background: linear-gradient(to right, #E60012 0%, #E60012 25%, #00A651 25%, #00A651 50%, #883794 50%, #883794 62%, #E60012 62%, #E60012 87%, #0099CC 87%, #0099CC 100%);
	transform: translateY(-50%);
	z-index: 0;
}
.mtr-station {
	position: relative;
	z-index: 1;
	text-align: center;
	flex-shrink: 0;
	width: 80px;
}
.station-dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid var(--primary-blue);
	margin: 0 auto 10px;
	transition: all 0.3s;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.mtr-station:hover .station-dot {
	transform: scale(1.3);
	background-color: var(--primary-blue);
}
.station-name {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text-dark);
}
.mtr-arrow {
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: var(--primary-blue);
}

/* Mobile Circular MTR Layout */
@media (max-width: 767px) {
	.mtr-line {
		min-width: auto;
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
		padding: 30px 10px;
	}
	.mtr-line::before {
		display: none;
	}
	.mtr-station {
		width: 100px;
		background: #F8F9FA;
		border-radius: 50%;
		padding: 20px 10px;
		box-shadow: 0 3px 10px rgba(0,0,0,0.1);
		transition: all 0.3s;
	}
	.mtr-station:hover {
		transform: scale(1.05);
		box-shadow: 0 5px 15px rgba(0,51,153,0.2);
	}
	.station-dot {
		width: 24px;
		height: 24px;
	}
	.station-name {
		font-size: 0.75rem;
	}
}



/* Footer */
footer {
	background-color: #EFF2F9;
	color: #4662A0;
	padding: 3rem 0;
}
footer a { color: #4662A0; text-decoration: none; }
footer a:hover { color: #4481CE; }


	/* 頁腳 (Footer) */
	footer {
		background-color: var(--hkit-light-blue);
		margin-top: auto;
		border-top: 1px solid #e5e9f0;
	}
	.footer-top {
		padding: 50px 0 30px 0;
	}
	.footer-heading {
		color: var(--hkit-blue);
		font-weight: 700;
		margin-bottom: 20px;
		position: relative;
		padding-bottom: 8px;
	}
	.footer-heading::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 30px;
		height: 2px;
		background-color: var(--hkit-gold);
	}
	.footer-links {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.footer-links li {
		margin-bottom: 12px;
	}
	.footer-links a {
		color: var(--hkit-dark-gray);
		text-decoration: none;
		transition: color 0.2s;
	}
	.footer-links a:hover {
		color: var(--hkit-blue);
	}
	.social-icons a {
		color: var(--hkit-blue);
		font-size: 1.5rem;
		margin-right: 15px;
		transition: color 0.2s;
	}
	.social-icons a:hover {
		color: var(--hkit-gold);
	}
	.footer-bottom {
		background-color: #ffffff;
		padding: 20px 0;
		border-top: 1px solid #e5e9f0;
		font-size: 0.9rem;
	}




/* Colorful Section Dividers */
.section-divider {
	height: 5px;
	background: linear-gradient(to right, var(--primary-blue), var(--accent-green), var(--accent-gold), var(--accent-red), var(--accent-purple), var(--accent-teal));
}

/* Colorful Feature Cards */
.feature-card {
	border-radius: 12px;
	padding: 2rem;
	text-align: center;
	transition: all 0.3s;
	height: 100%;
}
.feature-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.feature-icon {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
	font-size: 1.5rem;
}

/* Stats Counter */
.stat-box {
	background: white;
	border-radius: 12px;
	padding: 1.5rem;
	text-align: center;
	box-shadow: 0 4px 15px rgba(0,0,0,0.08);
	border-top: 4px solid var(--primary-blue);
	transition: all 0.3s;
}
.stat-box:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}
.stat-box.green { border-top-color: var(--accent-green); }
.stat-box.gold { border-top-color: var(--accent-gold); }
.stat-box.red { border-top-color: var(--accent-red); }


/* scroll top btn css */
button.back-to-top {
    border-radius: 4px;
    border-style: solid;
    border-width: 0;
    bottom: 15px;
    box-shadow: 2px 2px 12px -5px #000000;
    color: #fff;
    cursor: pointer;
    display: none;
    height: 40px;
    line-height: 26px;
    margin: 0;
    position: fixed;
    right: 15px;
    text-align: center;
    width: 40px;
    z-index: 999;
	background: var(--primary-blue);
}



        .course-bg-section {
            background-color: #F0F7FF;
        }
        .section-title-main {
            color: var(--primary-blue);
            font-weight: 700;
            margin-bottom: 1.5rem;
        }
        .section-subtitle {
            color: var(--text-muted);
            font-size: 0.95rem;
            margin-bottom: 1rem;
        }
        .structure-circle {
            width: 220px;
            height: 220px;
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);
            border-radius: 50%;
            color: white;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            box-shadow: 0 10px 20px rgba(0,51,153,0.2);
            transition: transform 0.3s;
            position: relative;
            z-index: 2;
        }
        .structure-circle:hover {
            transform: scale(1.05);
        }
        .structure-circle h4 {
            font-weight: 700;
            margin-bottom: 5px;
            font-size: 1.3rem;
        }
        .structure-circle p {
            margin-bottom: 0;
            font-size: 0.9rem;
            opacity: 0.9;
        }
        .plus-sign {
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--primary-blue);
            z-index: 1;
        }
		
		
		/* ================= 升學路徑 (Roadmap Style) ================= */
        .pathway-section { padding: 80px 0; background: linear-gradient(180deg, #fff 0%, #f0f4f8 100%); }
        .roadmap { display: flex; align-items: stretch; justify-content: space-between; max-width: 1000px; margin: 40px auto 0; }
        .roadmap-step { 
            flex: 1; background: white; padding: 30px 20px; margin: 0 10px;
            border-radius: 15px; box-shadow: var(--card-shadow);
            position: relative; text-align: center; border-top: 6px solid;
            transition: 0.3s;
        }
        .roadmap-step:hover { transform: translateY(-10px); }
        .step-1 { border-top-color: var(--hkit-accent); }
        .step-2 { border-top-color: #3bb4e5; }
        .step-3 { border-top-color: var(--hkit-primary); }
        
        .step-tag { 
            position: absolute; top: -15px; left: 50%; transform: translateX(-50%);
            background: #333; color: white; padding: 2px 15px; border-radius: 20px; font-size: 0.75rem;
        }
        .roadmap-step h4 { font-size: 1.1rem; font-weight: bold; margin: 15px 0 10px; color: #333; }
        .roadmap-step .year { font-size: 2.2rem; font-weight: 900; line-height: 1; margin-bottom: 5px; }

        @media (max-width: 767.98px) {
            .roadmap { flex-direction: column; gap: 30px; }
            .roadmap-step { margin: 0; }
        }

        /* ================= 資訊方塊 (Modern Cards) ================= */
        .info-grid-section { padding: 80px 0; }
        .feature-card {
            background: white; border-radius: 20px; padding: 40px 30px; height: 100%;
            box-shadow: var(--card-shadow); border: 1px solid #f0f0f0; transition: 0.3s;
        }
        .feature-card:hover { border-color: var(--hkit-primary); }
        .icon-box { 
            width: 70px; height: 70px; border-radius: 18px; 
            display: flex; align-items: center; justify-content: center; 
            font-size: 1.8rem; margin-bottom: 25px;
        }
        .icon-blue { background: #eef2ff; color: var(--hkit-primary); }
        .icon-orange { background: #fff7ed; color: var(--hkit-secondary); }
        
        .feature-card h5 { font-weight: 800; font-size: 1.3rem; margin-bottom: 20px; display: flex; align-items: center; }
        .feature-card h5::after { content: ''; flex: 1; height: 2px; background: #eee; margin-left: 15px; }

        .data-list { list-style: none; padding: 0; margin: 0; }
        .data-list li { position: relative; padding-left: 25px; margin-bottom: 12px; font-size: 0.95rem; color: #555; }
        .data-list li::before { 
            content: '\f00c'; font-family: 'Font Awesome 5 Free'; font-weight: 900;
            position: absolute; left: 0; color: var(--hkit-accent);
        }

        .price-tag { background: var(--hkit-primary); color: white; padding: 15px 25px; border-radius: 12px; display: inline-block; margin-top: 10px; }
        .price-tag span { font-size: 1.5rem; font-weight: bold; }

        /* 暑期班特殊樣式 */
        .summer-banner {
            background: linear-gradient(135deg, var(--hkit-primary) 0%, #1a2a5a 100%);
            color: white; padding: 60px; border-radius: 30px; text-align: center; margin-top: 50px;
            box-shadow: 0 20px 40px rgba(56, 81, 156, 0.3);
        }
		
		
		
		
		
		
        /* 標題與引言區塊 */
        .intro-section {
            background-color: #fff;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
            margin-bottom: 20px;
        }

        /* 手風琴自定義樣式 (參考截圖) */
        .hkit-accordion-item {
            border: none;
            margin-bottom: 15px;
            background: transparent;
        }

        .hkit-accordion-btn {
            background-color: #2b54a5 !important; /* 科專主色調 深藍 */
            color: #ffffff !important;
            font-weight: bold;
            font-size: 1.1rem;
            border-radius: 0 !important;
            padding: 15px 20px 15px 55px; /* 左側留空間給圖示 */
            box-shadow: none !important;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            text-decoration: none;
            width: 100%;
            border: none;
            text-align: left;
        }

        /* 左側黃色立方體圖示 (偽元素+Icon) */
        .hkit-accordion-btn::before {
            content: '\f1b2'; /* FontAwesome fa-cube */
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            color: #f6c23e; /* 黃色立方體 */
            font-size: 1.5rem;
            position: absolute;
            left: 15px;
        }

        /* 右側加減號 */
        .hkit-accordion-btn::after {
            content: '\f068'; /* fa-minus 預設打開時為減號 */
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            margin-left: auto;
        }

        /* 當區塊摺合(關閉)時，改為加號 */
        .hkit-accordion-btn.collapsed::after {
            content: '\f067'; /* fa-plus */
        }

        .hkit-accordion-body {
            background-color: #ffffff;
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 20px;
            font-size: 1rem;
            line-height: 1.6;
        }

        /* 全部打開/摺合 按鈕 */
        #toggleAllBtn {
            font-size: 1rem;
            color: #2b54a5;
            cursor: pointer;
        }
        #toggleAllBtn:hover {
            color: #1a3668;
        }

        /* 實用按鈕樣式 */
        .btn-brand {
            background-color: #2b54a5;
            color: #fff;
        }
        .btn-brand:hover {
            background-color: #1a3668;
            color: #fff;
        }
		
		
		
		
		
		
		/* folding 按鈕 */
		.apydiv
		{
			position: fixed;
			top:70%;
			right: 0;
			width:80px;
			height:150px;
			z-index:999;
		}
		.apybtn 
		{
		display: block;
		border: 0;
		line-height: 1.2;
		margin-bottom: 0.3em;
		outline: none;
		text-decoration: none;
		color: #fff;
		width: 80px;
		font-size: 16px;
		font-weight: bold;
		border-radius: 20px 0 0 20px;
		}
		.apybtnDiv 
		{
		padding: 10px 21px;
		border-radius: 30px 0 0 30px;
		}
		.apybtnDiv:hover
		{
			background: white;
			transition: margin 500ms;
			margin-left: -20px;
		}
		.bg-b-orange
		{
			background: linear-gradient(45deg, #fda582, #f7cf68);
		}
		.bg-b-orange:hover
		{
			background:linear-gradient(45deg, #fda582, #fcac7d);
		}
		
		
		
	.bg-MintyCloudDriftGradient 
	{
      background: linear-gradient(120deg, #C8E6C9 0%, #DCEDC8 20%, #F1F8E9 40%, #FFFDE7 60%, #FFF9C4 80%, #F0F4C3 100%);
	}
	
	
	.bg-CrosshatchArtLightPattern 
	{
      backgroundImage: 
        repeating-linear-gradient(22.5deg, transparent, transparent 2px, rgba(75, 85, 99, 0.06) 2px, rgba(75, 85, 99, 0.06) 3px, transparent 3px, transparent 8px),
        repeating-linear-gradient(67.5deg, transparent, transparent 2px, rgba(107, 114, 128, 0.05) 2px, rgba(107, 114, 128, 0.05) 3px, transparent 3px, transparent 8px),
        repeating-linear-gradient(112.5deg, transparent, transparent 2px, rgba(55, 65, 81, 0.04) 2px, rgba(55, 65, 81, 0.04) 3px, transparent 3px, transparent 8px),
        repeating-linear-gradient(157.5deg, transparent, transparent 2px, rgba(31, 41, 55, 0.03) 2px, rgba(31, 41, 55, 0.03) 3px, transparent 3px, transparent 8px);
	}
	

	.bg-PaperTexture
	{
      backgroundImage: 
        radial-gradient(circle at 1px 1px, rgba(0,0,0,0.08) 1px, transparent 0),
        repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.02) 2px, rgba(0,0,0,0.02) 4px),
        repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(0,0,0,0.02) 2px, rgba(0,0,0,0.02) 4px)
      ;
      backgroundSize: "8px 8px, 32px 32px, 32px 32px";
    }
  
  
   /* Landing Page Hero Style */
       

        /* 快速動作按鈕 */
        .action-card {
            background: white;
            border-radius: 12px;
            padding: 20px;
            text-align: center;
            transition: transform 0.3s ease;
            border: 1px solid #eee;
            height: 100%;
        }
        .action-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        .action-icon {
            font-size: 2.5rem;
            color: var(--hkit-blue);
            margin-bottom: 15px;
        }

        /* Accordion Custom Style */
        .hkit-accordion-item {
            border: none;
            margin-bottom: 12px;
        }

        .hkit-accordion-btn {
            background-color: var(--hkit-blue) !important;
            color: #ffffff !important;
            font-weight: bold;
            font-size: 1.15rem;
            border-radius: 8px !important; /* 增加圓角感 */
            padding: 18px 20px 18px 60px;
            position: relative;
            display: flex;
            align-items: center;
            width: 100%;
            border: none;
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
        }

        .hkit-accordion-btn:not(.collapsed) {
            border-radius: 8px 8px 0 0 !important;
            background-color: var(--hkit-dark-blue) !important;
        }

        .hkit-accordion-btn::before {
            content: '\f1b2';
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            color: var(--hkit-yellow);
            font-size: 1.4rem;
            position: absolute;
            left: 20px;
        }

        .hkit-accordion-btn::after {
            content: '\f078'; /* fa-chevron-down */
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            margin-left: auto;
            transition: transform 0.3s ease;
        }

        .hkit-accordion-btn:not(.collapsed)::after {
            transform: rotate(180deg);
        }

        .hkit-accordion-body {
            background-color: #ffffff;
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 25px;
            border-radius: 0 0 8px 8px;
            font-size: 1.05rem;
        }

        #toggleAllBtn {
            font-size: 0.95rem;
            color: var(--hkit-blue);
            cursor: pointer;
            padding: 5px 15px;
            border: 1px solid var(--hkit-blue);
            border-radius: 20px;
            transition: all 0.2s;
        }
        #toggleAllBtn:hover {
            background-color: var(--hkit-blue);
            color: white;
        }

        .btn-brand {
            background-color: var(--hkit-blue);
            color: #fff;
            padding: 12px 30px;
            border-radius: 30px;
            font-weight: bold;
        }
        .btn-brand:hover {
            background-color: var(--hkit-dark-blue);
            color: #fff;
        }
		
		
		
		
        /* 麵包屑與標題 (已改用漸變背景，並優化內部文字顏色以提高對比度) */
        .page-title-section {
            background: linear-gradient(135deg, var(--hkit-blue) 0%, #4a90e2 100%);
            padding: 40px 0 25px 0;
            margin-bottom: 40px;
        }
        .page-title-section .breadcrumb-item a {
            color: rgba(255, 255, 255, 0.85);
            text-decoration: none;
        }
        .page-title-section .breadcrumb-item a:hover {
            color: var(--hkit-gold);
        }
        .page-title-section .breadcrumb-item.active {
            color: rgba(255, 255, 255, 0.6);
        }
        /* 修改麵包屑的斜線分隔符顏色為半透明白 */
        .page-title-section .breadcrumb-item + .breadcrumb-item::before {
            color: rgba(255, 255, 255, 0.4);
        }
        .page-title-section .page-title {
            color: #ffffff;
            font-weight: 700;
            position: relative;
            padding-bottom: 10px;
        }
        .page-title-section .page-title::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 50px;
            height: 3px;
            background-color: var(--hkit-gold);
        }

        /* 現代化功能按鈕卡片 (New Button Grid Cards) */
        .btn-card {
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, 0.08);
            border-radius: 12px;
            padding: 30px 20px;
            text-align: center;
            text-decoration: none !important;
            color: var(--hkit-dark-gray);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100%;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .btn-card:hover {
            transform: translateY(-6px);
            border-color: var(--hkit-blue);
            box-shadow: 0 12px 24px rgba(43, 84, 165, 0.12);
            color: var(--hkit-blue);
        }
        .btn-card-icon {
            font-size: 3rem;
            color: var(--hkit-blue);
            margin-bottom: 15px;
            transition: transform 0.3s ease;
        }
        .btn-card:hover .btn-card-icon {
            transform: scale(1.1);
            color: var(--hkit-gold);
        }
        .btn-card-title {
            font-size: 1.15rem;
            font-weight: 500;
            margin: 0;
        }

        /* 返回主頁按鈕 (Back to Home Button) */
        .btn-back {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 12px 28px;
            font-size: 1.05rem;
            font-weight: 500;
            color: var(--hkit-blue);
            background-color: transparent;
            border: 2px solid var(--hkit-blue);
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.3s ease;
        }
        .btn-back i {
            margin-right: 8px;
            font-size: 1.1rem;
            transition: transform 0.2s ease;
        }
        .btn-back:hover {
            background-color: var(--hkit-blue);
            color: #ffffff;
            box-shadow: 0 4px 12px rgba(43, 84, 165, 0.2);
        }
        .btn-back:hover i {
            transform: translateX(-4px);
        }



        /* 側邊浮動諮詢按鈕 */
        .side-badges {
            position: fixed;
            right: 0;
            top: 60%;
            transform: translateY(-50%);
            z-index: 1000;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .side-badge-item {
            background-color: #ff9800;
            color: white;
            padding: 12px 18px;
            border-radius: 30px 0 0 30px;
            text-decoration: none;
            font-weight: bold;
            font-size: 0.9rem;
            box-shadow: -2px 4px 10px rgba(0,0,0,0.15);
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .side-badge-item.query {
            background-color: #4caf50;
        }
        .side-badge-item:hover {
            transform: translateX(-5px);
            color: white;
            box-shadow: -2px 6px 15px rgba(0,0,0,0.25);
        }
		
		/* B. 手機移動端專屬：底部常駐按鈕列 (常駐在螢幕最下方) */
        .mobile-sticky-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #ffffff;
            box-shadow: 0 -4px 15px rgba(0,0,0,0.12);
            z-index: 9999;
            padding: 10px 15px;
            display: none; /* 預設在 PC 隱藏 */
            justify-content: space-between;
            align-items: center;
            gap: 10px;
        }

        /* 移動端媒體查詢：在寬度小於 768px 時觸發 */
        @media (max-width: 767.98px) {
            /* 隱藏容易遮擋、導致錯位的側邊懸浮按鈕 */
            .side-badges {
                display: none !important;
            }
            /* 啟用底部高轉化率常駐按鈕 */
            .mobile-sticky-footer {
                display: flex !important;
            }
        }
        
        .mobile-sticky-btn {
            flex: 1;
            padding: 10px;
            border-radius: 30px;
            font-weight: 750;
            font-size: 0.88rem;
            text-align: center;
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            border: none;
            transition: transform 0.2s;
        }
        .mobile-sticky-btn:active {
            transform: scale(0.97);
        }
        .m-btn-apply {
            background-color: var(--hkit-gold);
			background-color: #ff9800;
            color: #000000;
        }
        .m-btn-query {
            background-color: #4caf50;
            color: #ffffff;
        }
        /* ========================================================================= */