.kalimera-booking-tabs,
.kalimera-booking-service,
.kalimera-booking-info,
.kalimera-booking-payment {
	--kalimera-red: #e11f1a;
	--kalimera-dark: #1c1313;
	--kalimera-cream: #f7f3e6;
	--kalimera-soft-yellow: #fff5d8;
	--kalimera-shadow: 0 24px 70px rgba(28, 19, 19, 0.1);
	--kalimera-focus: 0 0 0 3px rgba(225, 31, 26, 0.12);
}

.kalimera-booking-tabs {
	position: relative;
	width: min(960px, 100%);
	margin: 0 auto;
}

.kalimera-booking-tabs__nav {
	position: relative;
	z-index: 4;
	display: inline-flex;
	gap: 6px;
	padding: 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 0 14px 40px rgba(28, 19, 19, 0.16);
}

.kalimera-booking-tabs__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 22px;
	border: 0;
	border-radius: 999px;
	color: #1c1313;
	background: transparent;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.kalimera-booking-tabs__button.is-active {
	color: #fff;
	background: #e11f1a;
}

.kalimera-booking-tabs__panels {
	position: relative;
	z-index: 3;
	margin-top: -1px;
	padding: 18px;
	border-radius: 0 34px 34px 34px;
	background: rgba(255, 255, 255, 0.22);
	backdrop-filter: blur(8px);
}

.kalimera-booking-tabs__panel {
	position: relative;
}

.kalimera-booking-tabs .kalimera-booking-panel--flight-form .frm-fluent-form fieldset,
.kalimera-booking-tabs .kalimera-booking-panel--flight-form .kalimera-booking-start-form {
	display: flex;
	align-items: stretch;
	gap: 0;
}

.kalimera-booking-tabs .kalimera-booking-panel--flight-form .ff-el-group {
	margin: 0;
}

.kalimera-booking-tabs .kalimera-booking-field {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	padding: 10px 25px 12px;
	border-radius: 50px;
	background: #fff;
}

.kalimera-booking-tabs .kalimera-booking-field + .kalimera-booking-field::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 0;
	width: 1px;
	height: 34px;
	background: rgba(28, 19, 19, 0.14);
}

.kalimera-booking-tabs .kalimera-booking-field .ff-el-input--label {
	margin: 0;
	color: rgba(28, 19, 19, 0.58);
	font-size: 13px;
	line-height: 1.2;
}

.kalimera-booking-tabs .kalimera-booking-field label {
	font-weight: 500;
}

.kalimera-booking-tabs .kalimera-booking-field .ff-el-input--content {
	position: static;
}

.kalimera-booking-tabs .kalimera-booking-field input.ff-el-form-control {
	height: 30px;
	min-height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: #1c1313;
	background: transparent;
	box-shadow: none;
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
}

.kalimera-booking-tabs .kalimera-booking-field input.ff-el-form-control:focus {
	outline: 0;
	box-shadow: none;
}

.kalimera-booking-tabs .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper {
	flex: 0 0 25%;
	padding: 10px;
}

.kalimera-booking-tabs .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper .ff-btn-submit {
	width: 100%;
	height: 50px;
	border: 4px solid #e11f1a;
	border-radius: 999px;
	background: #e11f1a;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
}

.kalimera-booking-tabs .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper .ff-btn-submit:hover {
	border-color: #ffd2c7;
	background: #e11f1a;
}

.kalimera-booking-tabs .kalimera-flight-summary {
	margin-top: 4px;
	color: rgba(28, 19, 19, 0.58);
	font-size: 12px;
	line-height: 1.25;
}

.kalimera-booking-tabs .schedule-result,
.kalimera-return-field .schedule-result {
	position: absolute;
	top: calc(100% - 8px);
	left: 0;
	right: 0;
	z-index: 20;
	padding: 28px 18px 18px 0;
	border-radius: 0 0 35px 35px;
	background: #fff;
	box-shadow: 0 20px 45px rgba(28, 19, 19, 0.16);
}

.kalimera-booking-tabs .schedule-result .scrollbar,
.kalimera-return-field .schedule-result .scrollbar {
	max-height: 170px;
	overflow-y: auto;
}

.kalimera-booking-tabs .schedule-item,
.kalimera-return-field .schedule-item {
	padding: 7px 25px;
	color: #1c1313;
	cursor: pointer;
}

