/**
 * Airline card ([ktt-airline]) — namespaced .ktt-airline so it can't collide
 * with theme/Avada styles. Mirrors the original element, on Katie's teal.
 */
.ktt-airline {
	--air-teal: #1f7f95;
	--air-teal-dark: #155f70;
	font-family: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	max-width: 896px;
	margin: 20px auto;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .08);
	overflow: hidden;
	line-height: 1.5;
	color: #374151;
	text-align: left;
}
.ktt-airline * { box-sizing: border-box; }

/* Header (summary) */
.ktt-airline > summary.ktt-air-head {
	list-style: none;
	padding: 24px;
	background: #f9fafb;
	border-bottom: 1px solid #e5e7eb;
	display: flex;
	align-items: center;
	gap: 16px;
	cursor: pointer;
}
.ktt-airline > summary::-webkit-details-marker { display: none; }
.ktt-air-logo {
	flex-shrink: 0;
	height: 56px; width: 56px;
	border-radius: 9999px;
	border: 2px solid #e5e7eb;
	background: #fff;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.ktt-air-logo img { height: 100%; width: 100%; object-fit: contain; }
.ktt-air-code { font-weight: 700; color: var(--air-teal-dark); font-size: 15px; }
.ktt-air-titles { flex: 1 1 auto; }
.ktt-air-name { display: block; font-size: 24px; font-weight: 700; color: #1f2937; }
.ktt-air-sub { display: block; margin-top: 4px; color: #6b7280; font-size: 14px; }
.ktt-air-chev { color: #9ca3af; transition: transform .3s ease; flex-shrink: 0; }
.ktt-airline[open] > summary .ktt-air-chev { transform: rotate(180deg); }

/* Body */
.ktt-air-partners { padding: 24px; border-bottom: 1px solid #e5e7eb; }
.ktt-air-partners h3 { margin: 0 0 16px; font-size: 18px; font-weight: 600; color: #1f2937; }
.ktt-air-plist { display: flex; flex-wrap: wrap; gap: 20px 24px; align-items: center; }
.ktt-air-partner { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.ktt-air-plogo { height: 32px; width: 32px; border-radius: 9999px; object-fit: contain; }
.ktt-air-pname { font-weight: 500; }
.ktt-air-ratio { color: #6b7280; font-weight: 400; }
.ktt-air-pop { display: inline; position: relative; }
.ktt-air-pop > summary { list-style: none; cursor: pointer; color: var(--air-teal); font-size: 15px; }
.ktt-air-pop > summary::-webkit-details-marker { display: none; }
.ktt-air-pop-body {
	position: absolute; left: 0; top: 130%; z-index: 20;
	width: 240px; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
	box-shadow: 0 12px 20px -6px rgba(0, 0, 0, .15); padding: 12px; font-size: 13px; color: #4b5563;
}

/* Fee grid */
.ktt-air-grid { padding: 24px; display: grid; grid-template-columns: 1fr; gap: 20px; }
.ktt-air-fee { display: flex; gap: 16px; padding: 16px; background: #f9fafb; border-radius: 12px; }
.ktt-air-fee-icon { flex-shrink: 0; color: var(--air-teal); }
.ktt-air-fee-txt h4 { margin: 0; font-size: 17px; font-weight: 600; color: #1f2937; }
.ktt-air-fee-txt p { margin: 4px 0 0; font-size: 14px; color: #4b5563; }

/* Note + tips */
.ktt-air-boxwrap { padding: 0 24px; }
.ktt-air-boxwrap:last-of-type { padding-bottom: 8px; }
.ktt-air-note, .ktt-air-tip { padding: 20px; border-radius: 12px; margin-top: 20px; }
.ktt-air-note { background: #f1f5f9; border: 1px solid #e2e8f0; }
.ktt-air-tip { background: #ddf2ed; border: 1px solid #b2dfdb; }
.ktt-air-note h4, .ktt-air-tip h4 { margin: 0 0 8px; font-size: 17px; font-weight: 600; color: #1f2937; }
.ktt-air-note ul, .ktt-air-tip ul { margin: 0; padding-left: 20px; list-style: disc; font-size: 14px; color: #374151; }
.ktt-air-note li, .ktt-air-tip li { margin-bottom: 8px; }

.ktt-air-footer { margin-top: 20px; padding: 16px; background: #f3f4f6; text-align: center; font-size: 12px; color: #6b7280; }

@media (min-width: 768px) {
	.ktt-airline > summary.ktt-air-head { padding: 32px; }
	.ktt-air-grid { grid-template-columns: 1fr 1fr; padding: 32px; }
	.ktt-air-partners { padding: 32px; }
	.ktt-air-boxwrap { padding: 0 32px; }
	.ktt-air-name { font-size: 28px; }
}
