/*!
 * vcms-common.css - Tema bagimsiz ortak sayfa stilleri (giris/uyelik, kullanici paneli, transfer, rezervasyon).
 * Tum siniflar "vc-" onekidir; Bootstrap / ikon fontu / jQuery gerektirmez.
 * Tema, :root icinde asagidaki --vc-* degiskenlerini ezerek renk/yazi tipini uyarlayabilir.
 */
/* :where() ozgullugu 0 yapar: temanin kendi :root tanimlari yukleme sirasindan bagimsiz olarak kazanir. */
:where(:root) {
  --vc-primary: #1f4e8c;
  --vc-primary-hover: #173b6a;
  --vc-primary-contrast: #ffffff;
  --vc-accent: #f4c24b;
  --vc-text: #212529;
  --vc-muted: #6c757d;
  --vc-border: #dee2e6;
  --vc-bg: #ffffff;
  --vc-surface: #ffffff;
  --vc-surface-alt: #f6f7f9;
  --vc-input-bg: #ffffff;
  --vc-input-border: #8b9399; /* alan kenarligi (iletisim formu): zemine karsi >= 3:1 kontrast */
  --vc-head-bg: #2c2c2c;
  --vc-head-text: #ffffff;
  --vc-head-offset: 0px; /* header sayfa basliginin ustune biniyorsa (seffaf header) yuksekligi: ornek 80px */
  --vc-danger: #b02a37;
  --vc-danger-bg: #f8d7da;
  --vc-success: #146c43;
  --vc-success-bg: #d1e7dd;
  --vc-info: #0a58ca;
  --vc-info-bg: #cfe2ff;
  --vc-warning: #664d03;
  --vc-warning-bg: #fff3cd;
  --vc-radius: 8px;
  --vc-font: inherit;
  --vc-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .1);
  --vc-container: 1140px;
  --vc-gap: 1.25rem;
  --vc-focus: rgba(31, 78, 140, .35);
}

.vc-page, .vc-page *, .vc-page *::before, .vc-page *::after { box-sizing: border-box; }

.vc-page {
  font-family: var(--vc-font);
  color: var(--vc-text);
  background: var(--vc-bg);
  line-height: 1.5;
  font-size: 1rem;
}
.vc-page a { color: var(--vc-primary); }
.vc-page img { max-width: 100%; height: auto; }

/* ---- Sayfa basligi ---- */
.vc-pagehead { background: var(--vc-head-bg); color: var(--vc-head-text); padding: calc(2rem + var(--vc-head-offset)) 0 1.75rem; margin-top: calc(-1 * var(--vc-head-offset)); }
.vc-pagehead h1 { margin: .25rem 0 0; font-size: clamp(1.4rem, 3.5vw, 2rem); line-height: 1.25; color: inherit; font-family: var(--vc-font); }
.vc-pagehead a { color: inherit; opacity: .85; text-decoration: none; }
.vc-pagehead a:hover { opacity: 1; text-decoration: underline; }
.vc-breadcrumb { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; font-size: .875rem; }
.vc-breadcrumb li + li::before { content: "/"; margin-inline: 0 .5rem; opacity: .6; } /* mantiksal: RTL'de ayirici metnin dogru yaninda kalir */
.vc-breadcrumb li[aria-current] { opacity: .75; }

.vc-container { width: 100%; max-width: var(--vc-container); margin: 0 auto; padding: 0 16px; }
.vc-section { padding: 2.5rem 0 3.5rem; }
.vc-narrow { max-width: 720px; margin-left: auto; margin-right: auto; }
.vc-layout { display: grid; grid-template-columns: 1fr; gap: var(--vc-gap); align-items: start; }
@media (min-width: 768px) { .vc-layout { grid-template-columns: 280px 1fr; } }
.vc-stack { display: grid; gap: var(--vc-gap); }

/* ---- Kart ---- */
.vc-card { background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); box-shadow: var(--vc-shadow); overflow: hidden; }
.vc-card__head { padding: .9rem 1.25rem; border-bottom: 1px solid var(--vc-border); background: var(--vc-surface-alt); }
.vc-card__head h2, .vc-card__title { margin: 0; font-size: 1.1rem; font-weight: 700; color: var(--vc-text); font-family: var(--vc-font); }
.vc-card__body { padding: 1.25rem; }
.vc-card__foot { padding: .9rem 1.25rem; border-top: 1px solid var(--vc-border); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; align-items: center; font-size: .925rem; }
.vc-muted { color: var(--vc-muted); }
.vc-center { text-align: center; }

/* ---- Form ---- */
.vc-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--vc-gap); }
.vc-col-12, .vc-col-6 { grid-column: span 12; }
@media (min-width: 640px) { .vc-col-6 { grid-column: span 6; } }
.vc-field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.vc-label { font-weight: 600; font-size: .925rem; }
.vc-input, .vc-select {
  width: 100%; min-height: 44px; padding: .55rem .8rem; font: inherit; color: var(--vc-text);
  background: var(--vc-input-bg); border: 1px solid var(--vc-border); border-radius: var(--vc-radius);
  transition: border-color .15s, box-shadow .15s;
}
.vc-input:focus, .vc-select:focus, .vc-btn:focus-visible, .vc-check input:focus-visible, .vc-nav a:focus-visible {
  outline: 0; border-color: var(--vc-primary); box-shadow: 0 0 0 3px var(--vc-focus);
}
.vc-input:disabled { background: var(--vc-surface-alt); color: var(--vc-muted); cursor: not-allowed; }
.vc-input[aria-invalid="true"] { border-color: var(--vc-danger); }
.vc-input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(176, 42, 55, .25); }
.vc-error { color: var(--vc-danger); font-size: .825rem; min-height: 0; }
.vc-error:empty { display: none; }
.vc-check { display: flex; align-items: flex-start; gap: .6rem; cursor: pointer; }
.vc-check input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--vc-primary); flex: none; }
.vc-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.vc-actions--center { justify-content: center; }
.vc-hidden, [hidden].vc-hidden { display: none !important; }
[data-vc-show-if][hidden] { display: none !important; }

/* ---- Buton ---- */
.vc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .6rem 1.6rem;
  font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; border-radius: 999px;
  border: 2px solid var(--vc-primary); background: var(--vc-primary); color: var(--vc-primary-contrast);
  transition: background-color .15s, color .15s, opacity .15s;
}
.vc-page a.vc-btn { color: var(--vc-primary-contrast); }
.vc-btn:hover { background: var(--vc-primary-hover); border-color: var(--vc-primary-hover); }
.vc-btn[disabled], .vc-btn[aria-busy="true"] { opacity: .65; cursor: progress; }
.vc-btn--lg { min-height: 52px; padding: .75rem 2.2rem; font-size: 1.1rem; }
.vc-btn__loading { display: none; align-items: center; gap: .5rem; }
.vc-btn[aria-busy="true"] .vc-btn__label { display: none; }
.vc-btn[aria-busy="true"] .vc-btn__loading { display: inline-flex; }
.vc-spinner {
  width: 1em; height: 1em; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent;
  display: inline-block; animation: vc-spin .7s linear infinite;
}
@keyframes vc-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .vc-spinner { animation-duration: 2s; } }

