/**
 * 虎航活動落地頁
 */

/**
 * 主題容器（如 Astra `.ast-container` 在 ≥922px 設 max-width:1240px）會壓窄全寬橫幅。
 * 僅在 body.tigerair-campaign-page（外掛 body_class）下覆寫，提高選擇器權重；必要處使用 !important 晚於主題載入（見 bootstrap enqueue 優先級）。
 */
body.tigerair-campaign-page .ast-container,
body.tigerair-campaign-page .site-content > .ast-container,
body.tigerair-campaign-page #content > .ast-container {
	max-width: none !important;
	width: 100%;
}

@media (min-width: 922px) {
	body.tigerair-campaign-page .ast-separate-container .ast-article-inner,
	body.tigerair-campaign-page .ast-separate-container .ast-article-single {
		max-width: none !important;
	}
}

/* 小螢幕主題亦可能設 max-width，一併放寬（不影響區塊內 .tigerair-dest-inner 等自有 max-width） */
body.tigerair-campaign-page #primary,
body.tigerair-campaign-page .site-main#primary {
	max-width: none !important;
	width: 100%;
}

.tigerair-campaign-page .site-main,
.tigerair-campaign-page main {
	overflow-x: clip;
}

/* Hero：背景為 `<picture>` 寬螢幕／窄螢幕兩種構圖，見後台「頂部橫幅」 */
.tigerair-hero {
	position: relative;
	z-index: 5;
	min-height: 600px;
	background-color: #e8f2fc;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.tigerair-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.tigerair-hero-bg picture,
.tigerair-hero-bg img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center top;
}

.tigerair-hero-inner {
	position: relative;
	z-index: 2;
	padding: 32px 48px 32px 180px;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* 1920px 時 48px，窄螢幕由 (320,28)～(1920,48) 線性遞減 */
.tigerair-hero-title {
	margin: 0 0 16px;
	font-size: clamp(28px, calc(1.25vw + 24px), 48px);
	font-weight: 700;
	line-height: 1.2;
	color: #0f172a;
	text-align: left;
}

.tigerair-hero-title .line1 {
	display: block;
}

.tigerair-hero-title .accent {
	color: #01488c;
}

/* 1920px 時 20px／600；窄螢幕由 (320,16)～(1920,20) 遞減 */
.tigerair-hero-desc {
	margin: 0 0 28px;
	font-size: clamp(16px, calc(0.25vw + 15.2px), 20px);
	font-weight: 600;
	color: rgba(15, 23, 42, 0.9);
	max-width: 720px;
	line-height: 1.45;
	text-align: left;
}

/* Hero 內距響應式（與上下置中搭配，左右／上下留白對稱） */
@media (max-width: 1199px) {
	.tigerair-hero-inner {
		padding: 28px 32px 28px 100px;
	}
}

@media (max-width: 991px) {
	.tigerair-hero-inner {
		padding: 24px 28px 24px 40px;
	}

	.tigerair-hero {
		min-height: 480px;
	}
}

@media (max-width: 767px) {
	.tigerair-hero {
		min-height: 480px;
	}

	.tigerair-hero-inner {
		padding: 24px 28px 24px 40px;
		width: 100%;
		box-sizing: border-box;
	}
}

@media (max-width: 480px) {
	.tigerair-hero-inner {
		padding: 10px 16px 18px;
	}
}

/* 合作夥伴橫條 */
.tigerair-partner-strip {
	position: relative;
	z-index: 1;
	background: #01488c;
	color: #fff;
	padding: 14px 24px;
}

.tigerair-partner-inner {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 16px;
	text-align: center;
}

/* 單一橫幅 Logo（建議 238×40，行動端等比例縮放） */
.tigerair-partner-logo-bar-wrap {
	flex: 0 1 238px;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: min(238px, calc(100% - 8px));
	min-width: 0;
}

.tigerair-partner-logo-bar {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 238 / 40;
	object-fit: contain;
	object-position: center;
}

@media (max-width: 480px) {
	.tigerair-partner-strip {
		padding-left: 16px;
		padding-right: 16px;
	}

	.tigerair-partner-logo-bar-wrap {
		flex-basis: auto;
		max-width: min(238px, calc(100vw - 32px));
	}
}

.tigerair-partner-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
	margin: 0;
	width: auto;
	max-width: 100%;
	justify-content: center;
}