.kalimera-booking-tabs .schedule-item:hover,
.kalimera-return-field .schedule-item:hover {
	background: #fff5d8;
}

.kalimera-booking-tabs .schedule-item .flight,
.kalimera-booking-tabs .schedule-item .carrier,
.kalimera-return-field .schedule-item .flight,
.kalimera-return-field .schedule-item .carrier {
	font-weight: 700;
	text-transform: uppercase;
}

.kalimera-booking-tabs .schedule-item .direction,
.kalimera-return-field .schedule-item .direction {
	color: rgba(28, 19, 19, 0.62);
	font-size: 13px;
}

.kalimera-booking-tabs .kalimera-booking-notice {
	position: absolute;
	bottom: calc(100% + 12px);
	left: 0;
	z-index: 30;
	width: calc(100% - 24px);
	min-width: 280px;
	padding: 12px 14px;
	border-radius: 14px;
	color: #1c1313;
	background: #fff;
	box-shadow: 0 12px 30px rgba(28, 19, 19, 0.16);
	font-size: 13px;
	line-height: 1.45;
}

.kalimera-booking-tabs .kalimera-booking-notice::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 18px;
	border-top: 10px solid #fff;
	border-right: 10px solid transparent;
}

.kalimera-booking-tabs .kalimera-vip-notice {
	margin: 24px 0 3px;
	padding: 14px 18px;
	border-radius: 5px;
	color: #1c1313;
	background: #fff;
	box-shadow: 0 12px 30px rgba(28, 19, 19, 0.14);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
}

.kalimera-booking-tabs .kalimera-vip-notice a {
	color: #e11f1a;
	font-weight: 800;
	text-decoration: none;
}

.kalimera-booking-service {
	max-width: 1180px;
	margin: 40px auto;
	padding: 0 20px;
	color: #1c1313;
}

.kalimera-service-flight {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
	color: rgba(28, 19, 19, 0.7);
	font-weight: 700;
}

.kalimera-service-flight span {
	padding: 8px 13px;
	border-radius: 999px;
	background: #fff5d8;
}

.kalimera-booking-steps {
	margin: 0 0 24px;
	color: var(--kalimera-dark);
}

.kalimera-booking-steps__summary {
	margin-bottom: 10px;
	color: rgba(28, 19, 19, 0.62);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.kalimera-booking-steps ol {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kalimera-booking-steps li {
	position: relative;
	padding: 9px 14px;
	border: 1px solid rgba(28, 19, 19, 0.12);
	border-radius: 999px;
	background: #fff;
	color: rgba(28, 19, 19, 0.66);
	font-size: 14px;
	font-weight: 800;
}

.kalimera-booking-steps li.is-current {
	border-color: var(--kalimera-red);
	background: var(--kalimera-red);
	color: #fff;
}

.kalimera-service-message {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #fff5d8;
	color: #1c1313;
}

.booking-service-page,
.booking-return-service-page,
.booking-info-page,
.booking-payment-page {
	padding: 80px 0 110px;
	background: #f7f3e6;
}

.booking-service-page .kalimera-booking-service,
.booking-return-service-page .kalimera-booking-service {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
}

.kalimera-service-card,
.kalimera-info-card,
.kalimera-payment-card {
	padding: clamp(24px, 4vw, 48px);
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(28, 19, 19, 0.1);
}

.kalimera-service-header h1,
.kalimera-info-header h1,
.kalimera-payment-header h1 {
	margin: 0 0 18px;
	color: #1c1313;
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: -0.04em;
}

.kalimera-service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 5vw, 72px);
	align-items: start;
	margin-top: 38px;
}

.kalimera-service-column h3 {
	margin: 30px 0 14px;
	color: #1c1313;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.15;
}

.kalimera-service-column h3:first-child {
	margin-top: 0;
}

.kalimera-service-group {
	display: grid;
	gap: 0;
}

