html {
  scroll-behavior: smooth;
}

:root {
	--primary-blue: #2196f3;
	--primary-orange: #f4511e;
	--light-blue: #e3f2fd;
	--border-color: #e0e0e0;
	--text-color: #333;
	--spacing-sm: 20px;
	--spacing-md: 20px;
	--spacing-lg: 20px;
	--spacing-xl: 0;
}

#visa_quanlity {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1.6;
	color: var(--text-color);
	padding: var(--spacing-sm);
}

@media (min-width: 768px) {
	#visa_quanlity {
		width: 100%;
		margin: 0;
		padding: var(--spacing-lg);
	}
}

@media (min-width: 1024px) {
	#visa_quanlity {
		max-width: 1200px;
 		margin: 0 auto;
	}
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
}

/* Purpose Section */
.purpose {
	background: white;
	border-radius: 8px;
	margin-bottom: var(--spacing-xl);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	padding: 20px;
/* 	margin-top: 200px; */
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	.purpose {
		margin-top: 20px;
		margin-bottom: 20px;
	}
}

.purpose h2 {
	font-size: clamp(1.125rem, 2vw, 1.25rem);
	margin-bottom: var(--spacing-md);
}

.purpose ul {
	list-style: none;
}

.purpose li {
	display: flex;
	margin-bottom: var(--spacing-sm);
	font-size: clamp(0.875rem, 1.5vw, 1rem);
}

.purpose li::before {
	content: "■";
	margin-right: var(--spacing-sm);
	flex-shrink: 0;
}

/* Industry Grid */
.industry-grid__1 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-sm);
	margin-bottom: var(--spacing-xl);
}

.industry-grid__2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-sm);
	margin-bottom: var(--spacing-xl);
	margin-left: calc(50% * 1/6);
	margin-right: calc(50% * 1/6);
}

#grid-pc {
	display: none;
}
#grid-responsive {
	display: block;
}


@media (min-width: 480px) {
	.industry-grid__1 {
		grid-template-columns: repeat(2, 1fr);
/* 		gap: var(--spacing-md); */
	}
}

@media (min-width: 768px) {
	.industry-grid__1 {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1024px) {
	#grid-pc {
		display: block;
	}
	#grid-responsive {
		display: none;
	}
	.industry-grid__1 {
		grid-template-columns: repeat(6, 1fr);
	}
	.industry-grid__2 {
		grid-template-columns: repeat(5, 1fr);
		margin-top: 20px;
	}
}

.industry-card {
/* 	background: var(--primary-orange); */
/* 	color: white; */
/* 	padding: var(--spacing-md); */
/* 	border-radius: 8px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center; */
	aspect-ratio: 1;
	transition: transform 0.2s ease;
}

.industry-card:hover {
	transform: translateY(-2px);
}


/* Comparison Table */
.table-container {
/* 	width: 100vw; */
	overflow-x: auto;
	margin: 20px 0;
	-webkit-overflow-scrolling: touch;
}

.comparison-table {
	width: 100%;
	min-width: 750px;
	border-collapse: collapse;
	background: white;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.comparison-table th {
	background: var(--primary-blue);
	color: white;
	padding: var(--spacing-md);
	text-align: center;
	border: 1px solid #1e88e5;
	font-size: clamp(0.875rem, 1.5vw, 1rem);
}

.comparison-table td {
	padding: var(--spacing-md);
	border: 1px solid var(--border-color);
	font-size: clamp(0.875rem, 1.5vw, 1rem);
	vertical-align: top;
}

.comparison-table tr td:first-child {
	background: var(--light-blue);
	font-weight: 500;
	white-space: nowrap;
}

@media (max-width: 480px) {
	.comparison-table td {
		padding: var(--spacing-sm);
	}
}

/* Loading Indicator for Table Scroll */
.table-container::-webkit-scrollbar {
	height: 6px;
}

.table-container::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

.table-container::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 3px;
}

.table-container::-webkit-scrollbar-thumb:hover {
	background: #555;
}

/* Responsive Typography */
@media (max-width: 480px) {
	:root {
		--spacing-sm: 20px;
		--spacing-md: 20px;
		--spacing-lg: 20px;
		--spacing-xl: 24px;
	}
}

