	.e {
    font-family: 'Balurie Demo';
    font-weight: bold;
    font-style: italic;
}
.holidays-table-wrapper {
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow-x: auto;           /* enable horizontal scroll on small screens */
            overflow-y: hidden;
            margin-bottom: 40px;
            -webkit-overflow-scrolling: touch;
        }
        .holidays-table {
            width: 100%;
            border-collapse: collapse;
            margin: 0;
        }
        .holidays-table thead {
            background: #0056b3;
            color: #fff;
        }
        .holidays-table thead th {
            padding: 18px 20px;
            text-align: left;
            font-weight: 600;
            font-size: 1rem;
            border: none;
        }
        .holidays-table tbody tr {
            border-bottom: 1px solid #e9ecef;
        }
        .holidays-table tbody tr:hover {
            background: #f8f9fa;
        }
        .holidays-table tbody td {
            padding: 15px 20px;
            vertical-align: middle;
            color: var(--terms-text-dark);
        }
        .holidays-table tbody tr:last-child {
            border-bottom: none;
        }
        .holiday-date {
            font-weight: 600;
            color: var(--terms-primary);
            width: 30%;
            white-space: nowrap; /* keep dates like "December 2" on a single line */
        }
        .holiday-name {
            font-weight: 500;
        }
        .holidays-section {
            margin-bottom: 35px;
        }
        .holidays-section h2 {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--terms-text-dark);
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--terms-primary);
        }
        .holidays-section h3 {
            font-size: 1.4rem;
            font-weight: 600;
            color: var(--terms-text-dark);
            margin-top: 25px;
            margin-bottom: 15px;
        }
        .holidays-section p {
            line-height: 1.8;
            color: var(--terms-text-light);
            margin-bottom: 15px;
        }
        .holidays-section ul {
            margin-left: 20px;
            margin-bottom: 20px;
        }
        .holidays-section ul li {
            line-height: 1.8;
            color: var(--terms-text-light);
            margin-bottom: 10px;
        }
        .holidays-tip-box {
            background: linear-gradient(135deg, #fff8e1, #ffecb3);
            border-left: 4px solid #ffa000;
            padding: 20px;
            border-radius: 8px;
            margin: 25px 0;
        }
        .holidays-tip-box h4 {
            color: #f57c00;
            margin-bottom: 10px;
            font-size: 1.2rem;
        }
        .holidays-tip-box p {
            margin-bottom: 8px;
            color: #424242;
        }
        .holidays-tip-box p:last-child {
            margin-bottom: 0;
        }
        .holidays-conclusion {
            background: #e8f4f8;
            padding: 30px;
            border-radius: 8px;
            margin-top: 40px;
            border-left: 4px solid var(--terms-primary);
            text-align: left;
        }
        .holidays-conclusion h3 {
            color: var(--terms-primary);
            margin-bottom: 15px;
            font-size: 1.6rem;
        }
        .holidays-conclusion p {
            margin-bottom: 15px;
            line-height: 1.7;
            color: var(--terms-text-dark);
        }
		.btn-refresh-captcha{
			color:#0d4f8b;
		}
		/* Policy Updates Scroll Container Styles */
		.policy-updates-scroll-wrapper {
			position: relative;
			margin-top: 1rem;
		}
		.policy-updates-scroll-container {
			max-height: 600px; /* Height to show approximately 5 items */
			overflow-y: auto;
			overflow-x: hidden;
			scroll-behavior: smooth;
			padding-right: 10px;
		}
		.policy-updates-scroll-container::-webkit-scrollbar {
			width: 8px;
		}
		.policy-updates-scroll-container::-webkit-scrollbar-track {
			background: #f1f1f1;
			border-radius: 4px;
		}
		.policy-updates-scroll-container::-webkit-scrollbar-thumb {
			background: #888;
			border-radius: 4px;
		}
		.policy-updates-scroll-container::-webkit-scrollbar-thumb:hover {
			background: #555;
		}
		.policy-scroll-buttons {
			display: flex;
			justify-content: flex-end;
			gap: 8px;
			margin-top: 10px;
			padding-right: 10px;
		}
		.policy-scroll-btn {
			background: #0056b3;
			color: #fff;
			border: none;
			border-radius: 4px;
			padding: 6px 12px;
			font-size: 0.875rem;
			font-weight: 500;
			cursor: pointer;
			transition: transform 0.2s ease;
			box-shadow: 0 2px 4px rgba(0,0,0,0.1);
		}
		.policy-scroll-btn:hover {
			background: #004494;
			box-shadow: 0 2px 6px rgba(0,0,0,0.2);
		}
		.policy-scroll-btn:active {
			transform: scale(0.95);
		}
		.policy-scroll-btn:disabled {
			background: #ccc;
			cursor: not-allowed;
			opacity: 0.6;
		}
		.policy-scroll-btn span {
			display: inline-block;
		}
		@media (max-width: 768px) {
			.policy-scroll-btn {
				padding: 5px 10px;
				font-size: 0.8rem;
			}
		}
		/* Equal Height Cards */
		.evisa-updates-section .row {
			display: flex;
			flex-wrap: wrap;
			align-items: stretch;
		}
		.evisa-updates-section .row > .col-md-6 {
			display: flex;
			align-items: stretch;
		}
		.evisa-update-card,
		.visa-type-card {
			display: flex;
			flex-direction: column;
			width: 100%;
			height: 100%;
		}
		.evisa-update-card .update-content,
		.visa-type-card .update-content {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			min-height: 0;
			padding-bottom: 0.75rem !important;
		}
		.evisa-update-card,
		.visa-type-card {
			padding-bottom: 0 !important;
		}
		.policy-updates-scroll-wrapper {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			min-height: 0;
			margin-bottom: 0;
		}
		.policy-updates-scroll-container {
			flex-grow: 1;
			min-height: 0;
		}
		.policy-scroll-buttons {
			margin-top: 8px;
			margin-bottom: 0;
		}
		.visa-type-card .update-content > *:last-child,
		.evisa-update-card .update-content > *:last-child {
			margin-bottom: 0 !important;
		}
		/* Update exempt-header to use theme red color */
		.exempt-header {
			background: #a94442 !important; 
		}
		.exempt-header i,
		.exempt-header .icon {
			color: #ffffff !important;
		}
		/* Update step colors to match theme */
		.step.first,
		.step.last {
			background: #0d4f8b !important;
		}
		.step {
			background: #1565c0 !important;
		}
		/* Info Grid Section Styles */
		.info-grid-section .info-card {
			margin-bottom: 0;
		}
		.info-grid-section .update-content {
			padding: 1rem 1.5rem;
		}
		.info-grid-section .update-content p {
			margin-bottom: 1rem;
			font-size: 0.9rem;
		}
		.info-grid-section .update-content p:last-child {
			margin-bottom: 0;
		}
		.info-grid-section .holidays-table-wrapper {
			margin-top: 0.5rem;
			margin-bottom: 0;
		}
		.info-grid-section .holidays-table {
			font-size: 0.85rem;
		}
		.info-grid-section .holidays-table thead th {
			padding: 12px 15px;
			font-size: 0.9rem;
		}
		.info-grid-section .holidays-table tbody td {
			padding: 10px 15px;
		}
		.info-grid-section .info-list {
			margin-bottom: 0;
		}
		.info-grid-section .info-list li {
			font-size: 0.9rem;
			margin-bottom: 0.5rem;
		}
		.info-grid-section .accordion-item {
			border: 1px solid #dee2e6;
			margin-bottom: 0.5rem;
		}
		.info-grid-section .accordion-button {
			padding: 0.75rem 1rem;
			font-size: 0.9rem;
		}
		.info-grid-section .accordion-body {
			padding: 0.75rem 1rem;
			font-size: 0.85rem;
		}
		@media (max-width: 991px) {
			.info-grid-section .col-lg-6 {
				margin-bottom: 1.5rem;
			}
		}
		.header{
		font-size: 1.2rem;
		text-align: center;
		}
	 	#titles
		{
			font-size: 1.1rem;
			text-align:center;
		}

:root {
    --primary-color: #0d4f8b;
    --secondary-color: #d32f2f;
    --accent-color: #1565c0;
    --bg-light: #f5f5f5;
    --bg-white: #ffffff;
    --bg-dark: #212121;
    --text-dark: #212121;
    --text-light: #424242;
    --text-muted: #616161;
    --text-white: #ffffff;
    --border-light: #e0e0e0;
    --shadow-light: 0 2px 10px rgba(0, 0, 0, 0.1);
    --shadow-medium: 0 4px 20px rgba(0, 0, 0, 0.15);
    --shadow-dark: 0 8px 30px rgba(0, 0, 0, 0.2);
    --transition: transform 0.3s ease, opacity 0.3s ease;
    --tooltip-bg: #2c3e50;
    --tooltip-text: #ffffff;
    --tooltip-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

:root {
    --terms-text-color: #000000;
    --terms-text-muted: #555555;
    --terms-text-light: #333333;
    --terms-bg-white: #ffffff;
    --terms-bg-light: #f8f8f8;
    --terms-bg-section: #f8f9fb;
    --terms-border: #cccccc;
    --terms-border-light: #dddddd;
    --terms-border-gray: #aaaaaa;
    --terms-border-divider: #e0e0e0;
    --terms-primary: #0d4f8b;
    --terms-primary-hover: #0b406f;
    --terms-secondary: #d32f2f;
    --terms-secondary-hover: #b71c1c;
    --terms-accent-color: #1565c0;
    --visa-step-active: #b45b35;
    --visa-step-active-dark: #8f4323;
    --visa-step-neutral: #555555;
    --visa-step-neutral-dark: #3c3c3c;
    --visa-step-border: #d4c7bb;
    --visa-step-bg: #f4f5f7;
    --visa-step-gap: #ffffff;
    --terms-font-base: 15px;
    --terms-font-small: 14px;
    --terms-font-large: 17px;
    --terms-font-xl: 19px;
    --terms-font-xxl: 22px;
    --terms-line-height: 1.6;
    --terms-spacing-xs: 4px;
    --terms-spacing-sm: 8px;
    --terms-spacing-md: 12px;
    --terms-spacing-lg: 16px;
    --terms-spacing-xl: 24px;
    --terms-transition: transform 0.2s ease;
    --terms-hover-transform: translateY(-2px);
    --status-primary: rgb(68, 115, 8);
    --status-primary-hover: rgb(48, 85, 5);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Navigation Bar (used by header.php) */
.navbar-custom {
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 0.8rem 0;
    border-bottom: 2px solid var(--primary-color);
}
.navbar-custom.navbar-scrolled {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    padding: 0.5rem 0;
}
.navbar-left-logo {
    display: flex;
    align-items: center;
}
.navbar-left-logo .navbar-brand {
    font-size: 2.5rem;
    color: var(--primary-color) !important;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}
.navbar-left-logo i {
    font-size: 2.5rem;
    color: var(--primary-color);
}
.navbar-center {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}
.navbar-nav .nav-link {
    color: var(--text-dark) !important;
    font-weight: 500;
    padding: 0.5rem 1.2rem !important;
    position: relative;
    font-size: 1rem;
}
.navbar-nav .nav-link:hover {
    color: var(--primary-color) !important;
}
.navbar-nav .nav-link.active {
    color: var(--secondary-color) !important;
    font-weight: 600;
}
.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 80%;
    height: 2px;
    background-color: var(--secondary-color);
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}
.navbar-nav .nav-link:hover::after {
    transform: translateX(-50%) scaleX(1);
}
.navbar-right-logo {
    display: flex;
    align-items: center;
}
.navbar-right-logo i {
    font-size: 2.5rem;
    color: var(--primary-color);
}
.navbar-right-logo .navbar-text {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.navbar-toggler {
    border: none;
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    color: var(--primary-color) !important;
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
}
.navbar-toggler:focus {
    box-shadow: none;
    outline: none;
}
.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='%231a5f9e' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler-label {
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 0.1rem;
    line-height: 1;
}
@media (max-width: 1200px) {
    .navbar-nav .nav-link {
        padding: 0.5rem 0.8rem !important;
        font-size: 0.95rem;
    }
}
@media (max-width: 992px) {
    .navbar-nav .nav-link {
        padding: 0.5rem 0.6rem !important;
        font-size: 0.9rem;
    }
}
@media (max-width: 768px) {
    .navbar.navbar-custom>.container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .navbar-left-logo { order: 1; }
    .navbar-toggler { order: 2; }
    .navbar-right-logo { order: 3; display: flex; align-items: center; }
    .navbar-collapse { order: 4; flex-basis: 100%; }
    .navbar-center {
        flex-direction: column;
        gap: 0;
        width: 100%;
        margin-top: 1rem;
    }
    .navbar-nav .nav-link {
        padding: 0.7rem 1rem !important;
        border-bottom: 1px solid var(--border-light);
        text-align: left;
        font-size: 1rem;
    }
    .navbar-nav .nav-link:hover::after { width: 0; }
}
@media (max-width: 576px) {
    .navbar-custom { padding: 0.5rem 0; }
    .navbar-left-logo .navbar-brand { font-size: 2rem; }
    .navbar-left-logo i { font-size: 2rem; }
    .navbar-right-logo i { font-size: 2rem; }
    .navbar-right-logo .navbar-text { font-size: 1rem; }
    .navbar-nav .nav-link { font-size: 0.95rem; }
}

/* News Ticker (used by newsreader.php) */
.news-ticker-wrapper {
    display: flex;
    align-items: center;
    background-color: var(--bg-white);
    border-bottom: 1px solid var(--border-light);
    overflow: hidden;
    height: 40px;
    position: relative;
    z-index: 10;
}
.news-ticker-label {
    background: linear-gradient(135deg, #b71c1c 0%, #d32f2f 50%, #b71c1c 100%);
    color: var(--text-white);
    padding: 0.5rem 1.5rem;
    font-weight: 800;
    font-size: 0.85rem;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
}
.news-ticker-label::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.1) 10px, rgba(255,255,255,0.1) 20px);
    animation: stripe-slide 20s linear infinite;
    z-index: 0;
}
@keyframes stripe-slide {
    0% { transform: translateX(0); }
    100% { transform: translateX(50%); }
}
.news-ticker-label i, .news-ticker-label span { position: relative; z-index: 1; }
.news-ticker-label i { font-size: 1.1rem; animation: pulse-icon 2s ease-in-out infinite; }
@keyframes pulse-icon {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}
.news-ticker-content {
    flex: 1;
    overflow: hidden;
    background-color: var(--bg-white);
    position: relative;
}
.news-ticker-text {
    display: inline-block;
    white-space: nowrap;
    padding-left: 100%;
    animation: scroll-left 30s linear infinite;
    font-size: 0.95rem;
    color: var(--text-dark);
    font-weight: 500;
}
@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
.news-ticker-text:hover { animation-play-state: paused; }
@media (max-width: 768px) {
    .news-ticker-wrapper { height: 35px; }
    .news-ticker-label { padding: 0.4rem 1rem; font-size: 0.75rem; }
    .news-ticker-text { font-size: 0.85rem; animation: scroll-left 20s linear infinite; }
}

/* Hero Slider (used by slider.php) */
.hero-slider-section { margin-top: 0; margin-bottom: 0; padding-top: 0; }
.slider-container { position: relative; width: 100%; overflow: hidden; }
.hero-slide { position: relative; display: flex; align-items: center; justify-content: center; min-height: 600px; overflow: hidden; }
.slide-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.slide-background img, .slide-img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; opacity: 0.5; filter: brightness(0.7); }
.slide-overlay { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1; }
.slide-content { position: relative; z-index: 2; width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: center; padding: 4rem 0; }
.slide-text-box { background: transparent; padding: 0; border-radius: 0; text-align: center; color: var(--text-white); animation: slideInUp 0.8s ease; max-width: 100%; }
.slide-title { font-size: 3.5rem; font-weight: 700; margin-bottom: 1rem; text-transform: none; letter-spacing: 0; color: #ffffff; line-height: 1.2; display: flex; align-items: center; justify-content: center; gap: 12px; }
.laos-flag-icon { flex-shrink: 0; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); margin: 0; display: block; }
.slide-subtitle { font-size: 1.5rem; margin-bottom: 1.5rem; color: #ffffff; font-weight: 400; line-height: 1.4; }
.slide-description { font-size: 1.15rem; margin-bottom: 2rem; color: #ffffff; line-height: 1.6; }
.slide-actions { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.slide-btn { padding: 0.875rem 2rem; font-weight: 600; text-transform: none; letter-spacing: 0; transition: transform 0.2s ease; border-radius: 6px; font-size: 1rem; }
.slide-btn.btn-primary { background-color: #0056b3 !important; border-color: #0056b3 !important; color: #ffffff !important; }
.slide-btn.btn-primary:hover, .slide-btn.btn-primary:focus, .slide-btn.btn-primary:active { background-color: #004494 !important; border-color: #004494 !important; color: #ffffff !important; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,86,179,0.4); }
.slide-btn.btn-outline-light { background-color: transparent !important; border-color: rgba(255,255,255,0.8) !important; color: #ffffff !important; }
.slide-btn.btn-outline-light:hover, .slide-btn.btn-outline-light:focus, .slide-btn.btn-outline-light:active { background-color: rgba(255,255,255,0.1) !important; border-color: #ffffff !important; color: #ffffff !important; transform: translateY(-2px); }
@media (max-width: 992px) {
    .slide-content { padding: 3rem 0; }
    .slide-title { font-size: 2.5rem; }
    .laos-flag-icon { width: 40px; height: 27px; }
    .slide-subtitle { font-size: 1.25rem; }
    .slide-description { font-size: 1rem; }
}
@media (max-width: 768px) {
    .hero-slide { min-height: 500px; }
    .slide-content { padding: 2rem 0; align-items: flex-end; justify-content: center; }
    .slide-text-box { text-align: center; }
    .slide-title { font-size: 2rem; margin-bottom: 0.75rem; }
    .laos-flag-icon { width: 32px; height: 21px; }
    .slide-subtitle { font-size: 1.1rem; margin-bottom: 1rem; }
    .slide-description { font-size: 0.95rem; margin-bottom: 1.5rem; }
    .slide-btn { padding: 0.75rem 1.5rem !important; font-size: 0.9rem !important; }
    .slide-actions { flex-direction: column; gap: 0.75rem; }
    .slide-actions .btn { width: 100%; margin-left: 0 !important; }
}
@media (max-width: 576px) {
    .hero-slide { min-height: 450px; }
    .slide-content { padding: 1.5rem 0; }
    .slide-title { font-size: 1.75rem; margin-bottom: 0.5rem; }
    .laos-flag-icon { width: 28px; height: 19px; }
    .slide-subtitle { font-size: 1rem; margin-bottom: 0.75rem; }
    .slide-description { font-size: 0.9rem; margin-bottom: 1.25rem; line-height: 1.5; }
    .slide-btn { padding: 0.65rem 1.25rem !important; font-size: 0.85rem !important; }
}

/* Check eVisa Status (used by home.php) */
.check-status-section { background: transparent; padding: 0; position: relative; overflow: visible; margin-top: -120px; z-index: 100; }
.status-check-wrapper { background: rgba(255,255,255,0.95); border-radius: 12px; padding: 1.15rem 1.35rem; box-shadow: 0 8px 28px rgba(0,0,0,0.12); max-width: 720px; margin: 0 auto; position: relative; z-index: 100; backdrop-filter: blur(10px); }
.status-check-header { text-align: center; margin-bottom: 0.65rem; }
.status-icon { font-size: 1.15rem; color: var(--primary-color); margin-right: 0.35rem; vertical-align: middle; }
.status-check-header h2 { font-size: 1.3rem; font-weight: 700; color: var(--text-dark); margin: 0; display: inline-flex; align-items: center; gap: 0.35rem; }
.status-check-form { margin-top: 0.85rem; }
.form-row-status { display: flex; gap: 0.65rem; align-items: stretch; }
.form-group-status { flex: 1; }
.form-group-status:last-child { flex: 0 0 auto; }
.form-control-status { width: 100%; padding: 0.6rem 0.9rem; border: 1.5px solid #e0e0e0; border-radius: 8px; font-size: 0.875rem; background: #f8f9fa; }
.form-control-status:focus { outline: none; border-color: var(--primary-color); background: #ffffff; box-shadow: 0 4px 12px rgba(13,79,139,0.15); }
.form-control-status::placeholder { color: #757575; }
.btn-check-status { padding: 0.6rem 1.25rem; background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%); color: #ffffff !important; border: none; border-radius: 8px; font-size: 0.875rem; font-weight: 600; cursor: pointer; transition: transform 0.2s ease; white-space: nowrap; display: flex; align-items: center; gap: 0.35rem; height: 100%; box-shadow: 0 3px 12px rgba(13,79,139,0.25); }
.btn-check-status:hover, .btn-check-status:focus, .btn-check-status:active { background: linear-gradient(135deg, var(--accent-color) 0%, #0d47a1 100%); color: #ffffff !important; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(13,79,139,0.4); }
.btn-check-status i { font-size: 0.95rem; }
@media (max-width: 768px) {
    .check-status-section { margin-top: -100px; }
    .status-check-wrapper { padding: 0.85rem 0.65rem; border-radius: 10px; max-width: 92%; margin: 0 auto; width: 100%; }
    .check-status-section .container { padding-left: 10px; padding-right: 10px; max-width: 100%; }
    .status-check-header { margin-bottom: 0.55rem; }
    .status-check-header h2 { font-size: 1.05rem; }
    .status-icon { font-size: 0.95rem; }
    .status-check-form { margin-top: 0.75rem; }
    .form-row-status { flex-direction: column; gap: 0.55rem; }
    .form-control-status { padding: 0.55rem 0.75rem; font-size: 0.85rem; }
    .btn-check-status { width: 100%; justify-content: center; padding: 0.55rem 1rem; font-size: 0.85rem; }
}

/* Laos eVisa overview (used by home.php) */
.evisa-intro-section {
    background: #ffffff;
    padding: 2.5rem 0 2rem;
}
.evisa-intro-content {
    max-width: 960px;
    margin: 0 auto;
}
.evisa-intro-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-dark, #1a1a1a);
    margin-bottom: 1.25rem;
    line-height: 1.35;
    text-align: center;
}
.evisa-intro-text p {
    font-size: 1rem;
    line-height: 1.75;
    color: #444444;
    margin-bottom: 1rem;
    text-align: justify;
}
.evisa-intro-text p:last-child {
    margin-bottom: 0;
}
@media (max-width: 768px) {
    .evisa-intro-section {
        padding: 2rem 0 1.5rem;
    }
    .evisa-intro-title {
        font-size: 1.35rem;
        text-align: center;
    }
    .evisa-intro-text p {
        font-size: 0.95rem;
        text-align: left;
    }
}

/* How to Apply (used by home.php) */
.how-to-apply-section { background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%); position: relative; margin-top: 0; }
.section-header-apply { text-align: center; margin-bottom: 2.5rem; }
.apply-title { font-size: 2rem; font-weight: 800; color: var(--text-dark); margin-bottom: 0.5rem; position: relative; display: inline-block; }
.apply-subtitle { font-size: 1rem; color: var(--text-light); margin-bottom: 1rem; }
.title-underline { width: 80px; height: 4px; background: linear-gradient(90deg, var(--primary-color), var(--secondary-color)); margin: 0 auto; border-radius: 2px; }
.steps-container { display: flex; justify-content: space-between; align-items: flex-start; max-width: 1200px; margin: 0 auto; position: relative; }
.step-item { flex: 1; text-align: center; padding: 0 1rem; position: relative; animation: fadeInUp 0.6s ease backwards; }
.step-number-wrapper { position: absolute; top: -15px; right: 20px; z-index: 10; }
.step-number { display: inline-block; width: 35px; height: 35px; background: linear-gradient(135deg, #ef6c00, #e65100); color: #ffffff; border-radius: 50%; font-size: 1.1rem; font-weight: 800; line-height: 35px; text-align: center; box-shadow: 0 3px 12px rgba(239,108,0,0.4); }
.step-icon-wrapper { margin-bottom: 1rem; position: relative; }
.step-icon { width: 90px; height: 90px; margin: 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); box-shadow: 0 6px 20px rgba(13,79,139,0.3); transition: transform 0.3s ease; position: relative; overflow: hidden; }
.step-icon::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transform: translateX(-100%); transition: transform 0.5s ease; }
.step-item:hover .step-icon::before { transform: translateX(100%); }
.step-item:hover .step-icon { transform: translateY(-8px) scale(1.05); box-shadow: 0 10px 30px rgba(13,79,139,0.4); }
.step-icon i, .step-icon svg, .step-icon .icon { font-size: 2.2rem; width: 2.2rem; height: 2.2rem; color: #ffffff; fill: #ffffff; z-index: 1; position: relative; }
.step-title { font-size: 1.1rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.75rem; }
.step-description { font-size: 0.9rem; color: var(--text-light); line-height: 1.5; }
.step-connector { flex: 0 0 50px; height: 3px; background: linear-gradient(90deg, var(--primary-color), var(--secondary-color)); align-self: center; margin-top: 45px; position: relative; display: flex; align-items: center; }
.apply-cta-wrapper { text-align: center; margin-top: 2.5rem; }
@media (max-width: 992px) {
    .how-to-apply-section { padding: 0 0 1rem 0; }
    .apply-title { font-size: 1.6rem; }
    .section-header-apply { margin-bottom: 1.5rem; }
    .steps-container { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; max-width: 100%; }
    .step-item { flex: 0 0 100%; margin-bottom: 0; padding: 0.5rem; }
    .step-connector { display: none; }
    .step-icon { width: 70px; height: 70px; }
    .step-icon i, .step-icon svg, .step-icon .icon { font-size: 1.6rem; width: 1.6rem; height: 1.6rem; }
    .step-number { width: 28px; height: 28px; line-height: 28px; font-size: 0.9rem; }
    .step-title { font-size: 1rem; }
    .step-description { font-size: 0.8rem; }
    .apply-cta-wrapper { margin-top: 1.5rem; }
}
@media (max-width: 576px) {
    .how-to-apply-section { padding: 0 0 0.75rem 0; margin-top: 0; }
    .section-header-apply { margin-bottom: 1rem; }
    .apply-title { font-size: 1.3rem; }
    .apply-subtitle { font-size: 0.85rem; }
    .steps-container { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; max-width: 100%; }
    .step-item { flex: 0 0 100%; padding: 0.5rem; margin-bottom: 0; }
    .step-icon { width: 60px; height: 60px; }
    .step-icon i, .step-icon svg, .step-icon .icon { font-size: 1.4rem; width: 1.4rem; height: 1.4rem; }
    .step-title { font-size: 0.9rem; margin-bottom: 0.3rem; }
    .step-description { font-size: 0.7rem; line-height: 1.3; }
    .step-number { width: 24px; height: 24px; line-height: 24px; font-size: 0.8rem; top: -10px; right: 10px; }
    .step-icon-wrapper { margin-bottom: 0.5rem; }
}

/* Animations used */
@keyframes slideInUp {
    from { opacity: 0; transform: translateY(50px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-50px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
    from { opacity: 0; transform: translateX(50px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Country List page (breadcrumb and cards) */
.breadcrumb-wrapper {
    margin-top: 76px;
    background: var(--terms-bg-white);
    border-bottom: 1px solid var(--terms-border-light);
}
.breadcrumb-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    font-size: var(--terms-font-small);
    color: var(--terms-text-muted);
    margin-bottom: 0;
}
.breadcrumb-nav a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--terms-text-color);
    text-decoration: none;
    font-weight: 500;
}
.breadcrumb-nav a:hover {
    color: var(--terms-primary);
    text-decoration: none;
}
.breadcrumb-nav .breadcrumb-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
    flex-shrink: 0;
}
.breadcrumb-nav .breadcrumb-separator {
    color: var(--terms-text-muted);
    margin: 0 4px;
    font-weight: 400;
}
.breadcrumb-nav .breadcrumb-current {
    color: var(--terms-text-muted);
    font-weight: 400;
}
.status-check-title {
    text-align: center;
    margin: 20px 0 15px;
    padding: 0;
    color: var(--terms-primary);
}
.status-check-title h1 {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 10px;
}
.status-check-title p {
    color: var(--terms-text-muted);
    font-size: 0.9rem;
    margin-bottom: 0;
}
.status-info-card {
    border: 1px solid var(--terms-border-light);
    border-radius: 10px;
    padding: 20px;
    background: var(--terms-bg-light);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.status-info-card h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--terms-primary);
    margin-bottom: 12px;
}
.status-info-card ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}
.status-info-card li {
    margin-bottom: 12px;
    color: var(--terms-text-light);
}
.status-info-card li:last-child {
    margin-bottom: 0;
}
.status-info-card table tbody td a {
    color: var(--terms-primary);
    text-decoration: none;
    font-weight: 600;
}
.status-info-card table tbody td a:hover {
    color: var(--terms-primary-hover);
    text-decoration: underline;
}

.footer-main {
    background: #2c2c2c;
    color: #e0e0e0;
    padding: 40px 0 30px;
    margin-top: 0;
}
.footer-content-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}
.footer-links-section { flex: 1; }
.footer-links-row {
    text-align: left;
    margin-bottom: 12px;
}
.footer-links-row:last-of-type { margin-bottom: 0; }
.footer-links-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    line-height: 1.8;
}
.footer-links-list li {
    display: inline;
    margin: 0;
    padding: 0;
}
.footer-links-list a {
    color: #e0e0e0;
    text-decoration: none;
    font-size: 15px;
    font-weight: 400;
    padding: 0 4px;
}
.footer-links-list a:hover,
.footer-links-list a:focus {
    color: #ffffff;
    text-decoration: underline;
}
.footer-links-list .breadcrumb-separator {
    color: #b0b0b0;
    margin: 0 2px;
}
.footer-copyright {
    text-align: right;
    flex-shrink: 0;
    min-width: 280px;
}
.footer-copyright p {
    font-size: 14px;
    color: #d0d0d0;
    margin: 6px 0;
    line-height: 1.6;
    font-weight: 400;
}
@media (max-width: 992px) {
    .footer-content-wrapper { flex-direction: column; gap: 30px; }
    .footer-links-section { width: 100%; }
    .footer-links-row { text-align: center; }
    .footer-links-list { justify-content: center; font-size: 14px; }
    .footer-links-list a { font-size: 14px; padding: 0 3px; }
    .footer-copyright { text-align: center; min-width: auto; width: 100%; }
}
@media (max-width: 768px) {
    .footer-main { padding: 35px 0 25px; }
    .footer-content-wrapper { gap: 25px; }
    .footer-links-row { margin-bottom: 10px; }
    .footer-links-list { flex-wrap: wrap; justify-content: center; line-height: 2; }
    .footer-links-list li { margin: 0 2px; }
    .footer-links-list a { font-size: 13px; padding: 0 2px; }
    .footer-copyright { margin-top: 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.15); }
    .footer-copyright p { font-size: 13px; }
}
@media (max-width: 576px) {
    .footer-main { padding: 30px 0 20px; }
    .footer-content-wrapper { gap: 20px; }
    .footer-links-list { font-size: 12px; line-height: 2.2; }
    .footer-links-list a { font-size: 12px; padding: 0 1px; }
    .footer-copyright { padding-top: 18px; }
    .footer-copyright p { font-size: 12px; }
}

.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: var(--primary-color);
    color: var(--text-white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    box-shadow: var(--shadow-medium);
}
.scroll-to-top.show { opacity: 1; pointer-events: auto; }
.scroll-to-top:hover {
    background-color: var(--secondary-color);
    transform: translateY(-5px);
}

.footer-button-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--terms-spacing-lg);
    width: 100%;
}
.footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: var(--terms-spacing-md) var(--terms-spacing-xl);
    border-radius: 6px;
    font-size: var(--terms-font-base);
    font-weight: 600;
    text-decoration: none;
    color: var(--terms-bg-white);
    box-shadow: var(--shadow-light);
    transition: var(--terms-transition);
}
.footer-btn i { font-size: 16px; }
.footer-btn-home { background: var(--terms-primary); }
.footer-btn-home:hover, .footer-btn-home:focus {
    background: var(--terms-primary-hover);
    transform: var(--terms-hover-transform);
}
.footer-btn-apply { background: var(--terms-secondary); }
.footer-btn-apply:hover, .footer-btn-apply:focus {
    background: var(--terms-secondary-hover);
    transform: var(--terms-hover-transform);
}

/* =====================================================
   FOOTER INFO SECTION
   ===================================================== */
.footer-info-section {
    padding: 40px 0;
    background: var(--terms-bg-section);
}

.info-links {
    text-align: center;
}

.info-links-title {
    font-size: 20px;
    color: var(--terms-text-color);
    margin-bottom: var(--terms-spacing-xl);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-links-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px var(--terms-spacing-xl);
    padding: 0;
    margin: 0;
}

.info-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--terms-spacing-md) var(--terms-spacing-lg);
    border-radius: 8px;
    background: var(--terms-bg-white);
    color: var(--terms-primary);
    font-size: var(--terms-font-base);
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--shadow-light);
    transition: var(--terms-transition);
}

.info-link:hover,
.info-link:focus {
    transform: var(--terms-hover-transform);
    color: var(--terms-primary);
}

/* =====================================================
   FOOTER ACTIONS & BUTTONS
   ===================================================== */
.footer-actions-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: var(--terms-spacing-xl);
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
}