.kalimera-service-line,
.kalimera-service-check {
	display: grid;
	grid-template-columns: minmax(130px, 180px) 1fr auto;
	gap: 18px;
	align-items: center;
	min-height: 50px;
	padding: 14px 0;
}
.kalimera-service-check:has(input[type="checkbox"]){
	grid-template-columns: 30px 1fr auto;
	border: 1px solid #33333340;
	border-radius: 40px;
	padding: 0px 20px;

	margin-bottom: 20px;
}
.kalimera-service-column:first-child .kalimera-service-check:has(input[type="checkbox"]){
	margin-right: -25px;
}
.kalimera-service-check label {
	display: contents;
	cursor: pointer;
}

.kalimera-service-check input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.kalimera-service-checkmark {
	width: 22px;
	height: 22px;
	border: 2px solid #e11f1a;
	border-radius: 6px;
	background: #fff;
}

.kalimera-service-check input[type="checkbox"]:checked + input + .kalimera-service-checkmark, .kalimera-info-check input:checked + .kalimera-service-checkmark {
	background: #e11f1a;
	box-shadow: inset 0 0 0 4px #fff;
}

.kalimera-service-stepper {
	display: grid;
	grid-template-columns: 42px 56px 42px;
	align-items: center;
	width: 140px;
	overflow: hidden;
	border: 1px solid rgba(28, 19, 19, 0.12);
	border-radius: 999px;
	background: #fff;
}

.kalimera-service-stepper button,
.kalimera-service-number {
	width: 100%;
	height: 50px!important;
	border: 0;
	background: #fff;
	color: #1c1313;
	font-size: 16px;
	font-weight: 800;
	text-align: center;
	box-shadow: none;
	padding: 0px 10px !important;
	text-align: center;
}

.kalimera-service-stepper button {
	color: #e11f1a;
	cursor: pointer;
}

.kalimera-service-number {
	appearance: textfield;
	-moz-appearance: textfield;
}

.kalimera-service-number::-webkit-inner-spin-button,
.kalimera-service-number::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
}

.kalimera-service-label {
	color: #1c1313;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.kalimera-service-price {
	color: #e11f1a;
	font-size: 15px;
	font-weight: 800;
	white-space: nowrap;
}

.kalimera-service-select,
.kalimera-service-input
 {
	width: 100%;
	min-height: 58px;
	padding: 0 18px!important;
	border: 1px solid rgb(223 223 223) !important;
	border-radius: 40px!important;
	background: #fff;
	color: #1c1313;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	box-shadow: none;
	outline: none;
}
.kalimera-service-textarea{
	border: 1px solid rgb(223 223 223) !important;
	border-radius: 40px!important;	
}
.kalimera-service-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position-x: calc(100% - 10px);
  background-position-y: 50%;
  border: 1px solid #dfdfdf;
  margin-right: 2rem;
  padding: 1rem;
  padding-right: 2rem;
}

.kalimera-service-select option {
	background: #fff;
	color: #1c1313;
	font-size: 16px;
	font-weight: 600;
}

.kalimera-service-dropdown {
	position: relative;
	z-index: 1;
	width: 100%;
}

.kalimera-service-dropdown.is-open {
	z-index: 30;
}

.kalimera-service-dropdown-toggle {
	position: relative;
	width: 100%;
	min-height: 58px;
	padding: 0 48px 0 18px;
	border: 1px solid #dfdfdf;
	border-radius: 40px;
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
	background-repeat: no-repeat;
	background-position: calc(100% - 14px) 50%;
	color: #1c1313;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}

.kalimera-service-dropdown.is-open .kalimera-service-dropdown-toggle,
.kalimera-service-dropdown-toggle:focus {
	border-color: #e11f1a;
	box-shadow: 0 0 0 3px rgba(225, 31, 26, 0.12);
	outline: none;
}

.kalimera-service-dropdown-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	max-height: 260px;
	padding: 8px;
	overflow-y: auto;
	border: 1px solid rgba(28, 19, 19, 0.1);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(28, 19, 19, 0.16);
}

.kalimera-service-dropdown-option {
	display: block;
	width: 100%;
	padding: 12px 14px;
	border: 0;
	border-radius: 14px;
	background: transparent;
	color: #1c1313;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}

.kalimera-service-dropdown-option:hover,
.kalimera-service-dropdown-option:focus,
.kalimera-service-dropdown-option.is-selected {
	background: #fff5d8;
	color: #e11f1a;
	outline: none;
}

.kalimera-service-textarea {
	min-height: 150px;
	resize: vertical;
	padding: 18px;
}

.kalimera-service-select:focus,
.kalimera-service-input:focus,
.kalimera-service-textarea:focus {
	border-color: #e11f1a;
	box-shadow: 0 0 0 3px rgba(225, 31, 26, 0.12);
}

.kalimera-service-note {
	margin: 14px 0 0;
	color: rgba(28, 19, 19, 0.72);
	font-size: 14px;
	line-height: 1.45;
}

.kalimera-service-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 480px);
	gap: clamp(24px, 5vw, 72px);
	align-items: end;
	margin-top: 48px;
}