/* Print Styles */
@media print {
	visa_quanlity {
		background: white;
		padding: 0;
	}

	.container {
		max-width: none;
	}

	.industry-card {
		break-inside: avoid;
	}

	.comparison-table {
		break-inside: auto;
	}
}

.wpcf7-list-item.last {
  margin-left: 50px;
}

.wpcf7-response-output {
  text-align: center;
}

.wpcf7 form.sent .wpcf7-response-output {
	border: none !important;
}

.wpcf7-response-output {
	border: none !important;
}

.fullname p {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn-submit p {
  display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
}

.mt-50px {
	margin-top: 50px;
}

.padding-top-16 {
	padding-top: 64px;
}

.opacity-100 {
	opacity: 1;
}

.slide-top-1 {
	-webkit-animation: slide-top 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-top 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
.slide-top-05 {
	-webkit-animation: slide-top .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-top .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-top-deep-1 {
	-webkit-animation: slide-top-deep .6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-top-deep .6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
.slide-top-deep05 {
	-webkit-animation: slide-top-deep .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-top-deep .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.opacity-0 {
	opacity: 0;
}

#problem1, #solution1 {
	opacity: 1;
}
#problem2 #solution2 {
	opacity: 1;
}
#problem3 #solution3 {
	opacity: 1;
}

@media (max-width: 640px) {
  .form-group p {
    width: 100%;
  }

  .form-group.label-fullname {
    margin-bottom: 10px;
  }
	
	.wpcf7-list-item.last {
  		margin-left: 15px;
	}
	
	.radio-custom {
		text-align: left;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.mobile:pb-8 {
		padding-bottom: 36px;
	}
	
	.mt-0 {
		margin-top: 0;
	}
	.pt-20 {
		padding-top: 20px !important;
	}
	
	#problem1, #solution1 {
		opacity: 0;
	}
	#problem2, #solution2 {
		opacity: 0;
	}
	#problem3, #solution3 {
		opacity: 0;
	}
}

.qa {    
	background: #ecfeff;
	padding: 100px 20px;
	
        }
.qa_content {
	max-width: 1200px;
     margin: 0 auto;
	background: white;
	padding: 50px;
	opacity: 0;
}

@media (max-width: 760px) {
	.qa {
		padding: 50px 20px;
	}
	.qa_content {
/*             width: 100vw; */
            padding: 0 20px;
        }
}

        .faq-header {
            margin-bottom: 30px;
			display: flex;
			align-items: flex-end;
			gap: 20px;
        }

        .faq-title {
            font-size: 2.5rem;
            font-weight: normal;
            margin-bottom: 5px;
        }

        .faq-subtitle {
            font-size: 1rem;
            color: #666;
        }

        .tab {
            padding: 10px 20px;
            background: #333;
            color: #fff;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .faq-item {
            border-bottom: 1px dotted #ccc;
            padding: 20px;
        }

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

        .question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-size: 1rem;
        }

        .question::before {
            content: 'Q';
            font-weight: bold;
            margin-right: 10px;
            color: #333;
        }

        .toggle-icon {
            font-size: 1.5rem;
            color: #666;
        }

        .answer {
            margin-top: 15px;
            padding-left: 25px;
            color: #666;
            display: none;
        }

        .faq-item.active .answer {
            display: block;
        }

        .faq-item.active .toggle-icon {
            transform: rotate(45deg);
        }

        @media (max-width: 768px) {
            .tab-container {
                flex-wrap: wrap;
            }

            .tab {
                flex: 1 1 calc(50% - 2px);
                font-size: 0.9rem;
                padding: 8px 12px;
            }
 }


/**
 * ----------------------------------------
 * animation slide-top
 * ----------------------------------------
 */
@-webkit-keyframes slide-top {
  0% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
	  opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
	  opacity: 1;
  }
}
@keyframes slide-top {
  0% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
	  opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
	  opacity: 1;
  }
}

@-webkit-keyframes slide-top-deep {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
	  opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
	  opacity: 1;
  }
}
@keyframes slide-top-deep {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
	  opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
	  opacity: 1;
  }
}