.tigerair-partner-badge {
	background: #ffb200;
	color: #01488c;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	line-height: 1.2;
}

/* 「合作夥伴」徽章與標語之間的裝飾圖示（後台上傳） */
.tigerair-partner-strip-icon-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.tigerair-partner-strip-icon {
	display: block;
	height: auto;
	width: auto;
	max-height: 36px;
	max-width: min(56px, 14vw);
	object-fit: contain;
	object-position: center;
}

@media (max-width: 480px) {
	.tigerair-partner-strip-icon {
		max-height: 28px;
		max-width: min(48px, 18vw);
	}
}

/* 熱門目的地 */
.tigerair-dest-section {
	padding: 56px 24px 24px;
}

.tigerair-dest-inner {
	max-width: 1320px;
	margin: 0 auto;
	text-align: center;
}

.tigerair-dest-title {
	margin: 0 0 12px;
	font-size: 36px;
	font-weight: 700;
	color: #101828;
}

/**
 * 熱門目的地區塊內的「頁內搜尋」：對齊 /destination/ 頁面風格。
 * 圓角白底輸入框 + 右側方形藍色按鈕，獨立 class，不依賴主題 banner-search 樣式。
 */
.tigerair-dest-inner .tigerair-dest-search-bar {
	width: 939px;
	max-width: 100%;
	height: 72px;
	margin: 0 auto 28px;
	box-sizing: border-box;
}

.tigerair-dest-inner .tigerair-dest-search-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.tigerair-dest-inner .tigerair-dest-search-input {
	width: 100%;
	height: 100%;
	border: 1px solid #d1d5db;
	border-radius: 20px;
	outline: 0;
	padding: 0 92px 0 24px;
	font-size: 18px;
	color: #0d1b2a;
	background: #ffffff;
	box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.tigerair-dest-inner .tigerair-dest-search-input::placeholder {
	color: #9aa4b2;
}

.tigerair-dest-inner .tigerair-dest-search-input:focus {
	border-color: #01488c;
	box-shadow: 0 0 0 3px rgba(1, 72, 140, 0.15);
}

.tigerair-dest-inner .tigerair-dest-search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.tigerair-dest-inner .tigerair-dest-search-button {
	width: 72px;
	height: 54px;
	border: 0;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	background: #01488c;
	color: #ffffff;
	cursor: pointer;
	transition: background-color 0.15s ease;
	padding: 0;
}

.tigerair-dest-inner .tigerair-dest-search-button:hover,
.tigerair-dest-inner .tigerair-dest-search-button:focus-visible {
	background: #013a73;
	outline: 0;
}

.tigerair-dest-inner .tigerair-dest-search-button svg {
	width: 22px;
	height: 22px;
	display: block;
}

@media (max-width: 768px) {
	.tigerair-dest-inner .tigerair-dest-search-bar {
		height: 64px;
		margin-bottom: 20px;
	}

	.tigerair-dest-inner .tigerair-dest-search-input {
		border-radius: 16px;
		padding: 0 76px 0 18px;
		font-size: 16px;
	}

	.tigerair-dest-inner .tigerair-dest-search-button {
		width: 56px;
		height: 48px;
		border-radius: 12px;
		right: 6px;
	}
}

@media (max-width: 480px) {
	.tigerair-dest-inner .tigerair-dest-search-bar {
		height: 56px;
	}

	.tigerair-dest-inner .tigerair-dest-search-input {
		padding: 0 64px 0 14px;
	}

	.tigerair-dest-inner .tigerair-dest-search-button {
		width: 48px;
		height: 42px;
		border-radius: 10px;
	}
}

.tigerair-dest-subtitle {
	margin: 0 0 20px;
	font-size: 20px;
	color: #4a5565;
}

/* 熱門目的地標題下方為「頁內搜尋」（已移除 eSIM / 實體 SIM Tab） */

.tigerair-dest-grid-wrap {
	max-width: 1320px;
	margin: 36px auto 0;
	padding: 0 0 8px;
}

.tigerair-dest-grid-inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
}

.tigerair-dest-grid-inner .dest-card {
	min-width: 0;
}