.kalimera-service-total h3 {
	margin: 0 0 16px;
	color: #1c1313;
	font-size: 28px;
	font-weight: 800;
}

.kalimera-service-total p {
	max-width: 520px;
	margin: 0;
	color: #e11f1a;
	font-size: 15px;
	line-height: 1.45;
}

.kalimera-service-submit button {
	width: 100%;
	min-height: 64px;
	border: 0;
	border-radius: 7px;
	background: #e11f1a;
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
}

.kalimera-service-submit button:hover {
	background: #c91a16;
}

.kalimera-service-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	margin-bottom: 12px;
	border: 1px solid rgba(28, 19, 19, 0.22);
	border-radius: 7px;
	background: #fff;
	color: rgba(28, 19, 19, 0.72);
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	text-transform: uppercase;
}

.kalimera-service-total-note {
	margin-bottom: 10px !important;
	color: rgba(28, 19, 19, 0.62) !important;
}

.kalimera-booking-info {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
}

.kalimera-info-header p,
.kalimera-payment-header p {
	max-width: 720px;
	margin: 0 0 28px;
	color: rgba(28, 19, 19, 0.72);
	font-size: 17px;
	line-height: 1.45;
}

.kalimera-info-summary {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	color: #1c1313;
	font-size: 18px;
	font-weight: 800;
}

.kalimera-info-grid,
.kalimera-payment-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	margin-top: 28px;
}

.kalimera-info-column {
	display: grid;
	align-content: start;
	gap: 18px;
}

.kalimera-info-field {
	display: grid;
	gap: 10px;
}

.kalimera-info-field label {
	font-weight: 800;
	line-height: 1.35;
}

.kalimera-info-input,
.kalimera-payment-placeholder {
	width: 100%;
	min-height: 52px;
	padding: 12px 22px!important;
	border: 1px solid rgba(79, 46, 46, 0.85)!important;
	border-radius: 999px!important;
	background: #fff;
	color: #1c1313;
	font-size: 16px;
	font-weight: 600;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.kalimera-info-input:focus {
	border-color: #e11f1a;
	box-shadow: 0 0 0 3px rgba(225, 31, 26, 0.12);
}

.kalimera-info-field .iti {
	width: 100%;
}

.kalimera-info-field .iti__selected-flag {
	padding-left: 18px;
	border-radius: 999px 0 0 999px!important;
}

.kalimera-info-field .iti--allow-dropdown .kalimera-info-phone {
	padding-left: 58px!important;
}

.kalimera-info-field .iti__country-list {
	z-index: 50;
	border: 0;
	border-radius: 18px;
	box-shadow: 0 16px 44px rgba(28, 19, 19, 0.16);
}

.kalimera-info-file {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 14px 24px;
	border-radius: 999px;
	background: #e11f1a;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
}

.kalimera-info-file:hover {
	background: #c91a16;
}

.kalimera-info-file input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.kalimera-info-file-list {
	color: rgba(28, 19, 19, 0.68);
	font-size: 13px;
	line-height: 1.35;
}

.kalimera-info-file-list:empty {
	display: none;
}

.kalimera-info-notice {
	padding: 16px 18px;
	border-radius: 8px;
	background: #9feffc;
	color: rgb(28 19 19);
	font-size: 15px;
	line-height: 1.45;
}

.kalimera-info-check {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 12px;
	align-items: start;
	margin: 0;
	padding: 12px 18px;
	border: 1px solid rgba(79, 46, 46, 0.85);
	border-radius: 999px;
	font-weight: 500;
	cursor: pointer;
}

.kalimera-info-check input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.kalimera-info-check .kalimera-service-checkmark {
	width: 18px;
	height: 18px;
	margin-top: 1px;
}

.kalimera-return-flight {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid rgba(79, 46, 46, 0.14);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.72);
}

