/* Misafire açık rezervasyon: personel ekranlarıyla aynı görsel dil. */
body.online-rezervasyon { height:auto; min-height:100dvh; overflow:auto; align-items:flex-start; background:#f3f5fa; }
.online-rezervasyon .glass-circle-1,.online-rezervasyon .glass-circle-2 { display:none; }
.online-rezervasyon .booking-wrapper { max-width:1140px; height:auto; min-height:0; margin:24px auto; animation:none; }
.online-rezervasyon .main-card { height:auto; border-radius:20px; border-color:#e3e7f0; box-shadow:0 12px 40px #26335308; }
.online-baslik { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 26px; background:linear-gradient(120deg,#172440,#2b3e69); color:#fff; font-size:13px; }
.online-marka { font-size:19px; font-weight:800; letter-spacing:1px; }
.online-marka small { display:block; font-size:10px; font-weight:500; letter-spacing:.4px; opacity:.75; }
.online-rezervasyon .stepper-wrap { padding:20px 24px; box-shadow:none !important; }
.online-rezervasyon .stepper { max-width:760px; }
.online-rezervasyon .step { opacity:1; }
.online-rezervasyon .step-text { text-transform:none; font-size:12px; font-weight:500; letter-spacing:0; color:#7b879a; white-space:nowrap; }
.online-rezervasyon .step.active .step-text { color:#5545b6; font-weight:700; }
.online-rezervasyon .step.completed .step-icon { background:#edf7f1; color:#548a6a; border-color:#d8eade; }
.online-rezervasyon .scrollable-content { overflow:visible; padding:24px; }
.online-rezervasyon .no-scroll { overflow:visible !important; }
.online-rezervasyon .no-scroll > form { margin:0; }
.online-rezervasyon .step-content { animation:none; }
.online-rezervasyon h2 { font-size:24px; }
.online-rezervasyon h4 { font-size:21px; }
.online-rezervasyon #stepContent1 > .text-center { text-align:left !important; margin-bottom:20px !important; }
.online-rezervasyon #stepContent1 > .text-center p { font-size:13px !important; }
.online-rezervasyon .inner-form-card { padding:18px !important; border-radius:14px; box-shadow:none; max-width:none !important; }
.online-rezervasyon .tesis-card { padding:16px 10px; gap:10px; border:1px solid #e0e5ef; border-bottom:3px solid #d9d4ed; border-radius:12px; width:100%; }
.online-rezervasyon .tesis-card:hover { transform:none; background:#faf9ff; box-shadow:none; }
.online-rezervasyon .tesis-card.selected { border-color:#9789d7; background:#f4f1fd; box-shadow:none; }
.online-rezervasyon .tesis-card .tesis-icon { font-size:25px; color:#9185c2; opacity:1; }
.online-rezervasyon .tesis-card .tesis-name { font-size:13px; line-height:1.5; }
.online-rezervasyon .tesis-card .check-badge { font-size:14px; }
.online-rezervasyon .custom-label,.online-rezervasyon .custom-label-lg { font-size:12px !important; text-transform:none; letter-spacing:0; color:#59667b !important; margin-bottom:6px !important; }
.online-rezervasyon .input-wrapper,.online-rezervasyon .input-wrapper-lg { height:42px !important; border-radius:9px !important; border-left-width:1px !important; box-shadow:none; }
.online-rezervasyon .input-wrapper input,.online-rezervasyon .input-wrapper select { font-size:14px; font-weight:500; min-width:0; }
.online-rezervasyon .input-wrapper i { flex-shrink:0; color:#8777bb; }
.online-rezervasyon .input-wrapper-lg i.main-icon { font-size:15px !important; width:36px !important; }
.online-rezervasyon .date-picker-wrapper:hover { transform:none; }
.online-rezervasyon .section-header-title { font-size:15px !important; padding-bottom:10px !important; margin-bottom:14px !important; border-bottom-style:solid; }
.online-rezervasyon .section-icon-box { width:28px !important; height:28px !important; font-size:13px !important; }
.online-rezervasyon .beyan-box { font-size:12px; line-height:1.7; border-radius:10px; padding:12px; background:#fcfaf2; color:#7a7052; border:1px solid #eee5c7; }
.online-rezervasyon .room-card { border:1px solid #e1e5ef; border-left:4px solid #a499d9; border-bottom:3px solid #a499d9; padding:20px; border-radius:14px; box-shadow:none; }
.online-rezervasyon .room-card:hover { transform:none; }
.online-rezervasyon .room-card.selected { border-color:#8472ce; background:#f7f5ff; box-shadow:0 0 0 2px #8573cd15; }
.online-rezervasyon .room-card h6 { font-size:16px !important; line-height:1.4 !important; }
.online-rezervasyon .room-card .text-muted { font-size:12px !important; line-height:1.6; }
.online-rezervasyon .room-card .ucret-kalem { font-size:13px; padding:6px 0; }
.online-rezervasyon .room-card .lh-1 { font-size:24px !important; line-height:1.4 !important; }
.online-rezervasyon .room-card .badge { font-size:11px !important; box-shadow:none !important; }
.online-rezervasyon .ucret-gerekce { font-size:12px; line-height:1.6; color:#748096; }
.online-rezervasyon .buttons-row { max-width:none !important; justify-content:space-between !important; margin-top:18px !important; }
.online-rezervasyon .btn-custom { width:auto; min-width:120px; height:42px; padding:10px 20px; font-size:13px; border-radius:11px; box-shadow:none !important; }
.online-rezervasyon .btn-custom:hover { transform:none; }
.online-rezervasyon .btn-warning-custom,.online-rezervasyon .btn-danger-custom { background:#f8fafc !important; border:1px solid #e2e7ef !important; color:#64748b !important; }
.online-rezervasyon .btn-success-custom { background:linear-gradient(120deg,#584bdf,#5c7eec) !important; }
.online-rezervasyon #rezervasyonOzeti { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.online-rezervasyon .ozet-satir { display:flex; flex-direction:column; gap:6px; padding:12px; border:1px solid #e3e7ef; border-left:3px solid #b6abd9; border-radius:10px; background:#fafbfe; }
.online-rezervasyon .ozet-satir span:first-child { font-size:12px; color:#7a8699; }
.online-rezervasyon .ozet-satir span:last-child { font-size:14px; font-weight:600; text-align:left; }
.online-rezervasyon .ozet-satir:last-of-type { background:#f0f8f3; border-color:#d9eade; border-left-color:#78ac8b; }
.online-rezervasyon #rezervasyonOzeti > .ucret-gerekce { grid-column:1 / -1; }
.online-rezervasyon .online-odeme { max-width:100%; }
.online-rezervasyon .online-odeme .inner-form-card > .d-flex.flex-column { display:grid !important; grid-template-columns:minmax(250px,.85fr) minmax(0,1.3fr); align-items:center; gap:24px !important; }
.online-rezervasyon .cc-card { width:100%; max-width:310px; height:auto; min-height:175px; padding:20px; border-radius:16px; background:linear-gradient(130deg,#292647,#7566d6); }
.online-rezervasyon .cc-card #ccDisplayNum { font-size:19px; letter-spacing:2px; }
.online-rezervasyon .modal-content { border-radius:18px !important; }
.online-rezervasyon .modal-title { font-size:16px !important; }
.online-rezervasyon button:focus-visible,.online-rezervasyon .room-card:focus-visible { outline:3px solid #bfb2ed; outline-offset:3px; }
@media(min-width:769px) {
 .online-rezervasyon:has(#stepContent1.active) .online-baslik { padding-top:8px; padding-bottom:8px; }
 .online-rezervasyon:has(#stepContent1.active) .stepper-wrap { padding-top:10px; padding-bottom:10px; }
}
@media(max-width:767px) {
 .online-rezervasyon .booking-wrapper { margin:10px auto; padding:0 10px; }
 .online-baslik { padding:16px; }
 .online-rezervasyon .stepper-wrap { padding:16px 8px; }
 .online-rezervasyon .step-text { font-size:10px; }
 .online-rezervasyon .scrollable-content { padding:14px; }
 .online-rezervasyon .inner-form-card { padding:14px !important; }
 .online-rezervasyon .input-wrapper input,.online-rezervasyon .input-wrapper select { font-size:16px; }
 .online-rezervasyon .input-wrapper { min-height:44px; }
 .online-rezervasyon .buttons-row { flex-wrap:wrap; flex-direction:row !important; gap:8px !important; }
 .online-rezervasyon .btn-custom { flex:1; min-width:100px; min-height:44px; }
 .online-rezervasyon #rezervasyonOzeti { grid-template-columns:1fr; }
 .online-rezervasyon .online-odeme .inner-form-card > .d-flex.flex-column { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .online-rezervasyon * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Renkli ama sakin yüzeyler; kısa ekranlarda içerik kesilmeden akar. */
body.online-rezervasyon { background:radial-gradient(ellipse at top left,#e9e5fc,transparent 55%),radial-gradient(ellipse at bottom right,#e1f2f7,transparent 55%),#f4f6fb; }
.online-rezervasyon .booking-wrapper { max-width:1200px; margin:12px auto; }
.online-baslik { padding:12px 24px; background:linear-gradient(115deg,#293455,#5149a8 65%,#577bd4); }
.online-rezervasyon .stepper-wrap { padding:14px 24px; background:linear-gradient(100deg,#faf8ff,#f4f8ff); border-bottom:1px solid #e7e6f5; }
.online-rezervasyon .step.active .step-icon { box-shadow:0 0 0 5px #7762dc18; }
.online-rezervasyon .scrollable-content { padding:16px 22px; }
.online-rezervasyon .inner-form-card { padding:14px 16px !important; border-left:3px solid #a69ae2; border-bottom:3px solid #a69ae2; background:linear-gradient(125deg,#fdfcff,#fff 60%); }
.online-rezervasyon #stepContent1 > .text-center { margin-bottom:12px !important; }
.online-rezervasyon h2 { font-size:22px; margin-bottom:4px !important; }
.online-rezervasyon .tesis-card { padding:10px; gap:6px; background:#f6f3ff; border-bottom-color:#a99bde; }
.online-rezervasyon #tesisKartlariContainer > :nth-child(2n) .tesis-card { background:#eff8fc; border-bottom-color:#88bbd5; }
.online-rezervasyon #tesisKartlariContainer > :nth-child(3n) .tesis-card { background:#f0f8f4; border-bottom-color:#8ab79c; }
.online-rezervasyon #tesisKartlariContainer .tesis-card.selected { background:#eae4ff; border-color:#7862ca; }
.online-rezervasyon .tesis-card .tesis-icon { font-size:21px; }
.online-rezervasyon #tesisKartlariContainer { margin-bottom:12px !important; --bs-gutter-x:10px; --bs-gutter-y:10px; }
.online-rezervasyon #stepContent1 .row.g-4 { --bs-gutter-y:10px; }
.online-rezervasyon #stepContent1 .row.g-3 { --bs-gutter-y:10px; }
.online-rezervasyon .input-wrapper.primary { background:#f7f5ff; }
.online-rezervasyon .input-wrapper.success { background:#f1f9f4; }
.online-rezervasyon .input-wrapper.danger { background:#fff6f6; }
.online-rezervasyon .input-wrapper.info { background:#f1f8fc; }
.online-rezervasyon .buttons-row { margin-top:12px !important; }
.online-rezervasyon .beyan-box { padding:8px 10px; line-height:1.5; }
.online-rezervasyon #stepContent3 > .d-flex { max-width:none !important; gap:10px !important; }
.online-rezervasyon .section-header-title { margin-bottom:10px !important; padding-bottom:7px !important; }
.online-rezervasyon #ekstraMisafirlerContainer { display:contents; }
.online-rezervasyon .ozet-satir:nth-child(3n+2) { background:#f0f7fc; border-left-color:#82b6d3; }
.online-rezervasyon .ozet-satir:nth-child(3n+3) { background:#f2f8f4; border-left-color:#87b39a; }
.online-rezervasyon .online-odeme .inner-form-card { border-color:#b0a1e3; }
@media(min-width:992px) {
 .online-rezervasyon #statuListesi > div { width:25%; }
 .online-rezervasyon #stepContent3 .inner-form-card > .row > div { width:33.333333%; }
 .online-rezervasyon #stepContent3 .row { --bs-gutter-y:10px; }
 .online-rezervasyon #rezervasyonOzeti { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:992px) and (max-height:850px) {
 .online-rezervasyon .booking-wrapper { margin:6px auto; }
 .online-rezervasyon .stepper-wrap { padding:10px 20px; }
 .online-rezervasyon .scrollable-content { padding:12px 20px; }
 .online-rezervasyon .input-wrapper,.online-rezervasyon .input-wrapper-lg { height:38px !important; }
 .online-rezervasyon .room-card { padding:14px; }
}
@media(max-width:767px) {
 .online-rezervasyon .scrollable-content { padding:12px; }
 .online-baslik { padding:12px 16px; }
 .online-rezervasyon .booking-wrapper { margin:8px auto; }
}

/* Konaklama seçimi: seçenekler ve gezinme aynı bakışta. */
.online-rezervasyon .konaklama-secenekleri { position:relative; min-height:120px; }
.online-rezervasyon .teklif-yukleniyor { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; gap:12px; padding:20px; border-radius:12px; background:rgba(255,255,255,.9); color:#49618a; }
.online-rezervasyon #odalarListesi[aria-busy="true"] { opacity:.35; pointer-events:none; }
.online-rezervasyon #stepContent2 > .border-bottom { margin-bottom:12px !important; padding-bottom:10px !important; gap:12px !important; }
.online-rezervasyon #stepContent2 #odalarListesi { margin-bottom:10px !important; --bs-gutter-y:10px; }
.online-rezervasyon #stepContent2 .room-card { padding:12px 14px; }
.online-rezervasyon #stepContent2 .room-card .ucret-kalem { padding:3px 0; line-height:1.4; }
.online-rezervasyon #stepContent2 .room-card .text-muted { line-height:1.4; }
.online-rezervasyon #stepContent2 .room-card .lh-1 { font-size:22px !important; }
.online-rezervasyon #stepContent2 .ucret-gerekce { margin-top:8px; padding-top:6px; }
.online-rezervasyon #stepContent2 details summary { cursor:pointer; color:#67588d; font-weight:600; }
.online-rezervasyon #stepContent2 details summary:focus-visible { outline:2px solid #8b78ce; outline-offset:3px; }
.online-rezervasyon #stepContent2 .konaklama-bilgilendirme { margin-bottom:10px; padding:8px 12px; }
.online-rezervasyon #stepContent2 .buttons-row { margin-top:8px !important; padding-top:10px !important; }
@media(min-width:768px) {
 .online-rezervasyon:has(#stepContent2.active) .online-baslik { padding-top:8px; padding-bottom:8px; }
 .online-rezervasyon:has(#stepContent2.active) .stepper-wrap { padding:10px 24px; }
 .online-rezervasyon:has(#stepContent2.active) .step { width:120px; }
 .online-rezervasyon:has(#stepContent2.active) .stepper { --track-width:calc(100% - 120px); }
 .online-rezervasyon:has(#stepContent2.active) .stepper::before { left:60px; right:60px; }
 .online-rezervasyon:has(#stepContent2.active) .stepper-progress { left:60px; }
 .online-rezervasyon:has(#stepContent2.active) .step-text { white-space:nowrap; margin-top:4px; }
}

.online-rezervasyon #stepContent4 .ozet-satir { padding:12px; gap:6px; justify-content:flex-start; line-height:1.5; background:#f7f6fc; border-color:#d3dbe6; border-left-color:#9182bd; }
.online-rezervasyon #stepContent4 .ozet-satir:nth-child(3n+2) { background:#edf4fb; border-left-color:#6299bf; }
.online-rezervasyon #stepContent4 .ozet-satir:nth-child(3n+3) { background:#edf6f0; border-left-color:#6b987c; }
.online-rezervasyon #stepContent4 .ozet-satir > span:first-child { font-size:12px; font-weight:500; color:#475569; }
.online-rezervasyon #stepContent4 .ozet-satir > span:not(:first-child) { font-size:14px; font-weight:500; color:#1e293b; text-align:left; }
.online-rezervasyon #stepContent4 .ozet-satir.ozet-toplam { background:#e8f4ec; border-color:#c4ddcc; border-left-color:#528367; }
.online-rezervasyon #stepContent4 .ozet-toplam strong { font-size:23px; font-weight:600; color:#25603e; }
.online-rezervasyon #stepContent4 .ozet-toplam small { color:#405c4b; font-size:12px; font-weight:500; }
.online-rezervasyon #stepContent4 .ucret-gerekce summary { cursor:pointer; font-weight:600; }
@media(min-width:768px) {
 .online-rezervasyon:has(#stepContent4.active) .online-baslik { padding-top:8px; padding-bottom:8px; }
 .online-rezervasyon:has(#stepContent4.active) .stepper-wrap { padding:10px 24px; }
 .online-rezervasyon:has(#stepContent4.active) .step { width:120px; }
 .online-rezervasyon:has(#stepContent4.active) .stepper { --track-width:calc(100% - 120px); }
 .online-rezervasyon:has(#stepContent4.active) .stepper::before { left:60px; right:60px; }
 .online-rezervasyon:has(#stepContent4.active) .stepper-progress { left:60px; }
 .online-rezervasyon:has(#stepContent4.active) .step-text { white-space:nowrap; }
}