.tigerair-dest-grid-inner .dest-card-img {
	aspect-ratio: 240 / 255;
	background-size: 100% 100%;
}

/* 熱門目的地：標題保持可見、價格隱藏（與 /destination/ 一致的視覺） */
.tigerair-dest-grid-inner .dest-card-info,
.tigerair-dest-grid-inner .dest-card-name {
	opacity: 1 !important;
	visibility: visible !important;
}

.tigerair-dest-grid-inner .dest-card-name {
	font-size: 18px;
}

.tigerair-dest-grid-inner .dest-card-price {
	display: none !important;
}

.tigerair-dest-grid-inner .wc-favorite-wrapper-image {
	display: none !important;
}

.tigerair-dest-more {
	text-align: center;
	margin-top: 28px;
}

.tigerair-dest-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 16px;
	margin: 0;
	background: none;
	border: none;
	color: #01488c;
	font-size: 20px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.3;
}

.tigerair-dest-load-more:hover {
	text-decoration: underline;
	color: #013a73;
}

.tigerair-dest-load-more-chevron {
	display: flex;
	align-items: center;
	line-height: 0;
}

.tigerair-dest-load-more-chevron svg {
	display: block;
}

/* 教學區：自訂標題 + 共用步驟（PC 對齊 1320；小螢幕用 max-width + 左右內距避免橫向捲動） */
.tigerair-learn-section {
	background: #f2f8ff;
	max-width: 1320px;
	width: 100%;
	margin: 20px auto 127px;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

.tigerair-learn-inner {
	max-width: 1320px;
	margin: 0 auto;
}

.tigerair-learn-head {
	display: flex;
	align-items: center;
	gap: 24px 40px;
	margin-bottom: 20px;
	flex-wrap: wrap;
	margin-left: 0;
}

@media (min-width: 1200px) {
	.tigerair-learn-head {
		margin-left: 82px;
	}
}

.tigerair-mascot-learn {
	width: min(350px, 42vw);
	height: auto;
	object-fit: contain;
	flex-shrink: 0;
}

.tigerair-learn-head-text {
	text-align: left;
    max-width: 474px;
    padding-bottom: 0;
}

.tigerair-learn-main-title {
	margin: 0 0 12px;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 900;
	line-height: 1.2;
	color: #101828;
}

.tigerair-learn-main-title .hl {
	color: #ff9f01;
}

.tigerair-learn-intro {
	margin: 0;
	font-size: 20px;
	line-height: 1.45;
	color: #6b7280;
}

/* 教學區：iOS / Android 安裝教學按鈕（標題與 Tab 之間） */
.tigerair-esim-guide-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 16px;
	margin: 0 auto 24px;
	max-width: 1320px;
	padding: 0 4px;
	box-sizing: border-box;
}

.tigerair-esim-guide-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 10px 20px;
	border: none;
	border-radius: 12px;
	background: #01488c;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.15s ease, opacity 0.15s ease;
	box-sizing: border-box;
}

.tigerair-esim-guide-btn:hover,
.tigerair-esim-guide-btn:focus-visible {
	background: #013a73;
}

.tigerair-esim-guide-btn:focus-visible {
	outline: 2px solid #01488c;
	outline-offset: 2px;
}

.tigerair-esim-guide-btn__icon {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex-shrink: 0;
}

.tigerair-esim-guide-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.tigerair-esim-guide-modal[hidden] {
	display: none !important;
}

.tigerair-esim-guide-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
}

.tigerair-esim-guide-modal__dialog {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	max-width: min(100%, 520px);
	max-height: min(92vh, 900px);
	width: 100%;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.tigerair-esim-guide-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #e5e7eb;
	flex-shrink: 0;
}

.tigerair-esim-guide-modal__title {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	color: #101828;
}

.tigerair-esim-guide-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	border-radius: 10px;
	background: transparent;
	color: #64748b;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.tigerair-esim-guide-modal__close:hover,
.tigerair-esim-guide-modal__close:focus-visible {
	background: #f1f5f9;
	color: #0f172a;
}

.tigerair-esim-guide-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	background: #f8fafc;
}