/* ---- Uyari ---- */
.vc-alert { padding: .8rem 1rem; border-radius: var(--vc-radius); border: 1px solid transparent; font-size: .95rem; }
.vc-alert[hidden] { display: none; }
.vc-alert h3, .vc-alert h4 { margin: 0 0 .35rem; font-size: 1.1rem; color: inherit; font-family: var(--vc-font); }
.vc-alert p { margin: 0 0 .5rem; }
.vc-alert p:last-child { margin-bottom: 0; }
.vc-alert hr { border: 0; border-top: 1px solid currentColor; opacity: .25; margin: .75rem 0; }
.vc-alert--success { background: var(--vc-success-bg); color: var(--vc-success); border-color: var(--vc-success); }
.vc-alert-links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: .5rem 0 0; font-size: .95rem; }
.vc-alert-links[hidden] { display: none; }
.vc-alert--danger { background: var(--vc-danger-bg); color: var(--vc-danger); border-color: var(--vc-danger); }
.vc-alert--info { background: var(--vc-info-bg); color: var(--vc-info); border-color: var(--vc-info); }
.vc-alert--warning { background: var(--vc-warning-bg); color: var(--vc-warning); border-color: var(--vc-warning); }

/* ---- Kullanici menusu ---- */
.vc-nav__user { padding: 1rem 1.25rem; background: var(--vc-surface-alt); border-bottom: 1px solid var(--vc-border); display: flex; flex-direction: column; gap: .15rem; word-break: break-word; }
.vc-nav__user small { color: var(--vc-muted); }
.vc-nav ul { list-style: none; margin: 0; padding: 0; }
.vc-nav a { display: block; padding: .8rem 1.25rem; color: var(--vc-text); text-decoration: none; border-left: 3px solid transparent; }
.vc-nav li + li a { border-top: 1px solid var(--vc-border); }
.vc-nav a:hover { background: var(--vc-surface-alt); }
.vc-nav a[aria-current="page"] { border-left-color: var(--vc-primary); color: var(--vc-primary); font-weight: 700; background: var(--vc-surface-alt); }

/* ---- Arac karti ---- */
.vc-vehicle { display: grid; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 768px) { .vc-vehicle { grid-template-columns: 220px 1fr 200px; } }
.vc-vehicle__img { padding: 1rem; display: flex; align-items: center; justify-content: center; }
.vc-vehicle__img img { width: 100%; max-height: 170px; object-fit: contain; border-radius: var(--vc-radius); }
.vc-vehicle__body { padding: 1rem 1.25rem; }
.vc-vehicle__title { margin: 0 0 .6rem; font-size: 1.25rem; font-family: var(--vc-font); color: var(--vc-text); }
.vc-props { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .45rem 1rem; font-size: .9rem; }
.vc-props li { display: flex; align-items: center; gap: .45rem; color: var(--vc-muted); }
.vc-props .vc-icon { color: var(--vc-primary); flex: none; }
.vc-vehicle__side { padding: 1rem 1.25rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; border-top: 1px solid var(--vc-border); text-align: center; }
@media (min-width: 768px) { .vc-vehicle__side { border-top: 0; border-left: 1px solid var(--vc-border); align-self: stretch; } }
.vc-price { font-size: 1.5rem; font-weight: 800; color: var(--vc-text); line-height: 1.2; }
.vc-price small { font-size: .9rem; font-weight: 600; color: var(--vc-muted); }

/* ---- Rezervasyon rota karti ---- */
.vc-route { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.vc-route__point { flex: 1 1 140px; min-width: 0; }
.vc-route__point small { display: block; color: var(--vc-muted); font-weight: 600; text-transform: uppercase; font-size: .75rem; letter-spacing: .04em; }
.vc-route__point strong { font-size: 1.1rem; word-break: break-word; }
.vc-route__point--end { text-align: end; }
.vc-route__line { flex: 0 1 80px; height: 2px; background: var(--vc-border); position: relative; min-width: 24px; }
/* Ok ucu variste biter: LTR'de saga, RTL'de sola bakar (varis noktasi RTL'de solda) */
.vc-route__line::after { content: ""; position: absolute; inset-inline-end: 0; top: -4px; border: 5px solid transparent; border-left-color: var(--vc-border); border-right: 0; }
[dir="rtl"] .vc-route__line::after { border-left: 0; border-right: 5px solid var(--vc-border); }
@media (max-width: 479px) { .vc-route__line { display: none; } .vc-route__point--end { text-align: start; } }
/* Yon duyarli ok (vc_route_arrow) */
.vc-arrow { display: inline-block; unicode-bidi: isolate; }

.vc-empty { text-align: center; color: var(--vc-muted); padding: 2rem 1rem; }

/* ---- Rezervasyon listesi (kullanici paneli) ---- */
.vc-res__head { padding: .9rem 1.25rem; border-bottom: 1px solid var(--vc-border); background: var(--vc-surface-alt); display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; align-items: center; }
.vc-res__title { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.vc-res--new { border-color: var(--vc-success); box-shadow: 0 0 0 3px var(--vc-success-bg), var(--vc-shadow); }
.vc-res--new .vc-res__head { background: var(--vc-success-bg); }
.vc-badge { display: inline-block; padding: .25rem .75rem; border-radius: 999px; font-size: .8rem; font-weight: 700; line-height: 1.4; border: 1px solid transparent; }
.vc-badge--ok { background: var(--vc-success-bg); color: var(--vc-success); border-color: var(--vc-success); }
.vc-badge--danger { background: var(--vc-danger-bg); color: var(--vc-danger); border-color: var(--vc-danger); }
.vc-badge--pending { background: var(--vc-warning-bg); color: var(--vc-warning); border-color: var(--vc-warning); }
.vc-badge--info { background: var(--vc-info-bg); color: var(--vc-info); border-color: var(--vc-info); }
.vc-dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .85rem 1.25rem; }
.vc-dl dt { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--vc-muted); }
.vc-dl dd { margin: .1rem 0 0; word-break: break-word; }
.vc-pager { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; justify-content: center; }
.vc-btn--sm { min-height: 36px; padding: .35rem 1.1rem; font-size: .9rem; }

