/* ==========================================================================
   CASTLE — REZERVASYON AKISI SUNUM KATMANI                  v1.0   (YEREL)
   --------------------------------------------------------------------------
   KAPSAM SOZU
   Her secici  .reservation_carSelect  (Arac Secimi sayfasi) ya da
   #search_cars_modal  (arama bekleme penceresi: ana sayfa + arac secimi)
   ile baslar. Baska sayfaya SIZAMAZ.

   DOKUNULMAYAN
   AracSecimi.aspx(.cs), SearchControl.ascx, Ajax.aspx, odeme butonlarinin
   href'i, filtre/siralama JS'i, UpdatePanel/postback. Yalnizca gorunum.
   Butonlara display YAZILMAZ: Online_Pay_Style / Office_Pay_Style satir ici
   "display:none" verebilir, o kazanmali.

   RTL
   Kenar bosluklari mantiksal ozellikle (inline-start/end) verilir -> Arapca
   kendiliginden aynalanir. snappy.rtl.css eski turuncuyu (#e27006) ve
   hover'da yesili (#5cb85c) SABIT yaziyor; renkler burada daha ozgul
   secicilerle var(--color-1) uzerinden yeniden verilir.

   GERI ALMA
   Master sayfalardaki tek <link> satirini silmek yeterli.
   ========================================================================== */

.reservation_carSelect,
#search_cars_modal {
	--b-red:   var(--color-1, #ED1C24);
	--b-ink:   #2b2626;
	--b-text:  #5a5555;
	--b-muted: #857f7f;
	--b-line:  #e6e2e2;
	--b-line-2:#d6d0d0;
	--b-soft:  #f8f7f7;
	--b-tint:  #fdecec;
	--b-r:     14px;
	--b-sh-1:  0 1px 2px rgba(20,16,16,.04), 0 4px 14px rgba(20,16,16,.05);
	--b-sh-2:  0 2px 4px rgba(20,16,16,.05), 0 14px 32px rgba(20,16,16,.10);
	--b-ease:  cubic-bezier(.22,.61,.36,1);
}
@supports (background: color-mix(in srgb, red 50%, white)) {
	.reservation_carSelect,
	#search_cars_modal { --b-tint: color-mix(in srgb, var(--b-red) 10%, #fff); }
}

/* ==========================================================================
   1. ARAMA BEKLEME PENCERESI  (#search_cars_modal)
   JS gorunurlugu satir ici style="display:flex" ile acip kapatir; burada
   display'e dokunulmaz. Iki .modal-content tek kart gibi birlestirilir:
   mobilde aradaki 20px bosluktan arkadaki sayfa gorunuyordu.
   ========================================================================== */
#search_cars_modal {
	padding: 16px;
	background-color: rgba(24, 19, 19, .58);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	cursor: progress;
}

/* Ana sayfada pencere section.showcase (position:relative; z-index:1)
   icinde; o bir istifleme baglami kurdugu icin 5000'lik z-index disari
   cikamiyor ve asagidaki bolumler karartmanin USTUNE ciziliyordu.
   Yalnizca pencere acikken showcase one alinir (JS style="display:flex;"
   yaziyor). :has yoksa bugunku davranis kalir. */
.showcase:has(#search_cars_modal[style*="flex"]) {
	z-index: 5000;
}

#search_cars_modal .modal-content {
	box-sizing: border-box;
	width: min(420px, 100%);
	margin: 0 !important;
	background: #fff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
	font-family: montserrat-regular, system-ui, sans-serif;
	color: var(--b-ink);
}

/* Ust bolum: logo + mesaj + ilerleme cizgisi */
#search_cars_modal .modal-content:first-child {
	padding: 26px 24px 0;
	border-radius: 18px 18px 0 0;
	clip-path: inset(-80px -80px 0 -80px);   /* golge alt karta dusmesin */
	text-align: center;
}
#search_cars_modal .modal-content:first-child img {
	display: block;
	width: auto !important;
	max-width: 72%;
	height: 30px;
	margin: 0 auto 16px !important;
	object-fit: contain;
}
#search_cars_modal .modal-content:first-child p {
	margin: 0 !important;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--b-muted);
}
#search_cars_modal .modal-content:first-child p:first-of-type {
	margin-bottom: 2px !important;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 16px;
	color: var(--b-ink);
}
/* Belirsiz ilerleme: "bekleyiniz" metnine gorsel karsilik */
#search_cars_modal .modal-content:first-child::after {
	content: "";
	display: block;
	height: 3px;
	margin: 20px -24px 0;
	background:
		linear-gradient(90deg, transparent 0, var(--b-red) 50%, transparent 100%) no-repeat,
		#f1eded;
	background-size: 42% 100%, 100% 100%;
	animation: castleBookingProgress 1.25s var(--b-ease) infinite;
}
@keyframes castleBookingProgress {
	from { background-position: -70% 0, 0 0; }
	to   { background-position: 170% 0, 0 0; }
}

/* Alt bolum: yolculuk ozeti */
#search_cars_modal .modal-content + .modal-content {
	padding: 6px 24px 20px;
	border-radius: 0 0 18px 18px;
	clip-path: inset(0 -80px -80px -80px);
}
#search_cars_modal .modal-content + .modal-content > hr {
	height: 0;
	margin: 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--b-line) !important;
}
/* Satirlar: 1 ve 3 ofis, 5 ve 7 tarih+saat (iki dosyada da ayni sira) */
#search_cars_modal .modal-content + .modal-content > div {
	align-items: center;
	gap: 12px;
	padding: 12px 0;
}
#search_cars_modal .modal-content + .modal-content > div:nth-child(5),
#search_cars_modal .modal-content + .modal-content > div:nth-child(7) {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
#search_cars_modal .modal-content + .modal-content > div > div {
	align-items: center;
	gap: 12px;
	min-width: 0;
}
#search_cars_modal .modal-content + .modal-content img {
	flex: none;
	width: 18px !important;
	height: 18px;
	margin: 0 !important;
	opacity: .55;
}
#search_cars_modal .modal-content + .modal-content p {
	margin: 0 !important;
	font-size: 12px;
	line-height: 1.35;
	color: var(--b-muted);
	overflow-wrap: anywhere;
}
#search_cars_modal .modal-content + .modal-content p + p {
	margin-top: 2px !important;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 14.5px;
	color: var(--b-ink);
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   2. ARAC SECIMI  (.reservation_carSelect)
   ========================================================================== */