.kalimera-return-flight[hidden] {
	display: none;
}

.kalimera-return-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
}

.kalimera-return-field {
	position: relative;
}

.kalimera-return-field .schedule-result {
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 60;
}


.kalimera-info-help {
	margin: -4px 0 0;
	color: rgb(28 19 19);
	font-size: 15px;
	line-height: 1.45;
}

.kalimera-info-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: end;
	margin-top: 42px;
}

.kalimera-info-actions {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.kalimera-info-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 2px solid #1c1313;
	border-radius: 999px;
	color: #4b1f1f;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.kalimera-info-actions button,
.kalimera-payment-pay {
	min-height: 56px;
	border: 0;
	border-radius: 999px;
	background: #e11f1a;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
}
.kalimera-payment-pay {
	padding: 14px 26px;
}
.kalimera-info-actions button:hover,
.kalimera-payment-pay:hover {
	background: #c91a16;
}

.kalimera-payment-pay:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

.kalimera-booking-payment {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
}

.kalimera-payment-section h2,
.kalimera-payment-summary h2,
.kalimera-payment-other h2 {
	margin: 0 0 18px;
	color: #1c1313;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.15;
}

.kalimera-payment-field {
	display: grid;
	gap: 10px;
	margin-bottom: 18px;
}

.kalimera-payment-field label {
	font-weight: 800;
	line-height: 1.35;
}

.kalimera-payment-placeholder {
	display: grid;
	align-items: center;
	color: rgba(28, 19, 19, 0.48);
}

.kalimera-payment-placeholder.StripeElement--focus {
	border-color: #e11f1a!important;
	box-shadow: 0 0 0 3px rgba(225, 31, 26, 0.12);
}

.kalimera-payment-placeholder.StripeElement--invalid {
	border-color: #e11f1a!important;
}

.kalimera-payment-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.kalimera-payment-summary {
	padding: 24px;
	border-radius: 24px;
	background: #fff5d8;
}

.kalimera-payment-summary dl {
	display: grid;
	gap: 14px;
	margin: 0 0 24px;
}

.kalimera-payment-summary dl div {
	display: grid;
	grid-template-columns: minmax(120px, 0.5fr) 1fr;
	gap: 14px;
}

.kalimera-payment-summary dt {
	color: rgba(28, 19, 19, 0.62);
	font-weight: 700;
}

.kalimera-payment-summary dd {
	margin: 0;
	font-weight: 800;
}

.kalimera-payment-total {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid rgba(28, 19, 19, 0.12);
	font-size: 28px;
	font-weight: 800;
}

.kalimera-payment-warning,
.kalimera-payment-note {
	margin: 18px 0 0;
	color: #e11f1a;
	font-size: 15px;
	line-height: 1.45;
}

.kalimera-payment-actions {
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: end;
	margin-top: 36px;
}

.kalimera-payment-other {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid rgba(28, 19, 19, 0.1);
}

.kalimera-payment-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.kalimera-payment-methods span,
.kalimera-payment-methods button {
	padding: 10px 15px;
	border: 0;
	border-radius: 999px;
	background: #fff5d8;
	color: #1c1313;
	font-weight: 800;
	cursor: pointer;
}

.kalimera-payment-methods button:hover {
	color: #e11f1a;
}

.kalimera-payment-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 20px;
	background: rgba(28, 19, 19, 0.48);
}

.kalimera-payment-modal[hidden] {
	display: none;
}

.kalimera-payment-modal__dialog {
	position: relative;
	width: min(680px, 100%);
	max-height: calc(100vh - 40px);
	overflow: auto;
	padding: clamp(24px, 4vw, 42px);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 28px 80px rgba(28, 19, 19, 0.28);
}

.kalimera-payment-modal__close {
	position: absolute;
	top: 16px;
	right: 18px;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 999px;
	background: #fff5d8;
	color: #e11f1a;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.kalimera-payment-modal__content {
	display: grid;
	gap: 12px;
	margin: 18px 0;
	line-height: 1.5;
}

.kalimera-payment-modal__image img {
	max-width: 220px;
	height: auto;
}

.kalimera-payment-other-submit {
	width: 100%;
	margin-top: 18px;
}

