/* SAS (Scandinavian Airlines) Brand Styles */

@import url("https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&display=swap");

/* CSS Variables - SAS Brand Colors and Styling */
:root {
	/* Brand Colors */
	--color-primary: #003df5;
	--color-primary-hover: #002a54;
	--color-primary-light: #e8f0f7;
	--color-text-primary: #000;
	--color-text-secondary: #666;
	--color-text-muted: #999;
	--color-text-faded: #ccc;

	/* Background Colors */
	--color-background: #fafafa;
	--color-background-white: #ffffff;

	/* Border Colors */
	--color-border: #e0e0e0;
	--color-border-light: #f0f0f0;
	--color-border-section: #e0e0e0;

	/* Functional Colors */
	--color-info: #eef4f9;
	--color-info-text: #003df5;
	--color-info-border: #003df5;
	--color-success: #2e8b57;
	--color-success-bg: #e8f5e9;
	--color-success-text: #1b5e20;
	--color-error: #d32f2f;
	--color-error-bg: #ffebee;
	--color-error-text: #c62828;
	--color-error-border: #ef5350;
	--color-error-bg-light: #ffebee;
	--color-warning: #f57c00;
	--color-warning-text: #bf360c;

	/* Border Radius */
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-lg: 8px;
	--radius-button: 4px;
}

/* Body and Typography */
body {
	font-family: "Albert Sans", sans-serif;
	font-optical-sizing: auto;
	color: #383838;
	background-color: #f5f5f5;
	font-size: 15px;
	line-height: 1.5;
}

/* Header */
header {
	background-color: #ffffff;
	box-shadow: none;
	height: 75px;
	margin-bottom: 24px;
}

._7ygkit3 {
	width: 1.5rem;
	height: 1.5rem;
}

.head-btn {
	border: none;
}

.head-link {
	color: #003df5;
	border: 2px solid #003df5;
	padding: 8px 24px;
	border-radius: 100px;
	font-size: 15px;
}

.head-link:hover {
	color: #003df5;
}

nav {
	display: flex;
	align-items: center;
	gap: 16px;
}

.claims-list a,
.radio-option-wrapper .radio-label {
	border-radius: 8px;
}

.logo a {
	color: #000;
}

.logo img {
	height: 20px;
}

h2 {
	color: #1a1a1a;
	font-size: 22px;
	font-weight: 700;
}

h3 {
	color: #000000;
	font-size: 20px;
	font-weight: 500;
}

.slogan {
	font-size: 16px;
}

.breadcrumbs {
	font-size: 14px;
	padding-top: 0;
	margin-bottom: 8px;
}

/* Links */
a {
	color: #000000;
}

a:hover {
	text-decoration: underline;
}

.checkbox-item:has(input:checked)::before {
	background-color: #003df5;
	border-color: #003df5;
}

/* Breadcrumbs */
.breadcrumbs a {
	color: #666;
}

.breadcrumbs a:hover {
	color: #000;
}

.breadcrumbs li[aria-current="page"] {
	color: #000;
}

/* Section cards */
section {
	border-radius: 16px;
	border: none;
	background: #ffffff;
	box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.08);
}

/* Progress bar */
.progress-bar::before {
	background-color: #003df5;
}

.step-icon {
	border-color: #003df5;
	background-color: #fff;
}

.step.active .step-icon {
	background-color: #003df5;
}

.step.active .step-icon::after {
	background-color: #fff;
}

.step.completed .step-icon {
	background-color: #003df5;
	border-color: #003df5;
}

.step.completed .step-icon::before {
	color: #fff;
}

.step.active .step-title {
	color: #003df5;
}

.step-title {
	color: #000000;
	font-weight: 500;
	font-size: 15px;
}

.step-description {
	color: #666;
	font-size: 13px;
}

/* Form fields */
.form-field label {
	color: #000000;
	font-weight: 500;
	font-size: 15px;
}

.form-note {
	border-left-color: #003df5;
	background: #f5f5f5;
	color: #003df5;
	border-radius: 8px;
	font-size: 14px;
}

.form-note.success {
	border-left-color: #2e8b57;
	background: #e8f5e9;
	color: #1b5e20;
}

.regulation-box .reg-text {
	color: #000;
	font-size: 14px;
}

/* Input fields */
.booking-input {
	border-radius: 8px;
	border: 1px solid #666666;
	background: #ffffff;
	font-size: 16px;
	color: #1f2937;
}

.booking-input:hover,
.booking-input:focus {
	border-color: #003df5;
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(0, 61, 122, 0.1);
}

.booking-input.error {
	border-color: #d32f2f;
	background: #ffebee;
}

/* Radio buttons */
.form-field .radio-label {
	border-radius: 4px;
	border: 1px solid #d0d0d0;
	background: #ffffff;
}