/* ---- Rezervasyon basari karti ---- */
.vc-success { text-align: center; }
.vc-success__icon { width: 56px; height: 56px; border-radius: 50%; margin: 0 auto .75rem; display: flex; align-items: center; justify-content: center; background: var(--vc-success-bg); color: var(--vc-success); }
.vc-success__icon .vc-icon { width: 28px; height: 28px; }
.vc-success__title { margin: 0 0 .25rem; font-size: 1.35rem; font-family: var(--vc-font); color: var(--vc-text); }
.vc-success .vc-dl { text-align: start; margin: 1.25rem 0; }
.vc-success .vc-alert { text-align: start; margin-bottom: .75rem; }

/* ---- Iletisim sayfasi (sakin iki sutun: bilgiler + form; tum kurallar .vc-contact-page altinda, diger ortak sayfalari etkilemez) ---- */
.vc-contact-page .vc-section { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5.5rem); }
.vc-contact { display: grid; grid-template-columns: 1fr; gap: clamp(2.25rem, 6vw, 3rem); align-items: start; }
@media (min-width: 900px) { .vc-contact { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4.5rem; } }
.vc-contact__info { max-width: 34rem; min-width: 0; }
.vc-contact__eyebrow { margin: 0 0 .85rem; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vc-muted); }
.vc-contact__heading { margin: 0; font-family: var(--vc-font); font-size: clamp(1.75rem, 3.2vw, 2.4rem); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; color: var(--vc-text); }
.vc-contact__intro { margin: 1rem 0 0; max-width: 30rem; color: var(--vc-muted); line-height: 1.7; }
.vc-contact__hours { display: inline-flex; align-items: center; gap: .55rem; margin: 1.5rem 0 0; padding: .3rem .9rem; border: 1px solid var(--vc-border); border-radius: 999px; font-size: .8125rem; line-height: 1.4; color: var(--vc-muted); }
.vc-contact__hours strong { color: var(--vc-text); font-weight: 600; }
.vc-contact__dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--vc-success); box-shadow: 0 0 0 3px var(--vc-success-bg); }

.vc-info { list-style: none; margin: 1.75rem 0 0; padding: 0; border-top: 1px solid var(--vc-border); }
.vc-info__item { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; padding: 1.05rem 0; border-bottom: 1px solid var(--vc-border); }
.vc-info__icon { flex: none; display: flex; margin-top: .2rem; color: var(--vc-primary); }
.vc-info__icon .vc-icon { width: 20px; height: 20px; stroke-width: 1.6; }
.vc-info__text { min-width: 0; }
.vc-info__label { display: block; margin-bottom: .15rem; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vc-info__value { display: block; font-size: 1.05rem; font-weight: 500; line-height: 1.5; color: var(--vc-text); word-break: break-word; overflow-wrap: anywhere; }
.vc-contact-page .vc-info__value a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s, border-color .15s; }
.vc-contact-page .vc-info__value a:hover { color: var(--vc-primary); border-bottom-color: currentColor; }
.vc-contact-page .vc-info__value a:focus-visible, .vc-contact-page .vc-social a:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: 3px; border-radius: 2px; }
.vc-social { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.vc-contact-page .vc-social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--vc-border); border-radius: 50%; color: var(--vc-text); background: transparent; transition: background-color .15s, color .15s, border-color .15s; }
.vc-contact-page .vc-social a:focus-visible { border-radius: 50%; }
.vc-contact-page .vc-social a:hover { background: var(--vc-primary); border-color: var(--vc-primary); color: var(--vc-primary-contrast); }

.vc-contact__panel { min-width: 0; padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--vc-surface-alt); border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 2); }
.vc-contact__formtitle { margin: 0 0 1.5rem; font-family: var(--vc-font); font-size: 1.15rem; font-weight: 600; line-height: 1.3; color: var(--vc-text); }
.vc-contact__panel .vc-grid { gap: 1.25rem; }
@media (min-width: 900px) and (max-width: 1099px) { .vc-contact__panel .vc-col-6 { grid-column: span 12; } }
.vc-contact-page .vc-field { gap: .4rem; }
.vc-contact-page .vc-label { font-size: .8125rem; font-weight: 600; letter-spacing: .01em; color: var(--vc-text); }
.vc-label__opt { font-weight: 400; color: var(--vc-muted); }
.vc-contact__panel .vc-label__opt { color: color-mix(in srgb, var(--vc-muted) 75%, var(--vc-text)); }
.vc-contact-page .vc-input { min-height: 48px; padding: .65rem .9rem; background: var(--vc-input-bg); border-color: var(--vc-input-border); border-radius: var(--vc-radius); }
.vc-contact-page .vc-input:hover { border-color: var(--vc-text); }
.vc-contact-page .vc-input:focus { border-color: var(--vc-primary); box-shadow: 0 0 0 3px var(--vc-focus); }
.vc-contact-page .vc-input[aria-invalid="true"] { border-color: var(--vc-danger); }
.vc-contact-page textarea.vc-input { min-height: 130px; line-height: 1.6; }
.vc-contact-page .vc-error { font-size: .8125rem; }
.vc-contact-page .vc-alert { padding: .8rem 1rem; font-size: .9rem; border-width: 1px; border-inline-start-width: 3px; }
.vc-contact-page .vc-actions { margin-top: .25rem; }
.vc-contact-page .vc-btn { min-height: 52px; border-radius: var(--vc-radius); font-weight: 600; letter-spacing: .02em; }
.vc-btn--block { width: 100%; }