.tigerair-esim-guide-modal__img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.tigerair-esim-guide-actions {
		margin-bottom: 16px;
		gap: 10px;
	}

	.tigerair-esim-guide-btn {
		flex: 1 1 calc(50% - 8px);
		min-width: 140px;
		font-size: 15px;
		padding: 10px 14px;
	}

	.tigerair-esim-guide-modal {
		padding: 12px;
		align-items: flex-end;
	}

	.tigerair-esim-guide-modal__dialog {
		max-width: 100%;
		max-height: min(88vh, 900px);
		border-radius: 16px 16px 0 0;
	}
}

/* 隱藏模板內建標題（改用上方的活動文案） */
.tigerair-learn-section .esim-intro-setup-section {
	padding-top: 0;
	background: transparent;
}

.tigerair-learn-section .esim-intro-setup-section .esim-intro-container {
	max-width: 1320px;
}

.tigerair-learn-section .esim-setup-header {
	display: none;
}

/* 教學區：三個 Tab（QR／手動／快速） */
.tigerair-learn-section .esim-setup-switch-wrap {
	width: 100%;
	justify-content: center;
}

.tigerair-learn-section .esim-setup-tabs {
	width: auto;
	max-width: min(100%, 520px);
	padding: 8px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

.tigerair-learn-section .esim-setup-slider {
	top: 8px;
	bottom: 8px;
	left: 8px;
	/* padding 8px×2、gap 6px×2 */
	width: calc((100% - 28px) / 3);
}

.tigerair-learn-section .esim-setup-tabs[data-active="1"] .esim-setup-slider {
	left: calc(14px + (100% - 28px) / 3);
}

.tigerair-learn-section .esim-setup-tabs[data-active="2"] .esim-setup-slider {
	left: calc(20px + 2 * (100% - 28px) / 3);
}

.tigerair-learn-section .esim-setup-tab {
	padding: 15px 48px;
	font-size: 15px;
	border-radius: 22px;
	flex: 1 1 0;
	min-width: 0;
}

/* 步驟 1–3 單行三欄（勿 min-height:0，避免與子層 flex 裁切衝突） */
.tigerair-learn-section .esim-setup-steps-container {
	min-height: auto;
}

.tigerair-learn-section .esim-setup-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px 20px;
	flex-wrap: nowrap;
	justify-content: stretch;
	align-items: stretch;
}

.tigerair-learn-section .esim-setup-card {
	width: 100%;
	max-width: none;
	min-width: 0;
	padding: 24px 16px 0;
	box-sizing: border-box;
	overflow: visible;
}

.tigerair-learn-section .setup-card-number {
	width: 48px;
	height: 48px;
	font-size: 20px;
	line-height: 48px;
	margin-bottom: 16px;
}

.tigerair-learn-section .setup-card-title {
	font-size: 18px;
	margin-bottom: 10px;
}

.tigerair-learn-section .setup-card-desc {
	font-size: 14px;
	margin-bottom: 16px;
	line-height: 1.55;
}

.tigerair-learn-section .setup-card-visual {
	height: auto;
	min-height: 340px;
	padding-bottom: 20px;
	overflow: visible;
	flex-shrink: 0;
	align-items: center;
}

.tigerair-learn-section .setup-card-visual img {
	max-height: none;
}

.tigerair-learn-section .visual-step-one {
	padding: 16px;
}

@media (max-width: 1024px) {
	.tigerair-learn-section .esim-setup-grid {
		grid-template-columns: 1fr;
	}

	.tigerair-learn-section {
		margin-bottom: 88px;
	}

	.tigerair-learn-section .setup-card-visual {
		min-height: 280px;
	}
}