.kalimera-payment-details-btn {
	border: 2px solid #e11f1a;
	background: #fff;
	color: #e11f1a;
	border-radius: 14px;
	font-weight: 800;
	padding: 14px 26px;
	cursor: pointer;
}

.kalimera-public-order-details {
	display: grid;
	gap: 16px;
	margin-top: 18px;
}

.kalimera-public-order-details section {
	border: 1px solid rgba(28, 19, 19, .12);
	border-radius: 14px;
	padding: 16px;
	background: #fffdf5;
}

.kalimera-public-order-details h4 {
	margin: 0 0 10px;
	font-size: 18px;
}

.kalimera-public-order-details dl {
	display: grid;
	grid-template-columns: minmax(120px, 36%) 1fr;
	gap: 8px 14px;
	margin: 0;
}

.kalimera-public-order-details dt {
	color: rgba(28, 19, 19, .62);
	font-weight: 700;
}

.kalimera-public-order-details dd {
	margin: 0;
	font-weight: 800;
	word-break: break-word;
}

.kalimera-payment-details-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}

.kalimera-payment-details-edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: #e11f1a;
	color: #fff;
	text-decoration: none;
	font-weight: 800;
	padding: 12px 18px;
}

#ui-datepicker-div,
.ui-datepicker {
	z-index: 1000000 !important;
}

.kalimera-payment-status {
	max-width: 760px;
	margin: 80px auto;
	padding: clamp(28px, 5vw, 56px);
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(28, 19, 19, 0.1);
	text-align: center;
}

.kalimera-payment-status h1 {
	margin: 0 0 16px;
	color: #1c1313;
	font-size: clamp(34px, 5vw, 60px);
	font-weight: 800;
	line-height: 0.95;
}

.kalimera-payment-status--success h1 {
	color: #148547;
}

.kalimera-payment-status--error h1 {
	color: #e11f1a;
}

.kalimera-info-message,
.kalimera-payment-message {
	grid-column: 1 / -1;
	padding: 12px 16px;
	border-radius: 12px;
	background: #fff3f2;
	color: #e11f1a;
	font-size: 15px;
	font-weight: 700;
}