.vc-map { margin-top: clamp(2.5rem, 6vw, 4rem); border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 2); overflow: hidden; background: var(--vc-surface-alt); }
.vc-map iframe { display: block; width: 100%; height: 320px; border: 0; }
@media (max-width: 639px) { .vc-map iframe { height: 260px; } }
/* Spam korumasi (honeypot) alani: ekran disinda; satir ici stil CSS yuklenmese de gizler */
.vc-hp { position: absolute !important; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
textarea.vc-input { min-height: 140px; resize: vertical; }
/* Sag-sola (Arapca): harf araligi baglantili yazida harfleri koparir, buyuk harf donusumu anlamsizdir */
.vc-contact[dir="rtl"] :is(.vc-contact__eyebrow, .vc-contact__heading, .vc-info__label, .vc-label) { letter-spacing: 0; text-transform: none; }
.vc-contact[dir="rtl"] .vc-info__label { font-size: .75rem; }
@media (max-width: 639px) { .vc-info__item { padding: .85rem 0; } .vc-info { margin-top: 1.5rem; } .vc-contact__panel { padding: 1.5rem 1.25rem; } }

/* ---- Giris / uyelik / sifre / teklif sonucu sayfalari (iletisim sayfasiyla ayni aile; tum kurallar .vc-auth-page altinda) ---- */
.vc-auth-page .vc-section { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5.5rem); }
.vc-auth { max-width: 30rem; margin-inline: auto; }
.vc-auth--wide { max-width: 36rem; }
.vc-auth--result { max-width: 40rem; }
.vc-auth__panel { padding: clamp(1.75rem, 5vw, 2.75rem) clamp(1.25rem, 5vw, 2.5rem); background: var(--vc-surface-alt); border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 2); }
.vc-auth__head, .vc-auth__done, .vc-auth__state { text-align: center; }
.vc-auth__head { margin-bottom: 1.75rem; }
.vc-auth__badge { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-bottom: 1.1rem; border: 1px solid var(--vc-border); border-radius: 50%; background: var(--vc-bg); color: var(--vc-primary); }
.vc-auth__badge .vc-icon { width: 22px; height: 22px; stroke-width: 1.6; }
.vc-auth__badge--success { border-color: var(--vc-success); background: var(--vc-success-bg); color: var(--vc-success); }
.vc-auth__badge--danger { border-color: var(--vc-danger); background: var(--vc-danger-bg); color: var(--vc-danger); }
.vc-auth__badge--info { border-color: var(--vc-info); background: var(--vc-info-bg); color: var(--vc-info); }
.vc-auth__badge--warning { border-color: var(--vc-warning); background: var(--vc-warning-bg); color: var(--vc-warning); }
.vc-auth__title { margin: 0; font-family: var(--vc-font); font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; color: var(--vc-text); }
.vc-auth__intro { margin: .7rem auto 0; max-width: 25rem; color: var(--vc-muted); font-size: .95rem; line-height: 1.65; }
.vc-auth__form[hidden], .vc-auth__done[hidden], .vc-auth__head[hidden] { display: none; }
.vc-auth__form .vc-grid { gap: 1.25rem; }
.vc-auth-page .vc-col-6 { grid-column: span 12; }
@media (min-width: 520px) { .vc-auth--wide .vc-col-6 { grid-column: span 6; } }
.vc-auth-page .vc-field { gap: .4rem; }
.vc-auth-page .vc-label { font-size: .8125rem; font-weight: 600; letter-spacing: .01em; color: var(--vc-text); }
.vc-field__row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.vc-auth-page .vc-input { min-height: 48px; padding: .65rem .9rem; background: var(--vc-input-bg); border-color: var(--vc-input-border); border-radius: var(--vc-radius); }
.vc-auth-page .vc-input:hover { border-color: var(--vc-text); }
.vc-auth-page .vc-input:focus { border-color: var(--vc-primary); box-shadow: 0 0 0 3px var(--vc-focus); }
.vc-auth-page .vc-input[aria-invalid="true"] { border-color: var(--vc-danger); }
.vc-auth-page .vc-error { font-size: .8125rem; }
.vc-auth-page .vc-alert { padding: .8rem 1rem; font-size: .9rem; border-inline-start-width: 3px; }
.vc-auth-page .vc-actions { margin-top: .25rem; }
.vc-auth-page .vc-btn { min-height: 52px; border-radius: var(--vc-radius); font-weight: 600; letter-spacing: .02em; }
.vc-btn--outline, .vc-page a.vc-btn.vc-btn--outline { background: transparent; color: var(--vc-text); border-color: var(--vc-input-border); }
.vc-btn--outline:hover, .vc-page a.vc-btn.vc-btn--outline:hover { background: transparent; color: var(--vc-primary); border-color: var(--vc-primary); }
.vc-auth-page .vc-btn:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: 3px; }

/* Parola alani: goster/gizle dugmesi */
.vc-pass { position: relative; }
.vc-pass .vc-input { padding-inline-end: 3.1rem; }
.vc-pass__toggle { position: absolute; inset-block: 0; inset-inline-end: 0; display: flex; align-items: center; justify-content: center; width: 3.1rem; padding: 0; border: 0; border-start-end-radius: var(--vc-radius); border-end-end-radius: var(--vc-radius); background: transparent; color: var(--vc-muted); cursor: pointer; transition: color .15s; }
.vc-pass__toggle:hover { color: var(--vc-text); }
.vc-pass__toggle:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: -3px; color: var(--vc-text); }
.vc-pass__toggle .vc-icon { width: 20px; height: 20px; stroke-width: 1.6; }
.vc-pass__toggle .vc-icon + .vc-icon, .vc-pass__toggle[aria-pressed="true"] .vc-icon:first-child { display: none; }
.vc-pass__toggle[aria-pressed="true"] .vc-icon + .vc-icon { display: block; }

/* Parola gucu ipucu */
.vc-strength { display: flex; align-items: center; gap: .75rem; margin-top: .15rem; }
.vc-strength__bars { display: flex; flex: 1; gap: 4px; }
.vc-strength__bars i { flex: 1; height: 4px; border-radius: 2px; background: var(--vc-border); transition: background-color .2s; }
.vc-strength[data-score="1"] i:nth-child(-n+1) { background: var(--vc-danger); }
.vc-strength[data-score="2"] i:nth-child(-n+2) { background: var(--vc-warning); }
.vc-strength[data-score="3"] i:nth-child(-n+3) { background: var(--vc-info); }
.vc-strength[data-score="4"] i { background: var(--vc-success); }
.vc-strength__text { min-width: 3.5rem; font-size: .75rem; font-weight: 600; text-align: end; color: var(--vc-muted); }
.vc-hint { margin: .25rem 0 0; font-size: .8125rem; line-height: 1.5; color: var(--vc-muted); }

/* Alt baglantilar */
.vc-auth__foot { display: flex; flex-direction: column; align-items: center; gap: .5rem; margin-top: 1.75rem; padding-top: 1.4rem; border-top: 1px solid var(--vc-border); font-size: .9rem; color: var(--vc-muted); text-align: center; }
.vc-auth-page .vc-auth__foot a, .vc-auth-page .vc-auth__link, .vc-auth-page .vc-auth__textlink { color: var(--vc-text); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s, border-color .15s; }
.vc-auth-page .vc-auth__link { font-size: .8125rem; font-weight: 500; color: var(--vc-muted); }
.vc-auth-page .vc-auth__foot a:hover, .vc-auth-page .vc-auth__link:hover, .vc-auth-page .vc-auth__textlink:hover { color: var(--vc-primary); border-bottom-color: currentColor; }
.vc-auth-page .vc-auth__foot a:focus-visible, .vc-auth-page .vc-auth__link:focus-visible, .vc-auth-page .vc-auth__textlink:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: 3px; border-radius: 2px; }
.vc-auth__done .vc-auth__intro, .vc-auth__state .vc-auth__intro { margin-bottom: 0; }
.vc-auth__done .vc-actions, .vc-auth__state .vc-actions { flex-direction: column; margin-top: 1.5rem; }
.vc-auth__done .vc-actions > *, .vc-auth__state .vc-actions > * { width: 100%; }
.vc-auth__sent { margin: 1rem 0 0; padding: .55rem .9rem; border: 1px solid var(--vc-border); border-radius: var(--vc-radius); background: var(--vc-bg); font-weight: 600; font-size: .95rem; word-break: break-all; }
.vc-auth__note { margin: 1rem 0 0; font-size: .8125rem; color: var(--vc-muted); line-height: 1.6; }