.footer-social-share {
    flex: 1 1 280px;
}

.footer-navigation-buttons {
    flex: 1 1 100%;
    width: 100%;
    display: flex;
}

.footer-button-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--terms-spacing-lg);
    width: 100%;
}

/* =====================================================
   FOOTER BUTTONS - Consolidated Styles
   ===================================================== */
.footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: var(--terms-spacing-md) var(--terms-spacing-xl);
    border-radius: 6px;
    font-size: var(--terms-font-base);
    font-weight: 600;
    text-decoration: none;
    color: var(--terms-bg-white);
    box-shadow: var(--shadow-light);
    transition: var(--terms-transition);
}

.footer-btn i {
    font-size: 16px;
}

.footer-btn-home {
    background: var(--terms-primary);
}

.footer-btn-home:hover,
.footer-btn-home:focus {
    background: var(--terms-primary-hover);
    transform: var(--terms-hover-transform);
    box-shadow: var(--shadow-medium);
}

.footer-btn-apply {
    background: var(--terms-secondary);
}

.footer-btn-apply:hover,
.footer-btn-apply:focus {
    background: var(--terms-secondary-hover);
    transform: var(--terms-hover-transform);
    box-shadow: var(--shadow-medium);
}


/* =====================================================
   TERMS PAGE LAYOUT
   ===================================================== */