.reservation_carSelect ::selection { background: var(--b-tint); color: var(--b-ink); }

#selection_elements {
	font-family: montserrat-medium, system-ui, sans-serif;
	font-size: .72em;
	color: var(--b-muted) !important;
}

/* --- 2a. Filtre paneli ---------------------------------------------------- */
.reservation_carSelect .reservation_carSelect_sidebar_accordion > li {
	overflow: hidden;
	border: 1px solid var(--b-line);
	border-radius: var(--b-r);
	background: #fff;
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion > li:not(:last-child) {
	margin-bottom: 12px;
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion > li > a {
	height: auto !important;
	min-height: 52px;
	padding: 12px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--b-line) !important;
	border-radius: 0 !important;
	background: var(--b-soft) !important;
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion_icon {
	flex: none;
	width: 20px;
	height: 20px;
	filter: grayscale(1) brightness(.45);   /* SVG'lerde fill="#E27006" sabit (eski turuncu) */
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion_icon img {
	height: 20px !important;
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion_title {
	margin: 0 !important;
	margin-inline-start: 12px !important;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 14px;
	line-height: 1.4;
	color: var(--b-ink);
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion_content {
	padding: 10px 16px 14px !important;
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion_content > ul > li {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 32px;
	margin-bottom: 0 !important;
}
/* Onay kutusu sablonun kendi cizimi; renkleri snappy'de degisken olarak
   #E27006 sabit. Yalnizca degiskenler markaya cevrilir, cizim sablonda kalir. */
.reservation_carSelect input[type="checkbox"] {
	--active: var(--b-red);
	--border-hover: var(--b-red);
	--border: var(--b-line-2);
	--focus: 2px rgba(237, 28, 36, .22);
}
.reservation_carSelect .reservation_carSelect_sidebar_accordion_content label {
	cursor: pointer;
	font-size: 14px;
	color: var(--b-text);
}

/* --- 2b. Arac karti --------------------------------------------------------
   Once: gri sol blok + ayri cerceveli sag blok, iki ayri kutu gibi.
   Simdi: tek kart; sol beyaz (karar alani), sag ikinci notr katman
   (ozellikler/kosullar). */
.reservation_carSelect .reservation_carSelect_right_box {
	overflow: hidden;
	border: 1px solid var(--b-line);
	border-radius: var(--b-r);
	background: #fff;
	box-shadow: var(--b-sh-1);
	transition: box-shadow .2s var(--b-ease), border-color .2s var(--b-ease);
}
.reservation_carSelect .reservation_carSelect_right_box:not(:last-child) {
	margin-bottom: 16px;
}
.reservation_carSelect .reservation_carSelect_right_box:hover {
	border-color: var(--b-line-2);
	box-shadow: var(--b-sh-2);
}

.reservation_carSelect .reservation_carSelect_right_box_left,
.reservation_carSelect .reservation_carSelect_right_box_right {
	box-sizing: border-box;
	border: 0 !important;
	border-radius: 0 !important;
}
.reservation_carSelect .reservation_carSelect_right_box_left,
.reservation_carSelect .reservation_carSelect_right_box:hover .reservation_carSelect_right_box_left {
	padding: 20px 22px;
	background-color: #fff;
}
.reservation_carSelect .reservation_carSelect_right_box_right {
	padding: 20px 22px;
	border-inline-start: 1px solid var(--b-line) !important;
	background: var(--b-soft);
}

/* Gorsel */
.reservation_carSelect .reservation_carSelect_right_box_left_top_left {
	box-sizing: border-box;
	padding: 8px;
	border-radius: 12px;
	background: linear-gradient(180deg, #fff 0%, #f3f2f2 100%);
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_left img {
	mix-blend-mode: multiply;   /* PNG'lerin beyaz zemini yumusar */
}

/* Baslik: kirmizi yalnizca eyleme ayrilir */
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_title {
	font-size: 18px;
	line-height: 1.3;
	color: var(--b-ink);
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_text {
	margin-top: 2px;
	font-size: 14px;
	color: var(--b-muted);
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_days {
	margin-top: 10px;
	font-family: montserrat-medium, system-ui, sans-serif;
	font-size: 13.5px;
	color: var(--b-text);
}

/* Fiyat */
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price {
	margin-top: 18px;
	font-variant-numeric: tabular-nums;
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price_top {
	gap: 8px;
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price_top_left {
	font-family: montserrat-medium, system-ui, sans-serif;
	font-size: 14px;
	color: var(--b-muted);
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price_top_right,
.reservation_carSelect .reservation_carSelect_right_box:hover .reservation_carSelect_right_box_left_top_right_price_top_right {
	margin: 0 !important;
	padding: 2px 8px;
	border-radius: 999px;
	background-color: var(--b-tint);
	font-size: 12.5px;
	color: var(--b-red);
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price_bottom {
	margin-top: 2px;
	font-size: 26px;
	line-height: 1.2;
	color: var(--b-ink);
}
.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price_bottom span:last-child {
	display: inline-block;
	white-space: nowrap;   /* "/ Gun" tek parca kalsin */
	font-family: montserrat-medium, system-ui, sans-serif;
	font-size: 14px;
	color: var(--b-muted);
}
/* Masaustu: 280px gorsel fiyat sutununu ~186px'e sikistiriyordu */
@media screen and (min-width: 1240px) {
	.reservation_carSelect .reservation_carSelect_right_box_left_top_left { width: 230px; }
	.reservation_carSelect .reservation_carSelect_right_box_left_top_right { width: calc(100% - 250px); }
}

/* --- 2c. Odeme butonlari ---------------------------------------------------
   Birincil: Simdi Ode (dolu kirmizi). Ikincil: Ofiste Ode (cerceveli).
   display yazilmaz -- satir ici gizleme calismaya devam etmeli. */
.reservation_carSelect .reservation_carSelect_right_box_left_bottom {
	margin-top: 20px;
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left,
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right {
	box-sizing: border-box;
	padding: 11px 14px;
	border-radius: 10px !important;
	text-decoration: none;
	transition: background-color .18s var(--b-ease), border-color .18s var(--b-ease), filter .18s var(--b-ease);
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left {
	border: 1.5px solid var(--b-red);
	background-color: var(--b-red);
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left:hover {
	background-color: var(--b-red);
	filter: brightness(.92);
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right {
	border: 1.5px solid var(--b-line-2);
	background-color: #fff;
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right:hover {
	border-color: var(--b-ink);
	background-color: var(--b-soft);
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left:focus-visible,
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right:focus-visible {
	outline: 2px solid var(--b-ink);
	outline-offset: 2px;
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left:active,
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right:active {
	transform: translateY(1px);
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left_title,
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right_title {
	font-size: 13px;
	line-height: 1.35;
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left_total,
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right_total {
	margin-top: 1px;
	font-size: 20px;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
}
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right_title,
.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right_total {
	color: var(--b-ink);
}
@media screen and (min-width: 480px) {
	.reservation_carSelect .reservation_carSelect_right_box_left_bottom { gap: 10px; }
	.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left,
	.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right {
		width: calc(50% - 5px) !important;
	}
}
@media screen and (max-width: 479px) {
	.reservation_carSelect .reservation_carSelect_right_box_left_bottom .reservation_payment_right_wrapper_pay_bottom_left:not(:last-child) {
		margin-bottom: 8px;
	}
}

/* --- 2d. Ozellikler ve kosullar ------------------------------------------- */
.reservation_carSelect .reservation_carSelect_right_box_right_top_title,
.reservation_carSelect .reservation_carSelect_right_box_right_bottom_title {
	margin-bottom: 8px;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 13.5px;
	color: var(--b-ink);
}
.reservation_carSelect .reservation_carSelect_right_box_right_top_list,
.reservation_carSelect .reservation_carSelect_right_box_right_bottom_list {
	--carOptions-gap: 6px 16px;
}
.reservation_carSelect .reservation_carSelect_right_box_right_top_list > li,
.reservation_carSelect .reservation_carSelect_right_box_right_bottom_list > li {
	min-height: 26px;
	font-size: 13.5px;
	color: var(--b-text);
}
.reservation_carSelect .reservation_carSelect_right_box_right_top_list_icon,
.reservation_carSelect .reservation_carSelect_right_box_right_bottom_list_icon {
	flex: none;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	margin-inline-end: 8px !important;
	background: transparent !important;
	opacity: .65;
}
.reservation_carSelect .reservation_carSelect_right_box_right_bottom {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--b-line);
}
/* Depozito: ACL-08 "seffaf depozito" -- kosullar icinde tek vurgulu satir.
   :has desteklenmeyen tarayicida sade satir olarak kalir. */
.reservation_carSelect .reservation_carSelect_right_box_right_bottom_list > li:has(img[src*="money"]) {
	grid-column: 1 / -1;
	margin-top: 4px;
	padding: 6px 10px;
	border-radius: 8px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--b-line);
	font-family: montserrat-semibold, system-ui, sans-serif;
	color: var(--b-ink);
}

/* --- 2e. Sonuc yok -------------------------------------------------------- */
#arac_secimi_no_car {
	box-sizing: border-box;
	width: 100%;
	padding: 36px 24px;
	border: 1px dashed var(--b-line-2);
	border-radius: var(--b-r);
	font-size: 15px;
	color: var(--b-text);
	text-align: center;
}

/* --- 2f. Mobil ------------------------------------------------------------ */
@media screen and (max-width: 767px) {
	.reservation_carSelect .reservation_carSelect_right_box_left,
	.reservation_carSelect .reservation_carSelect_right_box_right {
		padding: 16px;
	}
	.reservation_carSelect .reservation_carSelect_right_box_right {
		border-inline-start: 0 !important;
		border-top: 1px solid var(--b-line) !important;
	}
	.reservation_carSelect .reservation_carSelect_right_box_left_top_left {
		height: 150px;
	}
	.reservation_carSelect .reservation_carSelect_right_box_left_top_right {
		margin-top: 12px;
	}
	.reservation_carSelect .reservation_carSelect_right_box_left_top_right_price {
		margin-top: 12px;
	}
	.reservation_carSelect .reservation_carSelect_right_box_right_top_list,
	.reservation_carSelect .reservation_carSelect_right_box_right_bottom_list {
		--carOptions-gap: 4px 12px;
	}
}

/* Filtre ac/kapa dugmesi (yalniz arac secimi; :has yoksa eski gorunum) */
.reservation:has(> .reservation_carSelect) > .reservation_mobileButton {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 46px;
	border: 1.5px solid var(--b-line-2, #d6d0d0);
	border-radius: 10px;
	background: #fff;
	font-family: montserrat-semibold, system-ui, sans-serif;
	color: #2b2626;
}
.reservation:has(> .reservation_carSelect) > .reservation_mobileButton::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==========================================================================
   3. ARAC SECIMI UST CUBUGU  (adimlar + arama ozeti + DEGISTIR) -- YAPISKAN
   Once: 79px koyu gri bant sayfayla birlikte kayboluyordu; asagidayken
   ofis/tarih degistirmek icin en uste donmek gerekiyordu.
   Simdi: beyaz, yuvarlak koseli kart; asagi inince ustte sabit kalir.
   KAPSAM: banner'dan sonra .reservation gelen uc rezervasyon adimi -- Arac
   Secimi, Sigorta & Ek Hizmetler, Odeme (baska sayfada .reservation yok;
   14.09 grep). Adim degisince gorunum ayni kalsin. :has yoksa eski bant kalir.
   DEGISTIR paneli (Turev JS'i .active ekler) cubugun altinda acilir; ekrana
   sigmazsa kendi icinde kayar -- "Hemen Kirala" dugmesi hep ulasilabilir.
   ========================================================================== */
.banner:has(~ .subContent .reservation) {
	position: sticky;
	z-index: 60;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle_title {
	font-family: montserrat-bold, system-ui, sans-serif;
	color: #2b2626;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle_date {
	font-family: montserrat-medium, system-ui, sans-serif;
	color: #857f7f;
	font-variant-numeric: tabular-nums;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_button {
	border: 1.5px solid var(--color-1, #ED1C24);
	border-radius: 999px;
	background: #fff;
	font-family: montserrat-bold, system-ui, sans-serif;
	color: var(--color-1, #ED1C24);
	transition: background-color .18s ease-out, color .18s ease-out;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_button:hover {
	background: var(--color-1, #ED1C24);
	color: #fff;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_button:focus-visible {
	outline: 2px solid #2b2626;
	outline-offset: 2px;
}
/* Acilan panel: koyu kutu yerine beyaz kart */
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box {
	box-sizing: border-box;
	max-height: calc(100vh - 140px);
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 1px solid #e6e2e2;
	background: #fff !important;
	box-shadow: 0 24px 60px rgba(20, 16, 16, .18) !important;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box_form_field label {
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 13px !important;
	color: #2b2626 !important;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box .showcase_reservation_form_inner_field_bottom_select,
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box .showcase_reservation_form_inner_field_bottom_date,
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box .showcase_reservation_form_inner_field_bottom_time {
	border: 1px solid #d6d0d0 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
}
.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box_form_field button {
	min-height: 48px;
	border-radius: 12px;
	background-color: var(--color-1, #ED1C24);
}
/* Kapat (X) ikonu koyu zemin icin beyaz cizilmis */
.banner:has(~ .subContent .reservation) .banner_bottom_inner .closedChanges {
	filter: brightness(0) opacity(.55);
}

/* --- 3a. Masaustu: ortalanmis yuzen kart --------------------------------- */
@media screen and (min-width: 1240px) {
	.banner:has(~ .subContent .reservation) {
		top: -4px;                 /* 16px ic dolgu -> kart ekranin 12px altinda */
		padding: 16px 0 6px;
		pointer-events: none;      /* kartin iki yanindaki bos alan tiklamayi yutmasin */
	}
	.banner:has(~ .subContent .reservation) .banner_bottom {
		height: auto;
		background: transparent;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner {
		box-sizing: border-box;
		min-height: 68px;
		padding: 10px 12px 10px 16px;
		border: 1px solid #e6e2e2;
		border-radius: 18px;
		background: #fff;
		box-shadow: 0 1px 2px rgba(20, 16, 16, .04), 0 10px 30px rgba(20, 16, 16, .09);
		pointer-events: auto;
	}
	/* Adimlar: 36px daire ikon, aralarinda ince cizgi */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li {
		display: flex;
		align-items: center;
		margin: 0 !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li:not(:last-child)::after {
		content: "";
		width: 28px;
		height: 1px;
		margin: 0 10px;
		background: #d6d0d0;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li a {
		gap: 10px;
		opacity: 1 !important;
		cursor: default;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_icon,
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li a:hover .banner_bottom_inner_list_icon {
		box-sizing: border-box;
		width: 36px;
		height: 36px;
		padding: 9px;
		border: 1px solid #e6e2e2;
		background: #fff;
		filter: none;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_icon img {
		filter: brightness(0) opacity(.5);   /* ikonlar koyu zemin icin beyaz */
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li.active .banner_bottom_inner_list_icon {
		border-color: var(--color-1, #ED1C24);
		background: var(--color-1, #ED1C24);
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li.active .banner_bottom_inner_list_icon img {
		filter: brightness(0) invert(1);
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_title {
		margin: 0 !important;
		font-size: 13px;
		line-height: 1.3;
		color: #857f7f;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li.active .banner_bottom_inner_list_title {
		color: #2b2626;
	}
	/* Sigorta/Odeme adimlarinda rozet alt bilgisi (arac, gun x fiyat, toplam) */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_title div {
		margin-top: 1px;
		font-family: montserrat-medium, system-ui, sans-serif;
		font-size: 12px;
		line-height: 1.3;
		color: #857f7f;
		white-space: nowrap;
		font-variant-numeric: tabular-nums;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list li.active .banner_bottom_inner_list_title div {
		color: var(--color-1, #ED1C24);
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_title br {
		display: none;
	}
	/* Ozet + DEGISTIR */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes {
		gap: 12px;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_icon {
		box-sizing: border-box;
		width: 40px;
		height: 40px;
		padding: 10px;
		border: 0;
		border-radius: 12px;
		background: #f3f1f1;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_icon img {
		filter: grayscale(1) brightness(.4);   /* turuncu pin -> notr */
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle {
		margin: 0;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle_title {
		font-size: 15px;
		line-height: 1.3;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle_date {
		font-size: 13px;
		line-height: 1.35;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_button {
		margin: 0;
		margin-inline-start: 6px;
		padding: 9px 18px;
		font-size: 13px;
		line-height: 1.2;
	}
	/* Mantiksal konum: AR'da panel ve X kartin sol kenarina hizalanir */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box {
		top: calc(100% + 16px);
		right: auto;
		left: auto;
		inset-inline-end: -12px;
		min-width: 400px;
		padding: 24px 22px 20px;
		border-radius: 18px;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner .closedChanges {
		top: calc(100% + 34px);
		right: auto;
		inset-inline-end: 10px;
	}
}

/* --- 3b. Mobil/tablet: baslik cubugunun (58px) altina yapisan kompakt bant - */
@media screen and (max-width: 1239px) {
	.banner:has(~ .subContent .reservation) {
		top: 58px;                 /* castle-mobile.css yapiskan baslik yuksekligi */
		z-index: 800;              /* baslik (900) ve menuleri ustte kalir */
	}
	.banner:has(~ .subContent .reservation) .banner_bottom {
		padding: 0 !important;
		border-bottom: 1px solid #e6e2e2 !important;
		background: #fff !important;
		box-shadow: 0 6px 16px rgba(20, 16, 16, .06);
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list {
		padding: 8px 12px 0 !important;
		gap: 6px;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li > a {
		min-height: 32px;
		padding: 0 11px !important;
	}
	/* Adim seridi: mevcut adim acik, digerleri yalniz ikon dairesi.
	   Sigorta/Odeme adimlarinda rozetler iki satir bilgi tasiyordu; serit
	   tasiyor, aktif adim ekrandan cikiyor, aktif rozetteki kirmizi alt
	   bilgi kirmizi zeminde kayboluyordu. Basliklar DOM'da kalir (ekran okuyucu). */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list {
		overflow: visible !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li:not(.active) {
		flex: none;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li:not(.active) > a {
		justify-content: center;
		width: 34px;
		min-height: 34px;
		padding: 0 !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li:not(.active) .banner_bottom_inner_list_title {
		position: absolute !important;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li.active {
		flex: 0 1 auto;
		min-width: 0;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li.active > a {
		min-width: 0;
		min-height: 34px;
		padding: 3px 14px 3px 8px !important;
	}
	/* Baslik ustte, bilgi (toplam tutar) altta: tek satirda tutar ekrandan tasiyordu */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list > li.active .banner_bottom_inner_list_title {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
		min-width: 0;
		line-height: 1.15 !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_title div {
		font-family: montserrat-medium, system-ui, sans-serif;
		font-size: 11.5px;
		color: rgba(255, 255, 255, .85) !important;
		font-variant-numeric: tabular-nums;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_list_title br {
		display: none;
	}
	/* Tek satir: ozet solda, DEGISTIR sagda */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes {
		box-sizing: border-box;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 10px;
		width: 100% !important;
		margin: 0 !important;
		padding: 8px 12px 10px !important;
		border-top: 0 !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_icon {
		display: none !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle {
		flex: 1;
		min-width: 0;
		margin: 0 !important;
		text-align: start !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle_title {
		overflow: hidden;
		margin-bottom: 1px !important;
		font-size: 14px !important;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_middle_date {
		font-size: 12px !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_button {
		flex: none;
		margin: 0 !important;
		padding: 8px 14px !important;
		font-size: 12.5px;
		line-height: 1.2;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box {
		top: calc(100% + 4px) !important;
		right: 12px !important;
		left: 12px !important;
		width: auto !important;
		max-height: calc(100vh - 190px);
		max-height: calc(100dvh - 190px);
		padding: 22px 16px 16px !important;
		border-radius: 16px !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner .closedChanges {
		top: calc(100% + 20px) !important;
		right: auto !important;
		inset-inline-end: 26px !important;
	}
	/* castle-mobile.css dugmeyi height/line-height 46px ile sabitliyor:
	   "<div>Hemen</div> Kirala" ikinci satiri dugmenin disina tasiyordu
	   (koyu panelde beyaz yazi gorunuyordu, beyaz panelde kayboldu). */
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box_form_field button {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1px;
		height: auto !important;
		min-height: 52px;
		padding: 8px 16px !important;
		line-height: 1.2 !important;
	}
	.banner:has(~ .subContent .reservation) .banner_bottom_inner_changes_box_form_field button div {
		font-size: 12px;
		line-height: 1.2;
		opacity: .9;
	}
}

/* ==========================================================================
   4-5. SIGORTA & EK HIZMETLER  ve  ODEME ADIMLARI
   Rezervasyon.aspx ve Odeme.aspx Turev dosyalari -- yalniz gorunum.
   DOKUNULMAYAN: display (JS #Payment_Top / #Payment_Container'i gizleyip
   aciyor), .creditcard / .flipped / .preload (kart onizleme animasyonu),
   sayac dugmelerinin konumu (.dec / .inc), .removeButton, onay kutusu cizimi.
   Odeme dugmeleri .reservation_payment altinda kapsanir: ayni sinif adlari
   Arac Secimi kartlarinda da var (bolum 2c).
   ========================================================================== */
.reservation {
	--r-ink:    #2b2626;
	--r-text:   #5a5555;
	--r-muted:  #857f7f;
	--r-ph:     #767070;   /* yer tutucu: beyazda 4.5:1 ustu */
	--r-line:   #e6e2e2;
	--r-line-2: #d6d0d0;
	--r-soft:   #f8f7f7;
	--r-red:    var(--color-1, #ED1C24);
	--r-sh:     0 1px 2px rgba(20,16,16,.04), 0 4px 14px rgba(20,16,16,.05);
}

/* --- 4. Sigorta & Ek Hizmetler ------------------------------------------- */
/* Ek Hizmetler listesi 10px iceriden basliyordu; ust listeyle hizasizdi */
.reservation .reservation_services_bottom {
	margin-top: 44px;
	padding: 0;
}
/* overflow:hidden KONMAZ: (i) aciklamasi (snappy [tooltip]::after) satirin
   disina tasar; kesilince bos koyu serit kaliyordu (15.09 bildirim). */
.reservation .reservation_services_bottom_list li {
	border-color: var(--r-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--r-sh);
}
/* Acik aciklama alttaki kartin ustunde kalsin */
.reservation .reservation_services_bottom_list li:has([tooltip]:hover) {
	position: relative;
	z-index: 5;
}
.reservation .reservation_services_bottom_list li:not(:last-child) {
	margin-bottom: 12px;
}
.reservation .reservation_services_bottom_list_left {
	box-sizing: border-box;
	padding: 18px 24px;
}
/* Baslik duz metin, (i) metnin hemen ardinda: iki satira inen basliklarda
   flex yuzunden ikon satirin sag ucuna kaciyordu */
.reservation .reservation_services_bottom_list_left_title {
	display: block;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.35;
	color: var(--r-ink);
}
.reservation .reservation_services_bottom_list_left_title .infoIcon {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0;
	margin-inline-start: 6px;
	vertical-align: -3px;
}
.reservation .reservation_services_bottom_list_left_value {
	font-size: 14px;
	color: var(--r-text);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.reservation .reservation_services_bottom_list_right {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: 164px;
	margin: 0;
	padding: 0 20px;
	border-left: 0;
	border-inline-start: 1px solid var(--r-line);
}
.reservation .reservation_services_bottom_list_right .cart-plus-minus {
	box-sizing: border-box;
	width: 124px;
	height: 42px;
	padding: 0 40px;
	overflow: hidden;
	border: 1px solid var(--r-line-2);
	border-radius: 999px;
	background: #fff;
}
.reservation .reservation_services_bottom_list_right .cart-plus-minus input {
	width: 100%;
	background: transparent;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 16px;
	color: var(--r-ink);
	font-variant-numeric: tabular-nums;
}
.reservation .reservation_services_bottom_list_right .dec,
.reservation .reservation_services_bottom_list_right .inc {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	font-family: montserrat-medium, system-ui, sans-serif;
	font-size: 20px;
	line-height: 1;
	color: var(--r-ink);
	user-select: none;
	transition: background-color .15s ease-out;
}
.reservation .reservation_services_bottom_list_right .dec:hover,
.reservation .reservation_services_bottom_list_right .inc:hover {
	background: var(--r-soft);
}
.reservation .reservation_services_bottom_list_right .dec:active,
.reservation .reservation_services_bottom_list_right .inc:active {
	background: #efecec;
}
/* AR: Rezervasyon.aspx basliga satir ici float:left veriyor, RTL'de
   aynalanmiyor; saga yasli baslik metni "Devam" dugmesine yapisiyordu
   (eski halde de vardi). AR sayfasinda dir niteligi yok -> lang ile. */
html[lang="ar"] .reservation > div:first-child:has(+ .reservation_services) > h2 {
	float: right !important;
}
/* "Rezervasyona Devam Et" */
.reservation .reservation_services_bottom_button a {
	border-radius: 12px;
	padding: 13px 28px;
	background-color: var(--r-red);
	box-shadow: 0 6px 16px rgba(237, 28, 36, .22);
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 15px;
	transition: filter .15s ease-out;
}
.reservation .reservation_services_bottom_button a:hover {
	background-color: var(--r-red);
	filter: brightness(.93);
}
.reservation .reservation_services_bottom_button a:focus-visible {
	outline: 2px solid var(--r-ink);
	outline-offset: 2px;
}
@media screen and (max-width: 767px) {
	.reservation .reservation_services_bottom {
		margin-top: 32px;
	}
	/* Mobilde tek satir: baslik + fiyat solda, sayac sagda (once 110px yigin) */
	.reservation .reservation_services_bottom_list li {
		flex-direction: row !important;
		align-items: center;
	}
	.reservation .reservation_services_bottom_list_left {
		flex: 1;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: center !important;
		gap: 3px;
		min-width: 0;
		width: auto !important;
		padding: 14px 8px 14px 16px;
		text-align: start;
	}
	.reservation .reservation_services_bottom_list_left_title {
		justify-content: flex-start;
		font-size: 14px;
	}
	.reservation .reservation_services_bottom_list_left_value {
		margin-top: 0 !important;
		font-size: 13px;
	}
	.reservation .reservation_services_bottom_list_right {
		width: auto;
		padding: 0 12px 0 0;
		padding-inline: 0 12px;
		border-inline-start: 0;
	}
	.reservation .reservation_services_bottom_list_right .cart-plus-minus {
		width: 112px;
		height: 40px;
		padding: 0 36px;
	}
	.reservation .reservation_services_bottom_list_right .dec,
	.reservation .reservation_services_bottom_list_right .inc {
		width: 36px;
	}
}

/* --- 5. Odeme --------------------------------------------------------------- */
/* Sol: arac + fiyat ozeti (makbuz) */
.reservation .reservation_payment_left {
	border-color: var(--r-line);
	border-radius: 16px;
	padding: 22px;
	background: #fff;
	box-shadow: var(--r-sh);
}
@media screen and (min-width: 1240px) {
	/* yapiskan ust kartin (12px + 68px) altinda kalsin */
	.reservation .reservation_payment_left { top: 100px; }
}
.reservation .reservation_payment_left_top {
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--r-line);
}
.reservation .reservation_payment_left_top_left img {
	mix-blend-mode: multiply;
}
.reservation .reservation_payment_left_top .reservation_payment_left_top_right_title {
	font-size: 18px;
	line-height: 1.3;
	color: var(--r-ink);
}
.reservation .reservation_payment_left_top_right_text {
	font-size: 14px;
	color: var(--r-muted);
}
.reservation .reservation_payment_left_middle_left_title,
.reservation .reservation_payment_left_middle_right_title,
.reservation .reservation_payment_left_bottom_title,
.reservation .reservation_payment_left_bottom_total_title {
	margin-bottom: 8px;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 13.5px;
	color: var(--r-ink);
}
.reservation .reservation_payment_left_middle_right {
	margin-top: 18px;
}
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_top_list,
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_bottom_list {
	--carOptions-gap: 6px 16px;
}
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_top_list > li,
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_bottom_list > li {
	min-height: 26px;
	font-size: 13.5px;
	color: var(--r-text);
}
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_top_list_icon,
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_bottom_list_icon {
	flex: none;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	margin-inline-end: 8px !important;
	padding: 0 !important;
	background: transparent !important;
	opacity: .65;
}
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_top_list_icon img,
.reservation .reservation_payment_left .reservation_carSelect_right_box_right_bottom_list_icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.reservation .reservation_payment_left_bottom {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--r-line);
}
.reservation .reservation_payment_left_bottom_days {
	flex-direction: row !important;
	align-items: baseline;
	gap: 12px;
	margin: 0 !important;
	padding: 9px 0;
	border: 0;
	border-bottom: 1px dashed var(--r-line-2);
	border-radius: 0;
	background: transparent;
	text-align: start;
}
.reservation .reservation_payment_left_bottom_days_left {
	font-size: 14px;
	color: var(--r-text);
}
.reservation .reservation_payment_left_bottom_days_right {
	margin-inline-start: auto;
	font-size: 14px;
	color: var(--r-ink);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.reservation .reservation_payment_left_bottom_total {
	margin-top: 18px;
}
.reservation .reservation_payment_left_bottom_total_value {
	margin-top: 12px;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--r-soft);
	box-shadow: inset 0 0 0 1px var(--r-line);
	color: var(--r-ink);
	font-variant-numeric: tabular-nums;
}

/* Sag: kiralayan bilgileri + odeme */
.reservation .reservation_payment_right {
	border-color: var(--r-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--r-sh);
}
.reservation .reservation_payment_right_wrapper:not(:last-child) {
	margin-bottom: 8px;
}
.reservation .reservation_payment_right_wrapper_info_title,
.reservation .reservation_payment_right_wrapper_pay_title {
	height: auto;
	min-height: 56px;
	padding: 0 24px;
	border-bottom: 1px solid var(--r-line);
	background: transparent;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 16px;
	color: var(--r-ink);
}
.reservation .reservation_payment_right_wrapper_info_title {
	border-radius: 16px 16px 0 0;
}
.reservation .reservation_payment_right_wrapper_pay_title {
	border-top: 1px solid var(--r-line);
	border-radius: 0;
}
.reservation .reservation_payment_right_wrapper_info_form_inner {
	--paymentForm-gap: 16px 18px;
	padding: 22px 24px;
}
.reservation .reservation_payment_right_wrapper_info_form_inner_field label,
.reservation .reservation_payment_right_wrapper_pay_top label {
	margin-bottom: 6px;
	font-family: montserrat-semibold, system-ui, sans-serif;
	font-size: 13px;
	color: var(--r-ink);
}
.reservation .reservation_payment_right_wrapper_info_form_inner_field input,
.reservation .reservation_payment_right_wrapper_info_form_inner_field textarea,
.reservation .reservation_payment_right_wrapper_pay_top input {
	box-sizing: border-box;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--r-line-2);
	border-radius: 10px;
	background: #fff;
	font-family: montserrat-medium, system-ui, sans-serif;
	font-size: 16px;               /* 16px alti iOS'ta odaklaninca sayfayi yakinlastirir */
	color: var(--r-ink);
	transition: border-color .15s ease-out, box-shadow .15s ease-out;
}
.reservation .reservation_payment_right_wrapper_info_form_inner_field textarea {
	height: 116px;
	padding: 12px 14px;
}
.reservation .reservation_payment_right_wrapper_info_form_inner_field input::placeholder,
.reservation .reservation_payment_right_wrapper_info_form_inner_field textarea::placeholder,
.reservation .reservation_payment_right_wrapper_pay_top input::placeholder {
	color: var(--r-ph);
}
.reservation .reservation_payment_right_wrapper_info_form_inner_field input:focus,
.reservation .reservation_payment_right_wrapper_info_form_inner_field textarea:focus,
.reservation .reservation_payment_right_wrapper_pay_top input:focus {
	outline: none;
	border-color: var(--r-red);
	box-shadow: 0 0 0 3px rgba(237, 28, 36, .14);
}
/* Sozlesme onayi: sablon onay kutusu degiskenleri #E27006 sabit */
.reservation .reservation_payment input[type="checkbox"] {
	--active: var(--r-red);
	--border-hover: var(--r-red);
	--border: var(--r-line-2);
}
.reservation .reservation_payment_right_wrapper_pay_middle_list {
	margin: 18px 0;
	padding: 0 24px;
}
.reservation .reservation_payment_right_wrapper_pay_middle_list li label {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--r-text);
}
.reservation .reservation_payment_right_wrapper_pay_middle_list li a {
	color: var(--r-ink);
	text-decoration-color: var(--r-red);
	text-underline-offset: 3px;
}
/* Odeme dugmeleri: Arac Secimi kartlariyla ayni dil. display yazilmaz. */
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom {
	gap: 10px;
	padding: 4px 24px 24px;
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_left,
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right {
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	padding: 12px 14px;
	border-radius: 12px;
	text-decoration: none;
	transition: filter .15s ease-out, background-color .15s ease-out, border-color .15s ease-out;
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_left {
	border: 1.5px solid var(--r-red);
	background-color: var(--r-red);
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_left:hover {
	background-color: var(--r-red);
	filter: brightness(.92);
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right {
	border: 1.5px solid var(--r-line-2);
	background-color: #fff;
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right:hover {
	border-color: var(--r-ink);
	background-color: var(--r-soft);
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_left:focus-visible,
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right:focus-visible {
	outline: 2px solid var(--r-ink);
	outline-offset: 2px;
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_left_title,
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right_title {
	font-size: 13px;
	line-height: 1.35;
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_left_total,
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right_total {
	margin-top: 1px;
	font-size: 20px;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
}
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right_title,
.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom_right_total {
	color: var(--r-ink);
}
@media screen and (max-width: 767px) {
	.reservation .reservation_payment_left { padding: 18px; }
	.reservation .reservation_payment_right_wrapper_info_title,
	.reservation .reservation_payment_right_wrapper_pay_title { padding: 0 18px; }
	.reservation .reservation_payment_right_wrapper_info_form_inner { padding: 18px; }
	.reservation .reservation_payment_right_wrapper_pay_middle_list { padding: 0 18px; }
	.reservation .reservation_payment .reservation_payment_right_wrapper_pay_bottom { padding: 4px 18px 18px; }
}

/* ==========================================================================
   6. FILOMUZ  (AracFilomuz.aspx -- /carlist)  -- MASAUSTU
   Once: kirmizi baslik seridinin altinda 79px koyu gri filtre bandi; kartlar
   ayri ayri cerceveli gri bloklar, kirmizi ortali baslik, koyu indirim kutusu.
   Simdi: filtreler beyaz yuvarlak kartta hap dugmeler (asagi inince ustte
   kalir); kartlar Arac Secimi kartlariyla ayni dil.
   Mobil/tablet (<1240): castle-mobile.css'teki kart tasarimi aynen korunur.
   Secili filtre: Turev isaretlemiyor. castle-booking.js (masaustu) ve
   castle-mobile.js (mobil) ayni "m-secili" sinifini kullanir.
   Kart gizleme Turev'in selectAutoClass() islevinde; burada display'e
   yalniz kartin ICINDE dokunulur.
   ========================================================================== */
@media screen and (min-width: 1240px) {
	/* Kirmizi baslik seridi (79px) kayip gider, filtre karti ekranin 12px altinda kalir */
	.banner:has(~ .subContent .cars_list) {
		position: sticky;
		top: -83px;
		z-index: 60;
		pointer-events: none;
	}
	.banner:has(~ .subContent .cars_list) .banner_top {
		pointer-events: auto;
	}
	.banner:has(~ .subContent .cars_list) .banner_bottom {
		height: auto;
		padding: 16px 0 6px;
		background: transparent;
	}
	.banner:has(~ .subContent .cars_list) .banner_bottom_inner {
		box-sizing: border-box;
		min-height: 64px;
		padding: 10px 12px;
		border: 1px solid #e6e2e2;
		border-radius: 18px;
		background: #fff;
		box-shadow: 0 1px 2px rgba(20, 16, 16, .04), 0 10px 30px rgba(20, 16, 16, .09);
		pointer-events: auto;
	}
	#cars_group_ul {
		flex-wrap: wrap;
		gap: 8px;
	}
	#cars_group_ul > li {
		margin: 0 !important;
	}
	#cars_group_ul > li > a {
		display: flex;
		align-items: center;
		gap: 8px;
		height: 42px;
		padding: 0 16px 0 5px;
		border: 1px solid #e6e2e2;
		border-radius: 999px;
		background: #fff;
		opacity: 1 !important;
		transition: border-color .15s ease-out, background-color .15s ease-out;
	}
	#cars_group_ul > li > a:hover {
		border-color: #2b2626;
	}
	#cars_group_ul > li > a:focus-visible {
		outline: 2px solid #2b2626;
		outline-offset: 2px;
	}
	#cars_group_ul .banner_bottom_inner_list_icon,
	#cars_group_ul > li > a:hover .banner_bottom_inner_list_icon {
		box-sizing: border-box;
		flex: none;
		width: 32px;
		height: 32px;
		padding: 7px;
		border: 0;
		border-radius: 50%;
		background: #f3f1f1;
		filter: none;
	}
	#cars_group_ul .banner_bottom_inner_list_icon img {
		filter: brightness(0) opacity(.6);   /* ikonlar koyu zemin icin beyaz */
	}
	#cars_group_ul .banner_bottom_inner_list_title {
		margin: 0;
		font-family: montserrat-semibold, system-ui, sans-serif;
		font-size: 13.5px;
		line-height: 1;
		color: #2b2626;
	}
	#cars_group_ul > li.m-secili > a,
	#cars_group_ul > li.active > a {
		border-color: var(--color-1, #ED1C24);
		background: var(--color-1, #ED1C24);
	}
	#cars_group_ul > li.m-secili .banner_bottom_inner_list_icon,
	#cars_group_ul > li.active .banner_bottom_inner_list_icon {
		background: rgba(255, 255, 255, .2);
	}
	#cars_group_ul > li.m-secili .banner_bottom_inner_list_icon img,
	#cars_group_ul > li.active .banner_bottom_inner_list_icon img {
		filter: brightness(0) invert(1);
	}
	#cars_group_ul > li.m-secili .banner_bottom_inner_list_title,
	#cars_group_ul > li.active .banner_bottom_inner_list_title {
		color: #fff;
	}

	/* Kartlar */
	.cars_list {
		--carList-gap: 24px 20px;
	}
	.cars_list > li {
		display: flex;
		flex-direction: column;
		overflow: hidden;
		border: 1px solid #e6e2e2;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 1px 2px rgba(20, 16, 16, .04), 0 4px 14px rgba(20, 16, 16, .05);
		transition: box-shadow .2s ease-out, border-color .2s ease-out, transform .2s ease-out;
	}
	/* selectAutoClass() gorunen karta satir ici display:unset yaziyor (unset =
	   inline -> dugmeler dibe hizalanmaz). Yalniz "unset" olanlar geri alinir;
	   display:none olan gizli kartlara dokunulmaz. */
	.cars_list > li[style*="unset"] {
		display: flex !important;
	}
	.cars_list > li:hover {
		border-color: #d6d0d0;
		box-shadow: 0 2px 4px rgba(20, 16, 16, .05), 0 14px 32px rgba(20, 16, 16, .10);
		transform: translateY(-2px);
	}
	/* snappy'nin ".cars_list li:hover {scale}" kurali ic listelere de isliyordu */
	.cars_list > li li,
	.cars_list > li li:hover {
		transform: none;
		transition: none;
	}
	.cars_list_top,
	.cars_list > li:hover .cars_list_top {
		border: 0;
		border-radius: 0;
		background: linear-gradient(180deg, #fff 0%, #f3f2f2 100%);
	}
	.cars_list_top_img {
		box-sizing: border-box;
		height: 176px;
		padding: 14px 18px;
	}
	.cars_list_top_img img {
		mix-blend-mode: multiply;   /* PNG'lerin beyaz zemini yumusar */
	}
	.cars_list_top_title,
	.cars_list > li:hover .cars_list_top_title {
		padding: 14px 18px 12px;
		border: 0;
		background: transparent;
		font-size: 18px;
		line-height: 1.3;
		color: #2b2626;
		text-align: start;
	}
	.cars_list_top_title div {
		margin-top: 2px;
		font-size: 13.5px;
		color: #857f7f;
	}
	.cars_list_top_middle,
	.cars_list_top_bottom {
		padding: 12px 18px;
		border: 0;
		border-top: 1px solid #e6e2e2;
		border-radius: 0;
	}
	.cars_list_top_middle,
	.cars_list_top_bottom,
	.cars_list > li:hover .cars_list_top_middle,
	.cars_list > li:hover .cars_list_top_bottom {
		background: transparent;
	}
	.cars_list_top_middle_title,
	.cars_list_top_bottom_title {
		margin-bottom: 8px;
		font-family: montserrat-semibold, system-ui, sans-serif;
		font-size: 12.5px;
		color: #2b2626;
	}
	/* Ozellikler madde listesi yerine yonga dizisi (mobil kartlarla ayni) */
	.cars_list_top_middle_list,
	.cars_list_top_bottom_list {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
	}
	.cars_list_top_middle_list > li,
	.cars_list_top_bottom_list > li {
		margin: 0 !important;
		padding: 4px 10px 4px 7px;
		border-radius: 999px;
		background: #f6f5f5;
		box-shadow: inset 0 0 0 1px #ebe7e7;
		font-size: 12.5px;
		line-height: 1.3;
		color: #4a4545;
	}
	.cars_list_top_middle_list_icon,
	.cars_list_top_bottom_list_icon {
		flex: none;
		width: 15px;
		height: 15px;
		margin: 0;
		margin-inline-end: 6px;
		background: transparent;
	}
	.cars_list_top_middle_list_icon img,
	.cars_list_top_bottom_list_icon img {
		width: 15px;
		height: 15px;
		opacity: .65;
	}
	/* Dugmeler kartin dibine hizali */
	.cars_list_buttons {
		gap: 8px;
		margin: auto 0 0;
		padding: 12px 18px 18px;
	}
	.cars_list_buttons_button.content_campaign_inner_list_bottom_title {
		flex: 1;
		width: auto;
		height: 46px;
		border-radius: 10px;
		background-color: var(--color-1, #ED1C24);
		transition: filter .15s ease-out;
	}
	.cars_list_buttons_button.content_campaign_inner_list_bottom_title:hover {
		background-color: var(--color-1, #ED1C24);
		filter: brightness(.93);
	}
	.cars_list_buttons_button.content_campaign_inner_list_bottom_title:focus-visible {
		outline: 2px solid #2b2626;
		outline-offset: 2px;
	}
	.cars_list_buttons_discount.content_campaign_inner_list_bottom_discount {
		flex: none;
		width: auto;
		min-width: 88px;
		height: 46px;
		padding: 4px 10px;
		border-radius: 10px;
		background-color: #fdecec;
	}
	.cars_list_buttons_discount span {
		font-size: 10.5px;
		line-height: 1.2;
		color: var(--color-1, #ED1C24);
	}
}

@media (prefers-reduced-motion: reduce) {
	#search_cars_modal .modal-content:first-child::after {
		animation: none;
		background-position: 50% 0, 0 0;
	}
	.reservation_carSelect .reservation_carSelect_right_box,
	.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_left,
	.reservation_carSelect .reservation_payment_right_wrapper_pay_bottom_right {
		transition: none;
	}
}