/* Sag-sola (Arapca): e-posta / telefon alanlari soldan saga yazilir; harf araligi baglantili yaziyi kopartir */
/* Alan degerleri her zaman soldan saga okunur (e-posta, telefon, tarih/saat); RTL sayfada deger ve secici simgesi tutarli olsun diye sona (saga) hizali.
   Kapsam .vc-auth degil [dir="rtl"] .vc-page: kullanici paneli (profil), rezervasyon ve iletisim formlari da ayni kurali alir. */
[dir="rtl"] .vc-page :is(input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="number"]).vc-input,
.vc-auth[dir="rtl"] :is(input[type="email"], input[type="tel"]) { direction: ltr; text-align: end; }
[dir="rtl"] .vc-page :is(input[type="date"], input[type="time"], input[type="datetime-local"]).vc-input { text-align: end; }
.vc-auth[dir="rtl"] :is(.vc-label, .vc-auth__title) { letter-spacing: 0; }

/* Teklif onay sonucu sayfasi */
.vc-summary { margin: 1.75rem 0 0; padding: 0; border-top: 1px solid var(--vc-border); text-align: start; }
.vc-summary > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .15rem 1.25rem; padding: .85rem 0; border-bottom: 1px solid var(--vc-border); }
.vc-summary dt { margin: 0; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); align-self: center; }
.vc-summary dd { margin: 0; font-weight: 500; text-align: end; word-break: break-word; }
.vc-summary__total dd { font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; }
.vc-summary__total dd small { font-size: .85rem; font-weight: 600; color: var(--vc-muted); }
.vc-auth--result .vc-auth__head { margin-bottom: 0; }

/* Teklif onay ekrani (GET baglantisi, kabul butonu) */
.vc-confirm__price { display: grid; gap: .3rem; margin: 1.75rem 0 0; padding: 1.25rem 1.5rem; background: var(--vc-bg); border: 1px solid var(--vc-border); border-inline-start: 3px solid var(--vc-primary); border-radius: var(--vc-radius); text-align: start; }
.vc-confirm__label { font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vc-confirm__amount { font-size: clamp(1.9rem, 6vw, 2.5rem); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; color: var(--vc-text); }
.vc-confirm__amount small { font-size: 1rem; font-weight: 600; color: var(--vc-muted); }
.vc-confirm__price + .vc-summary { margin-top: 1rem; }
.vc-confirm__actions { margin: 1.75rem 0 0; }
.vc-auth[dir="rtl"] .vc-confirm__label { letter-spacing: 0; text-transform: none; }
.vc-steps { margin: 1.75rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--vc-border); text-align: start; }
.vc-steps ol { list-style: none; counter-reset: vc-step; margin: 0; padding: 0; }
.vc-steps__title { margin: 0 0 .9rem; font-family: var(--vc-font); font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vc-steps li { counter-increment: vc-step; display: flex; align-items: flex-start; gap: .85rem; padding: .35rem 0; font-size: .925rem; line-height: 1.55; }
.vc-steps li::before { content: counter(vc-step); flex: none; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-top: .05rem; border: 1px solid var(--vc-input-border); border-radius: 50%; font-size: .75rem; font-weight: 600; color: var(--vc-muted); }
.vc-auth--result .vc-actions { flex-direction: column; margin-top: 1.75rem; }
@media (min-width: 520px) { .vc-auth--result .vc-actions { flex-direction: row; } .vc-auth--result .vc-actions > * { flex: 1; } }
.vc-auth[dir="rtl"] :is(.vc-summary dt, .vc-steps__title) { letter-spacing: 0; text-transform: none; }

/* Kullanici paneli: fiyat teklifi bekleyen rezervasyon */
.vc-res--quote { border-color: var(--vc-info); }
.vc-quote { display: grid; gap: .9rem; padding: 1.15rem 1.25rem; background: var(--vc-bg); border: 1px solid var(--vc-border); border-inline-start: 3px solid var(--vc-primary); border-radius: var(--vc-radius); }
.vc-quote__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; }
.vc-quote__label { display: block; margin-bottom: .2rem; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vc-quote__price { font-size: clamp(1.6rem, 4vw, 2.1rem); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; color: var(--vc-text); }
.vc-quote__price small { font-size: .95rem; font-weight: 600; color: var(--vc-muted); }
.vc-quote__hint { margin: 0; font-size: .875rem; color: var(--vc-muted); line-height: 1.55; }
.vc-quote__confirm { display: grid; gap: .75rem; padding-top: .9rem; border-top: 1px solid var(--vc-border); }
.vc-quote__confirm[hidden], .vc-quote [hidden] { display: none; }
.vc-quote__confirm p { margin: 0; font-weight: 600; }
.vc-quote .vc-actions { gap: .6rem; }
.vc-quote--done { padding: 0; border: 0; background: transparent; }
@media (max-width: 479px) { .vc-quote .vc-actions > .vc-btn, .vc-quote__row > .vc-btn { width: 100%; } }
.vc-summary + .vc-steps { margin-top: 0; padding-top: 1.5rem; border-top: 0; }
.vc-auth [data-vc-focus]:focus { outline: 0; }

/* =====================================================================================================================
   Blog, galeri, yasal metinler, onay kutusu + modal (.vc-blog-page / .vc-gallery-page / .vc-legal-page; iletisim sayfasiyla ayni sakin aile)
   ===================================================================================================================== */
.vc-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.vc-blog-page .vc-section, .vc-gallery-page .vc-section, .vc-legal-page .vc-section { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5.5rem); }
.vc-blog__intro { margin: 0 0 clamp(1.75rem, 4vw, 2.75rem); max-width: 40rem; color: var(--vc-muted); font-size: 1.05rem; line-height: 1.7; }