.radio-label::before {
	border-color: #d0d0d0;
	background: #fff;
}

.radio-label::after {
	background: #003df5;
}

.radio-option-wrapper .radio-label:hover {
	border-color: #003df5;
	background-color: #eef4f9;
}

.radio-option-wrapper .radio-label:hover::before {
	border-color: #003df5;
}

.radio-option-wrapper input[type="radio"]:checked + .radio-label {
	border-color: #003df5;
	background-color: #eef4f9;
}

.radio-option-wrapper input[type="radio"]:checked + .radio-label::before {
	border-color: #003df5;
}

.radio-option-wrapper input[type="radio"]:focus-visible + .radio-label {
	outline-color: #003df5;
	box-shadow: 0 0 0 3px rgba(0, 61, 122, 0.1);
}

.radio-option-wrapper input[type="radio"]:disabled + .radio-label:hover {
	border-color: #d0d0d0;
}

.radio-option-wrapper
	input[type="radio"]:disabled
	+ .radio-label:hover::before {
	border-color: #d0d0d0;
}

.checkbox-label-text strong {
	color: #000;
	font-weight: 500;
	font-size: 15px;
}

/* Buttons */
.booking-btn {
	border-radius: 999px;
	background: #003df5;
	color: #fff;
	font-weight: 500;
	font-size: 18px;
	border: none;
	cursor: pointer;
	padding: 12px 32px;
	width: auto;
	max-width: 300px;
}

.booking-btn:hover {
	background: #003df5;
}

.booking-btn--active {
	background: #003df5;
}

.booking-btn--loading {
	background: #003df5;
}

.booking-btn .spinner {
	border-color: #fff;
	border-top-color: transparent;
}

/* Autocomplete */
.autocomplete-list {
	border-color: #d0d0d0;
	background: #fff;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.autocomplete-item:hover,
.autocomplete-item.active {
	background: #eef4f9;
}

.autocomplete-item .label {
	color: #000;
	font-weight: 500;
}

.autocomplete-item .code {
	color: #003df5;
	font-weight: 600;
}

/* FAQ */
.faq-item {
	border-radius: 4px;
	border-color: #d9d9d9;
	background: #ffffff;
	box-shadow: none;
}

.faq-toggle:hover {
	background-color: #eef4f9;
}

/* Textarea */
textarea,
textarea[name="feedback"],
#feedback {
	border-color: #d0d0d0;
	background: #ffffff;
	border-radius: 4px;
	font-family: inherit;
	font-size: 15px;
}

textarea:focus,
textarea[name="feedback"]:focus,
#feedback:focus {
	border-color: #003df5;
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(0, 61, 122, 0.1);
}

.char-counter {
	color: #999;
	font-size: 12px;
}

/* Claim summary */
.claim-summary {
	background: #f5f5f5;
	border-radius: 8px;
}

.claim-reference-box {
	color: var(--color-text-primary);
}

.option-card--discouraged {
	background-color: #fff;
}
/* Decision banner */
.decision-banner {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #eef4f9;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 10px 12px;
	margin: 12px 0 16px;
	color: #003df5;
	font-weight: 600;
}
.decision-banner .status-dot.accepted {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #2e8b57;
	box-shadow: 0 0 0 3px rgba(46, 139, 87, 0.15);
}
/* Flight label styling */
.flight-route-main {
	color: #000;
	font-weight: 500;
	font-size: 15px;
}

.claims-list-item strong {
	color: #000;
	font-weight: 500;
	font-size: 15px;
}

.flight-details-meta {
	color: #666;
}

/* Checkbox items */
.checkbox-item {
	border-color: #e0e0e0;
	border-radius: 8px;
}

.checkbox-item:has(input:checked) {
	border-color: #003df5;
	background: #eef4f9;
}

.checkbox-item:hover {
	border-color: #003df5;
}

/* File Upload */
.file-upload-area {
	border-color: #d0d0d0;
	background: #fafafa;
	border-radius: 4px;
	border-style: dashed;
}
.file-upload-area:hover {
	border-color: #003df5;
	background: #eef4f9;
}
.file-upload-area.drag-over {
	border-color: #003df5;
	background: #eef4f9;
}
.file-upload-icon {
	color: #003df5;
}
.file-upload-btn {
	background: #003df5;
	color: #fff;
	border-radius: 4px;
	font-weight: 600;
}
.file-upload-btn:hover {
	background: #002a54;
}
.file-list li {
	border-color: #e0e0e0;
	background: #ffffff;
	border-radius: 4px;
}
.file-list li:hover {
	border-color: #003df5;
	background: #eef4f9;
}
.file-icon {
	color: #003df5;
}
.file-remove:hover {
	background: #ffebee;
	color: #d32f2f;
}