@media (max-width: 767px) {
	.tigerair-learn-section {
		margin-top: 12px;
		margin-bottom: 56px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.tigerair-mascot-learn {
		width: min(240px, 70vw);
	}

	.tigerair-learn-intro {
		font-size: clamp(16px, 4.2vw, 20px);
	}

	.tigerair-learn-section .esim-setup-tab {
		padding: 12px 18px;
		font-size: 14px;
	}

	.tigerair-learn-section .setup-card-visual {
		min-height: 220px;
	}

	.tigerair-learn-head {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.tigerair-learn-head-text {
		text-align: center;
		max-width: none;
	}
}

@media (max-width: 480px) {
	.tigerair-learn-section .esim-setup-tab {
		padding: 10px 12px;
		font-size: 13px;
	}

	.tigerair-learn-section .setup-card-visual {
		min-height: 200px;
	}
}

/* 底部 CTA */
.tigerair-cta {
	position: relative;
	background: #01488c;
	color: #fff;
	padding: 96px 24px 72px;
	overflow: visible;
}

.tigerair-cta-inner {
	position: relative;
	z-index: 2;
	max-width: 1320px;
	margin: 0 auto;
	padding-right: min(42%, 520px);
	box-sizing: border-box;
}

.tigerair-cta-line1 {
	margin: 0 0 8px;
	font-size: clamp(36px, 4vw, 60px);
	font-weight: 700;
	line-height: 1.15;
}

.tigerair-cta-line2 {
	margin: 0 0 16px;
	font-size: clamp(36px, 4vw, 60px);
	font-weight: 700;
	line-height: 1.15;
}

.tigerair-cta-line2 .orange {
	color: #ffb200;
}

.tigerair-cta-desc {
	margin: 0;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.92);
	max-width: 720px;
}

.tigerair-mascot-cta {
	position: absolute;
	right: max(24px, calc(50% - 660px));
	bottom: 0;
	width: min(480px, 46vw);
	height: auto;
	max-height: 120%;
	object-fit: contain;
	object-position: bottom right;
	pointer-events: none;
	z-index: 1;
}

@media (max-width: 1199px) {
	.tigerair-dest-grid-inner {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 991px) {
	.tigerair-dest-grid-inner {
		grid-template-columns: repeat(3, 1fr);
	}

	.tigerair-cta-inner {
		padding-right: 0;
		padding-bottom: 200px;
	}

	.tigerair-mascot-cta {
		right: 50%;
		transform: translateX(50%);
		width: min(360px, 70vw);
		bottom: -20px;
	}
}

/* 熱門目的地：手機兩欄 + 左右留白（對齊首頁 .home-dest-grid；須寫在 ≤991px 之後才不會被三欄覆寫） */
@media (max-width: 768px) {
	.tigerair-dest-section {
		padding-top: 40px;
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 20px;
	}

	.tigerair-dest-grid-wrap {
		margin-top: 28px;
		padding-left: 0;
		padding-right: 0;
		margin: auto 20px;
	}

	.tigerair-dest-grid-inner {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
}

@media (max-width: 480px) {
	.tigerair-dest-section {
		padding-left: 12px;
		padding-right: 12px;
	}

	.tigerair-dest-grid-inner {
		gap: 12px;
	}
}

/* ==========================================================================
 * 「如何設定 eSIM」三步驟區塊
 * 內聯自主題 assets/css/esim-intro-setup-steps.css，
 * 確保不依賴 vapesmall 主題也能完整渲染。
 * ========================================================================== */

.esim-intro-container {
	max-width: 1320px;
	margin: 0 auto;
}

.esim-intro-setup-section {
	padding: 0 20px 80px 20px;
	background-color: #ffffff;
}

.esim-setup-header {
	text-align: center;
	margin-bottom: 40px;
}

.esim-setup-main-title {
	font-size: 36px;
	font-weight: 800;
	color: #1a1a2e;
	margin: 0 0 12px 0;
}

.esim-setup-subtitle {
	font-size: 24px;
	color: #666;
	margin: 0;
}

.esim-setup-switch-wrap {
	display: flex;
	justify-content: center;
}

.esim-setup-tabs {
	display: inline-flex;
	position: relative;
	background: #f9fafb;
	border-radius: 50px;
	padding: 12px;
	margin-bottom: 24px;
	width: 100%;
	max-width: 810px;
	box-sizing: border-box;
	gap: 6px;
}

.esim-setup-slider {
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 12px;
	width: calc((100% - 36px) / 3);
	background: #01488c;
	border-radius: 50px;
	transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1;
}

.esim-setup-tabs[data-active="1"] .esim-setup-slider {
	left: calc(18px + (100% - 36px) / 3);
}

.esim-setup-tabs[data-active="2"] .esim-setup-slider {
	left: calc(24px + 2 * (100% - 36px) / 3);
}

.esim-setup-tab {
	flex: 1;
	padding: 18px 32px;
	border: none;
	background: #ffffff;
	font-size: 15px;
	font-weight: 700;
	color: #01488c;
	cursor: pointer;
	border-radius: 26px;
	transition: all 0.3s;
	font-family: inherit;
	position: relative;
	z-index: 2;
	white-space: nowrap;
}

.esim-setup-tab.active {
	color: #ffffff;
	background: transparent;
}

.esim-setup-tab:not(.active):hover {
	color: #01488c;
}

.esim-setup-steps-container {
	min-height: 500px;
}

.esim-setup-content {
	display: none;
}

.esim-setup-content.active {
	display: block;
}

.esim-setup-grid {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}

.esim-setup-card {
	width: 413px;
	background: #f3f6fb;
	border-radius: 30px;
	padding: 40px 30px;
	padding-bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	position: relative;
}

.setup-card-number {
	width: 57px;
	height: 57px;
	background: #01488c;
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: 800;
	margin-bottom: 24px;
	line-height: 57px;
}

.setup-card-title {
	font-size: 22px;
	font-weight: 800;
	color: #101828;
	margin: 0 0 16px 0;
	line-height: 1.3;
}

.setup-card-desc {
	font-size: 16px;
	color: #4a5565;
	line-height: 1.6;
	margin: 0 0 32px 0;
}

.setup-card-visual {
	width: 100%;
	min-height: 240px;
	height: auto;
	background: #ffffff;
	border-radius: 20px;
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
	flex-shrink: 0;
}

.setup-card-visual img {
	max-width: 100%;
	max-height: none;
	height: auto;
	object-fit: contain;
}

.visual-step-one {
	width: 100%;
	padding: 36px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.step-one-card {
	background: #ffffff;
	border: 1.5px solid #cbd5e1;
	border-radius: 20px;
	padding: 9px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.step-one-circle {
	width: 28px;
	height: 28px;
	border: 2.5px solid #0f172a;
	border-radius: 50%;
	flex-shrink: 0;
}

.step-one-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.step-one-title {
	font-size: 20px;
	font-weight: 800;
	color: #0f172a;
}

.step-one-days {
	font-size: 18px;
	color: #94a3b8;
	font-weight: 500;
}

.step-one-skeleton {
	background: #f3f4f6;
	border-radius: 20px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.skeleton-line-long {
	width: 80%;
	height: 14px;
	background: #c8cbd1;
	border-radius: 7px;
	opacity: 0.6;
}

.skeleton-line-short {
	width: 50%;
	height: 14px;
	background: #c8cbd1;
	border-radius: 7px;
	opacity: 0.6;
}

.visual-placeholder-qrcode,
.visual-placeholder-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.visual-placeholder-qrcode .visual-qrcode-svg {
	width: 80px;
	height: 80px;
}

.visual-label {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a2e;
}

.success-circle {
	width: 80px;
	height: 80px;
	background: #01488c;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.visual-step-manual-two {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.visual-step-manual-two--stack {
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 20px 16px;
	box-sizing: border-box;
}

.visual-step-manual-three--compact {
	padding: 0;
	gap: 10px;
	max-width: 100%;
}

.settings-icon-box {
	width: 100px;
	height: 100px;
	background: #f1f5f9;
	border-radius: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.visual-step-manual-three {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 20px;
}

.manual-code-item {
	width: 100%;
	background: #f3f4f6;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 14px;
	color: #364153;
	font-family: monospace;
	text-align: left;
}

.manual-copy-btn {
	margin-top: 8px;
	font-size: 20px;
	font-weight: 600;
	color: #101828;
}

@media (max-width: 900px) {
	.esim-setup-card {
		width: 100%;
		max-width: 413px;
	}
}

/* 精簡頁首樣式已抽至 public/css/mini-header.css，避免站內跨頁延續精簡頁首時重複載入大檔。
 * 活動頁本身會在 wp_enqueue_scripts 同時入 mini-header.css 與本檔。 */

/* iPad Mini（768x1024）等中型視口：底部 CTA 區塊吉祥物較大，
 * 需把 inner 預留更多空間，避免吉祥物與文字重疊／被截掉。 */
@media (max-width: 768px) {
	.tigerair-cta-inner {
		padding-bottom: 300px;
	}
}