/* Blog kartlari */
.vc-blog-grid { display: grid; grid-template-columns: 1fr; gap: clamp(1.75rem, 4vw, 2.5rem) 1.75rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { .vc-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .vc-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vc-blog-card { display: flex; flex-direction: column; min-width: 0; background: transparent; }
.vc-blog-card__media { display: block; aspect-ratio: 8 / 5; overflow: hidden; border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 1.5); background: var(--vc-surface-alt); }
.vc-blog-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.vc-blog-card:hover .vc-blog-card__media img { transform: scale(1.03); }
.vc-blog-card__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--vc-muted); }
.vc-blog-card__ph .vc-icon { width: 32px; height: 32px; stroke-width: 1.4; }
.vc-blog-card__body { display: flex; flex-direction: column; gap: .5rem; padding: 1rem .15rem 0; flex: 1; }
.vc-blog-card__date, .vc-post__meta { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--vc-muted); }
.vc-blog-card__title { margin: 0; font-family: var(--vc-font); font-size: 1.2rem; font-weight: 600; line-height: 1.35; letter-spacing: -.005em; }
.vc-page .vc-blog-card__title a { color: var(--vc-text); text-decoration: none; }
.vc-page .vc-blog-card__title a:hover { color: var(--vc-primary); }
.vc-blog-card__text { margin: 0; color: var(--vc-muted); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vc-page a.vc-blog-card__more { margin-top: auto; padding-top: .35rem; display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; font-size: .9rem; color: var(--vc-text); text-decoration: none; border-bottom: 1px solid transparent; align-self: flex-start; }
.vc-page a.vc-blog-card__more:hover { color: var(--vc-primary); border-bottom-color: currentColor; }
.vc-blog-card__more .vc-icon { width: 16px; height: 16px; }
[dir="rtl"] .vc-blog-card__more .vc-icon { transform: scaleX(-1); }
.vc-blog-page a:focus-visible, .vc-gallery-page a:focus-visible, .vc-legal-page a:focus-visible, .vc-blog-page button:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: 3px; border-radius: 2px; }
[dir="rtl"] :is(.vc-blog-card__date, .vc-post__meta, .vc-share__label) { letter-spacing: 0; text-transform: none; }

/* Sayfalama */
.vc-pagination { margin-top: clamp(2.5rem, 6vw, 3.5rem); }
.vc-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem; }
.vc-pagination__num, .vc-pagination__nav { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 0 .85rem; border: 1px solid var(--vc-border); border-radius: var(--vc-radius); font-size: .925rem; text-decoration: none; color: var(--vc-text); background: transparent; }
.vc-page a.vc-pagination__num, .vc-page a.vc-pagination__nav { color: var(--vc-text); }
.vc-page a.vc-pagination__num:hover, .vc-page a.vc-pagination__nav:hover { border-color: var(--vc-primary); color: var(--vc-primary); }
.vc-pagination__num.is-current { background: var(--vc-primary); border-color: var(--vc-primary); color: var(--vc-primary-contrast); font-weight: 700; }
.vc-pagination__nav.is-disabled { color: var(--vc-muted); border-color: var(--vc-border); opacity: .55; cursor: not-allowed; }
@media (max-width: 479px) { .vc-pagination__num { min-width: 36px; padding: 0 .5rem; } }

/* Yazi detayi */
.vc-post { max-width: 46rem; margin: 0 auto; }
.vc-post__head { margin-bottom: 1.75rem; }
.vc-post__meta { margin: 0 0 .85rem; }
.vc-post__lead { margin: 0; font-size: 1.2rem; line-height: 1.65; color: var(--vc-text); }
.vc-post__cover { margin: 0 0 2rem; }
.vc-post__cover img { display: block; width: 100%; max-height: 520px; object-fit: cover; border-radius: calc(var(--vc-radius) * 1.5); border: 1px solid var(--vc-border); }
.vc-prose { color: var(--vc-text); font-size: 1.0625rem; line-height: 1.8; overflow-wrap: anywhere; }
.vc-prose > :first-child { margin-top: 0; }
.vc-prose h2, .vc-prose h3, .vc-prose h4 { font-family: var(--vc-font); color: var(--vc-text); line-height: 1.3; margin: 2rem 0 .75rem; }
.vc-prose h2 { font-size: 1.5rem; }
.vc-prose h3 { font-size: 1.25rem; }
.vc-prose p, .vc-prose ul, .vc-prose ol, .vc-prose blockquote, .vc-prose table, .vc-prose figure { margin: 0 0 1.15rem; }
.vc-prose ul, .vc-prose ol { padding-inline-start: 1.5rem; }
.vc-prose li + li { margin-top: .35rem; }
.vc-prose a { color: var(--vc-primary); text-decoration: underline; text-underline-offset: 3px; }
.vc-prose img, .vc-prose video { max-width: 100%; height: auto; border-radius: var(--vc-radius); }
.vc-prose iframe { max-width: 100%; border: 0; }
.vc-prose blockquote { padding: .25rem 0; padding-inline-start: 1.1rem; border-inline-start: 3px solid var(--vc-border); color: var(--vc-muted); font-style: italic; }
.vc-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.vc-prose th, .vc-prose td { padding: .5rem .75rem; border: 1px solid var(--vc-border); text-align: start; }
.vc-post__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; max-width: 46rem; margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid var(--vc-border); }
.vc-share { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.vc-share__label { margin-inline-end: .35rem; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vc-share__link { display: inline-flex; align-items: center; min-height: 36px; padding: 0 .9rem; border: 1px solid var(--vc-border); border-radius: 999px; background: transparent; color: var(--vc-text); font: inherit; font-size: .8125rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.vc-page a.vc-share__link { color: var(--vc-text); }
.vc-share__link:hover, .vc-page a.vc-share__link:hover { border-color: var(--vc-primary); color: var(--vc-primary); }
.vc-page a.vc-post__back { font-weight: 600; font-size: .9rem; color: var(--vc-text); text-decoration: none; border-bottom: 1px solid var(--vc-border); }
.vc-page a.vc-post__back:hover { color: var(--vc-primary); border-bottom-color: currentColor; }
.vc-related { margin-top: clamp(3rem, 7vw, 4.5rem); }
.vc-related__title { margin: 0 0 1.5rem; font-family: var(--vc-font); font-size: 1.25rem; font-weight: 600; color: var(--vc-text); }
.vc-related .vc-blog-card__title { font-size: 1.05rem; }

/* Galeri */
.vc-gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 640px) { .vc-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 992px) { .vc-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.vc-gallery__item { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 1.25); background: var(--vc-surface-alt); cursor: zoom-in; }
.vc-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.vc-gallery__item:hover img { transform: scale(1.04); }
.vc-gallery__cap { position: absolute; inset-inline: 0; bottom: 0; padding: 1.5rem .85rem .7rem; color: #fff; font-size: .8125rem; font-weight: 500; line-height: 1.35; background: linear-gradient(to top, rgba(0, 0, 0, .65), transparent); opacity: 0; transition: opacity .2s; }
.vc-gallery__item:hover .vc-gallery__cap, .vc-gallery__item:focus-visible .vc-gallery__cap { opacity: 1; }
@media (hover: none) { .vc-gallery__cap { opacity: 1; } }

/* Lightbox */
.vc-lightbox { position: fixed; inset: 0; z-index: 2147483200; display: flex; align-items: center; justify-content: center; background: rgba(8, 10, 14, .94); color: #fff; }
.vc-lightbox[hidden] { display: none; }
.vc-lightbox__bar { position: absolute; top: 0; inset-inline: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; }
.vc-lightbox__count { direction: ltr; unicode-bidi: isolate; font-size: .875rem; color: rgba(255, 255, 255, .75); font-variant-numeric: tabular-nums; }
.vc-lightbox__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; transition: background-color .15s; }
.vc-lightbox__btn:hover { background: rgba(255, 255, 255, .2); }
.vc-lightbox__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.vc-lightbox__btn .vc-icon { width: 22px; height: 22px; }
.vc-lightbox__nav { position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); }
.vc-lightbox__nav--prev { left: .75rem; }
.vc-lightbox__nav--next { right: .75rem; }
.vc-lightbox__stage { margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 100%; max-height: 100%; padding: 4rem 4.25rem 1rem; touch-action: pan-y; }
.vc-lightbox__stage img { display: block; max-width: 100%; max-height: calc(100vh - 9rem); max-height: calc(100dvh - 9rem); width: auto; height: auto; object-fit: contain; border-radius: 4px; user-select: none; -webkit-user-drag: none; transition: opacity .15s; }
.vc-lightbox.is-loading .vc-lightbox__stage img { opacity: .25; }
.vc-lightbox__caption { margin-top: .85rem; max-width: 46rem; text-align: center; font-size: .95rem; line-height: 1.5; color: rgba(255, 255, 255, .88); min-height: 1.4em; }
.vc-lightbox__caption:empty { min-height: 0; margin: 0; }
@media (max-width: 639px) {
  .vc-lightbox__stage { padding: 3.5rem .5rem .75rem; }
  .vc-lightbox__nav { top: auto; bottom: .75rem; transform: none; }
  .vc-lightbox__nav--prev { left: 1rem; }
  .vc-lightbox__nav--next { right: 1rem; }
  .vc-lightbox__stage img { max-height: calc(100vh - 11rem); max-height: calc(100dvh - 11rem); }
}
body.vc-noscroll { overflow: hidden; }

/* Yasal metin sayfasi (okuma duzeni) */
.vc-reading { max-width: 46rem; margin: 0 auto; }
.vc-legal__title { margin: 0 0 .5rem; font-family: var(--vc-font); font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 600; color: var(--vc-text); }
.vc-legal__updated { margin: 0 0 1.75rem; font-size: .8125rem; color: var(--vc-muted); }
.vc-legal-page .vc-legal__updated { padding-bottom: 1.25rem; border-bottom: 1px solid var(--vc-border); }

/* Onay kutusu (uyelik / rezervasyon) */
.vc-terms .vc-check { align-items: flex-start; font-size: .9rem; line-height: 1.55; }
.vc-terms a { color: var(--vc-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.vc-terms .vc-error { margin-inline-start: 1.75rem; }
.vc-check input[aria-invalid="true"] { outline: 2px solid var(--vc-danger); outline-offset: 2px; }

/* Modal pencere (yasal metinler) */
.vc-modal { position: fixed; inset: 0; z-index: 2147483100; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.vc-modal[hidden] { display: none; }
.vc-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 18, 24, .62); }
.vc-modal__panel { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 44rem; max-height: min(88vh, 46rem); background: var(--vc-surface); color: var(--vc-text); border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 2); box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .3); overflow: hidden; font-family: var(--vc-font); }
.vc-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--vc-border); }
.vc-modal__title { margin: 0; font-family: var(--vc-font); font-size: 1.1rem; font-weight: 600; color: var(--vc-text); }
.vc-modal__title:focus { outline: 0; }
.vc-modal__close { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--vc-muted); cursor: pointer; }
.vc-modal__close:hover { color: var(--vc-text); background: var(--vc-surface-alt); }
.vc-modal__close:focus-visible, .vc-modal__body:focus-visible, .vc-modal a:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: 2px; }
.vc-modal__body { padding: 1.25rem; overflow-y: auto; overscroll-behavior: contain; flex: 1; }
.vc-modal__body .vc-legal__updated { padding-bottom: 1rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--vc-border); }
.vc-modal__body .vc-prose { font-size: 1rem; line-height: 1.7; }
.vc-modal__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1.25rem; border-top: 1px solid var(--vc-border); background: var(--vc-surface-alt); }
.vc-modal__foot .vc-modal__page { font-size: .875rem; color: var(--vc-muted); }
.vc-modal__loading { color: var(--vc-muted); }
@media (max-width: 479px) { .vc-modal { padding: 0; align-items: flex-end; } .vc-modal__panel { max-width: none; max-height: 92vh; border-radius: calc(var(--vc-radius) * 2) calc(var(--vc-radius) * 2) 0 0; } }