@media (max-width: 767px) {
	.kalimera-booking-tabs__nav {
		display: flex;
		width: 100%;
	}

	.kalimera-booking-tabs__button {
		flex: 1 1 0;
		min-height: 42px;
		padding: 8px 10px;
		font-size: 12px;
	}

	.kalimera-booking-tabs__panels {
		padding: 14px 0 0;
		border-radius: 0;
		background: transparent;
		backdrop-filter: none;
	}

	.kalimera-booking-tabs .kalimera-booking-panel--flight-form .frm-fluent-form fieldset {
		display: block;
	}

	.kalimera-booking-tabs .kalimera-booking-field {
		width: 100%;
		margin-bottom: 20px;
		padding: 10px 25px 12px;
	}

	.kalimera-booking-tabs .kalimera-booking-field + .kalimera-booking-field::before {
		display: none;
	}

	.booking-service-page,
	.booking-payment-page,
	.booking-info-page {
		padding: 36px 0 70px;
	}

	.kalimera-service-card,
	.kalimera-payment-card,
	.kalimera-info-card {
		padding: 17px;
		border-radius: 20px;
	}

	.kalimera-service-grid,
	.kalimera-service-footer,
	.kalimera-payment-grid,
	.kalimera-info-grid,
	.kalimera-info-footer {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.kalimera-info-actions {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 14px;
	}

	.kalimera-return-fields {
		grid-template-columns: 1fr;
	}

	.kalimera-payment-row,
	.kalimera-payment-summary dl div,
	.kalimera-payment-actions {
		grid-template-columns: 1fr;
	}

	.kalimera-payment-actions {
		justify-content: stretch;
	}

	.kalimera-info-back {
		width: 46px;
		height: 46px;
		font-size: 24px;
	}

	.kalimera-service-line,
	.kalimera-service-check {
		grid-template-columns: minmax(100px, 110px) 1fr auto!important;
		gap: 10px 16px;
	}
	
	.kalimera-service-check:has(input[type="checkbox"]){
		grid-template-columns: 22px 1fr auto!important;
		padding: 0px 12px;
	}
	.kalimera-service-column:first-child .kalimera-service-check:has(input[type="checkbox"]){
		margin-right: -10px;
	}
	.kalimera-service-stepper,
	.kalimera-service-checkmark {
	}

	.kalimera-service-stepper {
		width: 105px;
		grid-template-columns: 35px 35px 35px;
	}

	.kalimera-service-stepper button, .kalimera-service-number{
		text-align: center;
		width: 35px!important;
	}
	
	.kalimera-service-price {
		justify-self: end;
	}

	.kalimera-booking-tabs .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper {
		width: 100%;
		padding: 0;
	}

	.kalimera-booking-tabs .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper .ff-btn-submit {
		height: 70px;
	}
}

/* Legacy visual bridge for Fluent Forms booking tabs. */
.legacy-booking-form--fluent {
	width: 100%;
	margin: 0;
}

.legacy-booking-form--fluent .booking-form__tabs {
	position: relative;
	z-index: 4;
	display: inline-flex;
	gap: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.legacy-booking-form--fluent .booking-form__tabs .tab {
	position: relative;
	z-index: 2;
	min-height: auto;
	padding: 0 0 10px;
	border: 0;
	border-radius: 0;
	color: #000;
	background: transparent;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
	opacity: 0.75;
}

.legacy-booking-form--fluent .booking-form__tabs .tab + .tab {
	margin-left: 35px;
}

.legacy-booking-form--fluent .booking-form__tabs .tab.active,
.legacy-booking-form--fluent .booking-form__tabs .tab.is-active {
	color: #e11f1a;
	background: transparent;
	opacity: 1;
}

.legacy-booking-form--fluent .booking-form__tabs .tabs-slider {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 0;
	height: 4px;
	border-radius: 4px;
	background: #e11f1a;
	transition: transform 0.25s ease, width 0.25s ease;
}

.legacy-booking-form--fluent .booking-form__panel {
	position: relative;
	z-index: 3;
	margin-top: 10px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	backdrop-filter: none;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .frm-fluent-form fieldset,
.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-start-form {
	position: relative;
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0px;
	margin: 10px 0 88px !important;
	padding: 0 !important;
	border-radius: 0;
	background: transparent !important;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff-el-group.kalimera-booking-field {
	position: relative;
	z-index: 5;
	flex: 1 1 30.333%;
	height: 92px;
	margin: 0;
	padding: 30px 30px 0;
	border-radius: 5px;
	background: #fff;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff-el-group.kalimera-booking-field:first-of-type {
	border-radius: 5px;
	z-index: 6;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff-el-group.kalimera-booking-field + .kalimera-booking-field::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 1px;
	height: 100%;
	background: rgba(247, 191, 4, 0.7);
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field .ff-el-input--label {
	display: inline-block;
	margin: 0;
	padding-right: 20px;
	color: #b6b6bc;
	background-position: 100% 45%;
	background-repeat: no-repeat;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field--flight .ff-el-input--label {
	background-image: url("/style/images/icon-airplane.svg");
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field--date .ff-el-input--label {
	background-image: url("/style/images/icon-calendar.svg");
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field label {
	color: inherit;
	font-weight: inherit;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field input.ff-el-form-control,
.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field input.flatpickr-input {
	display: block;
	width: 100%;
	height: 30px;
	min-height: 30px;
	margin: 8px 0 0;
	padding: 0;
	border: none !important;
	border-radius: 0;
	color: #000;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 21px;
	font-weight: 500;
	line-height: 30px;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-time-readonly {
	pointer-events: none;
	cursor: default;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper {
	position: relative;
	z-index: 3;
	flex: 0 0 100%;
	width: 100%;
	margin: 0px 0 0;
	padding: 0;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper .ff-btn-submit {
	display: block;
	width: min(323px, 100%);
	min-width: fit-content;
	height: 73px;
	border: 0;
	border-radius: 5px;
	color: #fff;
	background: #e11f1a;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-transform: none;
	cursor: pointer;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper .ff-btn-submit:hover {
	background: #c91814;
}

.legacy-booking-form--fluent .kalimera-flight-summary {
	display: none;
}

.legacy-booking-form--fluent .schedule-result {
	top: 65px;
	left: 0;
	right: 0;
	z-index: 100;
	padding: 20px 20px 20px 0;
	border-radius: 0 0 35px 35px;
	background: #fff;
	box-shadow: none;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field--flight {
	z-index: 101;
}

.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field--date {
	z-index: 100;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .frm-fluent-form fieldset {
	display: flex !important;
	flex-wrap: wrap;
	gap: 2px;
	margin: 48px 0 88px !important;
	padding: 0 !important;
	border-radius: 0;
	background: transparent !important;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset > .ff-el-group,
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset > .ff-field_container {
	flex: 1 1 calc(33.333% - 14px);
	margin: 0;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset > .ff-el-group:has(textarea),
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset > .ff_submit_btn_wrapper,
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset > .ff-errors-in-stack {
	flex: 0 0 100%;
	width: 100%;
}
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset > .ff-el-group:has(textarea){
	padding: 20px 0 0px 38px;
}
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .ff-el-input--label {
	margin: 0;
	color: #b6b6bc;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .ff-el-input--label label {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] input.ff-el-form-control,
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] textarea.ff-el-form-control {
	width: 100%;
	min-height: 30px;
	margin: 8px 0 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: #000;
	font-size: 21px;
	font-weight: 500;
	line-height: 30px;
}
.legacy-booking-form--fluent .iti--allow-dropdown input, .iti--allow-dropdown input[type=text]{
	padding-left: 60px!important;
}
.legacy-booking-form--fluent .ff-el-group {
	min-height: 80px;
	padding: 20px 38px 0px;
	border-radius: 5px;
	background: #fff;
	margin-bottom: unset;
}
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] fieldset >.ff-el-group.ff_submit_btn_wrapper{
	background:none;
	padding: 20px 0;
}
.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .ff-field_container .ff-el-group {
	/* min-height: 0; */
	/* padding: 0; */
	/* border-radius: 0; */
	/* background: #fff; */
	margin-bottom: unset;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] textarea.ff-el-form-control {
	min-height: 96px;
	line-height: 1.45;
	resize: vertical;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .ff_submit_btn_wrapper {
	padding: 26px 0px 0px 0px;
}

.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .ff_submit_btn_wrapper .ff-btn-submit {
	width: min(323px, 100%)!important;
	height: 70px;
	border: 0;
	border-radius: 5px;
	background: #e11f1a;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-transform: none;
}

.legacy-booking-form--fluent .schedule-result .schedule-item {
	padding: 5px 25px;
	color: #000;
}

.legacy-booking-form--fluent .schedule-result .schedule-item .flight,
.legacy-booking-form--fluent .schedule-result .schedule-item .carrier {
	font-weight: 500;
}

.legacy-booking-form--fluent .schedule-result .schedule-item .direction {
	color: #666;
}

	@media (max-width: 767px) {
	.legacy-booking-form--fluent .booking-form__tabs {
		display: flex;
	}

	.legacy-booking-form--fluent .booking-form__tabs .tab {
		font-size: 14px;
	}

	.legacy-booking-form--fluent .booking-form__tabs .tab + .tab {
		margin-left: 20px;
	}

	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .frm-fluent-form fieldset,
	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-start-form {
		display: block !important;
		margin: 20px 0 0 !important;
		background: transparent !important;
		border-radius: 0;
	}

	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff-el-group.kalimera-booking-field {
		width: 100%;
		height: 70px;
		margin-bottom: 20px;
		padding: 10px 25px 12px;
		background: #fff;
	}

	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff-el-group.kalimera-booking-field + .kalimera-booking-field::before {
		display: none;
	}

	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .ff_submit_btn_wrapper .ff-btn-submit {
		width: 100%;
		height: 70px;
		border-radius: 50px;
		font-size: 16px;
	}

	.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .frm-fluent-form fieldset {
		display: block !important;
		margin: 20px 0 0 !important;
	}

	.legacy-booking-form--fluent [data-kalimera-booking-panel="vip-manager"] .ff-el-group {
		width: 100%;
		margin-bottom: 20px!important;
		padding: 10px 20px 20px 20px!important;
	}
}
@media only screen and (max-width: 767px) {
    .legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field .ff-el-input--label {
	    top: 10px;
	    left: 25px;
	   }
	.legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field input.ff-el-form-control, .legacy-booking-form--fluent .kalimera-booking-panel--flight-form .kalimera-booking-field input.flatpickr-input{
		margin-top: 15px;
	}
}
