/* Classiq SkyLink Flights — base styles */

.cskf { max-width: 900px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }

.cskf-row { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; align-items: flex-end; }
.cskf-field { display: flex; flex-direction: column; flex: 1 1 160px; min-width: 140px; }
.cskf-field-small { flex: 0 1 100px; min-width: 90px; }
.cskf-field label { font-size: 12px; font-weight: 600; margin-bottom: 4px; color: #333; }
.cskf-field input, .cskf-field select {
	padding: 8px 10px; border: 1px solid #ccd0d4; border-radius: 4px; font-size: 14px;
}

.cskf-trip-type label { margin-right: 16px; font-weight: 500; }

.cskf-search-submit, .cskf-submit-booking { padding: 10px 24px; font-size: 15px; }

.cskf-search-error, .cskf-results-error, .cskf-passenger-form-error {
	color: #b32d2e; background: #fbeaea; border: 1px solid #e3b3b3; padding: 10px 14px; border-radius: 4px; margin-top: 10px;
}

/* Results */
.cskf-results-toolbar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.cskf-flight-list { display: flex; flex-direction: column; gap: 10px; }
.cskf-flight-card {
	display: flex; justify-content: space-between; align-items: center;
	border: 1px solid #e2e2e2; border-radius: 6px; padding: 14px 18px; background: #fff;
}
.cskf-flight-card-main { display: flex; flex-direction: column; gap: 2px; }
.cskf-flight-airline { font-weight: 600; }
.cskf-flight-route { font-size: 15px; }
.cskf-flight-times { color: #555; font-size: 13px; }
.cskf-flight-meta { font-size: 12px; color: #777; display: flex; gap: 10px; }
.cskf-flight-card-price { text-align: right; }
.cskf-flight-price { font-size: 18px; font-weight: 700; margin-bottom: 6px; }

/* Passenger form */
.cskf-passenger-fieldset { border: 1px solid #e2e2e2; border-radius: 6px; padding: 16px; margin-bottom: 18px; }
.cskf-passenger-fieldset legend { font-weight: 700; padding: 0 6px; }

/* Booking summary */
.cskf-booking-summary { background: #f8f9fa; border-radius: 6px; padding: 16px 18px; margin: 16px 0; }
.cskf-price-breakdown { width: 100%; border-collapse: collapse; }
.cskf-price-breakdown td { padding: 4px 0; }
.cskf-price-breakdown td:last-child { text-align: right; }
.cskf-price-total td { border-top: 1px solid #ddd; padding-top: 8px; }
.cskf-price-changed-notice { color: #8a6300; font-size: 13px; margin-top: 8px; }

/* Payment methods */
.cskf-payment-methods { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.cskf-payment-method-option {
	border: 1px solid #ccd0d4; border-radius: 6px; padding: 10px 18px; cursor: pointer;
}
.cskf-payment-method-option.is-selected { border-color: #2271b1; background: #eaf3fb; }

/* Confirmation */
.cskf-confirmation-success h2 { color: #1a7f37; }
.cskf-confirmation-failed h2 { color: #b32d2e; }
.cskf-spinner {
	width: 28px; height: 28px; border: 3px solid #ddd; border-top-color: #2271b1;
	border-radius: 50%; animation: cskf-spin 0.8s linear infinite; margin-top: 10px;
}
@keyframes cskf-spin { to { transform: rotate(360deg); } }

/* Admin */
.cskf-stat-grid .card { background: #fff; border: 1px solid #e2e2e2; border-radius: 6px; padding: 18px; text-align: center; }
.cskf-stat-grid .card h2 { font-size: 28px; margin: 0 0 4px; }
.cskf-stat-grid .card p { margin: 0; color: #666; }