.terms-page {
    padding: 100px 0 20px;
    background: var(--terms-bg-light);
    min-height: 100vh;
    margin-top: 0;
    scroll-margin-top: 80px;
}

.terms-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: var(--terms-bg-white);
    padding: 25px 35px;
    border: 1px solid var(--terms-border);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Responsive Container Max-Widths */
@media (min-width: 1400px) {
    .terms-container {
        max-width: 1320px;
        padding: 30px 50px;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .terms-container {
        max-width: 1140px;
        padding: 30px 40px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .terms-container {
        max-width: 960px;
        padding: 25px 35px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .terms-container {
        max-width: 720px;
        padding: 25px 30px;
    }
}

@media (max-width: 767px) {
    .terms-container {
        max-width: 100%;
        padding: 20px 25px;
    }
}

/* =====================================================
   TERMS HEADER & INTRO
   ===================================================== */
.terms-header {
    text-align: left;
    margin-bottom: 18px;
    padding-bottom: var(--terms-spacing-md);
    border-bottom: 2px solid var(--terms-text-color);
}

.terms-header h1 {
    font-size: var(--terms-font-xxl);
    font-weight: 700;
    color: var(--terms-text-color);
    margin-bottom: var(--terms-spacing-xs);
    line-height: 1.2;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.terms-header p {
    font-size: var(--terms-font-small);
    color: var(--terms-text-muted);
    margin: 0;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.terms-intro {
    background: var(--terms-bg-white);
    padding: 0;
    border-radius: 0;
    border-left: none;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--terms-border-light);
    padding-bottom: var(--terms-spacing-md);
}

.terms-intro p {
    font-size: var(--terms-font-base);
    line-height: var(--terms-line-height);
    color: var(--terms-text-color);
    margin: 0;
    text-align: left;
}

/* =====================================================
   ACCORDION HEADER TWEAKS
   ===================================================== */
.accordion-header {
    font-size: 14px;
    line-height: 1.2;
    min-height: 36px;
}

.accordion-header .accordion-button {
    font-size: inherit;
    padding: 6px 12px;
}

.accordion-title {
    font-size: 14px;
    line-height: 1.3;
}

.accordion-button.collapsed {
    min-height: 36px;
    padding: 6px 12px;
}

.accordion-body.seo-content-block {
    padding-top: 0;
}

/* =====================================================
   TERMS CONTENT - Common Text Styles
   ===================================================== */
.terms-content {
    line-height: var(--terms-line-height);
    color: var(--terms-text-color);
    font-size: var(--terms-font-base);
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.terms-content h2 {
    font-size: var(--terms-font-xl);
    font-weight: 700;
    color: var(--terms-text-color);
    margin-top: var(--terms-spacing-lg);
    margin-bottom: var(--terms-spacing-sm);
    padding-bottom: 2px;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.terms-content h2:first-of-type,
.terms-content .terms-section:first-of-type h2 {
    margin-top: 0;
}

.terms-content h3 {
    font-size: var(--terms-font-large);
    font-weight: 600;
    color: var(--terms-text-color);
    margin-top: var(--terms-spacing-md);
    margin-bottom: 6px;
}

.terms-content h4 {
    font-size: var(--terms-font-base);
    font-weight: 600;
    color: var(--terms-text-color);
    margin-top: var(--terms-spacing-sm);
    margin-bottom: 4px;
}

.terms-content p,
.terms-content li {
    font-size: var(--terms-font-base);
    line-height: var(--terms-line-height);
    margin-bottom: var(--terms-spacing-sm);
    color: var(--terms-text-color);
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.terms-content ul,
.terms-content ol {
    margin: 6px 0;
    padding-left: 22px;
}

.terms-content strong,
.terms-content .col-md-12 strong,
.terms-content .col-md-7 strong,
.terms-content .col-md-8 strong,
.terms-content .col-md-5 strong,
.terms-content .col-md-4 strong {
    color: var(--terms-text-color);
    font-weight: 700;
}

/* =====================================================
   TERMS HIGHLIGHT & NOTE BOXES - Consolidated
   ===================================================== */
.terms-highlight,
.terms-note {
    background: var(--terms-bg-white);
    padding: 6px 0;
    border-radius: 0;
    margin: 6px 0;
    padding-left: 10px;
}

.terms-highlight {
    border-left: 2px solid var(--terms-text-color);
}

.terms-note {
    border: none;
    border-left: 1px solid var(--terms-border-gray);
}

.terms-highlight p,
.terms-note p {
    margin: 0;
    font-size: var(--terms-font-base);
    line-height: var(--terms-line-height);
}

.terms-highlight p {
    font-weight: 600;
}

.terms-note p {
    font-style: normal;
    color: var(--terms-text-light);
    line-height: 1.5;
}

	 .dashboxs {
  border: 1px dashed #7c7c7d;
  padding: 20px;
  border-radius: 10px;
  background-color: #f9faff;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.title {
    font-size: var(--terms-font-xl);
    font-weight: 700;
    color: var(--terms-text-color);
    margin-top: var(--terms-spacing-lg);
    margin-bottom: var(--terms-spacing-sm);
    padding-bottom: 2px;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.subtitle {
	 font-size:1rem !important;
	    font-weight: 700;

}

/* =====================================================
   DASHBOX STYLES
   ===================================================== */
.dashbox {
  border: 1px dashed #7c7c7d;
  border-left: 1px dashed #7c7c7d !important;
  padding: 20px;
  border-radius: 10px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  position: relative;
  box-sizing: border-box;
}

/* Ensure left border is visible in Bootstrap columns */
.row .dashbox,
.col-md-6 .dashbox,
.col-lg-6 .dashbox,
[class*="col-"] .dashbox {
  border-left: 1px dashed #7c7c7d !important;
  position: relative;
}

/* Add pseudo-element to ensure left border visibility */
.row .dashbox::after,
.col-md-6 .dashbox::after,
.col-lg-6 .dashbox::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: repeating-linear-gradient(
    to bottom,
    #7c7c7d 0px,
    #7c7c7d 4px,
    transparent 4px,
    transparent 8px
  );
  pointer-events: none;
  z-index: 10;
}

/* For dashbox with custom blue border color */

/* Blue border pseudo-element */
.col-md-6.dashbox[style*="#0d4f8b"]::after {
  background: repeating-linear-gradient(
    to bottom,
    #0d4f8b 0px,
    #0d4f8b 4px,
    transparent 4px,
    transparent 8px
  );
}

/* Ensure parent containers don't clip the border */
.terms-section .row,
.terms-content .row,
.row.g-4 {
  overflow: visible !important;
}

/* Dashbox Variants */
.dashbox-blue {
  border: 1px dashed #0d4f8b;
  border-left: 1px dashed #0d4f8b !important;
  padding: 20px;
  border-radius: 10px;
  background-color: #f0f7ff;
}

/* Common styles for dashbox, contentbox, visa-requirements-card */
.dashbox,
.visa-requirements-card {
  font-size: var(--terms-font-base);
  line-height: var(--terms-line-height);
  color: var(--terms-text-color);
  overflow-wrap: break-word;
  word-wrap: break-word;
  box-sizing: border-box;
}

.dashbox p,
.visa-requirements-card p {
  font-size: var(--terms-font-base);
  line-height: var(--terms-line-height);
  margin-bottom: var(--terms-spacing-sm);
  color: var(--terms-text-color);
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.dashbox strong,
.visa-requirements-card strong {
  font-weight: 700;
  color: var(--terms-text-color);
}

/* =====================================================
   VISA REQUIREMENTS CARD
   ===================================================== */
.visa-requirements-card {
  background: #ffffff;
  border: 1px solid var(--terms-border-light);
  border-radius: 16px;
  padding: 26px 28px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  gap: var(--terms-spacing-sm);
}

.visa-requirements-card h2 {
  margin-top: 0;
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--terms-text-color);
}

.visa-requirements-card h3 {
  font-size: var(--terms-font-large);
  font-weight: 600;
  margin-top: var(--terms-spacing-md);
  margin-bottom: var(--terms-spacing-sm);
  color: var(--terms-text-color);
}

.visa-requirements-card ul {
  margin-left: 18px;
}

.visa-requirements-card ul li {
  margin-bottom: 6px;
}

.visa-requirements-card p:last-of-type {
  margin-bottom: 0;
}

/* Match h3 in entry-points section to visa-requirements-card h2 styling */
#entry-points .col-md-6 h3:first-of-type,
.terms-section .col-md-6 h3:first-of-type,
.terms-section .dashbox h3:first-of-type,
.terms-section > .row > .col-md-6 > h3:first-of-type {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: var(--terms-spacing-md);
}

/* =====================================================
   STEP CONTAINER & CIRCLE STEPS
   ===================================================== */
.step-container {
  display: flex;
  width: 100%;
  overflow: hidden;
  background: 0 0;
  margin: 0;
  padding: 0;
}

.step,
.step.first,
.step.last {
  flex: 1 1 0;
  padding: 6px 10px;
  font: 600 12px sans-serif;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background: #555;
}

.step.active,
.step.first,
.step.last {
  background: #a0523c;
}

.step {
  clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%, 8% 50%);
}

.step.first {
  clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%);
}

.step.last {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8% 50%);
}

.circle-steps {
  list-style: none;
  counter-reset: step-counter;
  padding-left: 0;
}

.circle-steps li {
  counter-increment: step-counter;
  position: relative;
  margin-bottom: 15px;
  padding-left: 40px;
  font-size: 16px;
}

.circle-steps li::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0;
  height: 28px;
  width: 28px;
  background-color: #666;
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 14px;
}

/* =====================================================
   SHADOW BUTTONS
   ===================================================== */
.shadow-btn {
  display: inline-block;
  white-space: nowrap;
  padding: 4px 8px;
  max-width: 100%;
  border-radius: 6px;
  font-family: sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .08);
  transition: transform .2s ease;
  border: 2px solid;
}

.shadow-btn:focus,
.shadow-btn:hover {
  transform: translateY(-2px);
  outline: 0;
}

.shadow-btn-blue {
  background-color: #fff;
  color: #0b3d91;
  border-color: #0b3d91;
}

.shadow-btn-blue:focus,
.shadow-btn-blue:hover {
  background-color: #0b3d91;
  color: #fff;
}

.shadow-btn-green {
  background-color: #fff;
  color: #1b5e20;
  border-color: #1b5e20;
  white-space: nowrap;
}

.shadow-btn-green:focus,
.shadow-btn-green:hover {
  background-color: #1b5e20;
  color: #fff;
}

.shadow-btn-red {
  background-color: #fff;
  color: #b71c1c;
  border-color: #b71c1c;
}

.shadow-btn-red:focus,
.shadow-btn-red:hover {
  background-color: #b71c1c;
  color: #fff;
}

/* =====================================================
   LIST GROUP ITEMS
   ===================================================== */
.list-group-item {
  display: flex;
  align-items: flex-start;
  padding: var(--terms-spacing-sm) var(--terms-spacing-md);
  margin-bottom: var(--terms-spacing-xs);
  border: 1px solid var(--terms-border-light);
  border-radius: 4px;
  background-color: var(--terms-bg-white);
}

.list-group-item .icon-svg {
  margin-top: 2px;
  margin-right: 8px;
  flex-shrink: 0;
}

.list-group-item > span {
  display: flex;
  align-items: flex-start;
  flex: 1;
}

/* Simple List Group - No Borders */

.list-group-simple .list-group-item .icon-svg {
  margin-top: 2px;
}

/* =====================================================
   BACK TO TOP
   ===================================================== */
.back-to-top {
  text-align: center;
  margin-top: 25px;
  padding-top: 15px;
  border-top: 1px solid var(--terms-border-divider);
}

.back-to-top a {
  color: var(--terms-text-color);
  text-decoration: underline;
  font-weight: 400;
  font-size: var(--terms-font-small);
  transition: none;
}

.back-to-top a:hover {
  color: var(--terms-text-light);
  text-decoration: underline;
}

.back-to-top .icon {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-right: 5px;
}

/* =====================================================
   ICON STYLES
   ===================================================== */
.icon-svg {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  vertical-align: middle;
  fill: currentColor;
  flex-shrink: 0;
}

.icon-svg.faq-icon {
  width: 24px;
  height: 24px;
}

.icon-svg.bullet-icon {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

/* =====================================================
   RESPONSIVE DESIGN
   ===================================================== */
@media (max-width: 991px) {
  .terms-container {
    padding: 20px 25px;
  }
  
  .dashbox {
    padding: 15px;
  }
  
  .visa-requirements-card {
    padding: 20px;
  }
}

@media (max-width: 767px) {
  .dashbox {
    padding: 15px;
  }
  
  .visa-requirements-card {
    padding: 22px 20px;
  }
  
  .step-container {
    flex-direction: column;
  }
  
  .step {
    border-radius: 4px;
    margin-bottom: 4px;
  }
  
  .step.first,
  .step.last {
    clip-path: none;
    border-radius: 4px;
  }
}

@media print {
  .back-to-top {
    display: none;
  }
}

/* =====================================================
   REVIEW PAGE - Minimal styles using Bootstrap + vars
   ===================================================== */
.review-page {
  padding: 20px 0 40px;
  background: var(--bg-light, #f5f5f5);
}
.app-reference {
  background: var(--bg-white, #fff);
  padding: 20px;
  text-align: center;
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: var(--shadow-light, 0 2px 10px rgba(0,0,0,0.1));
  border: 2px solid var(--primary-color, #0d4f8b);
}
.app-reference h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--primary-color, #0d4f8b);
  margin: 0;
}
.review-section {
  background: var(--bg-white, #fff);
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: var(--shadow-light, 0 2px 10px rgba(0,0,0,0.1));
  overflow: hidden;
}
.review-header {
  background: var(--primary-color, #0d4f8b);
  color: var(--text-white, #fff);
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 600;
}
.review-body { padding: 20px; }
.review-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.review-summary-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.visa-type-label { font-size: 0.85rem; color: var(--text-muted, #616161); }
.visa-type-value { font-weight: 600; color: var(--text-dark, #212121); }
.email-row-inline { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 1rem; }
.email-row { display: flex; flex-direction: column; gap: 4px; }
.email-label { font-size: 0.85rem; color: var(--text-muted, #616161); }
.applicant-card {
  background: var(--bg-white, #fff);
  border: 1px solid var(--border-light, #e0e0e0);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-light, 0 2px 10px rgba(0,0,0,0.1));
}
.applicant-info {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
}
.info-column { flex: 1; min-width: 180px; }
.info-row { margin-bottom: 8px; }
.info-label { font-size: 0.85rem; color: var(--text-muted, #616161); display: block; }
.info-value { font-weight: 700; }
.visa-fee-box {
  background: var(--primary-color, #0d4f8b);
  color: var(--text-white, #fff);
  padding: 12px 16px;
  border-radius: 8px;
  text-align: center;
  flex-shrink: 0;
}
.visa-fee-label { font-size: 0.8rem; opacity: 0.9; }
.visa-fee-amount { font-size: 1.25rem; font-weight: 700; }
.action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-light, #e0e0e0);
}
.btn-view, .btn-edit {
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.btn-view { background: #0ea5e9; color: #fff !important; }
.btn-view:hover { background: #0284c7; color: #fff !important; }
.btn-view svg { flex-shrink: 0; }
.btn-edit { background: #f97316; color: #fff !important; }
.btn-edit:hover { background: #ea580c; color: #fff !important; }
.btn-edit svg { flex-shrink: 0; }
.btn-delete, .btn-danger { background: var(--secondary-color, #d32f2f) !important; color: #fff !important; border: none; border-radius: 6px; padding: 8px 16px; font-weight: 600; cursor: pointer; }
.btn-delete:hover, .btn-danger:hover { background: #b71c1c !important; color: #fff !important; }
.btn-add-person {
  display: inline-block;
  padding: 12px 24px;
  background: var(--primary-color, #0d4f8b);
  color: #fff !important;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  margin: 1rem 0;
  transition: transform 0.2s ease;
}
.btn-add-person:hover { background: var(--accent-color, #1565c0); color: #fff !important; }
.summary-section {
  background: var(--bg-white, #fff);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-light, 0 2px 10px rgba(0,0,0,0.1));
}
.summary-rows, .summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-light, #e0e0e0);
}
.summary-row:last-child { border-bottom: none; }
.summary-label { font-weight: 500; color: var(--text-dark, #212121); }
.summary-value, .count { font-weight: 600; color: var(--text-dark, #212121); }
.summary-row.total-row .summary-value { font-size: 1.25rem; color: var(--primary-color, #0d4f8b); }
.bottom-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 20px;
}
.btn-payment {
  padding: 12px 24px;
  background: var(--secondary-color, #d32f2f);
  color: #fff !important;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.btn-payment:hover { background: #b71c1c; color: #fff !important; }
@media (max-width: 768px) {
  .applicant-info { flex-direction: column; }
  .review-summary-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   FEE CALCULATOR PAGE (fees.php)
   ===================================================== */
.fee-calculator-page {
    padding: 100px 0 60px;
    background: var(--terms-bg-light);
    min-height: 100vh;
}

.fee-calculator-container {
    max-width: 900px;
    margin: 0 auto;
    background: var(--terms-bg-white);
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.fee-calculator-header {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--terms-primary);
}

.fee-calculator-header h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--terms-primary);
    margin-bottom: 10px;
}

.fee-calculator-header p {
    font-size: 16px;
    color: var(--terms-text-muted);
    margin: 0;
}

.country-select-wrapper {
    margin-bottom: 30px;
}

.country-select-wrapper label {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--terms-text-color);
    margin-bottom: 12px;
}

.country-select-wrapper select.native-country-select {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.custom-country-select {
    position: relative;
    font-size: 16px;
}

.custom-country-selected {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-radius: 6px;
    border: 2px solid var(--terms-border-light);
    background: var(--terms-bg-white);
    cursor: pointer;
    transition: all 0.2s ease;
}

.custom-country-selected:hover,
.custom-country-selected:focus-visible {
    border-color: var(--terms-primary);
    box-shadow: 0 0 0 3px rgba(13, 79, 139, 0.1);
    outline: none;
}

.custom-country-selected-main {
    display: flex;
    align-items: center;
    gap: 10px;
}

.custom-country-selected-flag {
    width: 24px;
    height: 18px;
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.custom-country-selected-name {
    font-size: 15px;
    color: var(--terms-text-color);
}

.custom-country-arrow {
    margin-left: 8px;
    font-size: 12px;
    color: #666;
}

.custom-country-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 20;
    max-height: 260px;
    overflow-y: auto;
    margin-top: 4px;
    padding: 6px 0;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--terms-border-light);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    list-style: none;
    display: none;
}

.custom-country-options.open {
    display: block;
}

.custom-country-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
}

.custom-country-option:hover {
    background-color: #f1f5f9;
}

.custom-country-option-flag {
    width: 22px;
    height: 16px;
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.custom-country-option-name {
    font-size: 14px;
    color: var(--terms-text-color);
}

.fee-result-card {
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
    border: 2px solid var(--terms-primary);
    border-radius: 8px;
    padding: 30px;
    margin-top: 30px;
    display: none;
    animation: fadeIn 0.5s ease;
}

.fee-result-card.show {
    display: block;
}

.fee-result-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--terms-primary);
}

.fee-result-header h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--terms-primary);
    margin: 0;
}

.selected-country-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.selected-country-header .country-flag {
    width: 32px;
    height: 24px;
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.fee-price {
    font-size: 36px;
    font-weight: 700;
    color: var(--terms-secondary);
    margin: 20px 0 10px;
    text-align: center;
}

.fee-note {
    display: block;
    text-align: center;
    color: rgb(145, 50, 7);
    font-size: 13px;
    font-style: italic;
    margin-bottom: 15px;
}

.fee-condition {
    background: var(--terms-bg-white);
    border-left: 4px solid var(--terms-accent-color);
    padding: 20px;
    border-radius: 6px;
    margin-top: 20px;
}

.fee-condition h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--terms-text-color);
    margin-bottom: 12px;
}

.fee-condition p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--terms-text-light);
    margin: 0;
    white-space: pre-line;
}

.fee-condition.no-condition {
    background: #f8f9fa;
    border-left-color: #6c757d;
}

.fee-condition.no-condition p {
    color: var(--terms-text-muted);
    font-style: italic;
}

.fee-calculator-page .info-box {
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 15px 20px;
    border-radius: 6px;
    margin-top: 30px;
}

.fee-calculator-page .info-box p {
    font-size: 14px;
    color: #856404;
    margin: 0;
    line-height: 1.6;
}

.action-buttons-wrapper {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid var(--terms-border-light);
    flex-wrap: wrap;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    min-width: 160px;
    justify-content: center;
}

.action-btn-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.action-btn-home {
    background: var(--terms-primary);
}

.action-btn-home:hover,
.action-btn-home:focus {
    background: var(--terms-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(13, 79, 139, 0.25);
    color: #ffffff;
    text-decoration: none;
}

.action-btn-apply {
    background: var(--terms-secondary);
}

.action-btn-apply:hover,
.action-btn-apply:focus {
    background: var(--terms-secondary-hover);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(211, 47, 47, 0.25);
    color: #ffffff;
    text-decoration: none;
}

.seo-content-wrapper {
    height: 100%;
}

.seo-content-wrapper .accordion {
    border: none;
}

.seo-content-wrapper .accordion-item {
    border: 1px solid var(--terms-border-light);
    border-radius: 8px;
    margin-bottom: 15px;
    overflow: hidden;
}

.seo-content-wrapper .accordion-button {
    background: var(--terms-primary);
    color: #ffffff;
    font-weight: 600;
    padding: 18px 20px;
    border: none;
    box-shadow: none;
}

.seo-content-wrapper .accordion-button.collapsed {
    padding: 10px 20px;
}

.seo-content-wrapper .accordion-button:not(.collapsed) {
    background: var(--terms-primary);
    color: #ffffff;
    box-shadow: none;
}

.seo-content-wrapper .accordion-button:focus {
    box-shadow: none;
    border-color: var(--terms-primary);
}

.seo-content-wrapper .accordion-button .accordion-title {
    font-size: 16px;
    margin: 0;
    color: inherit;
    font-weight: 600;
}

.seo-content-wrapper .accordion-body {
    padding: 0 25px 25px;
    background: var(--terms-bg-white);
}

.seo-content-wrapper .seo-content-block {
    background: var(--terms-bg-white);
}

.seo-content-wrapper .seo-content-block h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--terms-primary);
    margin-bottom: 20px;
    line-height: 1.3;
}

.seo-content-wrapper .seo-content-block h3 {
    font-size: 22px;
    font-weight: 600;
    color: var(--terms-text-color);
    margin-top: 30px;
    margin-bottom: 15px;
    line-height: 1.4;
}

.seo-content-wrapper .seo-content-block p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--terms-text-light);
    margin-bottom: 18px;
    text-align: justify;
}

.seo-content-wrapper .seo-content-block strong {
    color: var(--terms-text-color);
    font-weight: 600;
}

.faq-list {
    margin-top: 10px;
}

.faq-item {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--terms-border-light);
}

.faq-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.faq-question {
    font-size: 18px;
    font-weight: 600;
    color: var(--terms-primary);
    margin-bottom: 12px;
    line-height: 1.4;
}

.faq-answer {
    font-size: 15px;
    line-height: 1.7;
    color: var(--terms-text-light);
    margin: 0;
}

@media (max-width: 768px) {
    .fee-calculator-container {
        padding: 25px 20px;
        margin: 20px;
    }

    .fee-calculator-header h1 {
        font-size: 24px;
    }

    .fee-price {
        font-size: 28px;
    }

    .fee-result-card {
        padding: 20px;
    }

    .action-buttons-wrapper {
        flex-direction: column;
        gap: 15px;
    }

    .action-btn {
        width: 100%;
        min-width: auto;
    }

    .seo-content-section {
        padding: 40px 0;
    }

    .seo-content-container {
        padding: 0 15px;
    }

    .seo-content-block {
        padding: 25px 20px;
    }

    .seo-content-wrapper .seo-content-block h2 {
        font-size: 24px;
    }

    .seo-content-wrapper .seo-content-block h3 {
        font-size: 20px;
    }

    .seo-content-wrapper .seo-content-block p {
        font-size: 15px;
        text-align: left;
    }

    .seo-content-wrapper .accordion-button .accordion-title {
        font-size: 18px;
    }

    .faq-question {
        font-size: 16px;
    }

    .faq-answer {
        font-size: 14px;
    }
}