/* ---- Rezervasyon sayfasi: iki sutun + yapiskan fiyat karti (mobilde formun sonunda, gonder butonunun ustunde kompakt kart) ---- */
.vc-resv { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--vc-gap); grid-template-areas: "main" "price" "actions"; max-width: 1080px; margin: 0 auto; }
.vc-resv__main { grid-area: main; min-width: 0; }
.vc-resv__actions { grid-area: actions; }
.vc-pricecard { grid-area: price; min-width: 0; padding: 1rem 1.1rem; background: var(--vc-surface); border: 1px solid var(--vc-border); border-inline-start: 3px solid var(--vc-primary); border-radius: var(--vc-radius); box-shadow: var(--vc-shadow); }
.vc-pricecard [hidden] { display: none !important; }
.vc-pricecard__title { margin: 0 0 .5rem; font-family: var(--vc-font); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--vc-muted); }
.vc-pricecard__trip { display: grid; gap: .1rem; margin-bottom: .55rem; padding-bottom: .65rem; border-bottom: 1px solid var(--vc-border); font-size: .875rem; color: var(--vc-muted); }
.vc-pricecard__trip strong { font-size: .95rem; color: var(--vc-text); }
.vc-pricecard__rows { margin: 0; }
.vc-pricecard__rows > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid var(--vc-border); font-size: .9rem; }
.vc-pricecard__rows dt { margin: 0; color: var(--vc-muted); font-weight: 500; }
.vc-pricecard__rows dt small { font-size: .75rem; opacity: .85; }
.vc-pricecard__rows dd { margin: 0; font-weight: 700; color: var(--vc-text); text-align: end; white-space: nowrap; }
.vc-pricecard__rows .is-total { border-bottom: 0; padding-top: .7rem; }
.vc-pricecard__rows .is-total dt { color: var(--vc-text); font-weight: 700; }
.vc-pricecard__rows .is-total dd { font-size: 1.3rem; color: var(--vc-primary); }
.vc-pricecard__note { margin: .6rem 0 0; padding: .55rem .7rem; font-size: .8125rem; line-height: 1.5; border-radius: var(--vc-radius); background: var(--vc-warning-bg); color: var(--vc-warning); }
@media (min-width: 992px) {
  .vc-resv { grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "main price" "actions price"; align-items: start; column-gap: 1.75rem; }
  .vc-resv__actions { justify-content: flex-start; }
  .vc-pricecard { position: sticky; top: calc(var(--vc-head-offset, 0px) + 1.25rem); padding: 1.25rem; }
}
@media (max-width: 991px) {
  .vc-pricecard__trip { display: none; }
  .vc-pricecard__rows > div { padding: .3rem 0; font-size: .85rem; }
  .vc-pricecard__rows .is-total dd { font-size: 1.15rem; }
}

/* ---- Yardimci ---- */
.vc-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.vc-btn--outline { background: transparent; color: var(--vc-primary); }
.vc-page a.vc-btn--outline { color: var(--vc-primary); }
.vc-btn--outline:hover { background: var(--vc-primary); color: var(--vc-primary-contrast); }
.vc-page a.vc-btn--outline:hover { color: var(--vc-primary-contrast); }

/* ---- Satir listesi (etiket / deger): sonuc + takip sayfalari ---- */
.vc-rows { margin: 0; display: block; text-align: start; }
.vc-rows__item { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--vc-border); }
.vc-rows__item dt { margin: 0; flex: none; font-size: .875rem; color: var(--vc-muted); font-weight: 500; }
.vc-rows__item dd { margin: 0; min-width: 0; text-align: end; font-weight: 600; word-break: break-word; }
.vc-rows__item--total { border-bottom: 0; padding-top: .9rem; }
.vc-rows__item--total dt { color: var(--vc-text); font-weight: 700; font-size: 1rem; }
.vc-rows__item--total dd { font-size: 1.25rem; }
@media (max-width: 479px) { .vc-rows__item { flex-direction: column; gap: .15rem; } .vc-rows__item dd { text-align: start; } }

/* ---- Rezervasyon sonuc sayfasi ---- */
.vc-result { max-width: 640px; margin: 0 auto; }
.vc-result__card { padding: clamp(1.5rem, 5vw, 2.5rem); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: calc(var(--vc-radius) * 1.5); box-shadow: var(--vc-shadow); text-align: center; display: grid; gap: 1rem; }
.vc-result__icon { width: 76px; height: 76px; margin: 0 auto .25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--vc-success); color: #fff; box-shadow: 0 0 0 8px var(--vc-success-bg); }
.vc-result__icon .vc-icon { width: 40px; height: 40px; stroke-width: 2.6; }
.vc-result__title { margin: 0; font-family: var(--vc-font); font-size: clamp(1.4rem, 4vw, 1.85rem); line-height: 1.25; color: var(--vc-text); }
.vc-result__title:focus { outline: 0; }
.vc-result__sub { margin: 0; color: var(--vc-muted); }
.vc-codebox { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem .9rem; margin-top: .5rem; padding: .95rem 1.1rem; background: var(--vc-surface-alt); border: 1px dashed var(--vc-input-border); border-radius: var(--vc-radius); }
.vc-codebox__label { font-weight: 700; }
.vc-codebox__code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: clamp(1.3rem, 5vw, 1.7rem); letter-spacing: .12em; color: var(--vc-primary); }
.vc-copy { display: inline-flex; align-items: center; min-height: 36px; padding: .3rem 1rem; font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; border-radius: 999px; border: 2px solid var(--vc-primary); background: transparent; color: var(--vc-primary); }
.vc-copy:hover, .vc-copy.is-copied { background: var(--vc-primary); color: var(--vc-primary-contrast); }
.vc-copy:focus-visible { outline: 2px solid var(--vc-primary); outline-offset: 2px; }
.vc-result__hint { margin: 0; font-size: .875rem; color: var(--vc-muted); }
.vc-result__card .vc-rows { margin-top: .25rem; border-top: 1px solid var(--vc-border); }
.vc-result__card .vc-alert { text-align: start; }
.vc-result__actions { justify-content: center; margin-top: .5rem; }
@media (max-width: 479px) { .vc-result__actions { flex-direction: column; } .vc-result__actions > .vc-btn { width: 100%; } }

/* ---- Takip sayfasi ---- */
.vc-track { max-width: 760px; margin: 0 auto; display: grid; gap: var(--vc-gap); }
.vc-track__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; padding: 1rem 1.25rem; background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); box-shadow: var(--vc-shadow); }
.vc-track__label { display: block; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); }
.vc-track__code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.5rem; letter-spacing: .1em; color: var(--vc-primary); }
.vc-track__quote form { margin: 0; }
.vc-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.vc-timeline li { position: relative; display: flex; align-items: center; gap: .75rem; color: var(--vc-muted); font-weight: 600; }
.vc-timeline__dot { width: 32px; height: 32px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 2px solid var(--vc-border); background: var(--vc-bg); }
.vc-timeline__dot .vc-icon { width: 16px; height: 16px; stroke-width: 3; }
.vc-timeline li.is-done .vc-timeline__dot { background: var(--vc-success); border-color: var(--vc-success); color: #fff; }
.vc-timeline li.is-done { color: var(--vc-text); }
.vc-timeline li.is-current .vc-timeline__dot { box-shadow: 0 0 0 4px var(--vc-success-bg); }
.vc-timeline li.is-cancel { color: var(--vc-danger); }
.vc-timeline li.is-cancel .vc-timeline__dot { background: var(--vc-danger); border-color: var(--vc-danger); color: #fff; box-shadow: 0 0 0 4px var(--vc-danger-bg); }
@media (min-width: 640px) {
  .vc-timeline { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; }
  .vc-timeline li { flex-direction: column; text-align: center; gap: .55rem; font-size: .875rem; }
  .vc-timeline li:not(:last-child)::after { content: ""; position: absolute; top: 15px; inset-inline-start: calc(50% + 24px); inset-inline-end: calc(-50% + 24px); height: 2px; background: var(--vc-border); }
  .vc-timeline li.is-done:not(.is-current):not(:last-child)::after { background: var(--vc-success); }
}

/* Rezervasyonlarim: kod + takip baglantisi */
.vc-res__code { font-size: .875rem; color: var(--vc-muted); }
.vc-res__code strong { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .08em; color: var(--vc-text); }
.vc-res__side { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.vc-res__track { font-size: .875rem; font-weight: 600; }

.vc-auth__panel > .vc-alert { margin-bottom: 1.1rem; }

.vc-pricecard__rows dd { direction: ltr; unicode-bidi: isolate; }
.vc-quote__price, .vc-track__code, .vc-codebox__code { unicode-bidi: isolate; }

/* RTL (Arapca) aynalama: fiziksel left / right kullanan kurallarin dir="rtl" karsiliklari */
[dir="rtl"] .vc-nav a { border-left: 0; border-right: 3px solid transparent; }
[dir="rtl"] .vc-nav a[aria-current="page"] { border-right-color: var(--vc-primary); }
@media (min-width: 768px) { [dir="rtl"] .vc-vehicle__side { border-left: 0; border-right: 1px solid var(--vc-border); } }
