/* ══════════════════════════════════════════════════════════════
   INNVORIA — tasarım sistemi
   Firefox (Acorn) çizgisi: nötr gri skala, siyah-beyaz birincil
   düğmeler, tek vurgu rengi yalnız odak ve bağlantıda.
   Açık/koyu tema: panel açık temayla açılır, koyu yalnız tema düğmesiyle ([data-theme], layout.php).
   ══════════════════════════════════════════════════════════════ */

:root {
  --bg: #f9f9fb;
  --surface: #ffffff;
  --surface-2: #f0f0f4;
  --surface-3: #e0e0e6;
  --ink: #15141a;
  --text: #2b2a33;
  --muted: #5b5b66;
  --faint: #8f8f9d;
  --line: #e0e0e6;
  --line-strong: #cfcfd8;
  --hover: #f0f0f4;
  --press: #e0e0e6;
  --accent: #0061e0;
  --accent-ink: #ffffff;
  --accent-soft: #deeafc;
  --focus: 0 0 0 2px var(--bg), 0 0 0 4px #0061e0;

  --primary: #15141a;
  --primary-hover: #2b2a33;
  --primary-ink: #ffffff;

  --ok: #017a40;      --ok-bg: #e3fff3;    --ok-line: #9ae7c4;
  --warn: #a7341f;    --warn-bg: #fff4de;  --warn-line: #ffd567;
  --err: #c50042;     --err-bg: #fff0f5;   --err-line: #ffb4cb;
  --info: #0250bb;    --info-bg: #e0f2ff;  --info-line: #a4d4ff;

  /* Oda durumları */
  --st-occ: #15141a;      --st-occ-ink: #ffffff;
  --st-arr: #0061e0;      --st-dep: #017a40;
  --st-dirty: #e27f2e;    --st-ooo: #c50042;   --st-vac: #ffffff;
  --st-long: #7542e5;

  --r-sm: 4px;
  --r: 6px;
  --r-lg: 10px;
  --sh-1: 0 1px 2px rgba(21, 20, 26, .06), 0 0 0 1px rgba(21, 20, 26, .04);
  --sh-pop: 0 2px 6px rgba(21, 20, 26, .08), 0 16px 40px rgba(21, 20, 26, .16);
  --topbar-h: 52px;
  --side-w: 236px;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  color-scheme: light;
}

:root[data-theme="dark"] {
  --bg: #1c1b22;
  --surface: #2b2a33;
  --surface-2: #23222b;
  --surface-3: #42414d;
  --ink: #fbfbfe;
  --text: #e0e0e6;
  --muted: #b0b0bb;
  --faint: #8f8f9d;
  --line: #3a3944;
  --line-strong: #52525e;
  --hover: #3a3944;
  --press: #52525e;
  --accent: #00ddff;
  --accent-ink: #15141a;
  --accent-soft: #0a3a4a;
  --focus: 0 0 0 2px var(--bg), 0 0 0 4px #00ddff;
  --primary: #fbfbfe;
  --primary-hover: #e0e0e6;
  --primary-ink: #15141a;
  --ok: #54ffbd;   --ok-bg: #12352a;  --ok-line: #1f6b4e;
  --warn: #ffbd4f; --warn-bg: #3f2a0f; --warn-line: #7a5214;
  --err: #ff848b;  --err-bg: #44111e; --err-line: #7d2338;
  --info: #80ebff; --info-bg: #0f2d3d; --info-line: #1d5a74;
  --st-occ: #fbfbfe; --st-occ-ink: #15141a;
  --st-arr: #00ddff; --st-dep: #54ffbd; --st-dirty: #ffbd4f; --st-ooo: #ff848b; --st-vac: #2b2a33; --st-long: #c689ff;
  --sh-1: 0 0 0 1px rgba(251, 251, 254, .06);
  --sh-pop: 0 0 0 1px rgba(251, 251, 254, .08), 0 18px 48px rgba(0, 0, 0, .5);
  color-scheme: dark;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'cv11', 'ss01';
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { color: var(--ink); font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
h1 { font-size: 22px; }
h2 { font-size: 17px; }
h3 { font-size: 15px; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: none; box-shadow: var(--focus); }
.mono { font-family: var(--mono); font-size: .92em; }
.muted { color: var(--muted); }
.faint { color: var(--faint); }
.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.nowrap { white-space: nowrap; }
.hidden { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ph-light, .ph, .ph-bold, .ph-fill { line-height: 1; }

/* ── Düğmeler ───────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 32px; padding: 0 12px;
  border: 1px solid var(--line-strong); border-radius: var(--r-sm);
  background: var(--surface); color: var(--ink);
  font-weight: 500; font-size: 13.5px; white-space: nowrap;
  cursor: pointer; text-decoration: none !important;
  transition: background-color .12s, border-color .12s, color .12s;
}
.btn:hover { background: var(--hover); }
.btn:active { background: var(--press); }
.btn i { font-size: 16px; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: var(--primary-ink); }
.btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.btn-ghost { background: transparent; border-color: transparent; }
.btn-ghost:hover { background: var(--hover); }
.btn-danger { color: var(--err); }
.btn-danger:hover { background: var(--err-bg); border-color: var(--err-line); }
.btn-ok { background: var(--ok); border-color: var(--ok); color: #fff; }
:root[data-theme="dark"] .btn-ok { color: #15141a; }
.btn-sm { height: 28px; padding: 0 9px; font-size: 13px; }
.btn-lg { height: 40px; padding: 0 18px; font-size: 15px; }
.btn-icon { width: 32px; padding: 0; }
.btn-sm.btn-icon { width: 28px; }
.btn[disabled], .btn.is-disabled { opacity: .45; pointer-events: none; }
.btn-group { display: inline-flex; }
.btn-group .btn { border-radius: 0; margin-left: -1px; }
.btn-group .btn:first-child { border-radius: var(--r-sm) 0 0 var(--r-sm); margin-left: 0; }
.btn-group .btn:last-child { border-radius: 0 var(--r-sm) var(--r-sm) 0; }

/* ── Formlar ───────────────────────────────────────────────── */
.input, select.input, textarea.input {
  width: 100%; height: 32px; padding: 0 10px;
  border: 1px solid var(--line-strong); border-radius: var(--r-sm);
  background: var(--surface); color: var(--ink);
  transition: border-color .12s, box-shadow .12s;
}
textarea.input { height: auto; min-height: 72px; padding: 8px 10px; resize: vertical; line-height: 1.45; }
select.input { padding-right: 28px; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 256 256'%3E%3Cpath fill='%238f8f9d' d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 9px center; }
.input:hover { border-color: var(--faint); }
.input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.input[readonly] { background: var(--surface-2); }
.input-sm { height: 28px; font-size: 13px; }
.field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.field > label, .label { font-size: 12.5px; font-weight: 500; color: var(--muted); }
.field .hint { font-size: 12px; color: var(--faint); }
.grid { display: grid; gap: 14px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.span2 { grid-column: span 2; }
.span-all { grid-column: 1 / -1; }
.input-group { display: flex; }
.input-group .input { border-radius: 0; margin-left: -1px; }
.input-group > :first-child { border-radius: var(--r-sm) 0 0 var(--r-sm); margin-left: 0; }
.input-group > :last-child { border-radius: 0 var(--r-sm) var(--r-sm) 0; }
.input-group .addon { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--line-strong);
  background: var(--surface-2); color: var(--muted); font-size: 12.5px; margin-left: -1px; white-space: nowrap; }
.check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
.check input { width: 16px; height: 16px; accent-color: var(--primary); }
.search-box { position: relative; }
.search-box i { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--faint); font-size: 16px; pointer-events: none; }
.search-box .input { padding-left: 32px; }

/* ── Kart, tablo, rozet ───────────────────────────────────── */
.card { background: var(--surface); border-radius: var(--r-lg); box-shadow: var(--sh-1); }
.card-h { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.card-h h2, .card-h h3 { flex: 1; }
.card-b { padding: 16px; }
.card-f { padding: 12px 16px; border-top: 1px solid var(--line); display: flex; gap: 8px; justify-content: flex-end; }
.card + .card, .card + .grid, .grid + .card { margin-top: 16px; }
/* Izgarada (grid/split/…izgara) aralığı gap verir; yukarıdaki kural orada aynı sıradaki ikinci kartı 16 px aşağı
   itiyordu (Genel bakış, Oda panosu, Gece denetimi, Giderler, Raporlar, Fiyatlar — 2026-11-03 taraması) */
:is(.grid, .split, .kpis, [class*="izgara"]) > :is(.card, .grid) + :is(.card, .grid) { margin-top: 0; }

.table-wrap { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.table th { text-align: left; font-weight: 500; font-size: 12px; color: var(--muted); padding: 9px 12px;
  border-bottom: 1px solid var(--line); background: var(--surface); position: sticky; top: 0; white-space: nowrap; }
.table td { padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover td { background: var(--hover); }
.table tr.is-link { cursor: pointer; }
.table tr.is-void td { color: var(--faint); text-decoration: line-through; }
.table .t-strong { color: var(--ink); font-weight: 500; }
.table tfoot td { font-weight: 600; color: var(--ink); border-top: 1px solid var(--line-strong); }
.empty { padding: 40px 16px; text-align: center; color: var(--muted); }
.empty i { font-size: 32px; color: var(--faint); display: block; margin-bottom: 8px; }

.badge { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 7px; border-radius: 10px;
  font-size: 11.5px; font-weight: 600; background: var(--surface-2); color: var(--muted); white-space: nowrap; border: 1px solid var(--line); }
.badge-ok { background: var(--ok-bg); color: var(--ok); border-color: var(--ok-line); }
.badge-warn { background: var(--warn-bg); color: var(--warn); border-color: var(--warn-line); }
.badge-err { background: var(--err-bg); color: var(--err); border-color: var(--err-line); }
.badge-info { background: var(--info-bg); color: var(--info); border-color: var(--info-line); }
.badge-dark { background: var(--primary); color: var(--primary-ink); border-color: var(--primary); }
.dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: none; }

.alert { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border-radius: var(--r);
  border: 1px solid var(--info-line); background: var(--info-bg); color: var(--text); font-size: 13.5px; }
.alert i { font-size: 18px; color: var(--info); margin-top: 1px; }
.alert-warn { border-color: var(--warn-line); background: var(--warn-bg); }
.alert-warn i { color: var(--warn); }
.alert-err { border-color: var(--err-line); background: var(--err-bg); }
.alert-err i { color: var(--err); }
.alert-ok { border-color: var(--ok-line); background: var(--ok-bg); }
.alert-ok i { color: var(--ok); }

/* ── Uygulama iskeleti ─────────────────────────────────────── */
.app { display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); grid-template-rows: var(--topbar-h) minmax(0, 1fr); min-height: 100vh; }
.topbar { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding: 0 12px 0 0;
  background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.brand { width: var(--side-w); display: flex; align-items: center; gap: 9px; padding: 0 16px; height: 100%;
  font-weight: 700; font-size: 15px; color: var(--ink); text-decoration: none !important; flex: none; letter-spacing: -.02em; }
.brand-mark { width: 26px; height: 26px; border-radius: 7px; background: var(--primary); color: var(--primary-ink);
  display: grid; place-items: center; font-size: 15px; }
.hotel-switch { display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px; border-radius: var(--r);
  color: var(--ink); font-weight: 500; max-width: 260px; background: none; border: 0; cursor: pointer; }
.hotel-switch:hover { background: var(--hover); }
.hotel-switch span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-search { flex: 1; max-width: 520px; margin: 0 auto; }
.topbar-search button { width: 100%; height: 34px; display: flex; align-items: center; gap: 8px; padding: 0 12px;
  border: 1px solid transparent; border-radius: var(--r); background: var(--surface-2); color: var(--muted); cursor: text; text-align: left; }
.topbar-search button:hover { border-color: var(--line-strong); }
.topbar-search kbd, .kbd { margin-left: auto; font-family: var(--font); font-size: 11px; padding: 1px 6px; border-radius: 4px;
  border: 1px solid var(--line-strong); background: var(--surface); color: var(--muted); }
.topbar-right { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.bizdate { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: 15px;
  border: 1px solid var(--line-strong); font-size: 12.5px; font-weight: 600; color: var(--ink); background: var(--surface); white-space: nowrap; }
.bizdate i { color: var(--muted); }
.icon-btn { width: 34px; height: 34px; display: grid; place-items: center; border-radius: var(--r); border: 0; background: none;
  color: var(--muted); cursor: pointer; font-size: 19px; position: relative; text-decoration: none !important; }
.icon-btn:hover { background: var(--hover); color: var(--ink); }
.icon-btn .pip { position: absolute; top: 6px; right: 6px; min-width: 15px; height: 15px; padding: 0 4px; border-radius: 8px;
  background: var(--err); color: #fff; font-size: 10px; font-weight: 700; display: grid; place-items: center; }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--surface-3); color: var(--ink);
  display: grid; place-items: center; font-weight: 600; font-size: 12px; flex: none; }

.sidebar { background: var(--surface); border-right: 1px solid var(--line); overflow-y: auto; padding: 10px 8px 24px;
  position: sticky; top: var(--topbar-h); height: calc(100vh - var(--topbar-h)); }
.nav-group { margin-bottom: 6px; }
.nav-title { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--faint); padding: 12px 10px 6px; }
.nav-link { display: flex; align-items: center; gap: 10px; height: 34px; padding: 0 10px; border-radius: var(--r);
  color: var(--text); font-size: 13.5px; text-decoration: none !important; position: relative; }
.nav-link i { font-size: 18px; color: var(--muted); }
.nav-link:hover { background: var(--hover); color: var(--ink); }
.nav-link.is-active { background: var(--surface-2); color: var(--ink); font-weight: 600; }
.nav-link.is-active::before { content: ''; position: absolute; left: -8px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--primary); }
.nav-link.is-active i { color: var(--ink); }
.nav-link .nav-count { margin-left: auto; font-size: 11px; font-weight: 600; color: var(--muted); }
.nav-link .nav-lock { margin-left: auto; font-size: 13px; color: var(--faint); }
.nav-link.is-locked { color: var(--faint); }

.main { padding: 20px 24px 48px; min-width: 0; }
.page-h { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.page-h h1 { flex: 1; min-width: 0; }
.page-h .sub { display: block; font-size: 13px; font-weight: 400; color: var(--muted); margin-top: 3px; letter-spacing: 0; }
.toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.toolbar .search-box { flex: 1; min-width: 200px; max-width: 360px; }
.spacer { flex: 1; }

/* Firefox sekmeleri */
.tabs { display: flex; gap: 2px; padding: 4px; border-radius: var(--r-lg); background: var(--surface-2); overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border-radius: var(--r); border: 0;
  background: none; color: var(--muted); font-weight: 500; font-size: 13.5px; cursor: pointer; white-space: nowrap; text-decoration: none !important; }
.tab:hover { background: var(--hover); color: var(--ink); }
.tab.is-active { background: var(--surface); color: var(--ink); box-shadow: 0 0 0 1px rgba(21,20,26,.05), 0 1px 3px rgba(21,20,26,.12); }
:root[data-theme="dark"] .tab.is-active { background: var(--surface-3); }
.tab .badge { height: 18px; }
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }

/* KPI kutuları */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.kpi { background: var(--surface); border-radius: var(--r-lg); box-shadow: var(--sh-1); padding: 14px 16px; text-decoration: none !important; display: block; }
.kpi:hover { box-shadow: var(--sh-1), 0 0 0 1px var(--line-strong); }
.kpi-v { font-size: 24px; font-weight: 650; color: var(--ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.kpi-l { font-size: 12.5px; color: var(--muted); display: flex; align-items: center; gap: 6px; }
.kpi-bar { height: 4px; border-radius: 2px; background: var(--surface-2); margin-top: 10px; overflow: hidden; }
.kpi-bar span { display: block; height: 100%; background: var(--primary); border-radius: 2px; }

/* ── Oda panosu ───────────────────────────────────────────── */
.legend { display: flex; flex-wrap: wrap; gap: 6px; }
.legend button, .legend a { text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 14px;
  border: 1px solid var(--line-strong); background: var(--surface); font-size: 12.5px; font-weight: 500; cursor: pointer; color: var(--text); }
.legend button:hover, .legend a:hover { background: var(--hover); }
.legend button.is-active, .legend a.is-active { background: var(--primary); color: var(--primary-ink); border-color: var(--primary); }
.legend .n { font-variant-numeric: tabular-nums; color: var(--muted); font-weight: 600; }
.legend .is-active .n { color: inherit; opacity: .75; }
.floor-h { display: flex; align-items: center; gap: 10px; margin: 18px 0 8px; font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.floor-h::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.rooms { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 10px; }
.room { position: relative; display: flex; flex-direction: column; min-height: 132px; border-radius: var(--r-lg);
  background: var(--surface); box-shadow: var(--sh-1); overflow: hidden; cursor: pointer; transition: box-shadow .12s, transform .12s;
  border: 1px solid transparent; text-align: left; }
.room:hover { box-shadow: var(--sh-pop); }
.room-h { display: flex; align-items: center; gap: 6px; padding: 8px 10px; font-weight: 700; font-size: 15px; color: var(--ink); }
.room-h .rt { font-size: 11px; font-weight: 500; color: var(--muted); margin-left: auto; max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.room-b { flex: 1; padding: 0 10px 8px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.room-guest { font-weight: 600; font-size: 13px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.room-meta { font-size: 11.5px; color: var(--muted); display: flex; gap: 6px; align-items: center; }
.room-f { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-top: 1px solid var(--line); font-size: 11.5px; min-height: 30px; }
.room-f .bal { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.room-f .bal.is-due { color: var(--err); }
.room-hk { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); }
.room-empty { flex: 1; display: grid; place-items: center; color: var(--faint); font-size: 12px; }
.room.is-occ .room-h { background: var(--st-occ); color: var(--st-occ-ink); }
.room.is-occ .room-h .rt { color: var(--st-occ-ink); opacity: .7; }
.room.is-arr { border-color: var(--st-arr); }
.room.is-arr .room-h { box-shadow: inset 0 -2px 0 var(--st-arr); }
.room.is-dep .room-h { background: var(--st-dep); color: #fff; }
:root[data-theme="dark"] .room.is-dep .room-h { color: #15141a; }
.room.is-dep .room-h .rt { color: inherit; opacity: .8; }
.room.is-long .room-h { background: var(--st-long); color: #fff; }
.room.is-ooo { background: repeating-linear-gradient(135deg, var(--surface), var(--surface) 8px, var(--err-bg) 8px, var(--err-bg) 16px); }
.room.is-ooo .room-h { color: var(--st-ooo); }
.room .flag { position: absolute; top: 8px; right: 8px; }
.room-dirty-mark { width: 8px; height: 8px; border-radius: 50%; background: var(--st-dirty); box-shadow: 0 0 0 2px var(--surface); }
.room.is-occ .room-dirty-mark, .room.is-dep .room-dirty-mark { box-shadow: 0 0 0 2px var(--st-occ); }
.room-tags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 2px; }

/* ── Oda planı (rack) ─────────────────────────────────────── */
.rack-wrap { overflow: auto; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); max-height: calc(100vh - 190px); }
.rack { border-collapse: separate; border-spacing: 0; font-size: 12px; min-width: 100%; }
.rack th, .rack td { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); height: 34px; padding: 0; }
.rack thead th { position: sticky; top: 0; z-index: 3; background: var(--surface); font-weight: 500; color: var(--muted); min-width: 46px; text-align: center; line-height: 1.2; padding: 4px 0; }
.rack thead th.is-today { color: var(--ink); background: var(--surface-2); }
.rack thead th.is-we { color: var(--ink); }
.rack thead th b { display: block; font-size: 13px; color: var(--ink); }
.rack .rk-room { position: sticky; left: 0; z-index: 2; background: var(--surface); min-width: 120px; padding: 0 10px; text-align: left; font-weight: 600; color: var(--ink); white-space: nowrap; }
.rack thead .rk-room { z-index: 4; }
.rack .rk-type td, .rack .rk-type th { background: var(--surface-2); height: 30px; }
.rack .rk-type .rk-room { background: var(--surface-2); font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
.rack .rk-avail { text-align: center; font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.rack .rk-avail b { display: block; color: var(--ink); font-size: 12px; }
.rack .rk-avail.is-full b { color: var(--err); }
.rack td.cell { position: relative; cursor: cell; }
.rack td.cell:hover { background: var(--hover); }
.rack td.cell.is-today { background: color-mix(in srgb, var(--surface-2) 60%, transparent); }
.rack td.cell.is-we { background: color-mix(in srgb, var(--surface-2) 35%, transparent); }
.rk-bar { position: absolute; top: 4px; bottom: 4px; z-index: 1; display: flex; align-items: center; gap: 4px; padding: 0 8px;
  border-radius: 5px; font-size: 11.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  color: #fff; background: #5b5b66; text-decoration: none !important; box-shadow: 0 1px 2px rgba(0,0,0,.15); }
.rk-bar:hover { filter: brightness(1.1); z-index: 2; }
.rk-bar.s-confirmed { background: #0061e0; }
.rk-bar.s-option { background: repeating-linear-gradient(135deg, #8f8f9d, #8f8f9d 6px, #a6a6b0 6px, #a6a6b0 12px); }
.rk-bar.s-checked_in { background: #15141a; }
.rk-bar.s-checked_out { background: #b0b0bb; color: #15141a; }
:root[data-theme="dark"] .rk-bar.s-checked_in { background: #fbfbfe; color: #15141a; }
:root[data-theme="dark"] .rk-bar.s-confirmed { background: #0090b8; }
/* Kesik uçlar yöne göre: Arapçada görünümün başı sağdadır */
.rk-bar.is-cut-l { border-start-start-radius: 0; border-end-start-radius: 0; }
.rk-bar.is-cut-r { border-start-end-radius: 0; border-end-end-radius: 0; }
.rk-ooo { position: absolute; inset: 4px 0; background: repeating-linear-gradient(135deg, transparent, transparent 5px, var(--err-line) 5px, var(--err-line) 7px); }

/* ── Detay sayfası ─────────────────────────────────────────── */
.split { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 18px; }
.fact .k { font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 5px; }
.fact .v { color: var(--ink); font-weight: 500; margin-top: 2px; }
.balance-box { text-align: left; }
.balance-box .big { font-size: 28px; font-weight: 650; color: var(--ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.balance-box .big.is-due { color: var(--err); }
.kv { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px; }
.kv:last-child { border-bottom: 0; }
.kv span:first-child { color: var(--muted); }
.kv span:last-child { color: var(--ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.timeline { list-style: none; }
.timeline li { position: relative; padding: 0 0 12px 18px; font-size: 13px; }
.timeline li::before { content: ''; position: absolute; left: 3px; top: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--line-strong); }
.timeline li::after { content: ''; position: absolute; left: 6px; top: 16px; bottom: 0; width: 1px; background: var(--line); }
.timeline li:last-child::after { display: none; }
.timeline .when { font-size: 11.5px; color: var(--faint); }

/* ── Menü (sağ tık / açılır) ──────────────────────────────── */
.menu { position: fixed; z-index: 1000; min-width: 210px; padding: 5px; border-radius: var(--r-lg); background: var(--surface);
  box-shadow: var(--sh-pop); border: 1px solid var(--line); }
.menu-h { padding: 6px 10px 4px; font-size: 12px; color: var(--muted); }
.menu-h b { color: var(--ink); font-size: 13px; display: block; }
.menu a, .menu button { display: flex; width: 100%; align-items: center; gap: 9px; height: 32px; padding: 0 10px; border: 0; border-radius: var(--r-sm);
  background: none; color: var(--text); font-size: 13.5px; text-align: left; cursor: pointer; text-decoration: none !important; }
.menu a:hover, .menu button:hover, .menu .is-focus { background: var(--hover); color: var(--ink); }
.menu i { font-size: 16px; color: var(--muted); width: 18px; }
.menu hr { border: 0; border-top: 1px solid var(--line); margin: 5px 0; }
.menu .is-danger { color: var(--err); }
.menu .is-danger i { color: var(--err); }

/* Dil menüsü: iki sütun, bayraklı; dar ekranda tek sütun ve kaydırılır */
.bayrak { width: 20px; height: 15px; flex: none; border-radius: 2.5px; display: block; box-shadow: 0 0 0 1px rgba(15,23,41,.14) inset; }
.menu.menu-dil { display: flex; flex-direction: column; gap: 1px; width: 230px; max-width: calc(100vw - 16px); max-height: min(380px, calc(100vh - 90px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.menu.menu-dil a { height: 34px; }
.menu.menu-dil a.is-on { background: var(--surface-2); color: var(--ink); font-weight: 600; }
.menu.menu-dil .menu-tik { margin-inline-start: auto; color: var(--ink); width: auto; }
.menu.menu-dil span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Pencere (dialog) ─────────────────────────────────────── */
dialog.modal { border: 0; padding: 0; border-radius: 12px; background: var(--surface); color: var(--text); box-shadow: var(--sh-pop);
  width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); margin: auto; overflow: hidden; }
dialog.modal.wide { width: min(860px, calc(100vw - 32px)); }
dialog.modal::backdrop { background: rgba(21, 20, 26, .42); }
dialog.modal[open] { display: flex; flex-direction: column; animation: pop .14s ease-out; }
@keyframes pop { from { opacity: 0; transform: translateY(6px) scale(.985); } }
.modal-h { display: flex; align-items: center; gap: 10px; padding: 14px 16px 12px; border-bottom: 1px solid var(--line); }
.modal-h h2 { flex: 1; font-size: 16px; }
.modal-b { padding: 16px; overflow-y: auto; }
.modal-f { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); background: var(--surface); }

/* Onay penceresi */
.confirm-b { display: flex; gap: 14px; padding: 20px 20px 8px; }
.confirm-ic { width: 38px; height: 38px; flex: none; border-radius: 50%; display: grid; place-items: center; font-size: 20px; background: var(--surface-2); color: var(--ink); }
.confirm-ic.is-danger { background: var(--err-bg); color: var(--err); }
.confirm-ic.is-warn { background: var(--warn-bg); color: var(--warn); }
.confirm-b h3 { margin-bottom: 4px; }
.confirm-b p { color: var(--muted); font-size: 13.5px; }

/* Bildirim (toast) */
.toasts { position: fixed; top: auto; left: auto; right: 16px; bottom: 16px; z-index: 2000; display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
/* Kap üst katmanda (popover) açılır: tarayıcının popover varsayılanları sıfırlanır */
.toasts[popover] { inset: auto 16px 16px auto; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; overflow: visible; }
.toast { pointer-events: auto; display: flex; align-items: center; gap: 10px; min-width: 260px; max-width: 420px; padding: 11px 14px;
  border-radius: var(--r-lg); background: var(--primary); color: var(--primary-ink); box-shadow: var(--sh-pop); font-size: 13.5px; animation: pop .16s ease-out; }
.toast i { font-size: 18px; }
.toast.is-err i { color: #ff848b; }
.toast.is-ok i { color: #54ffbd; }
:root[data-theme="dark"] .toast.is-err i { color: var(--err); }
:root[data-theme="dark"] .toast.is-ok i { color: #017a40; }
/* Hata bildirimi belirgin: kırmızı zemin, kalın yazı */
.toast.is-err { background: var(--err); color: #fff; font-weight: 500; }
.toast.is-err i, :root[data-theme="dark"] .toast.is-err i { color: inherit; }
:root[data-theme="dark"] .toast.is-err { color: #15141a; }

/* Alan hatası (IV.alanHata): kırmızı çerçeve + alanın altında ileti */
.field.is-hata .input, .field.is-hata .rf-segment { border-color: var(--err) !important; box-shadow: 0 0 0 1px var(--err); }
.field.is-hata > label { color: var(--err) !important; }
.alan-hata { display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; color: var(--err); font-size: 13px; font-weight: 500; line-height: 1.4; }
.alan-hata i { flex: none; font-size: 16px; margin-top: 1px; }

/* Komut paleti */
.palette { width: min(620px, calc(100vw - 24px)); margin: 10vh auto auto; }
.palette .modal-b { padding: 0; }
.palette-in { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid var(--line); }
.palette-in i { font-size: 20px; color: var(--muted); }
.palette-in input { flex: 1; height: 52px; border: 0; background: none; outline: none; font-size: 16px; color: var(--ink); }
.palette-in input { min-width: 0; }
.palette-x { flex: none; margin-inline-end: -6px; }
.palette-x i { font-size: 20px; }
.palette-list { max-height: 50vh; overflow-y: auto; padding: 6px; }
.palette-sec { padding: 8px 10px 4px; font-size: 11px; font-weight: 600; color: var(--faint); text-transform: uppercase; letter-spacing: .04em; }
.palette-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--r); cursor: pointer; color: var(--text); text-decoration: none !important; }
.palette-item i { font-size: 18px; color: var(--muted); }
.palette-item small { margin-left: auto; color: var(--faint); font-size: 12px; }
.palette-item.is-focus { background: var(--hover); color: var(--ink); }
.palette-foot { display: flex; gap: 14px; padding: 8px 14px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }

/* Sayfalama */
.pager { display: flex; align-items: center; gap: 6px; justify-content: flex-end; padding: 10px 12px; font-size: 13px; color: var(--muted); }

/* ── Kat hizmetleri telefon ekranı ─────────────────────────── */
.hk-list { display: grid; gap: 8px; }
.hk-item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.hk-no { font-size: 20px; font-weight: 700; color: var(--ink); width: 56px; }
.hk-info { flex: 1; min-width: 0; font-size: 12.5px; color: var(--muted); }
.hk-info b { display: block; color: var(--ink); font-size: 13.5px; }

/* ── Grafik ───────────────────────────────────────────────── */
.chart-box { position: relative; height: 260px; }
.bars { display: flex; align-items: flex-end; gap: 4px; height: 140px; }
.bars span { flex: 1; background: var(--primary); border-radius: 3px 3px 0 0; min-height: 2px; opacity: .85; }

/* ── Platform (vitrin, giriş) ─────────────────────────────── */
.site { min-height: 100vh; background: var(--bg); }
.site-nav { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 20px; height: 64px; padding: 0 max(20px, calc((100vw - 1160px) / 2));
  background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); }
.site-nav .brand { width: auto; padding: 0; }
.site-nav nav { display: flex; gap: 4px; margin-left: 12px; }
.site-nav nav a { padding: 6px 10px; border-radius: var(--r); color: var(--text); font-weight: 500; text-decoration: none; }
.site-nav nav a:hover { background: var(--hover); }
.site-nav .right { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
.hero { padding: 84px 0 40px; text-align: center; }
.hero h1 { font-size: clamp(34px, 5.4vw, 60px); letter-spacing: -.035em; line-height: 1.04; max-width: 860px; margin: 0 auto; }
.hero p.lead { font-size: 18px; color: var(--muted); max-width: 640px; margin: 20px auto 30px; }
.hero .cta { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 12px; border-radius: 14px; border: 1px solid var(--line-strong);
  font-size: 12.5px; font-weight: 500; color: var(--muted); margin-bottom: 22px; background: var(--surface); }
.shot { margin: 46px auto 0; max-width: 1100px; border-radius: 14px; background: var(--surface); box-shadow: var(--sh-pop); overflow: hidden; border: 1px solid var(--line); }
.shot-bar { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.shot-bar span { width: 10px; height: 10px; border-radius: 50%; background: var(--line-strong); }
.section { padding: 72px 0; }
.section h2.big { font-size: clamp(26px, 3.4vw, 38px); letter-spacing: -.03em; text-align: center; }
.section p.lead { text-align: center; color: var(--muted); max-width: 620px; margin: 12px auto 40px; font-size: 16px; }
.features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.feature { padding: 22px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.feature i { font-size: 26px; color: var(--ink); }
.feature h3 { margin: 12px 0 6px; }
.feature p { color: var(--muted); font-size: 13.5px; }
.feature .soon { margin-left: 6px; }
.plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.plan { display: flex; flex-direction: column; padding: 22px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); border: 1px solid transparent; }
.plan.is-pop { border-color: var(--primary); }
.plan h3 { font-size: 18px; display: flex; align-items: center; gap: 8px; }
.plan .who { color: var(--muted); font-size: 13px; margin: 4px 0 16px; }
.plan .price { font-size: 32px; font-weight: 700; color: var(--ink); letter-spacing: -.03em; }
.plan .price small { font-size: 13px; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.plan ul { list-style: none; margin: 18px 0 22px; display: grid; gap: 8px; font-size: 13.5px; flex: 1; }
.plan li { display: flex; gap: 8px; }
.plan li i { color: var(--ink); font-size: 16px; margin-top: 2px; }
.plan li.is-off { color: var(--faint); }
.plan li.is-off i { color: var(--faint); }
.matrix td, .matrix th { text-align: center; }
.matrix td:first-child, .matrix th:first-child { text-align: left; }
.site-foot { border-top: 1px solid var(--line); padding: 30px 0 40px; color: var(--muted); font-size: 13px; }
.auth { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; background: var(--bg); }
.auth-card { width: min(440px, 100%); background: var(--surface); border-radius: 14px; box-shadow: var(--sh-1); padding: 28px; }
.auth-card.wide { width: min(720px, 100%); }
.auth-card .brand { width: auto; padding: 0; height: auto; margin-bottom: 22px; }
.auth-card h1 { margin-bottom: 6px; }
.auth-card .sub { color: var(--muted); margin-bottom: 20px; }
.auth-foot { margin-top: 18px; font-size: 13px; color: var(--muted); text-align: center; }
.steps { display: flex; gap: 8px; margin-bottom: 18px; }
.steps span { flex: 1; height: 4px; border-radius: 2px; background: var(--surface-3); }
.steps span.is-on { background: var(--primary); }
.hotel-list { display: grid; gap: 8px; }
.hotel-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-lg); border: 1px solid var(--line);
  background: var(--surface); text-decoration: none !important; color: var(--text); cursor: pointer; width: 100%; text-align: left; }
.hotel-item:hover { border-color: var(--line-strong); background: var(--hover); }
.hotel-item .ic { width: 38px; height: 38px; border-radius: 9px; background: var(--surface-2); display: grid; place-items: center; font-size: 20px; color: var(--ink); }
.hotel-item b { display: block; color: var(--ink); }

/* Hata sayfası */
.hata-govde { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.hata-kart { max-width: 460px; text-align: center; }
.hata-kod { font-size: 64px; font-weight: 800; letter-spacing: -.04em; color: var(--line-strong); }
.hata-kart h1 { margin: 6px 0 8px; }
.hata-kart p { color: var(--muted); margin-bottom: 20px; }
/* Panel içi hata (Hata::goster, giriş yapılmışken) */
.hata-kart--panel { margin: 9vh auto 0; }

/* Paketin kapsamadığı özellik (Yetki::kilitSayfasi) */
.kilit { max-width: 560px; margin: 7vh auto 0; text-align: center; display: flex; flex-direction: column; align-items: center; }
.kilit-ikon { position: relative; width: 72px; height: 72px; border-radius: 20px; display: grid; place-items: center; background: var(--surface); box-shadow: var(--sh-1); font-size: 36px; color: var(--ink); margin-bottom: 18px; }
.kilit-rozet { position: absolute; inset-inline-end: -8px; bottom: -8px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: var(--primary-ink); font-size: 16px; box-shadow: 0 0 0 3px var(--bg); }
.kilit h1 { margin: 12px 0 8px; font-size: 26px; letter-spacing: -.02em; }
body:has(> .app) .kilit h1 { font-size: 26px; }
.kilit-acik { margin: 0; font-size: 16px; color: var(--text); }
.kilit-not { margin: 10px 0 0; font-size: 14px; color: var(--muted); }
.kilit-liste { width: 100%; margin-top: 24px; padding: 16px 18px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); text-align: start; }
.kilit-liste h2, body:has(> .app) .kilit-liste h2 { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--faint); }
.kilit-liste ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.kilit-liste li { display: flex; align-items: flex-start; gap: 8px; font-size: 14.5px; color: var(--text); }
.kilit-liste li i { flex: none; margin-top: 3px; color: var(--ok); }
.kilit-dugmeler { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
@media (max-width: 600px) { .kilit { margin-top: 3vh; } .kilit-liste ul { grid-template-columns: minmax(0, 1fr); } }

/* Yazdırma */
@media print {
  .sidebar, .topbar, .no-print, .toolbar, .tabs { display: none !important; }
  .app { display: block; }
  .main { padding: 0; }
  .card { box-shadow: none; border: 1px solid #ccc; }
  body { background: #fff; }
}

/* ── Duyarlı ──────────────────────────────────────────────── */
.nav-toggle { display: none; }
@media (max-width: 1100px) {
  .split { grid-template-columns: 1fr; }
  .plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .app { grid-template-columns: 1fr; }
  .brand { width: auto; padding: 0 8px 0 4px; }
  .brand .brand-name { display: none; }
  .nav-toggle { display: grid; }
  .sidebar { position: fixed; inset: var(--topbar-h) 0 0 0; z-index: 60; height: auto; width: 100vw; border-right: 0;
    opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity .16s, transform .16s; }
  body.nav-open .sidebar { opacity: 1; pointer-events: auto; transform: none; }
  body.nav-open { overflow: hidden; }
  .main { padding: 16px 16px 40px; }
  .g3, .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .features { grid-template-columns: 1fr 1fr; }
  .topbar-search kbd, .hotel-switch .hs-name { display: none; }
  .bizdate .bd-label { display: none; }
  .site-nav > nav:not(.v-mobil-menu) { display: none; }
}
@media (max-width: 600px) {
  .g2, .g3, .g4 { grid-template-columns: 1fr; }
  .span2 { grid-column: auto; }
  .features, .plans { grid-template-columns: 1fr; }
  .rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .room { min-height: 118px; }
  .topbar-search { max-width: none; }
  .topbar-search button span { display: none; }
  .topbar-search button { width: 34px; padding: 0; justify-content: center; background: none; }
  .topbar-search { flex: 0; margin: 0; }
  .page-h h1 { font-size: 19px; }
  .toasts, .toasts[popover] { left: 12px; right: 12px; top: 12px; bottom: auto; }
  .toast { min-width: 0; max-width: none; }
  .hero { padding-top: 48px; }
}

@media (max-width: 760px) { .hide-sm { display: none; } }
.topbar-search button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rack { table-layout: fixed; --cw: 44px; }
.rack col.c-day { width: var(--cw); }
.rack td.cell.is-sel { background: var(--accent-soft) !important; }
.rk-bar .rk-pay { margin-left: auto; opacity: .8; font-weight: 500; }
.palette-in input:focus-visible { box-shadow: none; }
@media (max-width: 900px) { .app { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .topbar { gap: 2px; padding-right: 8px; }
  .topbar .trial-badge, .topbar .theme-btn, .bizdate i { display: none; }
  .bizdate { padding: 0 8px; font-size: 12px; }
  .hotel-switch { padding: 0 6px; }
  .brand-mark { width: 28px; height: 28px; }
}
.split > *, .grid > * { min-width: 0; }
.tabs { max-width: 100%; }
@media (max-width: 600px) { .page-h h1 { flex-basis: 100%; } .page-h > div { flex-wrap: wrap; } }

/* ── Sağdan sola (Arapça) ─────────────────────────────────── */
[dir="rtl"] body { font-family: 'Inter', 'Segoe UI', Tahoma, 'Geeza Pro', 'Arabic UI Text', sans-serif; }
[dir="rtl"] .sidebar { border-right: 0; border-left: 1px solid var(--line); }
[dir="rtl"] .nav-link.is-active::before { left: auto; right: -8px; border-radius: 3px 0 0 3px; }
[dir="rtl"] .nav-link .nav-count, [dir="rtl"] .nav-link .nav-lock, [dir="rtl"] .topbar-right, [dir="rtl"] .topbar-search kbd,
[dir="rtl"] .room-h .rt, [dir="rtl"] .room-f .bal, [dir="rtl"] .palette-item small, [dir="rtl"] .rk-bar .rk-pay { margin-left: 0; margin-right: auto; }
[dir="rtl"] .table th, [dir="rtl"] .rack .rk-room { text-align: right; }
[dir="rtl"] .num { text-align: left; }
[dir="rtl"] .search-box i { left: auto; right: 10px; }
[dir="rtl"] .search-box .input { padding-left: 10px; padding-right: 32px; }
[dir="rtl"] select.input { background-position: left 9px center; padding-right: 10px; padding-left: 28px; }
[dir="rtl"] .rack .rk-room { left: auto; right: 0; }
[dir="rtl"] .rk-bar { direction: rtl; }
[dir="rtl"] .timeline li { padding: 0 18px 12px 0; }
[dir="rtl"] .timeline li::before { left: auto; right: 3px; }
[dir="rtl"] .timeline li::after { left: auto; right: 6px; }
[dir="rtl"] .toasts, [dir="rtl"] .toasts[popover] { right: auto; left: 16px; }
[dir="rtl"] .btn-group .btn:first-child { border-radius: 0 var(--r-sm) var(--r-sm) 0; margin-left: -1px; }
[dir="rtl"] .btn-group .btn:last-child { border-radius: var(--r-sm) 0 0 var(--r-sm); }
[dir="rtl"] .input-group > :first-child { border-radius: 0 var(--r-sm) var(--r-sm) 0; }
[dir="rtl"] .input-group > :last-child { border-radius: var(--r-sm) 0 0 var(--r-sm); }
[dir="rtl"] .ph-caret-right, [dir="rtl"] .ph-caret-left, [dir="rtl"] .ph-arrow-left, [dir="rtl"] .ph-arrow-right, [dir="rtl"] .ph-sign-in, [dir="rtl"] .ph-sign-out { transform: scaleX(-1); }
[dir="rtl"] .hbar-t span { border-radius: 4px 0 0 4px; }
[dir="rtl"] .kpi-bar span { margin-left: auto; }
/* Uzun sözcüklü dillerde (de, fi, nl, el, ru) taşmayı önle */
.nav-link span, .kpi-l, .room-guest, .tab, .btn span { overflow-wrap: anywhere; }
.page-h h1 { overflow-wrap: anywhere; }

/* Çok dar ekran (320–400 px): uzun dillerde taşmayı önler */
.btn-group { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.btn-group::-webkit-scrollbar { display: none; }
.card-f { flex-wrap: wrap; }
@media (max-width: 400px) { .topbar .brand { display: none; } }
.page-h > div { max-width: 100%; min-width: 0; }
/* Uzun düğme metni dar ekranda alt satıra geçer (Rusça, Fince…) */
@media (max-width: 480px) { .card-f .btn { height: auto; min-height: 28px; padding-block: 5px; white-space: normal; text-align: start; } }

/* ───────── Online rezervasyon sayfası (/book/{slug}) ───────── */
body.bk { background: var(--bg); min-height: 100vh; display: flex; flex-direction: column; }
.bk-wrap { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 16px; }
.bk-top { background: var(--surface); border-bottom: 1px solid var(--line); }
.bk-top-in { display: flex; align-items: center; gap: 12px; min-height: 60px; }
.bk-otel { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; min-width: 0; }
.bk-otel b { display: block; font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bk-otel small { display: block; color: var(--muted); font-size: 12.5px; }
.bk-mark { width: 34px; height: 34px; flex: none; border-radius: 8px; background: var(--ink); color: var(--surface); display: grid; place-items: center; font-size: 18px; }
.bk-top-r { margin-inline-start: auto; display: flex; gap: 4px; flex: none; }
.bk-main { flex: 1; padding-top: 22px; padding-bottom: 40px; display: grid; gap: 16px; align-content: start; }
.bk-adim { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px 18px; flex-wrap: wrap; font-size: 13.5px; color: var(--muted); }
.bk-adim li { display: flex; align-items: center; gap: 8px; }
.bk-adim li span { width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--line-strong); display: grid; place-items: center; font-size: 12px; font-weight: 600; }
.bk-adim li.is-now { color: var(--ink); font-weight: 600; }
.bk-adim li.is-now span { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.bk-adim li.is-done span { background: var(--ok-bg); border-color: var(--ok-line); color: var(--ok); }
.bk-intro { margin: 0; font-size: 15px; color: var(--muted); max-width: 70ch; }
.bk-ara { display: grid; grid-template-columns: 1.3fr 1.3fr .7fr .7fr auto; gap: 12px; padding: 16px; align-items: end; }
.bk-ara .field { margin: 0; min-width: 0; }
.bk-ara-btn { height: 34px; }
.bk-mesaj { margin: 0; }
.bk-baslik { margin: 4px 0 0; font-size: 14px; color: var(--muted); }
.bk-liste { display: grid; gap: 14px; }
.bk-oda-b { display: grid; gap: 6px; }
.bk-oda-bas { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; }
.bk-oda-bas h3 { margin: 0; font-size: 17px; }
.bk-kap { display: flex; gap: 10px; align-items: center; color: var(--muted); font-size: 13px; }
.bk-kap span { display: inline-flex; align-items: center; gap: 3px; }
.bk-son { color: var(--warn) !important; background: var(--warn-bg); border: 1px solid var(--warn-line); border-radius: 999px; padding: 1px 9px; font-weight: 600; font-size: 12px; }
.bk-acik { margin: 0; font-size: 13.5px; }
.bk-teklif { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.bk-teklif li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px 16px; align-items: center; padding: 12px 16px; }
.bk-teklif li + li { border-top: 1px solid var(--line); }
.bk-t-ad b, .bk-t-fiyat b { display: block; }
.bk-t-ad small, .bk-t-fiyat small { display: block; font-size: 12.5px; }
.bk-t-fiyat { text-align: end; font-variant-numeric: tabular-nums; }
.bk-t-fiyat b { font-size: 16px; }
.bk-not { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); }
.bk-not i { font-size: 16px; margin-top: 1px; }
.bk-bos .card-b, .bk-kapali .card-b { text-align: center; padding: 36px 20px; }
.bk-bos i, .bk-kapali i { font-size: 36px; color: var(--muted); }
.bk-bos h3, .bk-kapali h1 { margin: 10px 0 4px; font-size: 18px; }
.bk-iki { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.bk-sepet { position: sticky; top: 16px; }
.bk-satirlar { display: grid; gap: 10px; font-size: 13.5px; }
.bk-satirlar div { display: flex; justify-content: space-between; gap: 12px; }
.bk-satirlar span { color: var(--muted); }
.bk-satirlar b { text-align: end; font-weight: 500; }
.bk-toplam { border-top: 1px solid var(--line); display: grid; gap: 2px; }
.bk-toplam span { color: var(--muted); font-size: 13px; }
.bk-toplam b { font-size: 22px; font-variant-numeric: tabular-nums; }
.bk-toplam small { color: var(--muted); font-size: 12.5px; }
.bk-kosul { max-height: 160px; overflow: auto; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface-2); font-size: 13px; color: var(--muted); }
.bk-onay { align-items: flex-start; font-size: 13.5px; }
.bk-onay input { margin-top: 2px; flex: none; }
.bk-bal { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bk-ok .card-b:first-child { text-align: center; padding: 30px 20px 20px; }
.bk-ok-ic i { font-size: 48px; color: var(--ok); }
.bk-ok h1 { margin: 8px 0 4px; font-size: 22px; }
.bk-kod { display: inline-grid; gap: 2px; margin-top: 14px; padding: 10px 22px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); }
.bk-kod b { font-size: 24px; letter-spacing: .12em; }
.bk-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); border-top: 1px solid var(--line); }
.bk-ozet > div { padding: 14px 16px; display: grid; gap: 2px; border-bottom: 1px solid var(--line); }
.bk-ozet span { color: var(--muted); font-size: 12.5px; }
.bk-ozet small { color: var(--muted); font-size: 12.5px; }
.bk-ozet-top b { font-size: 18px; }
.bk-alt { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: space-between; padding-top: 16px; padding-bottom: 24px; font-size: 12.5px; color: var(--muted); border-top: 1px solid var(--line); }
@media (max-width: 860px) {
  .bk-iki { grid-template-columns: minmax(0, 1fr); }
  .bk-sepet { position: static; order: -1; }
  .bk-ara { grid-template-columns: 1fr 1fr; }
  .bk-ara-btn { grid-column: 1 / -1; height: 40px; }
}
@media (max-width: 520px) {
  .bk-teklif li { grid-template-columns: minmax(0, 1fr) auto; }
  .bk-teklif li .btn { grid-column: 1 / -1; }
}
@media print {
  .bk-top-r, .bk-adim, .bk-ok .card-f .btn, .bk-alt .faint { display: none !important; }
  body.bk { background: #fff; }
}

/* ───────── Online check-in (/checkin/…) ───────── */
.ci-rez-b { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ci-rez-b > div { padding: 12px 16px; display: grid; gap: 2px; border-bottom: 1px solid var(--line); }
.ci-rez-b span { color: var(--muted); font-size: 12.5px; }
.ci-rez-b b { font-weight: 600; }
.ci-form { display: grid; gap: 14px; }
.ci-form fieldset { margin: 0; padding: 0; min-width: 0; border: 0; }
.ci-misafir .card-h h3 { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.card.is-hata { border-color: var(--err-line); box-shadow: 0 0 0 3px var(--err-bg); }
.ci-ozet { display: grid; gap: 0; border-top: 1px solid var(--line); }
.ci-ozet > div { display: flex; gap: 10px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.ci-ozet i { font-size: 20px; color: var(--muted); }
.ci-ozet b, .ci-ozet small { display: block; }

/* ═════════════ VİTRİN (ana sayfa) — editoryal düzen, her zaman açık tema ═════════════ */
.v-site { --v-ink: #111014; --v-bej: #f4f1ec; --v-cizgi: #e6e2da; background: #fff; color: #2a2930; }
.v-site .wrap { max-width: 1240px; padding: 0 28px; }
.v-site .site-nav { background: rgba(255,255,255,.86); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--v-cizgi); padding: 0 max(28px, calc((100vw - 1240px) / 2 + 28px)); height: 70px; }
.v-site h1, .v-site h2, .v-site h3 { color: var(--v-ink); }
.v-eyebrow { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #6b6a72; margin-bottom: 18px; }
.v-lead { font-size: 18px; line-height: 1.6; color: #55545c; max-width: 600px; }
.v-btn-cizgi { background: transparent; border-color: var(--v-ink); color: var(--v-ink); }
.v-btn-cizgi:hover { background: var(--v-ink); color: #fff; }
.v-btn-acik { background: #fff; border-color: #fff; color: var(--v-ink); font-weight: 600; }
.v-btn-acik:hover { background: #f1f1f1; }
.v-site .btn-lg { height: 50px; padding: 0 26px; font-size: 15.5px; border-radius: 2px; }
.v-orta { text-align: center; margin-top: 44px; }

/* görsel yuvası */
.v-img { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 2px; background: #ece9e3; }
.v-yer { width: 100%; display: grid; place-content: center; justify-items: center; gap: 6px; border-radius: 2px; color: #8b877e; text-align: center; padding: 16px;
  background: linear-gradient(135deg, #efebe4 0%, #e5e0d7 100%); }
.v-yer i { font-size: 34px; opacity: .6; }
.v-yer b { font: 600 12.5px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; color: #6d695f; }
.v-yer span { font-size: 11.5px; }

/* kahraman */
.v-hero { padding: 80px 0 110px; background: #fff; overflow: hidden; }
.v-hero-in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 80px; align-items: center; }
.v-hero h1 { font-size: clamp(40px, 4.9vw, 68px); line-height: 1.02; letter-spacing: -.045em; font-weight: 600; margin: 0 0 26px; }
.v-hero .v-lead { margin: 0 0 34px; }
.v-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.v-tikler { list-style: none; margin: 30px 0 0; padding: 0; display: flex; gap: 10px 24px; flex-wrap: wrap; font-size: 14px; color: #55545c; }
.v-tikler li { display: inline-flex; align-items: center; gap: 7px; }
.v-tikler i { font-size: 16px; color: var(--v-ink); }
.v-hero-gorsel { position: relative; }
.v-hero-gorsel::before { content: ''; position: absolute; inset: 44px -44px -44px 44px; background: var(--v-bej); z-index: 0; }
[dir="rtl"] .v-hero-gorsel::before { inset: 44px 44px -44px -44px; }
.v-hero-gorsel > * { position: relative; z-index: 1; }
.v-hero-gorsel > .v-kart { position: absolute; z-index: 2; }
.v-hero-img { box-shadow: 0 30px 60px -30px rgba(17,16,20,.35); }
.v-kart { position: absolute; background: #fff; border-radius: 10px; box-shadow: 0 18px 50px -12px rgba(17,16,20,.28), 0 0 0 1px rgba(17,16,20,.05); }
.v-kart-pano { inset-inline-start: -56px; bottom: 56px; width: 300px; padding: 12px; }
.v-kart-bas { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 600; color: #55545c; margin-bottom: 10px; }
.v-nokta { width: 8px; height: 8px; border-radius: 50%; background: #2ac769; box-shadow: 0 0 0 4px rgba(42,199,105,.15); }
.v-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v-mini .room { min-height: 64px; cursor: default; }
.v-mini .room-h { font-size: 12px; padding: 4px 8px; }
.v-mini .room-meta { font-size: 11px; }
.v-kart-bildirim { inset-inline-end: -28px; top: 40px; display: flex; gap: 10px; align-items: center; padding: 12px 16px; font-size: 13px; }
.v-kart-bildirim i { font-size: 24px; color: #2ac769; }
.v-kart-bildirim b, .v-kart-bildirim small { display: block; }
.v-kart-bildirim small { color: #6b6a72; }

/* tesis türleri şeridi */
.v-tipler { background: #fff; border-top: 1px solid var(--v-cizgi); border-bottom: 1px solid var(--v-cizgi); }
.v-tipler-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 36px; }
/* Üst/alt boşluk: ".v-site .wrap" (padding: 0 28px) daha güçlü olduğu için eskiden sıfırlanıyordu (kullanıcı, 2026-11-04: "çok sıkışık") */
.v-tipler .v-tipler-in { padding-block: 22px 26px; }
.v-tipler span { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8b877e; font-weight: 600; width: 100%; text-align: center; margin-bottom: 8px; }
.v-tipler b { font-size: clamp(18px, 2vw, 24px); font-weight: 500; letter-spacing: -.02em; color: var(--v-ink); }

/* bölümler */
.v-bolum { padding: 120px 0; }
.v-bej { background: var(--v-bej); }
.v-koyu { background: var(--v-ink); color: #c9c8cf; }
.v-koyu h2, .v-koyu h3 { color: #fff; }
.v-koyu .v-eyebrow { color: #9a99a2; }
.v-bas { margin-bottom: 56px; }
.v-bas h2 { font-size: clamp(32px, 4vw, 54px); line-height: 1.06; letter-spacing: -.04em; font-weight: 600; margin: 0 0 18px; max-width: 820px; }
.v-bas-orta { text-align: center; } .v-bas-orta h2, .v-bas-orta .v-lead { margin-inline: auto; }

/* adımlar */
.v-adimlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid #d9d4ca; }
.v-adimlar li { padding: 36px 32px 8px 0; border-inline-end: 1px solid #d9d4ca; }
.v-adimlar li + li { padding-inline-start: 32px; }
.v-adimlar li:last-child { border-inline-end: 0; }
.v-adimlar span { font-size: 13px; font-weight: 600; color: #8b877e; letter-spacing: .1em; }
.v-adimlar h3 { font-size: 24px; letter-spacing: -.025em; margin: 14px 0 10px; font-weight: 600; }
.v-adimlar p { color: #55545c; font-size: 15.5px; line-height: 1.6; }

/* görsel bant */
.v-bant, .v-kapanis { position: relative; overflow: hidden; }
.v-bant-img, .v-kapanis-img { border-radius: 0; min-height: 420px; max-height: 640px; }
.v-bant .v-yer, .v-kapanis .v-yer { border-radius: 0; min-height: 420px; }
.v-bant-yazi, .v-kapanis-yazi { position: absolute; inset: 0; display: flex; align-items: flex-end; background: linear-gradient(180deg, rgba(17,16,20,0) 30%, rgba(17,16,20,.62) 100%); }
.v-bant-yazi .wrap, .v-kapanis-yazi .wrap { width: 100%; padding-bottom: 64px; }
.v-bant-yazi p { color: #fff; font-size: clamp(26px, 3.6vw, 48px); line-height: 1.12; letter-spacing: -.035em; font-weight: 500; max-width: 820px; margin: 0; }

/* günün akışı */
.v-akis { display: grid; gap: 120px; }
.v-satir { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 80px; align-items: center; }
.v-satir.is-ters .v-satir-gorsel { order: 2; }
.v-saat { display: inline-flex; align-items: center; gap: 8px; font: 600 14px/1 Inter, sans-serif; letter-spacing: .06em; color: #6b6a72; border: 1px solid #d9d4ca; border-radius: 999px; padding: 8px 14px; }
.v-saat i { font-size: 17px; color: var(--v-ink); }
.v-satir h3 { font-size: clamp(28px, 3vw, 40px); letter-spacing: -.035em; line-height: 1.1; margin: 22px 0 16px; font-weight: 600; }
.v-satir p { font-size: 17px; line-height: 1.65; color: #55545c; margin: 0 0 22px; }
.v-satir ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; border-top: 1px solid var(--v-cizgi); padding-top: 20px; }
.v-satir li { display: flex; gap: 10px; align-items: center; font-size: 15px; color: #2a2930; }
.v-satir li i { color: var(--v-ink); font-size: 17px; }

/* ekranlar */
.v-sekmeler { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin-bottom: 36px; }
.v-sekmeler button { font: 500 14.5px Inter, sans-serif; color: #c9c8cf; background: transparent; border: 1px solid #3a3944; border-radius: 999px; padding: 10px 18px; cursor: pointer; }
.v-sekmeler button.is-on { background: #fff; color: var(--v-ink); border-color: #fff; }
.v-ekran { display: none; margin: 0; } .v-ekran.is-on { display: block; }
.v-ekran-cerceve { border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); max-width: 1100px; margin: 0 auto; }
.v-ekran-cerceve .shot-bar { background: #f0f0f4; border-bottom: 1px solid #e0e0e6; }
.v-ekran-cerceve .v-img, .v-ekran-cerceve .v-yer { border-radius: 0; }
.v-ekran figcaption { text-align: center; color: #a9a8b0; font-size: 15px; max-width: 640px; margin: 26px auto 0; line-height: 1.6; }

/* paketler / kimler için */
.v-paketler { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.v-paket { display: block; text-decoration: none !important; color: inherit; }
.v-paket .v-img, .v-paket .v-yer { transition: transform .5s ease; }
.v-paket:hover .v-img, .v-paket:hover .v-yer { transform: scale(1.015); }
.v-paket-b { padding: 18px 2px 0; }
.v-paket-ad { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8b877e; }
.v-paket h3 { font-size: 22px; letter-spacing: -.025em; margin: 6px 0 6px; font-weight: 600; }
.v-paket p { margin: 0; color: #55545c; font-size: 14.5px; }
.v-paket .v-fiyat { margin-top: 10px; color: #6b6a72; } .v-paket .v-fiyat b { color: var(--v-ink); font-size: 17px; }

/* özellik ızgarası */
.v-izgara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid #d9d4ca; border-inline-start: 1px solid #d9d4ca; }
.v-ozellik { padding: 36px 32px; border-inline-end: 1px solid #d9d4ca; border-bottom: 1px solid #d9d4ca; }
.v-ozellik i { font-size: 30px; color: var(--v-ink); }
.v-ozellik h3 { font-size: 20px; letter-spacing: -.02em; margin: 18px 0 8px; font-weight: 600; overflow-wrap: break-word; hyphens: auto; }
.v-ozellik p { color: #55545c; font-size: 15px; line-height: 1.6; margin: 0; overflow-wrap: break-word; hyphens: auto; }
.v-ozellik .badge { margin-top: 14px; white-space: normal; height: auto; min-height: 22px; line-height: 1.35; padding-top: 3px; padding-bottom: 3px; max-width: 100%; }

/* iki sütun: güven, sss */
.v-iki { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 80px; align-items: start; }
.v-iki .v-bas { margin-bottom: 0; position: sticky; top: 110px; }
.v-iki .v-bas .btn { margin-top: 18px; }
.v-liste { list-style: none; margin: 0; padding: 0; }
.v-liste li { display: flex; gap: 20px; padding: 28px 0; border-top: 1px solid var(--v-cizgi); }
.v-liste li:last-child { border-bottom: 1px solid var(--v-cizgi); }
.v-liste i { font-size: 28px; color: var(--v-ink); flex: none; margin-top: 2px; }
.v-liste h3 { font-size: 19px; letter-spacing: -.02em; margin: 0 0 6px; font-weight: 600; }
.v-liste p { color: #55545c; margin: 0; font-size: 15px; line-height: 1.6; }
.v-sss details { border-top: 1px solid #d9d4ca; }
.v-sss details:last-child { border-bottom: 1px solid #d9d4ca; }
.v-sss summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 24px 0; font-size: 18px; font-weight: 500; color: var(--v-ink); letter-spacing: -.015em; }
.v-sss summary::-webkit-details-marker { display: none; }
.v-sss summary i { font-size: 20px; transition: transform .2s; flex: none; }
.v-sss details[open] summary i { transform: rotate(45deg); }
.v-sss p { margin: -6px 0 24px; color: #55545c; font-size: 15.5px; line-height: 1.65; max-width: 640px; }

/* kapanış */
.v-kapanis-yazi { align-items: center; background: rgba(17,16,20,.5); }
.v-kapanis-yazi .wrap { padding-bottom: 0; text-align: center; }
.v-kapanis h2 { color: #fff; font-size: clamp(34px, 4.6vw, 64px); letter-spacing: -.045em; line-height: 1.04; font-weight: 600; margin: 0 auto 16px; max-width: 900px; }
.v-kapanis p { color: rgba(255,255,255,.85); font-size: 18px; margin: 0 0 30px; }

/* alt bilgi */
.v-foot { background: var(--v-ink); color: #a9a8b0; padding: 80px 0 32px; }
.v-foot-in { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.v-foot .brand { color: #fff; height: auto; width: auto; padding: 0; display: inline-flex; } .v-foot .brand-mark { background: #fff; color: var(--v-ink); }
.v-foot p { max-width: 340px; font-size: 14.5px; line-height: 1.6; margin: 16px 0 20px; }
.v-foot h4 { color: #fff; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin: 6px 0 16px; font-weight: 600; }
.v-foot a:not(.brand) { display: block; color: #a9a8b0; text-decoration: none; padding: 5px 0; font-size: 14.5px; }
.v-foot a:not(.brand):hover { color: #fff; }
.v-foot .btn { background: transparent; color: #e6e5ea; border-color: #3a3944; }
.v-foot-alt { border-top: 1px solid #2b2a33; margin-top: 56px; padding-top: 24px; font-size: 13px; }

/* duyarlı */
@media (max-width: 1080px) {
  .v-hero-in { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .v-hero-gorsel::before { inset: 28px -16px -28px 28px; }
  [dir="rtl"] .v-hero-gorsel::before { inset: 28px 28px -28px -16px; }
  .v-hero-gorsel { max-width: 560px; margin: 0 auto; width: 100%; }
  .v-kart-pano { inset-inline-start: -16px; } .v-kart-bildirim { inset-inline-end: -12px; }
  .v-paketler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v-satir, .v-iki { gap: 48px; }
}
@media (max-width: 820px) {
  .v-bolum { padding: 84px 0; }
  .v-satir, .v-iki { grid-template-columns: 1fr; }
  .v-satir.is-ters .v-satir-gorsel { order: 0; }
  .v-akis { gap: 80px; }
  .v-iki .v-bas { position: static; }
  .v-adimlar { grid-template-columns: 1fr; }
  .v-adimlar li, .v-adimlar li + li { padding: 28px 0; border-inline-end: 0; border-bottom: 1px solid #d9d4ca; }
  .v-foot-in { grid-template-columns: 1fr 1fr; } .v-foot-marka { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .v-site .wrap { padding: 0 18px; }
  .v-hero { padding: 40px 0 64px; }
  /* ".v-hero-gorsel > .v-kart" (position: absolute) daha güçlüydü: kart görselin altına taşıp yarısı kesiliyordu (2026-11-04) */
  .v-hero-gorsel > .v-kart-pano { position: relative; inset: auto; width: auto; margin: -40px 12px 0; }
  .v-kart-bildirim { top: 16px; inset-inline-end: 8px; padding: 10px 12px; font-size: 12px; }
  .v-paketler, .v-izgara { grid-template-columns: minmax(0, 1fr); }
  .v-ozellik { padding: 28px 22px; }
  .v-bant-img, .v-kapanis-img, .v-bant .v-yer, .v-kapanis .v-yer { min-height: 460px; }
  .v-bant-yazi .wrap { padding-bottom: 36px; }
  .v-tipler-in { gap: 8px 20px; }
  .v-tipler .v-tipler-in { padding-block: 18px 22px; }
}
@media (max-width: 560px) {
  .v-site .site-nav { padding: 0 16px; gap: 8px; height: 62px; }
  .site-nav .right { gap: 4px; }
  .site-nav .right .v-nav-giris { display: none; }
}
@media (max-width: 400px) {
  .site-nav .brand > span:last-child { display: none; }
  .site-nav .right .btn-primary { padding: 0 12px; font-size: 13px; }
}

/* ══ VİTRİN: üst çubukta arama ve dil düğmesi ══ */
.v-dil-btn { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 8px; border: 0; border-radius: var(--r); background: none;
  color: var(--ink); font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .02em; cursor: pointer; white-space: nowrap; }
.v-dil-btn:hover { background: var(--hover); }
.v-dil-btn i { font-size: 12px; color: var(--muted); }
.v-dil-btn.is-uzun { border: 1px solid var(--line-strong); padding: 0 12px; font-weight: 500; letter-spacing: 0; }
.v-ara-btn { color: var(--ink); }
dialog.v-ara { width: min(620px, calc(100vw - 24px)); margin: 10vh auto auto; }
.v-ara-kutu { display: flex; align-items: center; gap: 10px; padding: 6px 8px 6px 16px; border-bottom: 1px solid var(--line); }
.v-ara-kutu > i { font-size: 20px; color: var(--muted); }
.v-ara-kutu input { flex: 1; min-width: 0; height: 46px; border: 0; outline: 0; background: none; font: inherit; font-size: 17px; color: var(--ink); }
.v-ara-kutu input::-webkit-search-cancel-button { display: none; }
.v-ara-sonuc { max-height: min(60vh, 460px); overflow-y: auto; padding: 6px; }
.v-ara-sonuc a { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: var(--r); color: var(--text); text-decoration: none !important; }
.v-ara-sonuc a:hover, .v-ara-sonuc a.is-on { background: var(--surface-2); }
.v-ara-sonuc a > i { font-size: 20px; color: var(--muted); margin-top: 1px; }
.v-ara-sonuc span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v-ara-sonuc b { color: var(--ink); font-weight: 600; }
.v-ara-sonuc small { color: var(--muted); font-size: 13px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v-ara-bos { padding: 18px 14px; margin: 0; color: var(--muted); font-size: 14px; }
.v-ara-sayfa { max-width: 760px; margin: 0 auto; padding: 56px 20px 96px; }
.v-ara-sayfa form { display: flex; gap: 8px; margin: 18px 0 28px; }
.v-ara-sayfa .v-ara-sonuc { max-height: none; padding: 0; }

/* ══ VİTRİN: canlı demo (platform/site/_demo.php, js/vitrin-demo.js) ══ */
.dm-cerceve { max-width: 1200px; }
.dm-cerceve .shot-bar { gap: 6px; }
.dm-rozet { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-size: 12px; color: #6b6a72; }
.dm-kaydir { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; }
.dm-olcek { position: relative; overflow: hidden; }
.dm { position: absolute; top: 0; inset-inline-start: 0; width: 1200px; height: 720px; transform-origin: top left; display: flex; flex-direction: column;
  background: var(--bg); color: var(--text); font-size: 14px; text-align: start; }
.dm[dir="rtl"] { transform-origin: top right; }
.dm-top { flex: none; height: 52px; display: flex; align-items: center; gap: 8px; padding-inline-end: 12px; background: var(--surface); border-bottom: 1px solid var(--line); }
.dm-top .brand { width: 220px; height: 100%; }
.dm-top .hotel-switch { cursor: default; }
.dm-top .topbar-search { max-width: 380px; }
.dm-top .topbar-search button { cursor: default; }
.dm-top .btn { pointer-events: none; }
.dm-govde { flex: 1; min-height: 0; display: grid; grid-template-columns: 220px minmax(0, 1fr); }
.dm-yan { overflow: hidden; background: var(--surface); border-inline-end: 1px solid var(--line); padding: 6px 8px; }
.dm-yan .nav-link { height: 30px; font-size: 13px; cursor: default; }
.dm-yan .nav-title { padding: 9px 10px 4px; }
.dm-yan .dm-git { cursor: pointer; }
.dm-ana { overflow-y: auto; padding: 20px 24px 32px; min-width: 0; }
.dm-panel { display: none; } .dm-panel.is-on { display: block; }
.dm .page-h h1 { font-size: 20px; letter-spacing: -.02em; }
.dm .room { font: inherit; padding: 0; }
.dm-uyari { margin-bottom: 14px; }
.dm-uyari:empty { display: none; }
.dm-satir { display: grid; grid-template-columns: 90px 1fr auto; gap: 10px; padding: 9px 16px; border-top: 1px solid var(--line); font-size: 13px; }
.dm-satir:first-of-type { border-top: 0; }
.dm-alt { display: none; } .dm-alt.is-on { display: block; }
/* oda planı */
.dm-rack { background: var(--surface); border-radius: var(--r-lg); box-shadow: var(--sh-1); overflow: hidden; font-size: 12px; }
.dm-rk-satir { display: grid; grid-template-columns: 110px minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.dm-rk-ust { grid-template-columns: 110px repeat(var(--gun), minmax(0, 1fr)); }
.dm-rk-oda { padding: 0 12px; display: flex; align-items: center; gap: 6px; border-inline-end: 1px solid var(--line); min-height: 34px; color: var(--ink); white-space: nowrap; }
.dm-rk-ust .dm-rk-oda { color: var(--muted); font-weight: 500; }
.dm-rk-gun { text-align: center; padding: 5px 0; color: var(--muted); line-height: 1.2; border-inline-end: 1px solid var(--line); }
.dm-rk-gun b { display: block; color: var(--ink); font-size: 13px; }
.dm-rk-gun.is-today, .dm-rk-hucre.is-today { background: var(--surface-2); }
.dm-rk-gun.is-we { color: var(--ink); }
.dm-rk-iz { position: relative; display: grid; grid-template-columns: repeat(var(--gun), minmax(0, 1fr)); height: 34px; }
.dm-rk-hucre { border-inline-end: 1px solid var(--line); }
.dm-rk-iz .rk-bar { border: 0; cursor: pointer; font: inherit; font-size: 11.5px; font-weight: 600; }
.dm-rk-ooo { inset: 4px 0; }
.dm-rk-lejant { margin-top: 12px; }
.dm-rk-lejant > span { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; font-size: 12.5px; color: var(--muted); }
.dm-rk-lejant .dot { width: 10px; height: 10px; border-radius: 3px; }
/* folyo */
.dm-folyo { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 16px; align-items: start; }
.dm-rlist { padding: 6px; }
.dm-rl { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 8px; align-items: center; width: 100%; padding: 8px 10px; border: 0; border-radius: var(--r);
  background: none; font: inherit; font-size: 13px; color: var(--text); text-align: start; cursor: pointer; }
.dm-rl span:not(.badge) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dm-rl:hover { background: var(--hover); }
.dm-rl.is-on { background: var(--surface-2); color: var(--ink); }
.dm-rl b { color: var(--ink); }
.dm-facts { padding: 14px 16px; border-bottom: 1px solid var(--line); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dm-fcard .table td, .dm-fcard .table th { padding-inline: 16px; }
.dm-eksi { color: var(--ok); }
.dm-toplam { display: flex; justify-content: flex-end; gap: 28px; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.dm-toplam div { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.dm-toplam b { color: var(--ink); font-size: 16px; font-variant-numeric: tabular-nums; }
.dm-toplam .is-due b { color: var(--err); }
.dm-fcard .card-f { justify-content: flex-start; }
/* raporlar */
.dm-grafik { position: relative; padding: 12px 16px 8px; }
.dm-grafik svg { display: block; width: 100%; height: auto; }
.dm-grafik .dm-cizgi { stroke: var(--line); stroke-width: 1; }
.dm-grafik .dm-sutun rect:nth-child(2) { fill: var(--ink); opacity: .82; transition: opacity .12s; }
.dm-grafik .dm-sutun.is-on rect:nth-child(2) { fill: var(--st-arr); opacity: 1; }
.dm-grafik .dm-sutun { outline: none; cursor: pointer; }
.dm-grafik text { fill: var(--muted); font-size: 11px; }
.dm-ipucu { position: absolute; top: 6px; transform: translateX(-50%); display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 8px;
  background: var(--ink); color: #fff; font-size: 12px; white-space: nowrap; pointer-events: none; box-shadow: var(--sh-pop); z-index: 2; }
.dm[dir="rtl"] .dm-ipucu { transform: translateX(50%); }
.dm-ipucu b { font-weight: 600; }
.dm-ipucu span { opacity: .82; }
.v-eyebrow-ulke { display: inline-flex; align-items: center; gap: 8px; }
.v-eyebrow-ulke .bayrak { width: 18px; height: 13.5px; }
.v-koyu .dm h1, .v-koyu .dm h2, .v-koyu .dm h3 { color: var(--ink); }
.dm .kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.dm .card-h > i { font-size: 18px; color: var(--muted); }
.dm .t-num { text-align: end; font-variant-numeric: tabular-nums; }
.dm-grafik .dm-eksen { font-size: 10.5px; }
/* Japoncada başlıklar sözcük öbeğinden kırılsın ("してく / ださい" olmasın) */
:lang(ja) .v-site h1, :lang(ja) .v-site h2, :lang(ja) .v-site h3, :lang(ja) .v-lead { word-break: auto-phrase; }
/* Telefonda üst çubuk: logo + arama + bayrak + tek düğme sığsın (320 px × 20 dil) */
@media (max-width: 560px) {
  .site-nav .v-dil-btn:not(.is-uzun) span, .site-nav .v-dil-btn:not(.is-uzun) i { display: none; }
  .site-nav .v-dil-btn:not(.is-uzun) { padding: 0 7px; }
  .site-nav .v-ara-btn { width: 32px; }
}
@media (max-width: 400px) {
  .v-site .site-nav { padding: 0 12px; gap: 6px; }
  .site-nav .right { gap: 2px; }
  .site-nav .right .btn-primary { padding: 0 10px; font-size: 12.5px; letter-spacing: -.01em; white-space: nowrap; }
}
@media (max-width: 340px) {
  .site-nav .right .btn-primary { font-size: 12px; padding: 0 8px; }
}
/* Uzun sözcüklü dillerde (ru, de, fi …) başlık telefonda sarılsın, kesilmesin */
.v-site h1, .v-site h2 { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 400px) { .v-hero h1 { font-size: 34px; letter-spacing: -.035em; } }

/* Demo telefonda: yan menü ve üst çubuk ayrıntıları gizli, içerik telefon düzeninde (js: .dm-dar) */
.dm.dm-dar .dm-govde { grid-template-columns: minmax(0, 1fr); }
.dm.dm-dar .dm-yan, .dm.dm-dar .topbar-search, .dm.dm-dar .hotel-switch, .dm.dm-dar .bd-label, .dm.dm-dar .dm-top .btn { display: none; }
.dm.dm-dar .dm-top .brand { width: auto; padding: 0 14px; }
.dm.dm-dar .dm-ana { padding: 16px 14px 28px; }
.dm.dm-dar .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.dm.dm-dar .kpi { padding: 10px 12px; }
.dm.dm-dar .kpi-v { font-size: 20px; }
.dm.dm-dar .g2 { grid-template-columns: minmax(0, 1fr); }
.dm.dm-dar .rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dm.dm-dar .toolbar .search-box { max-width: none !important; flex: 1 1 100%; }
.dm.dm-dar .dm-rack { overflow-x: auto; }
.dm.dm-dar .dm-rk-satir { min-width: 760px; }
.dm.dm-dar .dm-folyo { grid-template-columns: minmax(0, 1fr); }
.dm.dm-dar .dm-rlist { display: flex; overflow-x: auto; gap: 4px; }
.dm.dm-dar .dm-rl { flex: none; width: auto; grid-template-columns: auto auto; }
.dm.dm-dar .dm-rl .badge { display: none; }
.dm.dm-dar .dm-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dm.dm-dar .dm-toplam { gap: 18px; }
.dm.dm-dar .card-f { flex-wrap: wrap; }


/* ══════════════ VİTRİN v3: gezinme, arama şeridi, alt sayfalar, alt bilgi ══════════════ */
.site-nav { position: sticky; }
.v-site .site-nav nav a.is-on { color: var(--v-ink); font-weight: 600; background: rgba(17,16,20,.05); }
/* Arama şeridi: üst çubuğun yerini alır */
.v-ara-serit { position: absolute; inset: 0; display: flex; align-items: center; gap: 12px; padding: inherit; background: #fff; z-index: 2; }
.v-ara-serit[hidden] { display: none; }
.v-ara-serit > i { font-size: 22px; color: var(--v-ink, #111); }
.v-ara-serit input { flex: 1; min-width: 0; height: 46px; border: 0; outline: 0; background: none; font: inherit; font-size: 18px; color: var(--v-ink, #111); }
.v-ara-serit input::-webkit-search-cancel-button { display: none; }
.v-ara-serit .icon-btn { color: var(--v-ink, #111); }
.v-ara-serit .v-ara-sonuc { position: absolute; top: calc(100% + 1px); left: 0; right: 0; max-height: min(64vh, 520px); overflow-y: auto; background: #fff;
  border-bottom: 1px solid var(--v-cizgi, #e6e2da); box-shadow: 0 24px 48px -24px rgba(17,16,20,.28); padding: 8px max(20px, calc((100vw - 1240px) / 2 + 20px)); }
.v-ara-serit .v-ara-sonuc[hidden] { display: none; }
.v-ara-serit .v-ara-sonuc a { max-width: 860px; }
.site-nav.is-ara > .brand, .site-nav.is-ara > nav, .site-nav.is-ara > .right { visibility: hidden; }

/* Alt sayfa başlığı ve gezinme yolu */
.v-sayfa-bas { padding: 96px 0 56px; background: #fff; border-bottom: 1px solid var(--v-cizgi); }
.v-sayfa-bas h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.03; letter-spacing: -.045em; font-weight: 600; margin: 0 0 20px; max-width: 900px; }
.v-yol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13.5px; margin-bottom: 26px; color: #8b877e; }
.v-yol a { color: #6b6a72; text-decoration: none; } .v-yol a:hover { color: var(--v-ink); }
.v-yol i { font-size: 12px; }
:dir(rtl) .v-yol i, [dir="rtl"] .v-yol i { transform: scaleX(-1); }
.v-hero-demo { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: var(--v-ink); font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.v-hero-demo i { font-size: 18px; }
.v-btn-hayalet { background: transparent; border-color: rgba(255,255,255,.4); color: #fff; }
.v-btn-hayalet:hover { background: rgba(255,255,255,.12); color: #fff; }
.v-cta-orta { justify-content: center; }

/* Sayfa sonu çağrısı */
.v-son-cagri { padding: 40px 0 120px; }
.v-cagri-kart { background: var(--v-ink); color: #c9c8cf; border-radius: 4px; padding: clamp(40px, 6vw, 80px) clamp(24px, 5vw, 64px); text-align: center; }
.v-cagri-kart h2 { color: #fff; font-size: clamp(30px, 4vw, 50px); letter-spacing: -.04em; line-height: 1.06; font-weight: 600; margin: 0 auto 14px; max-width: 760px; }
.v-cagri-kart p { font-size: 17px; margin: 0 0 30px; }

/* Özellikler listesi */
.v-ft-atla { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 36px; }
.v-ft-atla a { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px; border: 1px solid var(--v-cizgi); border-radius: 20px; color: var(--v-ink); text-decoration: none; font-size: 14px; font-weight: 500; background: #fff; }
.v-ft-atla a:hover { border-color: var(--v-ink); }
.v-ft-grup { padding: 64px 0 0; scroll-margin-top: 90px; }
.v-ft-grup:last-of-type { padding-bottom: 40px; }
.v-ft-grup-bas { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.v-ft-grup-bas h2 { font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.03em; margin: 0; font-weight: 600; }
.v-ft-ic { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 10px; background: var(--v-bej); color: var(--v-ink); font-size: 22px; }
.v-ft-ic-buyuk { width: 56px; height: 56px; font-size: 28px; border-radius: 14px; }
.v-ft-izgara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.v-ft-kart { display: flex; gap: 14px; align-items: flex-start; padding: 22px; border: 1px solid var(--v-cizgi); border-radius: 4px; background: #fff; text-decoration: none; color: inherit; transition: border-color .15s, transform .15s, box-shadow .15s; }
.v-ft-kart:hover { border-color: var(--v-ink); transform: translateY(-2px); box-shadow: 0 18px 36px -24px rgba(17,16,20,.35); }
.v-ft-metin { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.v-ft-metin b { color: var(--v-ink); font-size: 16.5px; font-weight: 600; letter-spacing: -.01em; }
.v-ft-metin small { color: #6b6a72; font-size: 14px; line-height: 1.5; }
.v-ft-metin em { font-style: normal; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #8b877e; margin-top: 6px; }
.v-ft-ok { font-size: 18px; color: #b5b2aa; margin-top: 2px; transition: transform .15s, color .15s; }
.v-ft-kart:hover .v-ft-ok { color: var(--v-ink); transform: translateX(3px); }
[dir="rtl"] .v-ft-ok { transform: scaleX(-1); } [dir="rtl"] .v-ft-kart:hover .v-ft-ok { transform: scaleX(-1) translateX(3px); }

/* Özellik sayfası */
.v-fd-bas { padding-bottom: 48px; }
.v-fd-ust { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.v-pill { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 13px; background: var(--v-bej); color: var(--v-ink); font-size: 12.5px; font-weight: 600; letter-spacing: .02em; }
.v-fd-tanitim { padding: 72px 0 96px; }
.v-fd-iki { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 64px; align-items: center; }
.v-fd-metin p { font-size: 19px; line-height: 1.65; color: #3d3c44; margin: 0 0 28px; }
.v-fd-madde li h3 { font-size: 21px; }
.v-fd-kardes-bas { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.v-fd-kardes-bas h2 { font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.03em; margin: 0; font-weight: 600; }
.v-fd-kardes-bas a { color: var(--v-ink); font-weight: 600; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }

/* Animasyonlu sahne çerçevesi (js/vitrin-sahne.js) */
.v-sahne-cerceve { margin: 0; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 40px 80px -40px rgba(17,16,20,.45), 0 0 0 1px var(--v-cizgi); }
.v-sahne-cerceve .shot-bar { background: #f0f0f4; border-bottom: 1px solid #e0e0e6; }
.v-sahne-cerceve .shot-bar em { margin-inline-start: auto; font-style: normal; font-size: 12px; color: #6b6a72; }
.v-sahne { position: relative; overflow: hidden; background: var(--bg); min-height: 200px; }
.sh { position: absolute; top: 0; left: 0; width: 560px; height: 400px; transform-origin: top left; font-size: 13px; color: var(--text); text-align: start; }
.sh-ic { position: relative; width: 100%; height: 100%; padding: 18px; box-sizing: border-box; }
.sh-imlec { position: absolute; left: 0; top: 0; z-index: 30; pointer-events: none; transition: transform .7s cubic-bezier(.45, .05, .25, 1); filter: drop-shadow(0 2px 3px rgba(0,0,0,.25)); }
.sh-imlec::after { content: ''; position: absolute; left: -12px; top: -12px; width: 28px; height: 28px; border-radius: 50%; background: rgba(0,97,224,.35); transform: scale(0); opacity: 0; }
.sh-imlec.is-tik::after { animation: sh-tik .45s ease-out; }
@keyframes sh-tik { from { transform: scale(.2); opacity: 1; } to { transform: scale(1.6); opacity: 0; } }
.sh .kpis.sh-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.sh .kpi { padding: 10px 12px; } .sh .kpi-v { font-size: 20px; transition: color .3s; }
.sh .rooms.sh-rooms { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sh .room { min-height: 118px; cursor: default; transition: box-shadow .3s, background .3s; }
.sh .room .room-h { transition: background .35s, color .35s; }
.sh-menu { position: absolute; z-index: 20; min-width: 170px; animation: pop .14s ease-out; }
.sh-menu .menu-h { display: block; }
.sh .card { box-shadow: var(--sh-1); }
.sh-kart { height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.sh-kart .card-h h3 { font-size: 15px; }
.sh .table td, .sh .table th { padding: 9px 14px; font-size: 12.5px; }
.sh .t-num { text-align: end; font-variant-numeric: tabular-nums; }
.sh-eksi { color: var(--ok); }
.sh-yeni { animation: sh-gel .5s ease-out; } @keyframes sh-gel { from { opacity: 0; transform: translateY(-6px); background: var(--warn-bg); } }
.sh-fbas { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); } .sh-fbas b { color: var(--ink); font-size: 15px; }
.sh-toplam { display: flex; justify-content: flex-end; gap: 22px; padding: 10px 16px; border-top: 1px solid var(--line); margin-top: auto; color: var(--muted); font-size: 12px; }
.sh-toplam div { display: flex; flex-direction: column; align-items: flex-end; } .sh-toplam b { color: var(--ink); font-size: 15px; } .sh-toplam .is-due b { color: var(--err); }
.sh-kart .card-f { justify-content: flex-start; }
/* oda planı */
.sh-rack { background: var(--surface); border-radius: var(--r-lg); box-shadow: var(--sh-1); overflow: hidden; }
.sh-rk-satir { display: grid; grid-template-columns: 70px minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.sh-rk-ust { grid-template-columns: 70px repeat(var(--gun), minmax(0, 1fr)); }
.sh-rk-oda { padding: 0 10px; display: flex; align-items: center; border-inline-end: 1px solid var(--line); min-height: 44px; color: var(--ink); }
.sh-rk-gun { text-align: center; padding: 6px 0; color: var(--muted); font-size: 11.5px; line-height: 1.25; border-inline-end: 1px solid var(--line); } .sh-rk-gun b { display: block; color: var(--ink); font-size: 13px; }
.sh-rk-gun.is-today, .sh-rk-hucre.is-today { background: var(--surface-2); }
.sh-rk-iz { position: relative; display: grid; grid-template-columns: repeat(var(--gun), minmax(0, 1fr)); height: 44px; }
.sh-rk-hucre { border-inline-end: 1px solid var(--line); transition: background .15s; }
.sh-rk-hucre.is-sec { background: color-mix(in srgb, #0061e0 22%, transparent); }
.sh .rk-bar { top: 7px; bottom: 7px; font-size: 11.5px; }
.sh .rk-bar.is-yeni, .sh-tk-iz .rk-bar.is-yeni { animation: sh-bar .5s cubic-bezier(.2, .8, .2, 1); }
@keyframes sh-bar { from { opacity: 0; transform: scaleX(.3); } }
.sh-not { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 12.5px; margin: 14px 2px 0; }
.sh-ipucu { position: absolute; z-index: 15; display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 8px; background: var(--ink); color: #fff; font-size: 12px; box-shadow: var(--sh-pop); animation: pop .14s ease-out; }
.sh-ipucu span { opacity: .8; }
/* telefon */
.sh-iki { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 20px; height: 100%; align-items: center; }
.sh-tel { width: 230px; height: 364px; border-radius: 30px; border: 8px solid #15141a; background: #fff; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 40px -20px rgba(0,0,0,.4); }
.sh-tel-orta { margin: 0 auto; }
.sh-tel-ust { display: flex; align-items: center; gap: 6px; padding: 12px 14px 10px; font-weight: 600; font-size: 12.5px; color: var(--ink); border-bottom: 1px solid var(--line); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sh-tel-govde { flex: 1; padding: 12px 14px; display: flex; flex-direction: column; gap: 9px; overflow: hidden; }
.sh-tel-govde[hidden] { display: none; }
.sh-alan { display: flex; flex-direction: column; gap: 3px; } .sh-alan span { font-size: 11px; color: var(--muted); }
.sh-alan b { min-height: 30px; display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 7px; font-weight: 500; font-size: 13px; color: var(--ink); }
.is-yaz::after { content: ''; width: 1.5px; height: 15px; background: var(--ink); margin-inline-start: 2px; animation: sh-yanip .7s steps(1) infinite; }
@keyframes sh-yanip { 50% { opacity: 0; } }
.sh-onay { display: flex; gap: 6px; align-items: flex-start; font-size: 11.5px; color: var(--text); line-height: 1.35; } .sh-onay i { font-size: 17px; flex: none; color: var(--ink); }
.sh-gonder { margin-top: auto; width: 100%; justify-content: center; }
.sh-tamam { align-items: center; justify-content: center; text-align: center; gap: 10px; animation: pop .2s ease-out; } .sh-tamam i { font-size: 52px; color: var(--ok); } .sh-tamam b { color: var(--ink); font-size: 15px; } .sh-tamam span { color: var(--muted); font-size: 12px; }
.sh-rezkart { padding: 18px; display: flex; flex-direction: column; gap: 8px; } .sh-rezkart b { color: var(--ink); font-size: 16px; } .sh-rezkart .badge { align-self: flex-start; }
.sh-oda { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; } .sh-oda b { display: block; color: var(--ink); } .sh-oda span { font-size: 11.5px; color: var(--muted); }
.sh-yan { display: flex; flex-direction: column; justify-content: center; } .sh-bildirim { animation: sh-gel .5s ease-out; }
.sh-ilerle { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--muted); } .sh-ilerle i { display: block; height: 6px; border-radius: 3px; background: var(--surface-2); overflow: hidden; } .sh-ilerle b { display: block; height: 100%; width: 0; background: var(--ok); border-radius: 3px; transition: width 1s ease; }
.sh-kat { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--line); transition: opacity .3s; } .sh-kat b { color: var(--ink); font-size: 15px; } .sh-kat .btn { height: 28px; font-size: 12px; } .sh-kat.is-temiz .room-hk { color: var(--ok); } .sh-kat.is-temiz .room-hk i { font-size: 16px; }
.sh-liste { padding: 12px 16px; display: flex; flex-direction: column; gap: 8px; }
.sh-kontrol { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px; background: var(--surface-2); font-size: 12.5px; transition: background .3s; } .sh-kontrol span { flex: 1; } .sh-kontrol b { color: var(--ink); font-variant-numeric: tabular-nums; } .sh-kontrol i { font-size: 18px; color: var(--faint); }
.sh-kontrol.is-ok { background: var(--ok-bg); } .sh-kontrol.is-ok i { color: var(--ok); }
.sh-tost { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); display: flex; gap: 8px; align-items: center; padding: 10px 14px; border-radius: 10px; background: var(--ink); color: #fff; font-size: 12.5px; white-space: nowrap; animation: sh-gel .4s ease-out; } .sh-tost[hidden] { display: none; } .sh-tost i { color: #2ac769; font-size: 18px; }
.sh-giris { min-width: 90px; text-align: end; border-bottom: 1px dashed var(--line-strong); } .sh-eksi-k { color: var(--err); }
.btn.is-bas { animation: sh-bas .5s ease; } @keyframes sh-bas { 40% { transform: scale(.94); background: var(--surface-2); } }
/* ical */
.sh-ical { display: flex; flex-direction: column; gap: 10px; height: 100%; justify-content: center; }
.sh-takvim { padding: 12px 14px; } .sh-tk-bas { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--ink); } .sh-tk-bas i { font-size: 18px; }
.sh-tk-gunler { display: grid; grid-template-columns: repeat(var(--gun), minmax(0, 1fr)); text-align: center; font-size: 12px; color: var(--ink); font-weight: 600; } .sh-tk-gunler em { display: block; font-style: normal; font-weight: 400; color: var(--muted); font-size: 11px; }
.sh-tk-iz { position: relative; height: 34px; margin-top: 6px; border-radius: 6px; background: var(--surface-2); }
.sh-es { align-self: center; display: inline-flex; gap: 8px; align-items: center; padding: 6px 14px; border-radius: 16px; background: var(--surface); box-shadow: var(--sh-1); font-size: 12px; color: var(--muted); } .sh-es i { font-size: 18px; color: var(--ink); }
.sh-es.is-es i { animation: sh-don .8s ease; } @keyframes sh-don { to { transform: rotate(180deg); } }
/* fiyat */
.sh-fiyat th { text-align: center; font-weight: 500; color: var(--muted); font-size: 11.5px; } .sh-fiyat th b { display: block; color: var(--ink); font-size: 13px; }
.sh-fiyat th.is-hs, .sh-fiyat td.is-hs { background: color-mix(in srgb, var(--surface-2) 70%, transparent); }
.sh-fiyat td.is-zam { color: var(--ink); font-weight: 600; animation: sh-zam .6s ease; } @keyframes sh-zam { from { background: var(--warn-bg); } }
.sh-sezon { cursor: default; border: 1px solid var(--line-strong); background: var(--surface); height: 26px; padding: 0 10px; } .sh-sezon.is-on { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
/* açık satış */
.sh-pos { grid-template-columns: minmax(0, 1fr) 250px; align-items: stretch; }
.sh-urunler { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: center; }
.sh-urun { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; padding: 16px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); font: inherit; text-align: start; cursor: default; box-shadow: var(--sh-1); } .sh-urun b { color: var(--ink); } .sh-urun span { color: var(--muted); font-size: 12px; }
.sh-top { background: transparent; border-top: 1px solid var(--line); border-radius: 0; font-weight: 600; } .sh-odaya { align-self: flex-start; height: 26px; animation: sh-gel .4s ease-out; }
/* raporlar */
.sh-grafik { padding: 16px 16px 8px; height: 250px; }
.sh-sutunlar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; height: 100%; align-items: end; }
.sh-sutun { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; position: relative; }
.sh-sutun i { display: block; width: 100%; border-radius: 5px 5px 2px 2px; background: var(--ink); opacity: .85; height: 0; transition: height .9s cubic-bezier(.2, .8, .2, 1), background .2s; }
.is-buyu .sh-sutun i { height: calc(var(--y) * 180px); }
.sh-sutun span { font-size: 11px; color: var(--muted); }
.sh-sutun em { position: absolute; top: -6px; font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--ink); opacity: 0; transition: opacity .2s; }
.sh-sutun.is-on i { background: var(--st-arr); opacity: 1; } .sh-sutun.is-on em { opacity: 1; }
/* çoklu tesis */
.sh-top-cubuk { display: flex; align-items: center; gap: 10px; padding: 8px 10px; margin-bottom: 14px; background: var(--surface); border-radius: var(--r-lg); box-shadow: var(--sh-1); }
.sh-top-cubuk .hotel-switch { cursor: default; }
.sh-tesis { min-width: 220px; }

/* Demo sayfası: listeler ve kilitli ekran */
.dm-sayfa { padding: 64px 0 80px; }
.v-dm-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.v-dm-liste h2 { display: flex; align-items: center; gap: 10px; font-size: 24px; letter-spacing: -.025em; margin: 0 0 18px; font-weight: 600; } .v-dm-liste h2 i { font-size: 24px; }
.v-dm-liste > a:not(.btn) { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--v-cizgi); text-decoration: none; color: inherit; }
.v-dm-liste > a:not(.btn) > i { font-size: 22px; color: var(--v-ink); margin-top: 2px; }
.v-dm-liste > a:not(.btn) span { display: flex; flex-direction: column; gap: 3px; } .v-dm-liste b { color: var(--v-ink); font-weight: 600; } .v-dm-liste small { color: #6b6a72; font-size: 14px; }
.v-dm-liste > a:not(.btn):hover b { text-decoration: underline; }
.v-dm-liste .btn { margin-top: 24px; }
.dm-yan .nav-link { width: 100%; border: 0; background: none; font: inherit; text-align: start; cursor: pointer; }
.dm-yan .nav-link.dm-kilitli { color: var(--muted); }
.dm-yan .nav-link .nav-lock { margin-inline-start: auto; font-size: 13px; color: var(--faint); }
.dm-ana { position: relative; }
.dm-kilit { position: absolute; inset: 0; z-index: 10; display: grid; place-items: center; padding: 24px; background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(3px); }
.dm-kilit[hidden] { display: none; }
.dm-kilit-kart { max-width: 420px; text-align: center; background: var(--surface); border-radius: 14px; box-shadow: var(--sh-pop); padding: 32px 30px 22px; animation: pop .18s ease-out; }
.dm-kilit-ic { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 14px; background: var(--surface-2); font-size: 26px; color: var(--ink); }
.dm-kilit-kart h3 { font-size: 19px; margin: 0 0 8px; color: var(--ink) !important; }
.dm-kilit-kart p { color: var(--muted); line-height: 1.55; margin: 0 0 20px; }
.dm-kilit-dug { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.dm-kilit-geri { margin-top: 14px; display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
.dm-kilit-geri:hover { color: var(--ink); }

/* SSS sayfası */
.v-faq-sayfa { padding-top: 72px; }
.v-faq-grup { padding: 40px 0; border-top: 1px solid var(--v-cizgi); }
.v-faq-grup:first-child { border-top: 0; padding-top: 0; }
.v-faq-grup > h2 { display: flex; align-items: center; gap: 12px; font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.03em; margin: 0; font-weight: 600; position: sticky; top: 100px; }
.v-faq-grup > h2 i { font-size: 26px; }

/* Hakkımızda */
.v-ab-metin p { font-size: 19px; line-height: 1.7; color: #3d3c44; margin: 0 0 22px; }
.v-ab-kunye { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; padding: 28px 32px; }
.v-ab-kunye > div { display: flex; flex-direction: column; gap: 4px; } .v-ab-kunye b { color: var(--v-ink); }
.v-ab-kunye .btn { margin-inline-start: auto; }

/* Yasal sayfalar */
.v-yasal { padding: 64px 0 100px; background: #fafaf8; }
.v-yasal .wrap { max-width: 880px; }
.v-yasal-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; }
.v-yasal-nav a { padding: 8px 14px; border-radius: 18px; font-size: 13.5px; font-weight: 500; text-decoration: none; color: #3d3c44; background: #fff; border: 1px solid var(--v-cizgi); }
.v-yasal-nav a.is-on { background: var(--v-ink); color: #fff; border-color: var(--v-ink); }
.v-yasal-metin { padding: clamp(24px, 4vw, 48px); line-height: 1.75; font-size: 15px; color: #3d3c44; }
.v-yasal-metin h1 { font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.035em; margin: 0 0 6px; }
.v-yasal-metin h2 { font-size: 18px; margin: 30px 0 8px; letter-spacing: -.01em; }
.v-yasal-metin ul { padding-inline-start: 22px; }
.v-kunye { width: 100%; border-collapse: collapse; margin: 16px 0; }
.v-kunye td, .v-kunye th { padding: 10px 0; border-bottom: 1px solid var(--v-cizgi); text-align: start; vertical-align: top; }
.v-kunye td:first-child, .v-kunye th { color: #6b6a72; width: 34%; padding-inline-end: 16px; font-weight: 500; }
.v-yasal-alt { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--v-cizgi); font-size: 14px; color: #6b6a72; }

/* Alt bilgi (açık, bkdigital.menu düzeni) */
.v-foot { background: #fafaf8; color: #55545c; padding: 72px 0 0; border-top: 1px solid var(--v-cizgi); }
.v-foot-ust { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 40px 32px; padding-bottom: 48px; }
.v-foot .brand { color: var(--v-ink); } .v-foot .brand-mark { background: var(--v-ink); color: #fff; }
.v-foot p { color: #55545c; max-width: 340px; font-size: 14.5px; line-height: 1.6; margin: 16px 0 14px; }
.v-foot h4 { color: var(--v-ink); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin: 6px 0 14px; font-weight: 600; }
.v-foot a:not(.brand):not(.v-ode-kart) { display: block; color: #55545c; text-decoration: none; padding: 5px 0; font-size: 14.5px; }
.v-foot a:not(.brand):not(.v-ode-kart):hover { color: var(--v-ink); }
.v-foot-iletisim { margin-bottom: 18px; } .v-foot-iletisim a { display: flex !important; align-items: center; gap: 8px; } .v-foot-iletisim i { font-size: 17px; color: var(--v-ink); }
.v-foot .v-dil-btn.is-uzun { background: #fff; }
.v-foot-guven { grid-column: 2 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.v-ode-kart { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px; background: #fff; border: 1px solid var(--v-cizgi); border-radius: 12px; text-decoration: none; min-width: 0; }
.v-ode-bant { display: block; height: 30px; width: auto; max-width: 100%; }
.v-ode-iyz { display: block; height: 26px; width: auto; }
.v-ode-not { display: flex; align-items: center; gap: 8px; padding-top: 11px; border-top: 1px solid var(--v-cizgi); font-size: 13px; color: #55545c; } .v-ode-not b { color: var(--v-ink); } .v-ode-not i { font-size: 16px; color: #1f9d55; }
.v-foot-alt { border-top: 1px solid var(--v-cizgi); padding: 20px 0; font-size: 13px; color: #6b6a72; }
.v-foot-alt .wrap { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.v-foot-alt a { color: var(--v-ink); font-weight: 600; text-decoration: none; }

@media (max-width: 1000px) {
  .v-ft-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v-fd-iki { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .v-foot-ust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v-foot-marka { grid-column: 1 / -1; }
  .v-foot-guven { grid-column: 1 / -1; justify-content: flex-start; }
  .v-dm-iki { grid-template-columns: minmax(0, 1fr); }
  .v-faq-grup > h2 { position: static; margin-bottom: 8px; }
}
@media (max-width: 640px) {
  .v-ft-izgara { grid-template-columns: minmax(0, 1fr); }
  .v-sayfa-bas { padding: 56px 0 36px; }
  .v-foot-ust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v-ode-bant { height: 24px; }
  .v-ara-serit input { font-size: 16px; }
  .v-ab-kunye .btn { margin-inline-start: 0; }
}
/* Sahne telefonu: form sığsın (check-in'de gönder düğmesi görünür kalsın) */
.sh-tel-govde { gap: 6px; padding: 10px 12px; }
.sh-alan { gap: 2px; } .sh-alan span { font-size: 10.5px; }
.sh-alan b { min-height: 26px; font-size: 12.5px; padding: 0 9px; }
.sh-onay { font-size: 10.5px; line-height: 1.3; } .sh-onay i { font-size: 16px; }
.sh-gonder { height: 32px; font-size: 12.5px; }
.sh-gonder { height: auto; min-height: 32px; padding: 6px 10px; white-space: normal; line-height: 1.25; text-align: center; }
.sh .btn { max-width: 100%; }
.sh-kat .btn { white-space: normal; height: auto; min-height: 28px; padding: 4px 8px; line-height: 1.2; max-width: 110px; text-align: center; }
.sh-tel { box-sizing: border-box; height: 364px; }
.sh-kat { padding: 7px 0; } .sh-kat .btn { font-size: 11px; }
.sh-ic { padding: 10px 18px; }
.sh-tel { height: 380px; }
.sh-tel-govde { gap: 5px; }
.sh-ilerle { gap: 4px; }
.sh-kat { padding: 5px 0; }
.v-foot .v-foot-alt a { display: inline; padding: 0; font-size: inherit; color: var(--v-ink); font-weight: 600; }
.v-foot-alt span { white-space: normal; }
.v-foot .v-foot-alt a:not(.brand):not(.v-ode-kart) { display: inline; padding: 0; font-size: inherit; color: var(--v-ink); font-weight: 600; }
/* Uzun dillerde büyük düğmeler sarılsın (320 px × 20 dil) */
.v-site .btn-lg { white-space: normal; height: auto; min-height: 50px; padding-top: 12px; padding-bottom: 12px; line-height: 1.3; text-align: center; max-width: 100%; }
.v-tablo-kaydir { overflow-x: auto; margin: 12px 0; }
.v-tablo-kaydir .v-kunye { margin: 0; min-width: 440px; }
@media (max-width: 640px) { .v-yasal-metin { font-size: 14px; } }
.v-kunye td { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .v-yasal-metin > .v-kunye, .v-yasal-metin > .v-kunye tbody, .v-yasal-metin > .v-kunye tr, .v-yasal-metin > .v-kunye td { display: block; width: auto; }
  .v-yasal-metin > .v-kunye td:first-child { padding-bottom: 2px; border-bottom: 0; font-size: 13px; }
  .v-yasal-metin > .v-kunye td + td { padding-top: 0; }
}
/* Dar ekran menüsü */
.v-menu-btn { display: none; color: var(--v-ink, #111); }
.v-mobil-menu { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--v-cizgi, #e6e2da); box-shadow: 0 24px 48px -24px rgba(17,16,20,.3); padding: 6px 16px 14px; z-index: 3; }
.v-mobil-menu[hidden] { display: none; }
.v-mobil-menu a { display: flex; justify-content: space-between; align-items: center; padding: 15px 4px; border-bottom: 1px solid var(--v-cizgi, #e6e2da); color: var(--v-ink, #111); text-decoration: none; font-size: 17px; font-weight: 500; }
.v-mobil-menu a:last-child { border-bottom: 0; }
.v-mobil-menu i { font-size: 18px; color: #8b877e; }
[dir="rtl"] .v-mobil-menu i { transform: scaleX(-1); }
@media (max-width: 900px) { .v-menu-btn { display: grid; } }
@media (min-width: 901px) { .v-mobil-menu { display: none !important; } }
@media (max-width: 400px) { .site-nav .v-menu-btn { width: 30px; } }
.site-nav.is-ara > .v-mobil-menu { display: none; }
.site-nav > nav.v-mobil-menu { display: block; margin: 0; gap: 0; }
.site-nav > nav.v-mobil-menu[hidden] { display: none; }
.site-nav > nav.v-mobil-menu a { border-radius: 0; padding: 15px 4px; background: none; }
.v-ode-satir { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 18px; margin: 28px 0 0; font-size: 13.5px; color: #55545c; }
.v-ode-satir img { height: 26px; width: auto; }
.v-ode-satir span { display: inline-flex; align-items: center; gap: 6px; } .v-ode-satir i { color: #1f9d55; font-size: 16px; } .v-ode-satir b { color: var(--v-ink, #111); }

/* ══ Dil seçici (vitrin + misafir sayfaları) — düğmeye sabit, kendi içinde kayan liste ══ */
.v-dil { position: relative; display: inline-flex; }
.v-dil-btn { transition: background .15s; }
.v-dil-btn i { transition: transform .18s; }
.v-dil.is-acik .v-dil-btn { background: rgba(17,16,20,.06); }
.v-dil.is-acik .v-dil-btn i { transform: rotate(180deg); }
.v-dil-panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 60; width: 252px; max-width: calc(100vw - 24px);
  background: #fff; border: 1px solid #e6e2da; border-radius: 16px; padding: 6px;
  box-shadow: 0 28px 56px -20px rgba(17,16,20,.28), 0 2px 8px rgba(17,16,20,.06);
  transform-origin: top right; animation: v-dil-ac .16s cubic-bezier(.2, .8, .2, 1); }
[dir="rtl"] .v-dil-panel { transform-origin: top left; }
.v-dil-panel[hidden] { display: none; }
@keyframes v-dil-ac { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.v-dil-bas { padding: 8px 12px 6px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8b877e; }
.v-dil-liste { display: flex; flex-direction: column; gap: 2px; max-height: min(344px, 58vh); overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-color: #d9d4ca transparent; padding-inline-end: 2px; }
.v-dil-liste::-webkit-scrollbar { width: 6px; }
.v-dil-liste::-webkit-scrollbar-thumb { background: #d9d4ca; border-radius: 3px; }
.v-dil-liste a { flex: none; display: flex; align-items: center; gap: 11px; min-height: 40px; padding: 0 12px; border-radius: 10px;
  color: #2a2930; text-decoration: none; font-size: 14.5px; font-weight: 450; outline: none; transition: background .12s; }
.v-dil-liste a:hover, .v-dil-liste a:focus-visible { background: #f4f1ec; color: #111014; }
.v-dil-liste a:focus-visible { box-shadow: inset 0 0 0 2px #111014; }
.v-dil-liste a.is-on { background: #111014; color: #fff; font-weight: 600; }
.v-dil-liste a.is-on:focus-visible { box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px #111014; }
.v-dil-liste a span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-dil-liste a i { font-size: 16px; }
.v-dil-liste .bayrak { width: 22px; height: 16.5px; border-radius: 3px; }
.v-dil-liste a.is-on .bayrak { box-shadow: 0 0 0 1px rgba(255,255,255,.35); }
/* Yukarı açılan sürüm: alt bilgi, ya da altta yer kalmadığında */
.v-dil.is-yukari .v-dil-panel, .v-dil.is-yukari-oto .v-dil-panel { top: auto; bottom: calc(100% + 10px); transform-origin: bottom right; }
.v-dil.is-yukari .v-dil-panel { inset-inline-end: auto; inset-inline-start: 0; transform-origin: bottom left; }
.v-dil.is-yukari .v-dil-btn i { transform: rotate(180deg); }
.v-dil.is-yukari.is-acik .v-dil-btn i { transform: none; }
@media (max-width: 560px) { .v-dil-panel { width: min(252px, calc(100vw - 24px)); } }
.v-dil.is-yukari.is-asagi-oto .v-dil-panel { top: calc(100% + 10px); bottom: auto; transform-origin: top left; }

/* Arama şeridi: alan odakta mavi halka/çerçeve göstermesin (şeridin kendisi açık olduğu belli) */
.v-ara-serit input:focus, .v-ara-serit input:focus-visible { outline: none; box-shadow: none; border: 0; }

/* Alt bilgideki dil seçici: sade, yuvarlak köşeli seçim kutusu */
.v-foot .v-dil-btn.is-uzun { height: 42px; min-width: 190px; padding: 0 14px; gap: 10px; justify-content: flex-start;
  background: #fff; border: 1px solid #e6e2da; border-radius: 12px; color: #2a2930; font-size: 14px; font-weight: 500;
  box-shadow: 0 1px 2px rgba(17,16,20,.04); transition: border-color .15s, box-shadow .15s; }
.v-foot .v-dil-btn.is-uzun:hover { border-color: #cfc9be; box-shadow: 0 4px 12px -6px rgba(17,16,20,.18); }
.v-foot .v-dil.is-acik .v-dil-btn.is-uzun { border-color: #111014; background: #fff; box-shadow: 0 0 0 3px rgba(17,16,20,.06); }
.v-foot .v-dil-btn.is-uzun .bayrak { width: 22px; height: 16.5px; border-radius: 3px; }
.v-foot .v-dil-btn.is-uzun span { flex: 1; text-align: start; }
.v-foot .v-dil-btn.is-uzun i { margin-inline-start: auto; font-size: 14px; color: #8b877e; }
.v-foot-iletisim a { font-weight: 500; color: #2a2930 !important; }
/* Vitrinde odak halkası mavi değil, sitenin koyu rengi (klavye erişimi korunur) */
.v-site :focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111014; outline: none; }
.v-site .v-ara-serit input:focus-visible, .v-site .v-dil-liste a:focus-visible { box-shadow: inset 0 0 0 2px #111014; }
.v-site .v-ara-serit input:focus-visible { box-shadow: none; }
/* Alt bilgideki genel bağlantı kuralı (.v-foot a:not(..)) dil listesini ezmesin */
.v-foot .v-dil-liste a:not(.brand):not(.v-ode-kart) { display: flex; align-items: center; gap: 11px; min-height: 40px; padding: 0 12px; border-radius: 10px; color: #2a2930; font-size: 14.5px; }
.v-foot .v-dil-liste a.is-on:not(.brand):not(.v-ode-kart) { color: #fff; }
.v-foot .v-dil-liste a:not(.is-on):not(.brand):not(.v-ode-kart):hover { color: #111014; }

/* ══════════════ GİRİŞ / KAYIT (platform/auth/_kit.php) — solda tek soru tek ekran, sağda marka paneli ══════════════ */
.v-au { background: #fff; }
.au { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 100vh; min-height: 100svh; }
.au-main { display: flex; flex-direction: column; align-items: center; padding: 26px 40px 30px; overflow: hidden; }
.au-ust { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.au-ust .brand { width: auto; height: auto; padding: 0; font-size: 16px; flex: none; }
/* Logonun yanında "Geri dön": zeminsiz, simge + yazı; araya ince çizgi */
.au-sol { display: flex; align-items: center; gap: 16px; min-width: 0; }
.au-don { display: inline-flex; align-items: center; gap: 6px; min-width: 0; padding: 6px 0 6px 16px; border-inline-start: 1px solid #e4e1db;
  color: #55545c; font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
[dir="rtl"] .au-don { padding: 6px 16px 6px 0; }
.au-don i { font-size: 16px; transition: transform .2s ease; }
[dir="rtl"] .au-don i { transform: scaleX(-1); }
.au-don span { overflow: hidden; text-overflow: ellipsis; }
.au-don:hover { color: #111014; }
.au-don:hover i { transform: translateX(-3px); }
[dir="rtl"] .au-don:hover i { transform: scaleX(-1) translateX(-3px); }
.au-don:focus-visible { outline: none; box-shadow: none; text-decoration: underline; text-underline-offset: 4px; color: #111014; }
/* Dar telefonda "Geri dön" yazısına yer: dil düğmesi yalnız bayrak, aralıklar daralır */
@media (max-width: 400px) { .au-ust { gap: 8px; } .au-sol { gap: 10px; } .au-don { padding-inline-start: 10px; } [dir="rtl"] .au-don { padding: 6px 10px 6px 0; } .au-ust .v-dil-btn > span { display: none; } }
.au-kutu { width: 100%; max-width: 440px; margin: auto 0; padding: 40px 0 28px; }
.au-uyari { margin-bottom: 20px; }
/* Adım formu */
.akis-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; margin-bottom: 30px; }
.akis-etiket { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #6b6a72; }
.akis-geri { display: inline-flex; align-items: center; gap: 7px; margin-inline-start: -10px; padding: 7px 12px 7px 10px; border: 0; background: none; border-radius: 10px;
  font: inherit; font-size: 14px; font-weight: 600; color: #2a2930; cursor: pointer; }
.akis-geri:hover { background: #f4f1ec; color: #111014; }
[dir="rtl"] .akis-geri i { transform: scaleX(-1); }
.akis-geri[hidden], .akis-etiket[hidden] { display: none; }
.akis-ilerle { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 10px; }
.akis-say { font-size: 13px; font-weight: 600; color: #8b877e; font-variant-numeric: tabular-nums; }
[dir="rtl"] .akis-say { direction: ltr; unicode-bidi: isolate; }
.akis-say b { color: #111014; }
.akis-bar { display: flex; gap: 4px; }
.akis-bar span { width: 18px; height: 4px; border-radius: 99px; background: #e6e2da; transition: background-color .3s; }
.akis-bar span.is-dolu { background: #111014; }
.akis-yigin { position: relative; }
@media (min-width: 901px) { .is-adimli .akis-yigin { min-height: var(--akis-h, 0px); } }
.akis-soru { display: block; margin: 0 0 24px; color: #111014; font-size: clamp(30px, 3vw, 40px); font-weight: 600; letter-spacing: -.04em; line-height: 1.08; }
.akis-soru + .akis-alt { margin-top: -12px; }
.akis-alt { margin: 0 0 24px; font-size: 15.5px; color: #55545c; line-height: 1.55; }
.akis-input { height: 58px; padding: 0 18px; border-radius: 14px; font-size: 18px; letter-spacing: -.01em; border: 1px solid #d9d4ca; background: #fff; color: #111014; }
.akis-input:hover { border-color: #b9b3a8; }
.v-au .input:focus, .v-au .input:focus-visible { outline: none; border-color: #111014; box-shadow: 0 0 0 4px rgba(17,16,20,.08); }
.pw-wrap { position: relative; }
.pw-wrap .akis-input { padding-inline-end: 58px; }
.pw-eye { position: absolute; inset-inline-end: 9px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; display: grid; place-items: center;
  border: 0; border-radius: 10px; background: none; color: #6b6a72; font-size: 20px; cursor: pointer; }
.pw-eye:hover { background: #f4f1ec; color: #111014; }
.input-err { border-color: var(--err) !important; box-shadow: 0 0 0 4px rgba(211,59,59,.1) !important; }
.akis-hata { display: none; align-items: flex-start; gap: 7px; margin-top: 10px; font-size: 14px; line-height: 1.45; color: var(--err); }
.akis-hata.is-on { display: flex; }
.akis-hata i { flex: none; margin-top: 2px; }
.akis-btn { width: 100%; height: 56px; margin-top: 22px; justify-content: center; gap: 10px; border-radius: 14px; font-size: 16px; font-weight: 600; }
.akis-btn i { font-size: 18px; }
[dir="rtl"] .akis-btn i.ph-arrow-right { transform: scaleX(-1); }
.akis-btn.is-bekle { cursor: progress; opacity: .8; }
.akis-not { margin: 14px 0 0; font-size: 13px; color: #8b877e; line-height: 1.5; text-align: center; }
.akis-kim { display: inline-flex; align-items: center; gap: 9px; max-width: 100%; margin: 0 0 18px; padding: 6px 14px 6px 8px; border: 1px solid #e6e2da; border-radius: 999px;
  background: #fff; font: inherit; font-size: 14px; color: #111014; cursor: pointer; }
.akis-kim:hover { border-color: #b9b3a8; background: #fafaf8; }
.akis-kim i { flex: none; font-size: 22px; color: #6b6a72; }
.akis-kim span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.akis-kim em { flex: none; font-style: normal; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.akis-kurallar { display: grid; gap: 5px; margin-top: 12px; }
.akis-kural { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #8b877e; transition: color .2s; }
.akis-kural.is-ok { color: var(--ok); }
.akis-kural i { font-size: 17px; }
.au-ek-alan { margin-top: 16px; display: flex; flex-direction: column; gap: 6px; }
.au-ek-alan label { font-size: 14px; font-weight: 500; color: #2a2930; } .au-ek-alan label span { color: #8b877e; font-weight: 400; }
.au-ek-alan .input { height: 48px; border-radius: 12px; border: 1px solid #d9d4ca; font-size: 16px; padding: 0 14px; }
.au-onay { display: flex; gap: 12px; align-items: flex-start; margin-top: 22px; font-size: 14px; line-height: 1.55; color: #3d3c44; cursor: pointer; }
.au-onay input { flex: none; width: 19px; height: 19px; margin-top: 1px; accent-color: #111014; }
.au-onay a { color: #111014; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.au-onay.is-err { color: var(--err); }
.akis-dip { width: 100%; max-width: 440px; text-align: center; font-size: 14.5px; color: #55545c; }
.akis-dip a { color: #111014; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.akis-dip span { display: block; margin-top: 6px; font-size: 13px; color: #8b877e; }
/* Geçişler — pasif adımlar display:none DEĞİL (şifre yöneticileri alanları görsün) */
.akis-form:not(.is-adimli) .akis-ust, .akis-form:not(.is-adimli) [data-ileri], .akis-form:not(.is-adimli) .akis-kim { display: none; }
.akis-form:not(.is-adimli) .akis + .akis { margin-top: 34px; }
.is-adimli .akis { transition: opacity .3s ease, transform .38s cubic-bezier(.2, .75, .25, 1); }
.is-adimli .akis:not(.is-on) { position: absolute; top: 0; left: 0; right: 0; opacity: 0; transform: translateX(36px); pointer-events: none; }
.is-adimli .akis.is-gecti { transform: translateX(-36px); }
[dir="rtl"] .is-adimli .akis:not(.is-on) { transform: translateX(-36px); } [dir="rtl"] .is-adimli .akis.is-gecti { transform: translateX(36px); }
.is-adimli.akis-anlik .akis { transition: none; }
@media (prefers-reduced-motion: reduce) { .is-adimli .akis { transition: opacity .15s; } .is-adimli .akis:not(.is-on), .is-adimli .akis.is-gecti { transform: none !important; } }

/* Sağ panel */
.au-yan { position: relative; overflow: hidden; display: flex; align-items: center; background: #111014; color: #c9c8cf; }
.au-yan::before { content: ''; position: absolute; inset: 0; background: radial-gradient(640px 340px at 85% -5%, rgba(255,255,255,.09), transparent 70%), radial-gradient(520px 320px at 0% 110%, rgba(255,255,255,.05), transparent 70%); }
.au-yan.has-foto { align-items: flex-end; }
.au-yan.has-foto::after { content: ''; position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; }
.au-yan.has-foto::before { z-index: 1; background: linear-gradient(to top, rgba(17,16,20,.95) 0%, rgba(17,16,20,.86) 30%, rgba(17,16,20,.55) 55%, rgba(17,16,20,.15) 80%, rgba(17,16,20,.05) 100%); }
.au-yan-ic { position: relative; z-index: 2; width: 100%; max-width: 520px; margin: 0 auto; padding: 56px 52px; }
.au-kart { position: relative; background: #fff; border-radius: 16px; padding: 14px; margin-bottom: 40px; max-width: 340px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); }
.au-kart-bas { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 600; color: #111014; margin-bottom: 10px; }
.au-nokta { width: 8px; height: 8px; border-radius: 50%; background: #2ac769; box-shadow: 0 0 0 4px rgba(42,199,105,.18); }
.au-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.au-mini .room { min-height: 66px; cursor: default; box-shadow: none; border: 1px solid #ecebe8; }
.au-mini .room-h { font-size: 13px; padding: 6px 9px; }
.au-mini .room-b { padding: 0 9px 7px; }
.au-tost { position: absolute; inset-inline-end: -28px; bottom: -22px; display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 12px; background: #fff;
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.55); font-size: 12.5px; color: #111014; }
.au-tost i { font-size: 22px; color: #1f9d55; }
.au-tost b, .au-tost small { display: block; } .au-tost small { color: #6b6a72; }
.au-rozet { display: inline-block; padding: 6px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06);
  color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.au-yan-b { color: #fff !important; font-size: clamp(28px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.035em; line-height: 1.12; margin: 18px 0 30px; }
.au-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.au-liste li { display: flex; gap: 14px; align-items: flex-start; }
.au-ic { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); color: #fff; font-size: 21px; }
.au-liste strong { display: block; color: #fff; font-weight: 600; font-size: 15.5px; letter-spacing: -.01em; }
.au-liste li > div > span { display: block; margin-top: 3px; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.7); }
.au-not { display: flex; gap: 9px; align-items: flex-start; margin: 34px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.72); }
.au-not i { flex: none; margin-top: 2px; color: #7ee2b0; font-size: 15px; }
@media (max-width: 1100px) { .au-tost { inset-inline-end: -10px; } }
@media (max-width: 900px) {
  .au { grid-template-columns: minmax(0, 1fr); }
  .au-yan { display: none; }
  .au-main { padding: 18px 20px 36px; }
  .au-kutu { margin: 0; padding: 40px 0 36px; }
  .akis-ust { margin-bottom: 24px; }
}
@media (max-width: 480px) {
  .akis-soru { font-size: 28px; }
  .akis-input { height: 54px; font-size: 17px; }
}

/* ══════════════ KİŞİ MENÜSÜ (vitrin üst çubuğu, oturum açıkken — siteNav) ══════════════ */
.v-kisi { position: relative; }
.v-kisi-btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 8px 0 4px; border: 1px solid #e4e1db; border-radius: 999px; background: #fff; cursor: pointer; color: #6b6a72; font: inherit; transition: border-color .15s, box-shadow .15s; }
[dir="rtl"] .v-kisi-btn { padding: 0 4px 0 8px; }
.v-kisi-btn:hover, .v-kisi.is-acik .v-kisi-btn { border-color: #cfcac1; box-shadow: 0 4px 14px -8px rgba(17,16,20,.35); }
.v-kisi-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px #111014; }
.v-kisi-av { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #111014; color: #fff; font-size: 13px; font-weight: 600; }
.v-kisi-btn i { font-size: 12px; transition: transform .2s; }
.v-kisi.is-acik .v-kisi-btn i { transform: rotate(180deg); }
.v-kisi-panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 40; min-width: 250px; max-width: min(320px, calc(100vw - 24px)); padding: 6px; background: #fff; border: 1px solid #ebe7e0; border-radius: 16px; box-shadow: 0 24px 48px -20px rgba(17,16,20,.35); animation: vKisiAc .16s ease-out; }
.v-kisi-panel[hidden] { display: none; }
@keyframes vKisiAc { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.v-kisi-bas { display: grid; gap: 2px; padding: 10px 12px 11px; margin-bottom: 4px; border-bottom: 1px solid #efebe4; }
.v-kisi-bas b { font-size: 14.5px; font-weight: 600; color: #111014; overflow-wrap: anywhere; }
.v-kisi-bas span { font-size: 12.5px; color: #6b6a72; overflow-wrap: anywhere; }
.v-kisi-panel a { display: flex; align-items: center; gap: 11px; min-height: 40px; padding: 0 12px; border-radius: 10px; color: #2a2930; font-size: 14.5px; text-decoration: none; }
.v-kisi-panel a i { font-size: 18px; color: #8b877e; }
.v-kisi-panel a:hover, .v-kisi-panel a:focus-visible { background: #f4f1ec; color: #111014; outline: none; }
.v-kisi-panel a.is-tehlike:hover, .v-kisi-panel a.is-tehlike:focus-visible { background: #fdecec; color: #b3312f; }
.v-kisi-panel a.is-tehlike:hover i { color: #b3312f; }
.v-kisi-ayrac { display: block; height: 1px; margin: 4px 6px; background: #efebe4; }
@media (max-width: 900px) { .site-nav .v-kisi { display: none; } }
/* Hamburger menüsünde hesap maddeleri */
.v-mobil-menu .v-mobil-ayrac { display: block; height: 6px; border-bottom: 1px solid var(--v-cizgi, #e6e2da); margin: 0 -16px; background: #f7f5f1; }
.v-mobil-menu a.is-tehlike { color: #b3312f; }
.v-mobil-menu a.is-tehlike i { color: #b3312f; }

/* ══════════════ PANELİM (/hotels — platform/panel/hotels.php, bkdm /dashboard düzeni) ══════════════ */
.v-hub { background: #faf8f5; }
.v-hub-ana { padding: 44px 0 80px; min-height: 60vh; }
.hub { max-width: 1120px; }
.hub-uyari { margin-bottom: 20px; }
.hub-bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid #ebe7e0; }
.hub-bas .v-eyebrow { margin-bottom: 10px; }
.hub-bas h1 { margin: 0 0 6px; font-size: clamp(30px, 3.4vw, 40px); font-weight: 500; letter-spacing: -.035em; line-height: 1.1; color: #111014; }
.hub-bas .sub { margin: 0; color: #6b6a72; font-size: 15.5px; }
.hub-hesap { background: #fff; }
.hub-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.hub-kart { display: flex; flex-direction: column; min-width: 0; padding: 20px; background: #fff; border: 1px solid #ebe7e0; border-radius: 18px; transition: border-color .15s, box-shadow .15s; }
.hub-kart:hover { border-color: #ddd8cf; box-shadow: 0 18px 36px -24px rgba(17,16,20,.28); }
.hub-kart.is-kapali { background: #fcfbf9; }
.hub-kart-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.hub-harf { width: 46px; height: 46px; flex: none; border-radius: 13px; display: grid; place-items: center; background: #111014; color: #fff; font-size: 19px; font-weight: 600; }
.hub-kart.is-kapali .hub-harf { background: #c9c5bd; }
.hub-rozet { flex: none; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.35; }
.hub-rozet.r-deneme { background: #e7f0fb; color: #1f5a9e; }
.hub-rozet.r-aktif { background: #e6f5ec; color: #17693d; }
.hub-rozet.r-uyari { background: #fbf0dc; color: #8a5207; }
.hub-rozet.r-hata { background: #fbe9e8; color: #b3312f; }
.hub-ad { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: -.015em; line-height: 1.3; color: #111014; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-alt { margin-top: 3px; font-size: 13.5px; color: #6b6a72; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-paket { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; color: #2a2930; }
.hub-paket::before { content: ''; flex: none; width: 8px; height: 8px; border-radius: 50%; background: #111014; }
.hub-durum { margin-top: 14px; padding-top: 14px; border-top: 1px solid #efebe4; font-size: 14px; }
.hub-durum-satir { font-weight: 600; color: #111014; }
.hub-durum-satir.is-uyari { color: #8a5207; }
.hub-durum-satir.is-hata { color: #b3312f; }
.hub-cubuk { height: 5px; margin-top: 10px; border-radius: 99px; background: #efebe4; overflow: hidden; }
.hub-cubuk i { display: block; height: 100%; border-radius: 99px; background: #111014; }
.hub-durum-alt { margin-top: 7px; font-size: 13px; color: #6b6a72; line-height: 1.45; }
.hub-eylem { display: grid; gap: 8px; margin-top: auto; padding-top: 18px; }
.hub-eylem .btn { justify-content: center; min-width: 0; }
.hub-eylem-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hub-eylem-2 .btn { background: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-eylem .btn.is-pasif { background: #f4f1ec; color: #9a978f; border-color: transparent; cursor: not-allowed; }
.hub-ekle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 280px; padding: 24px; text-align: center; border: 1.5px dashed #d8d3ca; border-radius: 18px; color: inherit; text-decoration: none; transition: border-color .15s, background .15s; }
.hub-ekle:hover { border-color: #b9b3a8; background: #fff; }
.hub-ekle i { width: 46px; height: 46px; margin-bottom: 8px; border-radius: 13px; display: grid; place-items: center; background: #fff; border: 1px solid #ebe7e0; font-size: 20px; color: #111014; }
.hub-ekle strong { font-size: 16px; font-weight: 600; color: #111014; }
.hub-ekle span { font-size: 13.5px; color: #6b6a72; max-width: 220px; }
.hub-bos { max-width: 620px; margin: 0 auto; padding: 56px 28px; text-align: center; background: #fff; border: 1px solid #ebe7e0; border-radius: 22px; }
.hub-bos-ikon { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 18px; display: grid; place-items: center; background: #f4f1ec; font-size: 30px; color: #111014; }
.hub-bos h2 { margin: 0 0 8px; font-size: 22px; font-weight: 500; letter-spacing: -.02em; color: #111014; }
.hub-bos .sub { max-width: 440px; margin: 0 auto 20px; color: #6b6a72; }
.hub-hediye { display: inline-flex; align-items: center; gap: 8px; margin: 0 auto 22px; padding: 8px 14px; border-radius: 999px; background: #f4f1ec; font-size: 13.5px; font-weight: 500; color: #2a2930; }
.hub-hediye i { font-size: 17px; }
@media (max-width: 600px) {
  .v-hub-ana { padding: 28px 0 56px; }
  .hub-bas { align-items: flex-start; flex-direction: column; padding-bottom: 20px; margin-bottom: 20px; }
  .hub-izgara { grid-template-columns: minmax(0, 1fr); }
  .hub-ekle { min-height: 0; padding: 26px; }
  .hub-bos { padding: 40px 20px; }
}

/* ══ Alt bilgi en alt şerit: telif + ödeme bandı; marka sahibi satırı marka sütununda ══ */
.v-foot p.v-foot-sahip { margin: -4px 0 16px; font-size: 13px; color: #6b6a72; }
.v-foot .v-foot-sahip a:not(.brand):not(.v-ode-kart) { display: inline; padding: 0; font-size: inherit; color: var(--v-ink); font-weight: 600; }
.v-foot .v-foot-sahip sup { font-size: 9px; }
.v-foot-alt { padding: 18px 0; }
.v-foot-alt .wrap { align-items: center; gap: 14px 28px; }
.v-foot-ode { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; min-width: 0; }
.v-foot-ode .v-ode-bant { height: 20px; }
.v-foot-ode .v-ode-iyz { height: 18px; }
.v-foot-ode-not { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: #6b6a72; white-space: nowrap; }
.v-foot-ode-not b { color: var(--v-ink); font-weight: 600; }
.v-foot-ode-not i { font-size: 15px; color: #1f9d55; }
@media (max-width: 760px) {
  .v-foot-alt .wrap { flex-direction: column-reverse; align-items: flex-start; }
  .v-foot-ode { flex-direction: column; align-items: flex-start; gap: 10px; }
  .v-foot-ode .v-ode-bant { height: 18px; }
  .v-foot-ode-not { white-space: normal; }
}

/* ══ Logo: yalnız yazı (vitrin, giriş/kayıt, Panelim, alt bilgi). Panel ve demo ekranları simgeli kalır. ══ */
.brand.brand-yazi { gap: 0; font-size: 25px; font-weight: 700; letter-spacing: -.045em; line-height: 1; color: var(--v-ink, #111014); }
.v-foot .brand.brand-yazi { font-size: 26px; color: var(--v-ink, #111014); }
.au-ust .brand.brand-yazi { font-size: 25px; }
.auth-card .brand.brand-yazi { font-size: 25px; }
@media (max-width: 560px) { .site-nav .brand.brand-yazi { font-size: 22px; } }
@media (max-width: 360px) { .site-nav .brand.brand-yazi { font-size: 20px; } }
/* Logo artık telefonda da yazılı: uzun düğme metni (ru "Попробовать бесплатно") iki satıra insin, taşmasın */
@media (max-width: 400px) {
  .site-nav .right .btn-primary { white-space: normal; height: auto; min-height: 34px; max-width: 112px; padding: 4px 10px; line-height: 1.15; text-align: center; font-size: 12.5px; }
}
/* Panel (app/) ve demo kopyaları: logo yalnız yazı. Panelde yan menü genişliğinde; ≤900 px'te yazı küçülür, ≤400 px'te gizli (tesis adı öncelikli) */
.topbar .brand.brand-yazi { font-size: 21px; letter-spacing: -.04em; color: var(--ink); }
.dm-top .brand.brand-yazi { font-size: 21px; color: var(--ink); }
.sh-top-cubuk .brand.brand-yazi { width: auto; height: auto; padding: 0 4px; font-size: 17px; color: var(--ink); }
@media (max-width: 900px) { .topbar .brand.brand-yazi { font-size: 19px; padding: 0 6px 0 2px; } }
/* Panel üst çubuğu: arama kutusu yer tutucusu kadar genişlemesin; kalan boşluğa sığsın (901–1100 px'te sağdaki düğmeler taşıyordu) */
.topbar-search, .topbar-search button, .topbar-search button span { min-width: 0; }
.topbar-right { flex: none; }
@media (min-width: 901px) and (max-width: 1200px) {
  .topbar-search kbd, .bizdate .bd-label { display: none; }
  .hotel-switch { max-width: 200px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .topbar-search { flex: 0 0 auto; max-width: none; margin: 0 auto; }
  .topbar-search button span { display: none; }
  .topbar-search button { width: 34px; padding: 0; justify-content: center; background: none; }
}
.topbar-search { min-width: 34px; }
@media (max-width: 600px) { .topbar-search { flex: none; } }
@media (min-width: 901px) and (max-width: 1100px) { .topbar .trial-badge { display: none; } .hotel-switch { max-width: 170px; } }
@media (max-width: 900px) {
  .topbar-search { flex: 0 0 auto; max-width: none; margin: 0 auto; }
  .topbar-search button span { display: none; }
  .topbar-search button { width: 34px; padding: 0; justify-content: center; background: none; }
}

/* ══════════════ MOBİL ÜST ÇUBUK + TAM EKRAN MENÜ (≤900 px — siteNav) ══════════════
   Çubukta logo + tek düğme + hamburger; arama ve dil menünün içinde. Geçişler yalnız opacity/transform. */
@media (max-width: 900px) {
  /* Çubukta logo + arama + hamburger; ana düğme (Ücretsiz dene / Panelim) menünün içinde */
  .site-nav .right > .v-dil, .site-nav .right > .btn-primary { display: none; }
  .site-nav .right .v-ara-btn { order: 8; width: 40px; height: 40px; }
  .site-nav .right .v-menu-btn { order: 9; width: 40px; height: 40px; }
  .site-nav .right .v-ara-btn i, .site-nav .right .v-menu-btn i { font-size: 22px; }
  .v-site .site-nav.is-menu { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; }
}
/* Kaydırma kilidi yalnız html'de: body'ye overflow verilirse yapışkan çubuk body'ye göre konumlanıp ekrandan çıkıyor */
html.v-mm-acik { overflow: hidden; }
.v-site .v-mobil-menu { position: fixed; top: var(--mm-ust, 62px); left: 0; right: 0; bottom: 0; z-index: 30; display: flex; flex-direction: column; gap: 22px;
  padding: 16px 20px calc(24px + env(safe-area-inset-bottom)); background: #fff; border: 0; box-shadow: none; overflow-y: auto; overscroll-behavior: contain;
  animation: vMmAc .22s ease-out; }
.v-site .v-mobil-menu[hidden] { display: none; }
@keyframes vMmAc { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .v-site .v-mobil-menu { animation: none; } }
/* Arama alanı (dokununca anlık arama şeridi açılır) */
.v-site .v-mm-ara { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 50px; padding: 0 16px; border: 1px solid #e4e1db; border-radius: 14px; background: #f7f5f1;
  color: #8b877e; font: inherit; font-size: 15.5px; text-align: start; cursor: text; }
.v-site .v-mm-ara i { font-size: 19px; color: #6b6a72; flex: none; }
.v-site .v-mm-ara span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-site .v-mm-ara:focus-visible { outline: none; box-shadow: 0 0 0 2px #111014; }
/* Sayfa ve hesap bağlantıları */
.v-site .site-nav .v-mm-linkler { display: block; margin: 0; }
.v-site .v-mobil-menu .v-mm-linkler a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 58px; padding: 0 2px; border-radius: 0; background: none;
  border-bottom: 1px solid var(--v-cizgi, #e6e2da); color: var(--v-ink, #111014); font-size: 21px; font-weight: 500; letter-spacing: -.02em; text-decoration: none; }
.v-site .v-mobil-menu .v-mm-linkler a:last-child { border-bottom: 0; }
.v-site .v-mobil-menu .v-mm-linkler a.is-on { font-weight: 600; background: none; }
.v-site .v-mobil-menu .v-mm-linkler a i { font-size: 19px; color: #8b877e; }
[dir="rtl"] .v-site .v-mobil-menu .v-mm-linkler a i.ph-arrow-right { transform: scaleX(-1); }
.v-site .v-mobil-menu .v-mm-hesap { padding-top: 6px; border-top: 1px solid var(--v-cizgi, #e6e2da); }
.v-site .v-mobil-menu .v-mm-hesap a { min-height: 50px; font-size: 17px; }
.v-site .v-mobil-menu .v-mm-hesap a.is-tehlike, .v-site .v-mobil-menu .v-mm-hesap a.is-tehlike i { color: #b3312f; }
/* Dil ızgarası */
.v-mm-dil h4 { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #6b6a72; }
.v-mm-dil-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.v-site .v-mobil-menu .v-mm-dil-izgara a { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-width: 0; min-height: 44px; padding: 0 12px; border: 1px solid #ebe7e0; border-radius: 12px;
  color: #2a2930; font-size: 14.5px; font-weight: 500; text-decoration: none; background: #fff; }
.v-site .v-mobil-menu .v-mm-dil-izgara a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-site .v-mobil-menu .v-mm-dil-izgara a .bayrak { flex: none; }
.v-site .v-mobil-menu .v-mm-dil-izgara a.is-on { background: #111014; border-color: #111014; color: #fff; }
/* Alt düğmeler (oturum kapalıyken) */
.v-mm-alt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: auto; padding-top: 6px; }
.v-site .v-mobil-menu .v-mm-alt .btn { justify-content: center; min-width: 0; }
.v-site .v-mobil-menu .v-mm-alt .btn:not(.btn-primary) { background: #fff; border: 1px solid #d8d3ca; color: #111014; }
@media (max-width: 360px) { .v-mm-alt { grid-template-columns: minmax(0, 1fr); } }
.v-site .v-mobil-menu .v-mm-alt .btn-primary { color: #fff; background: #111014; border-color: #111014; }
/* Mobil menüde dil: açılır liste, yerinde (statik) açılır — menünün kaydırmasında kesilmez */
.v-mm-dil .v-dil { display: block; }
.v-site .v-mm-dil .v-dil-btn.is-uzun { display: flex; width: 100%; height: 50px; padding: 0 16px; gap: 12px; justify-content: flex-start; border: 1px solid #e4e1db; border-radius: 14px; background: #fff; font-size: 16px; font-weight: 500; color: #111014; }
.v-site .v-mm-dil .v-dil.is-acik .v-dil-btn.is-uzun { border-color: #111014; box-shadow: 0 0 0 3px rgba(17,16,20,.06); }
.v-mm-dil .v-dil-btn.is-uzun .bayrak { width: 22px; height: 16.5px; border-radius: 3px; }
.v-mm-dil .v-dil-btn.is-uzun span { flex: 1; min-width: 0; text-align: start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-mm-dil .v-dil-btn.is-uzun i { margin-inline-start: auto; font-size: 15px; color: #8b877e; transition: transform .2s; }
.v-mm-dil .v-dil.is-yukari .v-dil-btn i { transform: none; }
.v-mm-dil .v-dil.is-yukari.is-acik .v-dil-btn i { transform: rotate(180deg); }
.v-mm-dil .v-dil .v-dil-panel { position: static; width: auto; max-width: none; margin-top: 8px; translate: none !important; box-shadow: 0 12px 28px -18px rgba(17,16,20,.3); transform-origin: top center; }
.v-mm-dil .v-dil .v-dil-liste { max-height: 312px !important; }
.v-mm-dil .v-dil-bas { display: none; }
/* Mobil menüde dil satırı (sağ ok) + iki sütunlu dil penceresi */
.v-site .v-mm-dil-satir { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 54px; padding: 0 16px; border: 1px solid #e4e1db; border-radius: 14px; background: #fff;
  color: #111014; font: inherit; font-size: 16.5px; font-weight: 500; text-align: start; cursor: pointer; }
.v-mm-dil-satir .bayrak { width: 22px; height: 16.5px; border-radius: 3px; }
.v-mm-dil-satir span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-mm-dil-satir i { font-size: 19px; color: #8b877e; }
[dir="rtl"] .v-mm-dil-satir i { transform: scaleX(-1); }
.v-site .v-mm-dil-satir:active { background: #f7f5f1; }
.v-site .v-mm-dil-satir:focus-visible { outline: none; box-shadow: 0 0 0 2px #111014; }
.v-dil-pop { position: fixed; inset: 0; z-index: 80; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(17,16,20,.42); animation: vDilPopZ .18s ease-out; }
.v-dil-pop[hidden] { display: none; }
.v-dil-pop-kart { width: min(440px, 100%); max-height: min(640px, calc(100dvh - 32px)); display: flex; flex-direction: column; background: #fff; border-radius: 20px;
  box-shadow: 0 32px 64px -24px rgba(17,16,20,.45); animation: vDilPopK .22s cubic-bezier(.2, .8, .2, 1); }
@keyframes vDilPopZ { from { opacity: 0; } to { opacity: 1; } }
@keyframes vDilPopK { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .v-dil-pop, .v-dil-pop-kart { animation: none; } }
.v-dil-pop-bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 14px 12px 20px; border-bottom: 1px solid #efebe4; }
[dir="rtl"] .v-dil-pop-bas { padding: 16px 20px 12px 14px; }
.v-dil-pop-bas h2 { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: -.02em; color: #111014; }
.v-dil-pop-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 14px 16px 18px; overflow-y: auto; overscroll-behavior: contain; }
.v-dil-pop-izgara a { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 48px; padding: 0 12px; border: 1px solid #ebe7e0; border-radius: 12px;
  color: #2a2930; font-size: 15px; font-weight: 500; text-decoration: none; background: #fff; }
.v-dil-pop-izgara a .bayrak { flex: none; }
.v-dil-pop-izgara a span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-dil-pop-izgara a i { flex: none; font-size: 15px; }
.v-dil-pop-izgara a:hover { border-color: #cfc9be; }
.v-dil-pop-izgara a:focus-visible { outline: none; box-shadow: 0 0 0 2px #111014; }
.v-dil-pop-izgara a.is-on { background: #111014; border-color: #111014; color: #fff; }
@media (max-width: 400px) {
  .v-dil-pop { padding: 10px; }
  .v-dil-pop-izgara { gap: 6px; padding: 12px 10px 14px; }
  .v-dil-pop-izgara a { gap: 7px; padding: 0 9px; font-size: 14px; min-height: 46px; }
  .v-dil-pop-izgara a .bayrak { width: 18px; height: 13.5px; }
  .v-dil-pop-izgara a i { display: none; }
}
/* 901–1000 px: masaüstü çubuğu uzun dillerde (ru, pl) sığsın */
@media (min-width: 901px) and (max-width: 1000px) {
  .v-site .site-nav { gap: 12px; }
  .site-nav nav:not(.v-mobil-menu):not(.v-mm-linkler) { margin-left: 4px; gap: 0; }
  .site-nav > nav:not(.v-mobil-menu) a { padding: 6px 7px; }
  .site-nav .right { gap: 4px; }
  .site-nav .right > .v-dil .v-dil-btn span, .site-nav .right > .v-dil .v-dil-btn i { display: none; }
}
/* Dil penceresi: kareye yakın kartlar — üstte büyük bayrak, altında ad; seçilide köşede tik */
.v-dil-pop-izgara { gap: 10px; }
.v-dil-pop-izgara a { position: relative; flex-direction: column; justify-content: center; gap: 12px; aspect-ratio: 6 / 5; min-height: 0; padding: 12px 10px; border-radius: 16px; text-align: center; font-size: 15px; }
.v-dil-pop-izgara a .bayrak { width: 40px; height: 30px; border-radius: 4px; }
.v-dil-pop-izgara a span { flex: none; width: 100%; }
.v-dil-pop-izgara a i { position: absolute; top: 10px; inset-inline-end: 10px; font-size: 16px; }
.v-dil-pop-izgara a:not(.is-on):hover { background: #faf8f5; }
@media (max-width: 400px) {
  .v-dil-pop-izgara { gap: 8px; }
  .v-dil-pop-izgara a { gap: 10px; padding: 10px 8px; font-size: 14px; min-height: 0; }
  .v-dil-pop-izgara a .bayrak { width: 34px; height: 25.5px; }
  .v-dil-pop-izgara a i { display: block; top: 8px; inset-inline-end: 8px; font-size: 14px; }
}
/* Kare kartlar: satır yüksekliği kartın oranından gelsin (min-height:0 satırları küçültüp kartları üst üste bindiriyordu) */
.v-dil-pop-izgara { grid-auto-rows: max-content; align-content: start; }
.v-dil-pop-izgara a, .v-dil-pop-izgara a:is(*) { min-height: auto; }
@media (max-width: 400px) { .v-dil-pop-izgara a { min-height: auto; } }
/* Giriş ekranı, çıkıştan sonra: "Ana sayfaya dön" — dar telefonda kısa biçim */
.au-don .au-don-kisa { display: none; }
@media (max-width: 480px) { .au-don .au-don-uzun { display: none; } .au-don .au-don-kisa { display: inline; } }

/* ══════════════ PANEL BOYUTLARI (2026-11-01: "her şey biraz büyük, rahat okunsun") ══════════════
   Yalnız panel sayfaları (body > .app); vitrin, vitrindeki demo kopyası ve rezervasyon sayfası etkilenmez.
   Panelin açılır menüleri, pencereleri ve bildirimleri body'de olduğu için :has ile kapsanır. */
body:has(> .app) { --topbar-h: 60px; --side-w: 256px; font-size: 15px; }
body:has(> .app) h1 { font-size: 25px; }
body:has(> .app) h2 { font-size: 18px; }
body:has(> .app) h3 { font-size: 16px; }
body:has(> .app) .btn { height: 36px; padding: 0 14px; font-size: 14.5px; gap: 7px; }
body:has(> .app) .btn i { font-size: 17px; }
body:has(> .app) .btn-sm { height: 32px; padding: 0 11px; font-size: 14px; }
body:has(> .app) .btn-lg { height: 44px; padding: 0 20px; font-size: 16px; }
body:has(> .app) .input, body:has(> .app) select.input { height: 38px; font-size: 15px; padding-inline: 12px; }
body:has(> .app) select.input { padding-inline-end: 30px; }
body:has(> .app) textarea.input { height: auto; padding: 10px 12px; }
body:has(> .app) .input-sm { height: 32px; font-size: 14px; }
body:has(> .app) .field { gap: 6px; }
body:has(> .app) .field > label, body:has(> .app) .label { font-size: 13.5px; }
body:has(> .app) .field .hint { font-size: 13px; }
body:has(> .app) .table { font-size: 14.5px; }
body:has(> .app) .table th { font-size: 13px; padding: 11px 14px; }
body:has(> .app) .table td { padding: 12px 14px; }
body:has(> .app) .badge { font-size: 12.5px; }
body:has(> .app) .alert { font-size: 14.5px; }
body:has(> .app) .card-h { padding: 16px 20px; }
body:has(> .app) .card-b { padding: 18px 20px; }
body:has(> .app) .card-f { padding: 12px 20px; }
/* Üst çubuk: büyük boy yalnız geniş ekranda (>1200 px); daha darda eski sıkı düzen ve taşma kuralları geçerli */
@media (min-width: 1201px) {
  body:has(> .app) .topbar { gap: 10px; }
  body:has(> .app) .hotel-switch { height: 40px; font-size: 15px; }
  body:has(> .app) .topbar-search button { height: 40px; font-size: 14.5px; }
  body:has(> .app) .topbar-search kbd { font-size: 12px; }
  body:has(> .app) .bizdate { height: 36px; font-size: 14px; border-radius: 18px; padding: 0 12px; }
  body:has(> .app) .icon-btn { width: 40px; height: 40px; font-size: 21px; }
  body:has(> .app) .avatar { width: 34px; height: 34px; font-size: 13px; }
  body:has(> .app) .trial-badge { font-size: 13px; padding: 4px 10px; }
}
@media (min-width: 1201px) and (max-width: 1360px) { body:has(> .app) .topbar-search kbd, body:has(> .app) .bizdate .bd-label { display: none; } }
/* Sayfa içindeki simge düğmeleri her genişlikte biraz büyük */
body:has(> .app) .main .icon-btn { width: 38px; height: 38px; font-size: 20px; }
body:has(> .app) .sidebar { padding: 12px 10px 28px; }
body:has(> .app) .nav-title { font-size: 12px; padding: 16px 12px 8px; }
body:has(> .app) .nav-link { height: 40px; padding: 0 12px; gap: 12px; font-size: 15px; }
body:has(> .app) .nav-link i { font-size: 20px; }
body:has(> .app) .nav-link .nav-count { font-size: 12px; }
/* Sayfa başlığı, sekmeler, göstergeler */
body:has(> .app) .main { padding: 26px 32px 56px; }
body:has(> .app) .page-h .sub { font-size: 14px; margin-top: 4px; }
body:has(> .app) .tab { height: 36px; padding: 0 14px; font-size: 14.5px; }
body:has(> .app) .kpis { gap: 14px; margin-bottom: 20px; }
body:has(> .app) .kpi { padding: 18px 20px; }
body:has(> .app) .kpi-v { font-size: 28px; }
body:has(> .app) .kpi-l { font-size: 13.5px; }
body:has(> .app) .legend button, body:has(> .app) .legend a { height: 32px; padding: 0 12px; border-radius: 16px; font-size: 13.5px; }
body:has(> .app) .floor-h { font-size: 13px; margin: 22px 0 10px; }
/* Oda kartları */
body:has(> .app) .room { min-height: 148px; }
body:has(> .app) .room-h { font-size: 17px; padding: 10px 12px; }
body:has(> .app) .room-h .rt { font-size: 12px; }
body:has(> .app) .room-b { padding: 0 12px 10px; }
body:has(> .app) .room-guest { font-size: 14px; }
body:has(> .app) .room-meta { font-size: 12.5px; }
body:has(> .app) .room-f { font-size: 12.5px; padding: 7px 12px; min-height: 34px; }
body:has(> .app) .room-empty { font-size: 13.5px; }
/* Oda planı, ayrıntı satırları, zaman çizelgesi */
body:has(> .app) .rack { font-size: 13px; }
body:has(> .app) .rack thead th b { font-size: 14px; }
body:has(> .app) .rack .rk-type .rk-room, body:has(> .app) .rack .rk-avail b { font-size: 13px; }
body:has(> .app) .rack .rk-avail { font-size: 12px; }
body:has(> .app) .fact .k { font-size: 13px; }
body:has(> .app) .kv { font-size: 14.5px; padding: 9px 0; }
body:has(> .app) .timeline li { font-size: 14px; }
body:has(> .app) .timeline .when { font-size: 12.5px; }
body:has(> .app) .hk-info { font-size: 13.5px; }
body:has(> .app) .hk-info b { font-size: 15px; }
body:has(> .app) .pager { font-size: 14px; }
/* Açılır menü, pencere, bildirim, komut paleti */
body:has(> .app) .menu-h { font-size: 13px; }
body:has(> .app) .menu-h b { font-size: 14px; }
body:has(> .app) .menu button, body:has(> .app) .menu a { font-size: 14.5px; min-height: 38px; }
body:has(> .app) .menu i { font-size: 17px; }
body:has(> .app) .modal-h h2 { font-size: 18px; }
body:has(> .app) .confirm-b p { font-size: 14.5px; }
body:has(> .app) .toast { font-size: 14.5px; }
body:has(> .app) .palette-in input { font-size: 17px; }
body:has(> .app) .palette-sec { font-size: 12px; }
body:has(> .app) .palette-item { font-size: 15px; }
body:has(> .app) .palette-foot { font-size: 13px; }
@media (min-width: 901px) {
  body:has(> .app) .rooms { grid-template-columns: repeat(auto-fill, minmax(184px, 1fr)); gap: 12px; }
}
@media (max-width: 900px) {
  body:has(> .app) .main { padding: 18px 16px 44px; }
}
@media (max-width: 600px) {
  body:has(> .app) .page-h h1 { font-size: 21px; }
  body:has(> .app) .kpi-v { font-size: 25px; }
}

/* ══════════════ GENEL BAKIŞ (app/pages/overview.php) ══════════════ */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ov-kpis { grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); }
.kpi .ov-alt { margin-top: 8px; }
.ov-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ov-izgara .card { display: flex; flex-direction: column; min-width: 0; }
.ov-izgara .card-h i:first-child { font-size: 19px; color: var(--muted); }
.ov-h-not { font-size: 13px; white-space: nowrap; }
.ov-izgara .card-h { flex-wrap: wrap; row-gap: 4px; }
body:has(> .app) .ov-kpis .kpi-v { font-size: 24px; white-space: nowrap; }
@media (max-width: 600px) { .ov-h-not { white-space: normal; } }
/* 14 günlük çubuklar: tek renk (mürekkep), bugün vurgulu */
.ov-cubuklar { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 6px; align-items: end; height: 190px; }
.ov-cubuk { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; min-width: 0; }
.ov-cubuk-y { font-size: 12px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
.ov-cubuk-c { flex: 1; width: 100%; max-width: 30px; display: flex; align-items: flex-end; border-radius: 6px; background: var(--surface-2); overflow: hidden; }
.ov-cubuk-c i { display: block; width: 100%; background: var(--line-strong); border-radius: 6px 6px 0 0; }
.ov-cubuk.is-bugun .ov-cubuk-c i { background: var(--primary); }
.ov-cubuk.is-bugun .ov-cubuk-y, .ov-cubuk.is-bugun .ov-cubuk-g { color: var(--ink); }
.ov-cubuk-g { font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ov-not { margin: 14px 0 0; font-size: 13px; color: var(--muted); }
/* Dikkat isteyenler */
.ov-liste { display: flex; flex-direction: column; padding: 6px; }
.ov-satir { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 12px; border-radius: var(--r); color: var(--text); text-decoration: none !important; }
.ov-satir:hover { background: var(--hover); }
.ov-satir > i:first-child { font-size: 19px; color: var(--muted); }
.ov-satir span { flex: 1; min-width: 0; }
.ov-satir b { min-width: 28px; height: 26px; padding: 0 8px; border-radius: 13px; display: grid; place-items: center; background: var(--surface-2); color: var(--ink); font-size: 13.5px; font-variant-numeric: tabular-nums; }
.ov-satir.is-err b { background: var(--err-bg, #fdecec); color: var(--err); }
.ov-satir.is-warn b { background: var(--warn-bg); color: var(--warn); }
.ov-satir .ov-ok { font-size: 15px; color: var(--faint); }
[dir="rtl"] .ov-satir .ov-ok { transform: scaleX(-1); }
.ov-bos { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; min-height: 110px; padding: 20px; color: var(--muted); font-size: 14.5px; text-align: center; }
.ov-bos i { font-size: 22px; color: var(--ok); }
.ov-bos-ic { min-height: 80px; padding: 0; }
.ov-borc { color: var(--ink); font-weight: 600; }
/* Tahsilat yöntemleri ve paket */
.ov-yontem { display: grid; gap: 14px; }
.ov-yontem-u, .ov-paket-s { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14.5px; }
.ov-yontem-u span, .ov-paket-s span { color: var(--muted); min-width: 0; }
.ov-yontem-u b, .ov-paket-s b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; text-align: end; }
.ov-yontem-c { height: 6px; margin-top: 7px; border-radius: 3px; background: var(--surface-2); overflow: hidden; }
.ov-yontem-c i { display: block; height: 100%; border-radius: 3px; background: var(--primary); }
.ov-paket { display: grid; gap: 10px; }
.ov-paket .ov-yontem-c { margin-top: -4px; }
.ov-hizli { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
@media (max-width: 1100px) { .ov-izgara { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .ov-cubuklar { gap: 3px; height: 160px; }
  .ov-cubuk-y { font-size: 10.5px; }
  .ov-cubuk-g { font-size: 11px; }
}
/* ≤1200 px: üst çubuktaki düğme ve rozet eski sıkı boyunda (genel büyütme çubuğu taşırıyordu) */
@media (max-width: 1200px) {
  body:has(> .app) .topbar .btn-sm { height: 28px; padding: 0 9px; font-size: 13px; }
  body:has(> .app) .topbar .btn-sm i { font-size: 16px; }
  body:has(> .app) .topbar .badge { font-size: 11.5px; }
}
/* Yan menü: ince kaydırma çubuğu (soluk; üzerine gelince belirginleşir) */
/* Chrome/Safari: 6 px (standart scrollbar-width verilirse Chrome ::-webkit-scrollbar'ı yok sayıyor); Firefox: thin */
@supports (-moz-appearance: none) {
  .sidebar { scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
  .sidebar:hover, .sidebar:focus-within { scrollbar-color: var(--line-strong) transparent; }
}
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
.sidebar:hover::-webkit-scrollbar-thumb, .sidebar:focus-within::-webkit-scrollbar-thumb { background: var(--line-strong); }

/* ══════════════ REZERVASYON FORMU (app/pages/reservation-edit.php) ══════════════
   Numaralı bölümler, tarih şeridi (giriş → gece → çıkış), − / + sayaçlar, ikili satırlar, katlanan ayrıntılar.
   Etiketler koyu (okunur), alanlar geniş; tek sütuna telefon genişliğinde iner. */
.rf { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.rf-kart { overflow: visible; }
.rf-bas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 18px 22px 0; }
.rf-bas h3 { margin: 0; font-size: 17px; font-weight: 600; color: var(--ink); }
.rf-no { width: 28px; height: 28px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: var(--primary-ink); font-size: 13.5px; font-weight: 700; }
.rf-bas-not { margin-inline-start: auto; font-size: 13px; color: var(--muted); }
.rf-ic { display: flex; flex-direction: column; gap: 18px; padding: 18px 22px 22px; }
.rf .field > label { color: var(--text); font-weight: 500; }
.rf-ipucu { color: var(--muted); font-weight: 400; }
.rf-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.rf-uc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 18px; padding-top: 16px; }
.rf-dort { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 18px; }
/* Durum: iki seçenekli düğme */
.rf-segment { display: inline-flex; margin-inline-start: auto; padding: 3px; border-radius: 10px; background: var(--surface-2); }
.rf-segment label { position: relative; cursor: pointer; }
.rf-segment input { position: absolute; opacity: 0; pointer-events: none; }
.rf-segment span { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--muted); white-space: nowrap; }
.rf-segment input:checked + span { background: var(--surface); color: var(--ink); box-shadow: var(--sh-1); }
.rf-segment input:focus-visible + span { box-shadow: 0 0 0 2px var(--accent); }
/* Tarih şeridi */
.rf-tarih { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(0, 150px); gap: 14px; align-items: end; padding: 16px; border-radius: 14px; background: var(--surface-2); }
body:has(> .app) .rf .rf-buyuk { height: 46px; font-size: 16px; font-weight: 500; background: var(--surface); }
.rf-gece { display: flex; align-items: center; gap: 6px; height: 46px; }
.rf-gece-say { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 18px; background: var(--primary); color: var(--primary-ink); font-size: 14px; white-space: nowrap; }
.rf-gece-say i { font-size: 16px; }
.rf-adim { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--surface); color: var(--ink); font-size: 16px; cursor: pointer; }
.rf-adim:hover { background: var(--hover); }
.rf-adim:disabled { opacity: .4; cursor: default; }
.rf-adim:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--accent); }
.rf-opsiyon { max-width: 260px; }
/* Sayaç: − [sayı] + */
.rf-sayac { display: flex; align-items: center; gap: 8px; }
body:has(> .app) .rf-sayac .input { text-align: center; font-weight: 600; padding-inline: 4px; -moz-appearance: textfield; }
.rf-sayac .input::-webkit-outer-spin-button, .rf-sayac .input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rf-sayac .rf-adim { width: 38px; height: 38px; border-radius: var(--r); }
/* Misafir */
.rf-ara { position: relative; }
body:has(> .app) .rf-ara .input { height: 46px; font-size: 15.5px; padding-inline-start: 38px; }
[dir="rtl"] body:has(> .app) .rf-ara .input { padding-inline-start: 38px; }
.rf-ara > i { font-size: 18px; }
.rf-ara-sonuc { position: absolute; left: 0; right: 0; top: 50px; z-index: 20; }
/* Misafir blokları (yeni rezervasyon: ana + ek misafirler) */
.rf-misafirler { display: flex; flex-direction: column; gap: 18px; }
.rf-m { display: flex; flex-direction: column; gap: 14px; }
.rf-m + .rf-m { padding-top: 18px; border-top: 1px dashed var(--line-strong); }
.rf-m-bas { display: flex; align-items: center; gap: 10px; }
.rf-m-no { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 15px; }
.rf-m-no i { font-size: 18px; color: var(--muted); }
.rf-m-sil { margin-inline-start: auto; }
.rf-m-kart { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); font-size: 14px; color: var(--muted); }
.rf-m-kart i { font-size: 18px; }
.rf-m-kart b { color: var(--ink); font-weight: 600; }
.rf-m-kart .btn { margin-inline-start: auto; }
.rf-m .rf-uc { padding-top: 0; }
.rf-m-ekle { align-self: flex-start; }
.rf-zorunlu { color: var(--err); font-weight: 600; }
.rf .field > .rf-etiket { cursor: default; }
.rf .rf-cins { display: flex; width: 100%; margin: 0; }
.rf-cins label { flex: 1; min-width: 0; }
.rf-cins span { width: 100%; justify-content: center; }
/* Katlanan ayrıntılar */
.rf-ayrinti { border: 1px solid var(--line); border-radius: 12px; padding: 0 16px; }
.rf-ayrinti[open] { padding-bottom: 16px; }
.rf-ayrinti summary { display: flex; align-items: center; gap: 10px; min-height: 50px; cursor: pointer; list-style: none; color: var(--ink); font-weight: 500; }
.rf-ayrinti summary::-webkit-details-marker { display: none; }
.rf-ayrinti summary > i:first-child { font-size: 18px; color: var(--muted); }
.rf-ayrinti summary em { margin-inline-start: auto; font-style: normal; font-weight: 400; color: var(--muted); font-size: 14px; }
.rf-ayrinti .rf-ok { font-size: 15px; color: var(--muted); transition: transform .2s; }
.rf-ayrinti[open] .rf-ok { transform: rotate(180deg); }
.rf-ayrinti summary:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--accent); border-radius: 8px; }
body:has(> .app) .rf textarea.input { min-height: 84px; }
/* Dar ekran */
@media (max-width: 1280px) {
  .rf-tarih { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .rf-saat { grid-column: 1 / -1; max-width: 220px; }
  .rf-dort { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rf-uc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rf-bas { padding: 16px 16px 0; }
  .rf-ic { padding: 16px; gap: 16px; }
  .rf-tarih { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .rf-gece { justify-content: center; height: auto; }
  .rf-saat { max-width: none; }
  .rf-iki, .rf-uc { grid-template-columns: minmax(0, 1fr); }
  .rf-bas-not { margin-inline-start: 0; flex-basis: 100%; }
  .rf-segment { margin-inline-start: auto; }
}
@media (max-width: 380px) { .rf-dort { grid-template-columns: minmax(0, 1fr); } }
.rf #misafirGiris { display: flex; flex-direction: column; gap: 16px; }
.rf #misafirGiris.hidden { display: none !important; }

/* ══════════════ HESABIM (platform/panel/account.php) — Panelim düzeni ══════════════ */
.hs-yol { text-decoration: none; }
.hs-yol:hover { color: #111014; }
.hs-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.hs-kart { min-width: 0; padding: 24px; background: #fff; border: 1px solid #ebe7e0; border-radius: 18px; }
.hs-tam { grid-column: 1 / -1; padding: 18px 24px; }
.hs-kart-bas { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.hs-ikon { width: 42px; height: 42px; flex: none; border-radius: 12px; display: grid; place-items: center; background: #f4f1ec; color: #111014; font-size: 20px; }
.hs-kart h2 { margin: 2px 0 4px; font-size: 18px; font-weight: 600; letter-spacing: -.015em; color: #111014; }
.hs-kart p { margin: 0; font-size: 14px; line-height: 1.5; color: #6b6a72; }
.hs-form { display: flex; flex-direction: column; gap: 16px; }
.hs .field > label { font-size: 14px; font-weight: 500; color: #2a2930; }
.hs-ipucu { color: #8b877e; font-weight: 400; }
.hs .input { height: 46px; padding: 0 14px; border-radius: 12px; border-color: #ddd8cf; background: #fff; font-size: 15.5px; color: #111014; }
.hs .input:focus { border-color: #111014; box-shadow: 0 0 0 3px rgba(17,16,20,.08); }
.hs .input[readonly] { background: #f7f5f1; color: #55545c; }
.hs .pw-wrap .input { padding-inline-end: 54px; }
.hs .pw-eye { width: 38px; height: 38px; inset-inline-end: 5px; border-radius: 10px; }
.hs-not { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 13px; color: #6b6a72; }
.hs-not i { font-size: 15px; flex: none; }
.hs-kurallar { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: -6px; font-size: 13.5px; color: #6b6a72; }
.hs-kurallar span { display: inline-flex; align-items: center; gap: 6px; }
.hs-kurallar span.is-ok { color: #17693d; }
.hs-kurallar i { font-size: 16px; }
.hs-dip { display: flex; justify-content: flex-end; padding-top: 4px; }
.hs-dip .btn { height: 44px; padding: 0 20px; border-radius: 12px; font-size: 15px; }
.hs-dip .btn:not(.btn-primary) { background: #fff; border-color: #cfc9be; }
.hs-oturum { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hs-oturum > div { flex: 1; min-width: 200px; }
.hs-oturum h2 { margin: 0 0 2px; }
.hs-cikis { height: 42px; padding: 0 16px; border-radius: 12px; background: #fff; border-color: #ecc9c7; color: #b3312f; }
.hs-cikis:hover { background: #fbe9e8; border-color: #b3312f; color: #b3312f; }
@media (max-width: 860px) { .hs-izgara { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .hs-kart { padding: 18px; }
  .hs-tam { padding: 16px 18px; }
  .hs-dip .btn { flex: 1; }
  .hs-cikis { width: 100%; justify-content: center; }
}

/* ══════════════ BK YÖNETİM PANELİ (platform/system) — otel panelinin bileşenleri + birkaç ek ══════════════ */
.sys-brand { gap: 8px; }
.sys-rozet { display: inline-grid; place-items: center; height: 22px; padding: 0 7px; margin-inline-start: 8px; border-radius: 6px; background: var(--primary, #111014); color: var(--primary-ink, #fff); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; vertical-align: middle; }
.sys-ara { position: relative; display: flex; align-items: center; }
.sys-ara > i { position: absolute; inset-inline-start: 12px; color: var(--faint); font-size: 17px; pointer-events: none; }
.sys-ara input { width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface-2); color: var(--ink); font: inherit; font-size: 14.5px; }
[dir="rtl"] .sys-ara input { padding: 0 38px 0 14px; }
.sys-ara input:focus { outline: none; border-color: var(--accent); background: var(--surface); }
.sys .topbar-right { gap: 8px; }
.sys .topbar .v-dil-btn { height: 36px; }
.sys-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.sys-sutun { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sys-bilgi .kv span:last-child { text-align: end; min-width: 0; overflow-wrap: anywhere; }
.sys-mudahale { display: flex; flex-direction: column; gap: 18px; }
.sys-satir { display: flex; flex-direction: column; gap: 6px; }
.sys-satir > label { font-size: 13.5px; font-weight: 500; color: var(--text); }
.sys-yan { display: flex; gap: 8px; }
.sys-yan .input { flex: 1; min-width: 0; }
.sys-tehlike { padding-top: 16px; border-top: 1px solid var(--line); }
.sys-btn-tehlike { color: var(--err); border-color: color-mix(in srgb, var(--err) 40%, var(--line)); }
.sys-btn-tehlike:hover { background: color-mix(in srgb, var(--err) 10%, transparent); }
.sys-h-not { font-size: 13px; }
.sys-not-form { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; margin-bottom: 14px; }
.sys-not-form textarea { width: 100%; }
.sys-not { padding: 12px 0; border-top: 1px solid var(--line); }
.sys-not p { margin: 0 0 4px; color: var(--ink); white-space: normal; overflow-wrap: anywhere; }
.sys-not span { font-size: 12.5px; }
.sys-form { display: flex; flex-direction: column; gap: 14px; }
.sys-suzgec { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.sys-suzgec .search-box { flex: 1; min-width: 220px; max-width: 420px; position: relative; }
.sys-suzgec select.input { width: auto; min-width: 150px; }
.sys-rol select { width: auto; min-width: 140px; }
.sys-hucre-eylem { display: flex; gap: 6px; justify-content: flex-end; white-space: nowrap; }
.sys-hucre-eylem form { display: inline; }
.sys-sifre { font-size: 16px; letter-spacing: .06em; user-select: all; }
/* Giriş */
.sys-giris { background: #faf8f5; }
.sys-giris-ana { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px 16px; }
.sys-giris-ust { width: min(440px, 100%); display: flex; align-items: center; justify-content: space-between; }
.sys-giris-kart { width: min(440px, 100%); }
.sys-giris-btn { height: 46px; border-radius: 12px; font-size: 15.5px; justify-content: center; }
.sys-giris-not { margin: 0; font-size: 14px; }
.sys-giris-not a { color: #55545c; }
@media (max-width: 1100px) { .sys-iki { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .sys .topbar .v-dil-btn span, .sys .topbar .v-dil-btn i { display: none; } }
@media (max-width: 600px) {
  .sys-ara { display: none; }
  .sys-suzgec .search-box { min-width: 0; max-width: none; flex-basis: 100%; }
  .sys-suzgec select.input { flex: 1; min-width: 0; }
  .sys-yan { flex-wrap: wrap; }
  .sys-yan .btn { flex: 1; }
}

/* ══ Panel üst çubuğu araması: zeminsiz, altı çizgili (2026-11-02) ══ */
.topbar-search button { background: transparent; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; padding-inline: 4px; }
.topbar-search button:hover { border-color: transparent; border-bottom-color: var(--ink); background: transparent; color: var(--text); }
.topbar-search button:focus-visible { outline: none; border-bottom: 2px solid var(--ink); }
@media (max-width: 1100px) { .topbar-search button { border-bottom: 0; border-radius: var(--r); padding: 0; } .topbar-search button:hover { background: var(--hover); } }
.sys-ara input { background: transparent; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; padding-inline-start: 30px; }
[dir="rtl"] .sys-ara input { padding-inline-start: 30px; padding-inline-end: 4px; }
.sys-ara > i { inset-inline-start: 4px; }
.sys-ara input:focus { background: transparent; border-bottom: 2px solid var(--ink); }

/* ══════════════ AÇILIR LİSTE (public/assets/js/secim.js) ve TAKVİM / SAAT (takvim.js) — 2026-11-02 ══════════════
   Tarayıcının seçim penceresi yerine bizimki. Renkler sayfanın değişkenlerinden (açık/koyu tema).
   Animasyon yalnız transform: gizli sekmede donsa bile pencere saydam kalmaz. */
.bk-secim, .iv-tk {
  position: fixed; z-index: 2147483000; box-sizing: border-box; display: flex; flex-direction: column;
  background: var(--surface, #fff); color: var(--ink, #111014); border: 1px solid var(--line, #e6e2da); border-radius: 14px;
  box-shadow: 0 18px 40px -12px rgba(17,16,20,.28), 0 2px 6px rgba(17,16,20,.08);
  overflow: hidden; font-family: inherit; font-size: 14.5px; line-height: 1.35; text-align: start; animation: ivSecAc .14s ease-out;
}
.bk-secim { min-width: 180px; }
.bk-secim--yukari, .iv-tk--yukari { animation-name: ivSecAcY; }
@keyframes ivSecAc { from { transform: translateY(-4px); } to { transform: none; } }
@keyframes ivSecAcY { from { transform: translateY(4px); } to { transform: none; } }
.bk-secim-ara { position: relative; padding: 8px; border-bottom: 1px solid var(--line, #e6e2da); flex: none; }
.bk-secim-ara-ikon { position: absolute; top: 50%; inset-inline-start: 18px; transform: translateY(-50%); color: var(--muted, #6b6a72); pointer-events: none; }
.bk-secim-ara input { width: 100%; box-sizing: border-box; margin: 0; height: 38px; padding: 0 10px; padding-inline-start: 34px; border: 1px solid var(--line-strong, #d6d1c7); border-radius: 10px; background: var(--surface, #fff); color: var(--ink, #111014); font: inherit; font-size: 14px; outline: none; }
.bk-secim-ara input:focus { border-color: var(--ink, #111014); }
.bk-secim-liste { list-style: none; margin: 0; padding: 5px; overflow-y: auto; overscroll-behavior: contain; flex: 1 1 auto; min-height: 0; outline: none; }
.bk-secim-sec { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 7px 10px; border-radius: 9px; cursor: pointer; user-select: none; overflow-wrap: anywhere; }
.bk-secim-sec[hidden], .bk-secim-grup[hidden] { display: none; }
.bk-secim-metin { flex: 1 1 auto; min-width: 0; }
.bk-secim-img { flex: none; width: 24px; height: 18px; border-radius: 3px; object-fit: cover; background: #efece6; box-shadow: 0 0 0 1px rgba(20, 20, 30, .1); }
/* Bayraklı ülke seçimi (ulkeSecimi): bayrak kutunun başında, yazı onun yanında */
.ulke-sec { position: relative; display: block; --ub: 10px; }
.ulke-sec-bayrak { position: absolute; top: 50%; inset-inline-start: var(--ub); transform: translateY(-50%); width: 24px; height: 18px;
  border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(20, 20, 30, .1); pointer-events: none; }
.ulke-sec-bayrak[hidden] { display: none; }
.ulke-sec select.input, body:has(> .app) .ulke-sec select.input { padding-inline-start: calc(var(--ub) + 34px); }
body:has(> .app) .ulke-sec { --ub: 12px; }

.bk-secim-tik { flex: none; visibility: hidden; }
.bk-secim-sec.etkin { background: var(--hover, #f4f1ec); }
.bk-secim-sec.secili { background: var(--primary, #111014); color: var(--primary-ink, #fff); font-weight: 600; }
.bk-secim-sec.secili .bk-secim-tik { visibility: visible; }
.bk-secim-sec.secili.etkin { box-shadow: inset 0 0 0 2px var(--accent, #6b6a72); }
.bk-secim-sec[aria-disabled="true"] { opacity: .45; cursor: default; }
.bk-secim-grup { padding: 10px 10px 4px; font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted, #6b6a72); }
.bk-secim-bos { padding: 16px; text-align: center; color: var(--muted, #6b6a72); font-size: 14px; }
.bk-secim-bos[hidden] { display: none; }
.bk-secim-perde, .iv-tk-perde { position: fixed; inset: 0; z-index: 2147482999; background: rgba(17,16,20,.42); }
.bk-secim--alt, .iv-tk--alt { left: 0; right: 0; bottom: 0; top: auto !important; width: 100%; max-width: none; min-width: 0; max-height: 80vh; border-radius: 20px 20px 0 0; border-bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0); font-size: 15.5px; animation-name: ivSecKart; animation-duration: .2s; }
@keyframes ivSecKart { from { transform: translateY(24px); } to { transform: none; } }
.bk-secim-bas, .iv-tk-kart-bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 10px 10px 18px; padding-inline-start: 18px; padding-inline-end: 10px; font-weight: 600; font-size: 15.5px; flex: none; border-bottom: 1px solid var(--line, #e6e2da); }
.bk-secim-bas span, .iv-tk-kart-bas span { min-width: 0; overflow-wrap: anywhere; }
.bk-secim-kapat, .iv-tk-x { flex: none; width: 38px; height: 38px; display: inline-grid; place-items: center; border: 0; border-radius: 10px; background: var(--hover, #f4f1ec); color: var(--muted, #6b6a72); cursor: pointer; }
.bk-secim--alt .bk-secim-liste { padding: 6px 8px 12px; }
.bk-secim--alt .bk-secim-sec { min-height: 48px; padding: 12px; }

/* Takvim */
.iv-tk-tarih { width: 300px; }
.iv-tk-govde { padding: 12px; }
.iv-tk-bas { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.iv-tk-bas b { font-size: 15px; font-weight: 600; text-transform: capitalize; }
.iv-tk-ok { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line, #e6e2da); border-radius: 10px; background: var(--surface, #fff); color: var(--ink, #111014); cursor: pointer; }
.iv-tk-ok:hover:not(:disabled) { background: var(--hover, #f4f1ec); }
.iv-tk-ok:disabled { opacity: .35; cursor: default; }
.iv-tk-hafta, .iv-tk-gunler { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.iv-tk-hafta span { padding: 6px 0; text-align: center; font-size: 12px; font-weight: 500; color: var(--muted, #6b6a72); text-transform: capitalize; overflow: hidden; white-space: nowrap; }
.iv-tk-gun { height: 36px; border: 0; border-radius: 10px; background: none; color: var(--ink, #111014); font: inherit; font-size: 14px; font-variant-numeric: tabular-nums; cursor: pointer; }
.iv-tk-gun:hover:not(:disabled) { background: var(--hover, #f4f1ec); }
.iv-tk-gun.is-diger { color: var(--faint, #a19d95); }
.iv-tk-gun.is-bugun { box-shadow: inset 0 0 0 1px var(--line-strong, #d6d1c7); font-weight: 600; }
.iv-tk-gun.is-secili { background: var(--primary, #111014); color: var(--primary-ink, #fff); font-weight: 600; }
.iv-tk-gun.is-odak:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--accent, #6b6a72); }
.iv-tk-gun:disabled { opacity: .28; cursor: default; }
.iv-tk-baslik { display: inline-flex; align-items: center; gap: 4px; min-width: 0; height: 34px; padding: 0 10px; border: 0; border-radius: 10px; background: none; color: var(--ink, #111014); font: inherit; font-size: 15px; font-weight: 600; text-transform: capitalize; cursor: pointer; }
.iv-tk-baslik span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iv-tk-baslik svg { flex: none; color: var(--muted, #6b6a72); }
.iv-tk-baslik:hover { background: var(--hover, #f4f1ec); }
.iv-tk-baslik:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--accent, #6b6a72); }
/* Ay / yıl ızgarası: gün görünümüyle aynı yükseklikte (pencere zıplamasın) */
.iv-tk-aylar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.iv-tk-hucre { height: 58px; min-width: 0; padding: 0 4px; border: 0; border-radius: 10px; background: none; color: var(--ink, #111014); font: inherit; font-size: 14px; font-variant-numeric: tabular-nums; text-transform: capitalize; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.iv-tk-hucre:hover:not(:disabled) { background: var(--hover, #f4f1ec); }
.iv-tk-hucre.is-bugun { box-shadow: inset 0 0 0 1px var(--line-strong, #d6d1c7); font-weight: 600; }
.iv-tk-hucre.is-secili { background: var(--primary, #111014); color: var(--primary-ink, #fff); font-weight: 600; }
.iv-tk-hucre:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--accent, #6b6a72); }
.iv-tk-hucre:disabled { opacity: .28; cursor: default; }
.iv-tk-dip { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line, #e6e2da); }
.iv-tk-dugme { height: 34px; padding: 0 12px; border: 1px solid var(--line, #e6e2da); border-radius: 10px; background: var(--surface, #fff); color: var(--ink, #111014); font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.iv-tk-dugme:hover { background: var(--hover, #f4f1ec); }
.iv-tk--alt.iv-tk-tarih { width: 100%; }
.iv-tk--alt .iv-tk-govde { padding: 14px 16px 18px; }
.iv-tk--alt .iv-tk-gun { height: 44px; font-size: 15.5px; }
.iv-tk--alt .iv-tk-hucre { height: 70px; font-size: 15.5px; }
/* Saat listesi */
.iv-tk-saat { width: 140px; max-height: 280px; }
.iv-tk-saatler { list-style: none; margin: 0; padding: 5px; overflow-y: auto; overscroll-behavior: contain; }
.iv-tk-saatler li { padding: 8px 12px; border-radius: 9px; font-variant-numeric: tabular-nums; cursor: pointer; outline: none; }
.iv-tk-saatler li:hover, .iv-tk-saatler li:focus { background: var(--hover, #f4f1ec); }
.iv-tk-saatler li.is-secili { background: var(--primary, #111014); color: var(--primary-ink, #fff); font-weight: 600; }
.iv-tk--alt.iv-tk-saat { width: 100%; max-height: 60vh; }
.iv-tk--alt .iv-tk-saatler li { padding: 13px 16px; }
/* Tarih/saat alanında tarayıcının simgesi yerine bizimki */
input[type="date"]::-webkit-calendar-picker-indicator, input[type="time"]::-webkit-calendar-picker-indicator { display: none; }
input[type="date"]:not([data-yerel]), input[type="time"]:not([data-yerel]), input[data-iv-tarih] {
  background-repeat: no-repeat; background-size: 17px; background-position: right 11px center; padding-inline-end: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%238b877e' d='M208 32h-24v-8a8 8 0 0 0-16 0v8H88v-8a8 8 0 0 0-16 0v8H48a16 16 0 0 0-16 16v160a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16ZM72 48v8a8 8 0 0 0 16 0v-8h80v8a8 8 0 0 0 16 0v-8h24v32H48V48Zm136 160H48V96h160v112Z'/%3E%3C/svg%3E");
  cursor: pointer;
}
input[type="time"]:not([data-yerel]), input[data-iv-tarih="saat"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%238b877e' d='M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88Zm64-88a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8V72a8 8 0 0 1 16 0v48h48a8 8 0 0 1 8 8Z'/%3E%3C/svg%3E"); }
[dir="rtl"] input[type="date"]:not([data-yerel]), [dir="rtl"] input[type="time"]:not([data-yerel]), [dir="rtl"] input[data-iv-tarih] { background-position: left 11px center; }
input[type="date"][readonly], input[type="time"][readonly], input[data-iv-tarih][readonly], input[data-iv-tarih]:disabled { cursor: default; }
/* takvim.js tarih/saat alanını panel dilinde yazan metin alanına çevirir (data-iv-tarih); rakamlar eşit genişlikte */
input[data-iv-tarih] { font-variant-numeric: tabular-nums; }
/* Arama kutusu: büyük panel boyu (padding-inline: 12px) büyüteç payını eziyordu → yazı simgenin altına kayıyordu */
body:has(> .app) .search-box .input { padding-inline-start: 36px; padding-inline-end: 12px; }
.search-box > i { left: 12px; }
[dir="rtl"] .search-box > i { left: auto; right: 12px; }
/* Tarayıcı kendi takvim simgesini gizletmiyorsa (Firefox) ikinci simgeyi biz çizmeyiz; yer de açılmaz */
html.iv-tarih-yerel-ikon input[type="date"]:not([data-yerel]) { background-image: none; padding-inline-end: 10px; }
/* hidden niteliği her zaman gizler: display: flex/grid veren kurallar (ör. .room, .rooms) onu eziyordu → oda panosu süzülmüyordu */
[hidden] { display: none !important; }

/* ═══ Yapay zeka asistanı (app/pages/assistant.php, js/asistan.js) ═══
 * Panelin kendi dili (siyah-beyaz, ince çizgi, kart gölgesi), sohbet uygulaması yerleşimi, görünür başlık yok.
 * .is-bos: mesaj yok → selamlama + yazma kutusu + gruplanmış örnek sorular dikeyde ortada (sığmazsa kap kayar);
 * mesaj gelince öneriler kalkar, mesajlar ortadaki dar sütunda akar, kutu alta iner. */
body:has(> .app) .main:has(> .as) { padding-top: 14px; padding-bottom: 14px; }
.as { --as-gen: 860px; position: relative; display: flex; flex-direction: column; height: calc(100dvh - var(--topbar-h) - 28px); min-height: 460px; }
.as-ust { flex: none; display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-height: 36px; }
.as.is-bos .as-ust { position: absolute; top: 0; inset-inline: 0; z-index: 1; }
.as-hak { font-variant-numeric: tabular-nums; }
.as.is-bos .as-yeni { display: none; }
.as-logo { flex: none; width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--primary); color: var(--primary-ink); font-size: 18px; }
.as-logo--buyuk { width: 60px; height: 60px; border-radius: 16px; margin: 0 auto 22px; font-size: 32px; }
.as-akis { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.as-sutun { display: flex; flex-direction: column; min-height: 100%; max-width: var(--as-gen); margin: 0 auto; padding: 28px 4px; }
/* Boşken ortalama: üst ve alt otomatik boşluk (içerik taşarsa üstü kesilmez, kap kayar) */
.as.is-bos { overflow-y: auto; overscroll-behavior: contain; }
.as.is-bos .as-akis { flex: none; margin-top: auto; overflow: visible; }
.as.is-bos .as-dip { margin-bottom: auto; padding-bottom: 8px; }
.as.is-bos .as-sutun { min-height: 0; padding: 40px 4px 24px; }
/* Boş ekran */
.as-giris { display: none; text-align: center; }
.as.is-bos .as-giris { display: block; }
/* .as önekli: panelin genel h2 kuralı (18 px) ezmesin */
.as .as-giris h2 { margin: 0; font-size: 38px; line-height: 1.2; letter-spacing: -.025em; }
.as-lead { max-width: 600px; margin: 12px auto 0; font-size: 16.5px; line-height: 1.55; color: var(--muted); }
.as-konular { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.as:not(.is-bos) .as-konular { display: none; }
.as-konu { display: flex; flex-direction: column; padding: 8px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.as-konu-bas { display: flex; align-items: center; gap: 8px; padding: 8px 12px 6px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--faint); }
.as-konu-bas i { font-size: 18px; color: var(--muted); }
.as-oneri { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: var(--r); background: transparent; color: var(--text); font: inherit; font-size: 15.5px; line-height: 1.4; text-align: start; cursor: pointer; transition: background-color .12s, color .12s; }
.as-oneri span { flex: 1; min-width: 0; }
.as-oneri i { flex: none; font-size: 17px; color: var(--faint); transition: color .12s, translate .12s; }
.as-oneri:hover { background: var(--hover); color: var(--ink); }
.as-oneri:hover i { color: var(--ink); translate: 2px 0; }
[dir="rtl"] .as-oneri i { scale: -1 1; }
[dir="rtl"] .as-oneri:hover i { translate: -2px 0; }
/* Mesajlar */
.as-liste { display: flex; flex-direction: column; gap: 26px; }
.as-msg { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.as-msg--kullanici { justify-content: flex-end; }
.as-msg .as-logo { width: 32px; height: 32px; font-size: 18px; }
.as-soru { max-width: min(560px, 85%); padding: 11px 16px; border-radius: 16px; border-end-end-radius: 4px; background: var(--primary); color: var(--primary-ink); font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
:root[data-theme="dark"] .as-soru { background: var(--surface-3); color: var(--ink); }
.as-soru p { margin: 0; }
.as-yanit { flex: 1; min-width: 0; padding-top: 4px; font-size: 16px; line-height: 1.7; color: var(--text); overflow-wrap: anywhere; }
.as-msg--hata .as-yanit { flex: 0 1 auto; padding: 9px 14px; border: 1px solid var(--err-line); border-radius: var(--r-lg); background: var(--err-bg); color: var(--err); }
.as-yanit p { margin: 0; }
.as-yanit > * + * { margin-top: 12px; }
.as-yanit strong { color: var(--ink); font-weight: 600; }
.as-yanit ul { margin-block-end: 0; padding-inline-start: 20px; }
.as-yanit ul li::marker { color: var(--faint); }
.as-yanit ul li + li { margin-top: 4px; }
/* Numaralı liste = adımlar: yuvarlak numara */
.as-yanit ol { display: flex; flex-direction: column; gap: 8px; margin-block-end: 0; padding: 0; list-style: none; counter-reset: adim; }
.as-yanit ol > li { position: relative; min-height: 27px; padding-inline-start: 38px; counter-increment: adim; }
.as-yanit ol > li::before { content: counter(adim); position: absolute; inset-inline-start: 0; top: 1px; width: 27px; height: 27px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
/* Yanıttaki sayfa adı: menüdeki simgesiyle bağlantı */
a.as-sayfa { display: inline-flex; align-items: center; gap: 5px; margin-block: 1px; padding-inline: 6px 8px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); color: var(--ink); font-weight: 500; line-height: 1.6; white-space: nowrap; text-decoration: none; vertical-align: baseline; transition: background-color .12s, border-color .12s; }
a.as-sayfa i { font-size: 16px; color: var(--muted); }
a.as-sayfa:hover { background: var(--hover); border-color: var(--line-strong); }
.as-noktalar { display: inline-flex; gap: 4px; padding: 8px 0; }
.as-noktalar i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); animation: asNokta 1.2s infinite ease-in-out; }
.as-noktalar i:nth-child(2) { animation-delay: .15s; } .as-noktalar i:nth-child(3) { animation-delay: .3s; }
@keyframes asNokta { 0%, 80%, 100% { opacity: .25; transform: none; } 40% { opacity: 1; transform: translateY(-3px); } }
/* Yazma kutusu */
.as-dip { flex: none; width: 100%; max-width: var(--as-gen); margin: 0 auto; padding: 6px 4px 0; }
.as-kutu { display: flex; flex-direction: column; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--surface); box-shadow: var(--sh-1); transition: border-color .12s, box-shadow .12s; }
.as-kutu:focus-within { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.as-kutu textarea { display: block; width: 100%; max-height: 200px; resize: none; overflow-y: hidden; padding: 16px 20px 6px; border: 0; outline: none; background: transparent; color: var(--ink); font: inherit; font-size: 16.5px; line-height: 1.5; }
.as-kutu textarea:focus-visible { box-shadow: none; }
.as-kutu textarea::placeholder { color: var(--faint); }
.as-kutu-alt { display: flex; align-items: center; gap: 10px; padding-block: 4px 10px; padding-inline: 20px 10px; }
.as-ipucu { flex: 1; min-width: 0; font-size: 12.5px; color: var(--faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Gönder: yuvarlak simge düğmesi; kutu boşken soluk */
.as-gonder { flex: none; margin-inline-start: auto; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: var(--primary-ink); font-size: 20px; cursor: pointer; transition: background-color .15s, color .15s, transform .15s; }
.as-gonder:not(:disabled):hover { background: var(--primary-hover); }
.as-gonder:not(:disabled):active { transform: scale(.94); }
.as-gonder:disabled { background: var(--surface-2); color: var(--faint); cursor: default; }
:root[data-theme="dark"] .as-gonder:disabled { background: var(--surface-3); }
[dir="rtl"] .as-gonder i { scale: -1 1; }
.as.is-bos .as-not { margin-top: 16px; }
.as-not { margin: 10px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--muted); text-align: center; }
/* Dokunmatikte ipucu yok (fiziksel klavye yok): kutu tek satır, gönder düğmesi yanında */
@media (pointer: coarse) {
  .as-ipucu { display: none; }
  .as-kutu { flex-direction: row; align-items: flex-end; }
  .as-kutu textarea { flex: 1; min-width: 0; padding: 14px 4px 14px 16px; padding-inline: 16px 4px; }
  .as-kutu-alt { flex: none; padding: 7px; }
}
@media (prefers-reduced-motion: reduce) { .as-noktalar i { animation: none; opacity: .6; } .as-oneri i { transition: none; } }
@media (max-width: 600px) {
  .as .as-giris h2 { font-size: 29px; }
  .as-lead { font-size: 15px; }
  .as-logo--buyuk { width: 52px; height: 52px; border-radius: 14px; margin-bottom: 16px; font-size: 28px; }
  .as-oneri { font-size: 15px; }
  .as-konular { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 14px; }
  .as.is-bos .as-sutun { padding-top: 36px; }
  .as-sutun { padding-block: 18px; }
  /* Düğmeler yalnız simge; ad ekran okuyucuda kalır */
  .as-yeni span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .as-msg { gap: 10px; }
  .as-yanit, .as-soru { font-size: 15.5px; }
  .as-soru { max-width: 88%; }
  .as-not { font-size: 12px; }
}

/* ═══ Kart adımı, fatura bilgisi, tesis kodu (platform/panel/checkout.php, _fatura.php, auth/staff.php) ═══ */
.co .co-uyari { margin-bottom: 18px; }
.co-aralik, .nh-aralik { margin: 4px 0 16px; }
.co-aralik a { text-decoration: none !important; }
.co-aralik a.is-on span { background: var(--surface); color: var(--ink); box-shadow: var(--sh-1); }
.co-aralik em, .nh-aralik em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--ok); margin-inline-start: 4px; }
.co-paket { border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin-bottom: 16px; }
.co-paket-ust { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.co-paket-ust > div:first-child { flex: 1; min-width: 180px; }
.co-paket-ad { font-size: 17px; font-weight: 650; color: var(--ink); }
.co-bugun { text-align: end; }
.co-tutar { font-size: 26px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.co-bugun .muted, .co-paket-ust .muted { font-size: 13px; }
.co-not { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13.5px; line-height: 1.6; color: var(--text); }
.co-not > i { flex: none; font-size: 17px; color: var(--accent); margin-top: 2px; }
.co-not > span { flex: 1; min-width: 0; }
.co-not > i.co-not-uyari { color: var(--warn); }
.co-not-ek { flex-basis: 100%; display: flex; gap: 8px; }
.co-not-ek i { flex: none; color: var(--ok); margin-top: 3px; }
.co-kart-not, .nh-kart-not { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--muted); margin: 0 0 14px; }
.co-kart-not i, .nh-kart-not i { flex: none; font-size: 16px; margin-top: 2px; }
.nh-kart-not { margin: 10px 0 0; }
.co-form { margin-bottom: 8px; }
.co-fatura h2, .nh-fatura h2 { font-size: 17px; margin: 0; }
.co-fatura > .muted, .nh-fatura > .muted { margin: 4px 0 12px; font-size: 13.5px; }
.nh-fatura { padding-top: 18px; border-top: 1px solid var(--line); }
.co-sonra { text-align: center; margin: 16px 0 0; font-size: 14px; }
.co-logo { display: flex; justify-content: center; margin-top: 14px; opacity: .85; }
.iyz-sahte p { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; margin: 0 0 12px; padding: 10px 12px; border: 1px dashed var(--line-strong); border-radius: 10px; }
.fb-tip { margin: 0 0 14px; }
.fb-izgara .field.span-all { grid-column: 1 / -1; }
@media (max-width: 600px) { .fb-izgara { grid-template-columns: minmax(0, 1fr); } .co-bugun { text-align: start; } }
/* Tesis kodu: Panelim kartı, Kullanıcılar, Ayarlar > Tesis */
.hub-kod { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 13px; color: var(--muted); }
.hub-kod b { color: var(--ink); font-weight: 650; letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.st-kart .card-b { display: flex; align-items: center; gap: 14px 22px; flex-wrap: wrap; }
.st-kod-blok { display: flex; flex-direction: column; gap: 2px; }
.st-kod-blok .muted { font-size: 12.5px; }
.st-kod-blok b { font-size: 24px; font-weight: 650; letter-spacing: .08em; color: var(--ink); font-variant-numeric: tabular-nums; }
.st-kod-acik { flex: 1; min-width: 220px; margin: 0; font-size: 13.5px; color: var(--muted); }
.st-kod.akis-input { letter-spacing: .3em; font-variant-numeric: tabular-nums; font-size: 22px; }
/* ── Kullanıcılar (app/pages/users.php, 2026-11-03): liste, ekle/düzenle, tek seferlik giriş bilgileri ── */
.us-tablo td { vertical-align: middle; }
.us-tablo td:first-child { min-width: 210px; }
.us-tablo td:nth-child(2), .us-tablo td:nth-child(3) { white-space: nowrap; }
.us-kim { display: flex; align-items: center; gap: 12px; min-width: 0; }
.us-kim > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.us-av { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); color: var(--ink); font-weight: 600; font-size: 14px; }
.us-kadi { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--muted); overflow-wrap: anywhere; }
.us-kadi i { font-size: 13px; }
.us-is { width: 1%; white-space: nowrap; text-align: end; }
dialog.modal.us-modal { width: min(500px, calc(100vw - 32px)); }
.us-modal .modal-b { gap: 16px; }
.us-seg { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border-radius: 10px; background: var(--surface-2); }
.us-seg label { flex: 1 1 0; min-width: 120px; position: relative; cursor: pointer; }
.us-seg input { position: absolute; opacity: 0; pointer-events: none; }
.us-seg span { display: flex; align-items: center; justify-content: center; min-height: 34px; padding: 4px 10px; border-radius: 8px; font-size: 13.5px; font-weight: 500; color: var(--muted); text-align: center; line-height: 1.25; }
.us-seg input:checked + span { background: var(--surface); color: var(--ink); box-shadow: var(--sh-1); }
.us-seg input:focus-visible + span { box-shadow: 0 0 0 2px var(--accent); }
.us-pw-alan { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.us-pw-alan[hidden], .us-pw-oto[hidden] { display: none; }
.us-pw-oto { margin-top: 6px; }
.us-pw { position: relative; }
.us-pw .input { padding-inline-end: 44px; font-family: var(--mono); letter-spacing: .02em; }
.us-goz { position: absolute; inset-inline-end: 3px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; }
.us-aktif { align-items: flex-start; }
.us-aktif input { margin-top: 2px; }
.us-aktif > span { display: flex; flex-direction: column; gap: 2px; }
.us-aktif small { font-size: 12.5px; color: var(--muted); }
.us-dis { margin: 0; }
.us-dis-eposta { font-weight: 600; overflow-wrap: anywhere; }
.us-modal [hidden] { display: none !important; }
.gb-bas { display: flex; align-items: flex-start; gap: 14px; padding: 22px 22px 6px; }
.gb-ikon { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-size: 24px; background: var(--ok-bg); color: var(--ok); }
.gb-bas h2 { font-size: 18px; margin: 2px 0 2px; }
.gb-kim { margin: 0; color: var(--muted); font-size: 14px; }
.gb-liste { margin: 14px 22px 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.gb-satir { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 8px 10px 14px; border-top: 1px solid var(--line); }
.gb-satir:first-child { border-top: 0; }
.gb-et { font-size: 13px; color: var(--muted); }
.gb-deger { font-size: 15px; color: var(--ink); overflow-wrap: anywhere; text-align: start; }
.gb-mono, .gb-kod { font-family: var(--mono); font-weight: 600; letter-spacing: .03em; }
.gb-kod { letter-spacing: .08em; }
.gb-sifre { background: var(--surface-2); }
.gb-sifre .gb-deger { font-size: 21px; letter-spacing: .06em; user-select: all; }
.gb-not { display: flex; gap: 9px; margin: 14px 22px 18px; padding: 10px 12px; border-radius: 10px; background: var(--warn-bg); border: 1px solid var(--warn-line); font-size: 13px; line-height: 1.5; color: var(--text); }
.gb-not i { flex: none; font-size: 17px; color: var(--warn); margin-top: 1px; }
@media (max-width: 520px) {
  .gb-satir { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; }
  .gb-et { grid-column: 1 / -1; }
  .gb-bas { padding: 18px 16px 4px; } .gb-liste { margin: 12px 16px 0; } .gb-not { margin: 12px 16px 16px; }
}
/* Ayarlar > Paket ve abonelik */
.ab-ozet { display: flex; gap: 20px 28px; flex-wrap: wrap; align-items: center; }
.ab-uyari { margin-bottom: 16px; align-items: center; flex-wrap: wrap; }

/* ═══ Tesis kurulumu (platform/panel/new-hotel.php) — Tesislerim sayfasının dili ═══ */
.nh-izgara { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.nh-sol { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nh-kart { background: #fff; border: 1px solid #ebe7e0; border-radius: 18px; }
.nh .rf-ic { gap: 16px; }
.nh .field > label { color: var(--text); font-weight: 500; font-size: 14px; }
.nh .field { gap: 7px; }
/* Kurulumda kutular büyük (kullanıcı, 2026-11-03): ülke ve tesis adı en büyük, diğerleri 48 px */
.nh .input, .nh select.input { height: 50px; padding: 0 14px; font-size: 15.5px; border-radius: 10px; }
.nh select.input { padding-inline-end: 36px; background-position: right 14px center; }
[dir="rtl"] .nh select.input { background-position: left 14px center; }
.nh textarea.input { height: auto; min-height: 92px; padding: 12px 14px; }
.nh-ulke .input { height: 56px; font-size: 17px; font-weight: 500; }
.nh #nhAd { font-size: 17px; font-weight: 500; }   /* yanındaki şehir kutusuyla aynı boy: satır hizalı kalsın */
.nh .ulke-sec { --ub: 14px; }
.nh .ulke-sec select.input { padding-inline-start: 48px; }
.nh-ulke .ulke-sec-bayrak { width: 28px; height: 21px; }
.nh-ulke .ulke-sec select.input { padding-inline-start: 54px; }
.nh .fb-izgara { gap: 16px; }
.nh .fb-tip { min-height: 44px; }
.nh-tablo .input.input-sm { height: 40px; font-size: 14.5px; padding: 0 10px; border-radius: 8px; }
.nh-tablo td { padding-block: 8px; }
.nh-bu-ulke { padding: 14px 16px; border-radius: 12px; background: #faf8f5; border: 1px solid #ebe7e0; }
.nh-bu-bas { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.nh-bu-bas b { color: var(--ink); }
.nh-bu-ulke ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.nh-bu-ulke li { display: flex; gap: 9px; align-items: flex-start; font-size: 14px; color: var(--text); line-height: 1.45; }
.nh-bu-ulke li i { flex: none; font-size: 17px; color: var(--muted); margin-top: 1px; }
.nh .rf-bas .rf-segment { margin-inline-start: auto; }
.nh-2ay { font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--ok); margin-inline-start: 4px; }
.nh-paketler { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nh-paket { position: relative; cursor: pointer; }
.nh-paket input { position: absolute; opacity: 0; pointer-events: none; }
.nh-paket-ic { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px; border: 1px solid #ebe7e0; border-radius: 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.nh-paket-ic > b { font-size: 16px; color: var(--ink); }
.nh-paket-ic > small { font-size: 12.5px; color: var(--muted); min-height: 2.6em; }
.nh-fiyat { margin: 6px 0 4px; font-size: 13px; color: var(--muted); }
.nh-fiyat b { font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.nh-sinir { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text); }
.nh-sinir i { color: var(--muted); }
.nh-paket:hover .nh-paket-ic { border-color: #d8d2c8; }
.nh-paket input:checked + .nh-paket-ic { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.nh-paket input:focus-visible + .nh-paket-ic { box-shadow: 0 0 0 2px var(--accent); }
.nh-not { margin: 0; font-size: 13.5px; }
.nh-tablo { border: 1px solid #ebe7e0; border-radius: 12px; }
.nh-ekle { align-self: flex-start; }
.nh-ozet { position: sticky; top: 90px; }
.nh-ozet .nh-kart { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.nh-ozet h3 { margin: 0 0 4px; font-size: 17px; }
.nh-ozet .kv b { color: var(--ink); text-align: end; }
.nh-bugun { display: flex; justify-content: space-between; align-items: baseline; padding-top: 10px; border-top: 1px solid #ebe7e0; }
.nh-bugun span { color: var(--muted); font-size: 14px; }
.nh-bugun b { font-size: 24px; font-weight: 600; color: var(--ink); }
.nh-deneme { display: flex; gap: 8px; margin: 0; font-size: 13px; line-height: 1.5; color: var(--text); }
.nh-deneme i { flex: none; font-size: 17px; color: var(--ok); margin-top: 1px; }
.nh-gonder { width: 100%; }
.nh-kucuk { display: flex; gap: 6px; margin: 0; font-size: 12px; color: var(--muted); line-height: 1.45; }
.nh-kucuk i { flex: none; margin-top: 2px; }
@media (max-width: 1100px) { .nh-paketler { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .nh-izgara { grid-template-columns: minmax(0, 1fr); } .nh-ozet { position: static; } }
@media (max-width: 600px) { .nh .rf-bas .rf-segment { margin-inline-start: 0; } .nh-paketler { grid-template-columns: minmax(0, 1fr); } }
/* Kart adımı da sitenin içinde (üst çubuk görünür) */
.co-wrap { display: flex; justify-content: center; }
.co-wrap .auth-card { width: min(560px, 100%); border: 1px solid #ebe7e0; border-radius: 18px; box-shadow: none; }

/* Fiyat sayfası: paket tesis başına notu (2026-11-03) */
.v-paket-not { display: flex; gap: 10px; align-items: flex-start; max-width: 760px; margin: 22px auto 0; padding: 12px 16px; border: 1px solid #ebe7e0; border-radius: 12px; background: #faf8f5; font-size: 14px; line-height: 1.55; color: #3a3940; }
.v-paket-not i { flex: none; font-size: 19px; color: #6d695f; margin-top: 1px; }

/* ── Birleşik rapor (app/pages/consolidated.php, Ultra, 2026-11-03) ── */
.cn-tablo { min-width: 560px; }
.cn-tablo th, .cn-tablo td { white-space: nowrap; }
.cn-tablo thead th { vertical-align: bottom; }
.cn-tablo thead .num { text-align: end; }
.cn-tablo td:first-child, .cn-tablo thead th:first-child { position: sticky; inset-inline-start: 0; background: var(--surface); z-index: 1; width: 1%; min-width: 190px; white-space: normal; }
.cn-otel { display: block; color: var(--ink); font-weight: 600; max-width: 200px; overflow: hidden; text-overflow: ellipsis; margin-inline-start: auto; }
.cn-tablo thead small { display: block; font-weight: 500; color: var(--muted); font-size: 11.5px; }
.cn-tablo .num { text-align: end; font-variant-numeric: tabular-nums; }
.cn-top { background: var(--surface-2); }
.cn-tablo td.cn-top { color: var(--ink); font-weight: 600; }
.cn-bolum th { background: var(--surface-2); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); padding-top: 10px; padding-bottom: 8px; text-align: start; }
.cn-bolum th:first-child { position: sticky; inset-inline-start: 0; }
.cn-vurgu td { font-weight: 600; color: var(--ink); border-top: 1px solid var(--line-strong); }
.cn-vurgu td:first-child { background: var(--surface); }
.cn-not { display: flex; gap: 8px; margin: 10px 2px 0; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.cn-not i { flex: none; font-size: 15px; margin-top: 1px; }
.cn-bos { display: flex; gap: 16px; align-items: flex-start; padding: 28px 22px; }
.cn-bos > i { font-size: 30px; color: var(--muted); }
.cn-bos h3 { margin: 0 0 4px; font-size: 16px; }
.cn-bos p { margin: 0; max-width: 560px; }
.cn-yonet { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; margin-top: 18px; }
.cn-acik { margin: 0; font-size: 13.5px; line-height: 1.55; }
.cn-katil { justify-content: flex-end; }
.cn-kilit { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); white-space: nowrap; }
.cn-mlist { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.cn-mlist li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; }
.cn-mad { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cn-mad small { color: var(--muted); font-size: 12.5px; overflow-wrap: anywhere; }
.cn-mform { display: grid; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.cn-mform [hidden] { display: none; }
.cn-mform .btn { justify-self: start; }
@media (max-width: 900px) { .cn-yonet { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .cn-tablo { min-width: 0; }
  .cn-tablo td:first-child, .cn-tablo thead th:first-child { min-width: 128px; max-width: 150px; box-shadow: 1px 0 0 var(--line); }
  .cn-tablo th, .cn-tablo td { padding-inline: 10px; }
}

/* ── Ayarlar > Tesis (app/pages/settings.php, 2026-11-03): bölümlü form + yan kartlar ── */
.st-izgara { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.st-form { margin: 0; }
.st-form > .card-b { padding: 20px 22px; }
.st-ayrac { border-top: 1px solid var(--line); }
.st-bolum { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
.st-bolum-ikon { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--surface-2); color: var(--ink); font-size: 19px; }
.st-bolum h3 { margin: 1px 0 2px; font-size: 15px; }
.st-bolum p { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.5; }
.st-alanlar { gap: 14px 16px; }
.st-ulke-not { display: block; margin-top: -4px; font-size: 12.5px; line-height: 1.5; color: var(--muted); }
.st-pb-not { display: flex; gap: 8px; align-items: flex-start; align-self: end; padding: 9px 12px; border-radius: 10px; background: var(--warn-bg); border: 1px solid var(--warn-line); font-size: 12.5px; line-height: 1.45; color: var(--text); }
.st-pb-not i { flex: none; color: var(--warn); font-size: 16px; margin-top: 1px; }
.sehir-sec [hidden] { display: none; }
.sehir-sec select:not([hidden]) + input:not([hidden]) { margin-top: 8px; }
.st-yan { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 76px; }
.st-yan .card { margin: 0; }
.st-yan-kod { display: flex; flex-direction: column; gap: 4px; }
.st-yan-kod .muted { font-size: 12.5px; }
.st-yan-kod b { font-size: 28px; font-weight: 650; letter-spacing: .08em; color: var(--ink); font-variant-numeric: tabular-nums; }
.st-yan-kod p { margin: 4px 0 10px; font-size: 13px; color: var(--muted); line-height: 1.5; }
.st-yan-kod .btn { align-self: flex-start; }
.st-onizle { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border: 1px dashed var(--line-strong); border-radius: 10px; background: var(--surface-2); font-size: 13px; color: var(--text); line-height: 1.45; overflow-wrap: anywhere; }
.st-onizle b { font-size: 16px; color: var(--ink); }
.st-onizle [hidden] { display: none; }
.st-onizle em { font-style: normal; color: var(--muted); font-size: 12.5px; }
.st-yan-not { margin: 10px 0 0; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.st-ulke { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 12px; }
.st-ulke li { display: flex; gap: 10px; align-items: flex-start; }
.st-ulke li > i { flex: none; font-size: 18px; color: var(--muted); margin-top: 1px; }
.st-ulke li > span { display: flex; flex-direction: column; gap: 1px; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.st-ulke b { font-size: 13.5px; font-weight: 600; color: var(--ink); }
@media (max-width: 1100px) { .st-izgara { grid-template-columns: minmax(0, 1fr); } .st-yan { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
@media (max-width: 600px) { .st-form > .card-b { padding: 16px; } .st-yan { grid-template-columns: minmax(0, 1fr); } }

/* ── Check-in masası (app/pages/checkin.php, 2026-11-03) ── */
.ci-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ci-kpi-uyari .kpi-v { color: var(--warn); }
.ci-arac { align-items: center; gap: 12px; flex-wrap: wrap; }
.ci-sekme { margin: 0; }
.ci-say { display: inline-grid; place-items: center; min-width: 20px; height: 18px; padding: 0 5px; margin-inline-start: 4px; border-radius: 9px; background: var(--surface-2); font-size: 11.5px; font-weight: 600; color: var(--muted); }
.tab.is-active .ci-say { background: var(--primary); color: var(--primary-ink); }
.ci-ara { margin-inline-start: auto; width: min(320px, 100%); }
.ci-liste { display: grid; gap: 10px; }
.ci-kart { margin: 0; padding: 14px 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 18px; align-items: center; border-inline-start: 3px solid transparent; }
.ci-kart .ci-durum { grid-column: 1 / -1; grid-row: 2; }
.ci-kart .ci-is { grid-column: 2; grid-row: 1; }
.ci-kart.is-hazir { border-inline-start-color: var(--ok); }
.ci-kart[hidden] { display: none; }
.ci-ana { display: flex; gap: 14px; align-items: center; min-width: 0; }
.ci-kim { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ci-ad { font-size: 15.5px; font-weight: 600; color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.ci-ad:hover { text-decoration: underline; }
.ci-alt { font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.ci-saat { flex: none; }
.ci-eta { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: var(--ink); }
.ci-durum { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ci-durum li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); min-width: 0; }
.ci-durum li > i { flex: none; font-size: 18px; color: var(--muted); }
.ci-durum li > span { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ci-durum b { font-size: 13px; font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ci-durum small { font-size: 11.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ci-durum li.is-tamam > i { color: var(--ok); }
.ci-durum li.is-uyari > i, .ci-durum li.is-uyari b { color: var(--warn); }
.ci-durum li.is-eksik { background: var(--err-bg); }
.ci-durum li.is-eksik > i, .ci-durum li.is-eksik b { color: var(--err); }
.ci-durum .badge { flex: none; }
.ci-is { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.ci-bos { display: flex; align-items: center; gap: 12px; padding: 26px 20px; color: var(--muted); }
.ci-bos i { font-size: 24px; }
.ci-ara-bos[hidden] { display: none; }
.ci-m-bas { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.ci-m-bas h2 { flex: none; }
.ci-m-alt { font-size: 12.5px; }
.ci-modal .modal-b { display: flex; flex-direction: column; gap: 18px; }
.ci-m-bolum { display: flex; flex-direction: column; gap: 10px; }
.ci-m-bb { display: flex; align-items: center; gap: 10px; }
.ci-m-bb h3 { margin: 0; font-size: 15px; }
.ci-m-bb .muted { margin-inline-start: auto; font-size: 12.5px; }
.ci-m-acik { margin: -4px 0 0; font-size: 12.5px; color: var(--muted); }
.ci-misafirler { display: flex; flex-direction: column; gap: 8px; }
.ci-m-misafir { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.ci-m-misafir.is-hata { border-color: var(--err); }
.ci-mm-bas { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ci-mm-ad { font-weight: 600; color: var(--ink); flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ci-mm-form { display: none; margin-top: 10px; gap: 10px 12px; }
.ci-m-misafir.is-acik .ci-mm-form { display: grid; }
.ci-mm-ac[hidden] { display: none; }
.ci-ekle { align-self: flex-start; }
.ci-m-bakiye { flex-direction: row; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--surface-2); font-size: 13px; color: var(--text); }
.ci-m-bakiye > i { font-size: 19px; color: var(--muted); }
.ci-m-bakiye > span { flex: 1; }
@media (max-width: 900px) { .ci-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ci-durum { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .ci-kart { grid-template-columns: minmax(0, 1fr); }
  .ci-kart .ci-is { grid-column: 1; grid-row: 3; justify-content: stretch; } .ci-is .btn { flex: 1; }
  .ci-ara { margin-inline-start: 0; width: 100%; }
  .ci-mm-form.grid { grid-template-columns: minmax(0, 1fr); }
}

/* ── Check-out masası (app/pages/checkout.php, 2026-11-03) — liste düzeni check-in ile ortak (.ci-*) ── */
.co-acik { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 10px; font-size: 13px; color: var(--muted); }
.co-acik i { flex: none; font-size: 16px; margin-top: 1px; }
dialog.modal.co-modal { width: min(580px, calc(100vw - 32px)); }
.co-modal .modal-b { display: flex; flex-direction: column; gap: 18px; }
.co-modal [hidden] { display: none !important; }
.ci-m-yazdir { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; text-decoration: none; }
.co-erken { display: flex; gap: 9px; margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--warn-bg); border: 1px solid var(--warn-line); font-size: 13px; line-height: 1.5; color: var(--text); }
.co-erken i { flex: none; color: var(--warn); font-size: 17px; margin-top: 1px; }
.co-hesap { margin: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.co-hesap > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 14px; border-top: 1px solid var(--line); font-size: 14px; }
.co-hesap > div:first-child { border-top: 0; }
.co-hesap dt { color: var(--text); }
.co-hesap dd { margin: 0; font-variant-numeric: tabular-nums; color: var(--ink); }
.co-hesap-kalan { background: var(--surface-2); }
.co-hesap-kalan dt, .co-hesap-kalan dd { font-weight: 650; font-size: 15.5px; color: var(--ink); }
.co-hesap-kalan.is-acik dd { color: var(--err); }
.co-hesap-kalan.is-fazla dd { color: var(--warn); }
.co-hesap-kalan.is-kapali dd { color: var(--ok); }
.co-tahsil-alan { gap: 10px 12px; }
.co-tahsil-not { margin: 0; font-size: 12.5px; color: var(--muted); }
.co-fazla { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: 13px; color: var(--text); }
.co-fazla i { flex: none; color: var(--warn); font-size: 17px; }
@media (max-width: 600px) { .co-tahsil-alan.grid { grid-template-columns: minmax(0, 1fr); } }

/* ── KİMLİK / PASAPORT OKUYUCU (kimlik-oku.js, layout.php kimlikOkuyucu) ── */
.kim-satir { display: flex; gap: 8px; align-items: stretch; }
.kim-satir > .search-box { flex: 1; min-width: 0; }
.kim-satir > .search-box.hidden + .kim-btn { margin-inline-start: auto; }
.kim-btn { white-space: nowrap; flex-shrink: 0; }
.kim-btn i { font-size: 18px; }
.rf-m .kim-satir .kim-btn { height: 46px; }
#dlgGuest .kim-satir { margin-bottom: 14px; }
.ci-mm-bas .kim-btn { margin-inline-start: auto; }
.ci-mm-bas .kim-btn + .ci-mm-ac { margin-inline-start: 0; }
@media (max-width: 560px) { .kim-satir .kim-btn { padding-inline: 12px; } }
.kim-not { display: flex; flex-wrap: wrap; gap: 2px 10px; align-items: baseline; margin: 10px 0 2px; padding: 9px 12px; border: 1px solid var(--ok-line); background: var(--ok-bg); border-radius: 10px; font-size: 13.5px; color: var(--text); }
.kim-not.is-uyari { border-color: var(--warn-line); background: var(--warn-bg); }
.kim-not b { display: inline-flex; align-items: center; gap: 6px; color: var(--ok); font-weight: 600; }
.kim-not.is-uyari b { color: var(--text); }
.kim-not b i { font-size: 17px; }
.kim-not span { color: var(--muted); overflow-wrap: anywhere; }
.kim-not small { flex-basis: 100%; color: var(--muted); font-size: 12.5px; line-height: 1.45; }
.kim-not small.kim-uyari { color: var(--warn); font-weight: 600; }
.ci-m-misafir .kim-not { margin-top: 8px; }
@keyframes kimDolu { from { box-shadow: 0 0 0 3px var(--ok-line); background-color: var(--ok-bg); } to { box-shadow: 0 0 0 0 transparent; } }
.kim-dolu { animation: kimDolu 2.4s ease-out; }
@media (prefers-reduced-motion: reduce) { .kim-dolu { animation: none; } }

dialog.modal.kim-modal { width: min(640px, calc(100vw - 24px)); }
.kim-modal .modal-b { display: grid; gap: 10px; }
.kim-sahne { position: relative; aspect-ratio: 4 / 3; max-height: 62vh; width: 100%; border-radius: 12px; overflow: hidden; background: #0d0f12; }
.kim-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Çerçeve: kimlik kartı/pasaport sayfası oranı; alttaki şerit kodun yeri. Dışı karartılır */
.kim-cerceve { position: absolute; left: 7%; right: 7%; top: 50%; transform: translateY(-50%); aspect-ratio: 1.5; max-height: 88%; margin-inline: auto; border: 2px solid rgba(255, 255, 255, .92); border-radius: 12px; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .45); pointer-events: none; }
.kim-mrz { position: absolute; left: 4%; right: 4%; bottom: 6%; height: 27%; border: 2px dashed rgba(255, 255, 255, .75); border-radius: 6px; background: rgba(255, 255, 255, .06); }
.kim-bos { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center; color: #e8eaee; font-size: 14.5px; line-height: 1.5; }
.kim-bos i { font-size: 40px; opacity: .8; }
.kim-durum { min-height: 1.5em; margin: 0; font-weight: 600; color: var(--ink); font-size: 14.5px; }
.kim-durum[data-tur="iyi"] { color: var(--ok); }
.kim-durum[data-tur="uyari"] { color: var(--warn); }
.kim-ipucu { margin: 0; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
.kim-gizlilik { display: flex; gap: 6px; align-items: center; margin: 0; color: var(--faint); font-size: 12.5px; }
.kim-modal .modal-f { flex-wrap: wrap; }
.kim-yukle { cursor: pointer; }
.kim-modal .modal-f .kim-yukle { margin-inline-end: auto; }
@media (max-width: 560px) {
  .kim-sahne { aspect-ratio: 3 / 4; max-height: 56vh; }
  .kim-cerceve { left: 5%; right: 5%; }
}
.ci-mm-sil { color: var(--muted); }
.ci-mm-sil:hover { color: var(--err); }
.ci-mm-sil i { font-size: 16px; }

/* ── Arıza ve bakım: teknik servis kartları (app/pages/maintenance.php, 2026-11-03) ── */
.mt-sekmeler { display: inline-flex; max-width: 100%; margin-bottom: 14px; }
.mt-sekmeler .n { min-width: 20px; height: 18px; padding: 0 6px; border-radius: 9px; background: var(--surface-2); color: var(--muted); font-size: 11.5px; line-height: 18px; text-align: center; }
.mt-sekmeler .tab.is-active .n { background: var(--ink); color: var(--surface); }
.mt-liste { display: grid; gap: 10px; max-width: 720px; }
.mt-kart { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.mt-kart.is-acil { box-shadow: inset 3px 0 0 var(--err), var(--sh-1); }
.mt-oda { font-size: 22px; font-weight: 700; color: var(--ink); text-align: center; overflow-wrap: anywhere; }
.mt-oda i { font-size: 26px; color: var(--muted); }
.mt-govde { min-width: 0; }
.mt-govde h3 { margin: 0; font-size: 15.5px; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.mt-rozetler { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.mt-rozetler:empty { display: none; }
.mt-acik { margin: 6px 0 0; font-size: 13.5px; color: var(--ink-2, var(--ink)); overflow-wrap: anywhere; }
.mt-not, .mt-not-k { display: flex; gap: 6px; align-items: flex-start; margin: 6px 0 0; font-size: 13.5px; color: var(--ink); overflow-wrap: anywhere; }
.mt-not-k { display: inline-flex; font-size: 12.5px; color: var(--muted); }
.mt-alt { margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.mt-alt b { color: var(--ink); font-weight: 600; }
.mt-dugmeler { display: flex; flex-direction: column; gap: 8px; }
.mt-dugmeler .btn { justify-content: center; white-space: nowrap; }
.mt-ipucu { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 0; font-size: 12.5px; }
.mt-ipucu i { margin-top: 2px; }
@media (max-width: 600px) {
  .mt-sekmeler { display: flex; flex-wrap: wrap; overflow: visible; }
  .mt-sekmeler .tab { flex: 1 1 auto; justify-content: center; padding: 0 10px; }
  .mt-kart { grid-template-columns: 48px minmax(0, 1fr); gap: 10px 12px; padding: 12px; }
  .mt-oda { font-size: 19px; }
  .mt-dugmeler { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  /* Sığmazsa (uzun tek kelime, ör. Yunanca) düğmeler alt alta geçer */
  .mt-dugmeler .btn { flex: 1 1 0; white-space: normal; height: auto; min-height: 44px; padding: 8px 12px; }
}

/* ══════════════ MOBİL ÜST ÇUBUK VE MENÜ (kullanıcı, 2026-11-03: "kullanımı kolaylaştır") ══════════════
   ≤900 px (menü düğmesi görünür): üst çubuk öğeleri ve açılan menünün satırları parmakla rahat dokunulacak boyda.
   ≤760 px (telefon): iş günü tarihi ve "+ Rezervasyon" üst çubukta yok (tarih Gece denetiminde, yeni rezervasyon
   sayfa başlıklarında ve menüde). Yalnız panel (body > .app); vitrindeki demo kopyası etkilenmez. */
@media (max-width: 900px) {
  body:has(> .app) { --topbar-h: 64px; }
  body:has(> .app) .topbar { gap: 4px; padding-inline-end: 10px; }
  body:has(> .app) .topbar .icon-btn { width: 44px; height: 44px; font-size: 24px; border-radius: 12px; }
  body:has(> .app) .topbar .nav-toggle { margin-inline-start: 6px; font-size: 26px; }
  body:has(> .app) .topbar .brand.brand-yazi { font-size: 21px; padding: 0 6px 0 4px; }
  body:has(> .app) .topbar .hotel-switch { height: 44px; padding: 0 8px; gap: 4px; font-size: 15px; border-radius: 12px; }
  body:has(> .app) .topbar .hotel-switch > i:first-child { font-size: 22px; }
  body:has(> .app) .topbar .hotel-switch > .ph-caret-down { font-size: 16px; }
  body:has(> .app) .topbar .avatar { width: 36px; height: 36px; font-size: 13.5px; }
  body:has(> .app) .topbar .icon-btn .pip { top: 5px; right: 5px; }
  /* Açılan menü */
  body:has(> .app) .sidebar { padding: 14px 14px 40px; }
  body:has(> .app) .nav-title { font-size: 13px; padding: 20px 14px 8px; }
  body:has(> .app) .nav-link { min-height: 52px; height: auto; padding: 8px 14px; gap: 14px; font-size: 17px; border-radius: 12px; }
  body:has(> .app) .nav-link i { font-size: 24px; }
  body:has(> .app) .nav-link .nav-count { font-size: 13px; }
  body:has(> .app) .nav-link .nav-lock { font-size: 16px; }
  body:has(> .app) .nav-link.is-active::before { left: -14px; top: 12px; bottom: 12px; }
  [dir="rtl"] body:has(> .app) .nav-link.is-active::before { left: auto; right: -14px; }
}
@media (max-width: 760px) {
  body:has(> .app) .topbar .topbar-tarih, body:has(> .app) .topbar .topbar-yeni { display: none; }
}
/* Personelin tesis adı: tıklanmaz (tek tesise bağlı, app/partials/layout.php) */
.hotel-switch.is-sabit { cursor: default; }
.hotel-switch.is-sabit:hover { background: none; }

/* ── Canlı demo tam ekran (vitrin-demo.js tamAc/tamKapat, 2026-11-04) ──
   Katman 900: site menüsünün (20) üstünde, oda menüsünün (1000) ve bildirimlerin (2000) altında. */
.dm-tam-dug { display: inline-flex; align-items: center; gap: 6px; height: 26px; margin-inline-start: 10px; padding: 0 10px; border: 1px solid #dcdce3; border-radius: 13px;
  background: #fff; color: #3b3a42; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
.dm-tam-dug:hover { border-color: #15141a; color: #15141a; }
.dm-tam-dug i { font-size: 15px; }
/* ".shot-bar span" (pencere noktaları) düğmenin yazısını 10 px noktaya çeviriyordu */
.shot-bar .dm-tam-dug span { width: auto; height: auto; border-radius: 0; background: none; white-space: nowrap; }
.dm-cerceve.dm-tam { position: fixed; inset: 0; z-index: 900; max-width: none; width: 100vw; height: 100vh; height: 100dvh; margin: 0; border-radius: 0; box-shadow: none;
  display: flex; flex-direction: column; background: var(--bg); }
.dm-cerceve.dm-tam .shot-bar { flex: none; }
.dm-cerceve.dm-tam .dm-kaydir { flex: 1; min-height: 0; overflow: hidden; }
html.dm-tam-acik, html.dm-tam-acik body { overflow: hidden; }
@media (max-width: 560px) { .dm-tam-dug span { display: none; } .dm-tam-dug { padding: 0 7px; } }
/* Tam ekrandayken "Tam ekrandan çık": kırmızı, yanıp sönen parıltı + soldan sağa kayan ışık (kullanıcı, 2026-11-04).
   Hareket azaltma tercihinde animasyon yok, yalnız kırmızı kalır. */
.dm-cerceve.dm-tam .dm-tam-dug { position: relative; overflow: hidden; isolation: isolate; height: 28px; padding: 0 12px;
  border-color: #c50042; background: #e0004d; color: #fff; font-weight: 600; animation: dmCikNabiz 1.6s ease-in-out infinite; }
.dm-cerceve.dm-tam .dm-tam-dug:hover, .dm-cerceve.dm-tam .dm-tam-dug:focus-visible { background: #c50042; border-color: #a30037; color: #fff; }
.dm-cerceve.dm-tam .dm-tam-dug::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.55) 50%, transparent 80%); transform: translateX(-120%); animation: dmCikKay 2.2s ease-in-out infinite; }
[dir="rtl"] .dm-cerceve.dm-tam .dm-tam-dug::after { animation-direction: reverse; }
@keyframes dmCikNabiz {
  0%, 100% { box-shadow: 0 0 0 0 rgba(224,0,77,.55); }
  50% { box-shadow: 0 0 0 6px rgba(224,0,77,0); background: #ff1a63; }
}
@keyframes dmCikKay { 0% { transform: translateX(-120%); } 60%, 100% { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .dm-cerceve.dm-tam .dm-tam-dug, .dm-cerceve.dm-tam .dm-tam-dug::after { animation: none; } }

/* ── Canlı demo: çalışan Mac pencere düğmeleri (vitrin-demo.js, 2026-11-04) ──
   Renkler macOS'tan; simgeler grubun üzerine gelince ya da klavye odağında belirir. */
.dm-mac-grup { display: inline-flex; align-items: center; gap: 8px; width: auto !important; height: auto !important; border-radius: 0 !important; background: none !important; }
.dm-mac { width: 12px; height: 12px; padding: 0; border-radius: 50%; border: .5px solid rgba(0,0,0,.14); display: grid; place-items: center; cursor: pointer; flex: none; }
.dm-mac svg { width: 10px; height: 10px; opacity: 0; transition: opacity .12s; fill: none; stroke: rgba(0,0,0,.6); stroke-width: 1.4; stroke-linecap: round; }
.dm-mac svg .dm-mac-dolu { fill: rgba(0,0,0,.6); stroke: none; }
.dm-mac-k { background: #ff5f57; border-color: #e0443e; }
.dm-mac-u { background: #febc2e; border-color: #dea123; }
.dm-mac-b { background: #28c840; border-color: #1aab29; }
.dm-mac-grup:hover .dm-mac svg, .dm-mac:focus-visible svg { opacity: 1; }
.dm-mac:active { filter: brightness(.82); }
.dm-mac:focus-visible { outline: 2px solid #15141a; outline-offset: 2px; }
.dm-mac:disabled { background: #d4d4d8; border-color: #c4c4ca; cursor: default; }
.dm-mac:disabled svg { opacity: 0 !important; }
/* Küçültme: gövde yüksekliği kayarak kapanır, yalnız başlık çubuğu kalır */
.dm-cerceve .dm-kaydir { transition: height .3s cubic-bezier(.4, 0, .2, 1); }
.dm-cerceve.dm-kucuk .dm-kaydir { overflow: hidden; }
.dm-bar-geri { display: none; align-items: center; gap: 6px; margin-inline-start: 14px; padding: 0 10px; height: 24px; border: 1px solid #dcdce3; border-radius: 12px;
  background: #fff; color: #3b3a42; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
.dm-bar-geri:hover { border-color: #15141a; color: #15141a; }
.dm-cerceve.dm-kucuk .dm-bar-geri { display: inline-flex; }
.dm-cerceve.dm-kucuk .shot-bar { cursor: pointer; }
/* Kapatma: pencere küçülüp kaybolur, yerinde "Demoyu yeniden aç" kalır */
.dm-cerceve.dm-kapaniyor { animation: dmKapan .23s ease-in forwards; }
.dm-cerceve.dm-aciliyor { animation: dmAcil .3s cubic-bezier(.2, .8, .3, 1); }
@keyframes dmKapan { to { opacity: 0; transform: scale(.92); } }
@keyframes dmAcil { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
.dm-yeniden-kap { display: none; justify-content: center; padding: 56px 0 40px; }
.dm-figur.dm-kapandi .dm-cerceve, .dm-figur.dm-kapandi .dm-alt { display: none; }
.dm-figur.dm-kapandi .dm-yeniden-kap { display: flex; animation: dmAcil .3s ease-out; }
.v-koyu .dm-yeniden { background: #fff; color: #15141a; border-color: #fff; }
@media (prefers-reduced-motion: reduce) { .dm-cerceve .dm-kaydir { transition: none; } .dm-cerceve.dm-kapaniyor, .dm-cerceve.dm-aciliyor, .dm-figur.dm-kapandi .dm-yeniden-kap { animation-duration: .01s; } }
@media (max-width: 560px) { .dm-bar-geri { margin-inline-start: 8px; } }
/* Dar ekranda küçültülmüşken başlık çubuğu: rozet ve tam ekran düğmesi gizlenir (yeşil düğme aynı işi görür), "yeniden aç" sığmazsa kısalır */
.dm-bar-geri { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; }
@media (max-width: 700px) { .dm-cerceve.dm-kucuk .dm-rozet, .dm-cerceve.dm-kucuk .dm-tam-dug { display: none; } }

/* ── Ayarlar → KBS bağlantısı: yöntem seçimi ve eklenti kurulum adımları (2026-11-04) ── */
.kbs-yontem { display: grid; gap: 8px; }
.kbs-yontem-s { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r-lg); cursor: pointer; }
.kbs-yontem-s:has(input:checked) { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.kbs-yontem-s input { margin-top: 3px; flex: none; }
.kbs-yontem-s span { display: grid; gap: 3px; min-width: 0; }
.kbs-yontem-s small { color: var(--muted); font-size: 13px; line-height: 1.45; }
.kbs-eklenti-kart .card-h h3 { display: inline-flex; align-items: center; gap: 8px; }
.kbs-adim { margin: 0; padding-inline-start: 20px; display: grid; gap: 8px; font-size: 14px; line-height: 1.5; }
.kbs-adim .muted { display: block; font-size: 12.5px; }

/* ── E-POSTA DOĞRULAMA VE ŞİFRE SIFIRLAMA (2026-11-04; platform/auth/verify|forgot-password|reset-password.php) ── */
.akis-unuttum { display: inline-block; margin-top: 12px; font-size: 14px; color: #55545c; text-decoration: underline; text-underline-offset: 3px; }
.akis-unuttum:hover { color: #111014; }
.akis-unuttum + .akis-btn { margin-top: 16px; }
.vf-kod.akis-input { letter-spacing: .5em; font-variant-numeric: tabular-nums; font-size: 26px; text-align: center; padding-inline: 18px 0; }
.vf-yenile { margin-top: 14px; display: flex; justify-content: center; }
.vf-yenile .btn { gap: 8px; }
.vf-yenile .btn[disabled] { opacity: .55; cursor: default; }
.au-kutu h1.akis-soru { margin-bottom: 24px; }

/* ══ CANLI DESTEK (vitrin sağ alt; platform/site/_canli-destek.php, js/canli-destek.js) — 2026-11-04 ══ */
.cdk { position: fixed; inset-inline-end: 20px; bottom: 20px; z-index: 120; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; font-size: 14px; }
.cdk-ac { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0; padding-inline: 8px 20px; border-radius: 999px; cursor: pointer;
  background: #fff; color: #15141a; border: 1px solid rgba(21, 20, 26, .08); font: inherit; font-weight: 600;
  box-shadow: 0 12px 32px rgba(21, 20, 26, .16), 0 2px 6px rgba(21, 20, 26, .06); transition: transform .16s, box-shadow .16s; }
.cdk-ac:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(21, 20, 26, .2), 0 3px 8px rgba(21, 20, 26, .07); }
.cdk-ac:focus-visible { outline: 3px solid #0061e0; outline-offset: 2px; }
.cdk-ac-ikon { position: relative; width: 36px; height: 36px; flex: none; border-radius: 50%; background: #15141a; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 19px; }
.cdk-ac-ikon.is-canli::after { content: ""; position: absolute; inset-block-end: 0; inset-inline-end: 0; width: 10px; height: 10px; border-radius: 50%; background: #017a40; border: 2px solid #fff; }
.cdk-ac-yazi { white-space: nowrap; }
.cdk-ac-kapat { display: none; font-size: 16px; }
.cdk.is-acik .cdk-ac { padding-inline: 7px; }
.cdk.is-acik .cdk-ac-yazi, .cdk.is-acik .cdk-ac-sohbet, .cdk.is-acik .cdk-ac-ikon::after { display: none; }
.cdk.is-acik .cdk-ac-kapat { display: block; }
.cdk-panel { width: min(380px, calc(100vw - 32px)); height: min(600px, calc(100dvh - 120px)); display: flex; flex-direction: column; background: #fff;
  border: 1px solid #e0e0e6; border-radius: 18px; box-shadow: 0 24px 70px rgba(21, 20, 26, .22); overflow: hidden; animation: cdkGir .18s ease-out; }
.cdk-panel[hidden] { display: none; }
@keyframes cdkGir { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.cdk-bas { display: flex; align-items: center; gap: 10px; padding: 14px 12px 14px 16px; border-bottom: 1px solid #ececf0; flex: none; }
.cdk-logo { width: 34px; height: 34px; border-radius: 10px; background: #15141a; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; flex: none; }
.cdk-kim { flex: 1; min-width: 0; line-height: 1.25; }
.cdk-kim strong { display: block; color: #15141a; font-weight: 700; font-size: 15px; }
.cdk-kim span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #5b5b66; }
.cdk-nokta { width: 7px; height: 7px; border-radius: 50%; background: #017a40; flex: none; }
.cdk-nokta.is-kapali { background: #8f8f9d; }
.cdk-ikon { width: 34px; height: 34px; border: 0; border-radius: 9px; background: none; color: #5b5b66; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.cdk-ikon:hover { background: #f0f0f4; color: #15141a; }
.cdk-sohbet { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.cdk-sohbet[hidden] { display: none; }
.cdk-akis { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 14px 8px; display: flex; flex-direction: column; gap: 10px; }
.cdk-m { max-width: 86%; padding: 10px 13px; border-radius: 14px; line-height: 1.5; font-size: 14px; overflow-wrap: anywhere; }
.cdk-m p { margin: 0 0 6px; } .cdk-m p:last-child { margin: 0; }
.cdk-m ul { margin: 4px 0 6px; padding-inline-start: 18px; } .cdk-m li { margin: 2px 0; }
.cdk-m a { color: #0061e0; text-decoration: underline; text-underline-offset: 2px; }
.cdk-bot { align-self: flex-start; background: #f0f0f4; color: #2b2a33; border-end-start-radius: 4px; }
.cdk-ben { align-self: flex-end; background: #15141a; color: #fff; border-end-end-radius: 4px; }
.cdk-insan-btn { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 7px 11px; border-radius: 9px; border: 1px solid #cfcfd8; background: #fff; color: #15141a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.cdk-insan-btn:hover { background: #f0f0f4; }
.cdk-yazar { display: inline-flex; gap: 4px; padding: 12px 14px; }
.cdk-yazar i { width: 6px; height: 6px; border-radius: 50%; background: #5b5b66; animation: cdkNokta 1.1s infinite ease-in-out; }
.cdk-yazar i:nth-child(2) { animation-delay: .15s; } .cdk-yazar i:nth-child(3) { animation-delay: .3s; }
@keyframes cdkNokta { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.cdk-cipler { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
.cdk-cipler:empty { display: none; }
.cdk-cipler button { border: 1px solid #cfcfd8; background: #fff; color: #15141a; border-radius: 999px; padding: 6px 11px; font: inherit; font-size: 13px; cursor: pointer; text-align: start; }
.cdk-cipler button:hover { background: #f0f0f4; }
.cdk-yaz { display: flex; align-items: flex-end; gap: 8px; margin: 0 12px; padding: 6px 6px 6px 12px; border: 1px solid #e0e0e6; border-radius: 14px; flex: none; }
.cdk-yaz:focus-within { border-color: #15141a; }
.cdk-yaz textarea { flex: 1; min-width: 0; border: 0; outline: 0; resize: none; background: none; font: inherit; font-size: 14.5px; color: #15141a; max-height: 110px; padding: 7px 0; line-height: 1.4; }
.cdk-gonder { width: 36px; height: 36px; flex: none; border: 0; border-radius: 10px; background: #15141a; color: #fff; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.cdk-gonder:disabled { opacity: .45; cursor: default; }
.cdk-dip { display: flex; flex-direction: column; gap: 4px; align-items: center; padding: 8px 14px 12px; font-size: 11.5px; color: #6b6a76; text-align: center; flex: none; line-height: 1.45; }
.cdk-dip a { color: #6b6a76; text-decoration: underline; }
.cdk-link { border: 0; background: none; padding: 0; font: inherit; font-size: 13px; font-weight: 600; color: #15141a; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cdk-insan { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 10px; }
.cdk-insan[hidden] { display: none; }
.cdk-insan h3 { margin: 0; font-size: 17px; font-weight: 700; color: #15141a; }
.cdk-insan p { margin: 0; font-size: 13.5px; color: #46454f; line-height: 1.5; }
.cdk-insan label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 600; color: #46454f; }
.cdk-insan input, .cdk-insan textarea { font: inherit; font-size: 14.5px; font-weight: 400; padding: 9px 11px; border: 1px solid #e0e0e6; border-radius: 10px; color: #15141a; background: #fff; }
.cdk-insan input:focus, .cdk-insan textarea:focus { outline: 0; border-color: #15141a; }
.cdk-hesap { display: flex; align-items: center; gap: 6px; padding: 9px 11px; background: #f0f0f4; border-radius: 10px; color: #15141a !important; font-weight: 600; overflow-wrap: anywhere; }
.cdk-tuzak { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.cdk-hata { font-size: 13px; color: #c50042; }
.cdk-hata[hidden] { display: none; }
.cdk-btn { width: 100%; justify-content: center; }
.cdk-not { font-size: 12px !important; color: #6b6a76 !important; }
.cdk-not a { color: #6b6a76; text-decoration: underline; }
.cdk-posta { display: flex; align-items: center; gap: 8px; padding-top: 8px; border-top: 1px solid #ececf0; font-size: 13.5px; color: #46454f; text-decoration: none; }
.cdk-posta:hover { color: #15141a; }
.cdk-geri { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; text-decoration: none; }
@media (max-width: 640px) {
  .cdk { inset-inline-end: 14px; bottom: 14px; }
  .cdk-ac { height: 48px; padding-inline-end: 16px; font-size: 13.5px; }
  .cdk-ac-ikon { width: 34px; height: 34px; }
  .cdk.is-acik .cdk-ac { display: none; }
  .cdk-panel { position: fixed; inset: 0; width: 100%; height: 100dvh; border: 0; border-radius: 0; animation: none; }
  html.cdk-kilit, html.cdk-kilit body { overflow: hidden; }
}
/* Mobil tam ekran menü ve demo tam ekranı açıkken düğme gizlenir */
html.v-mm-acik .cdk, html:has(.dm-tam) .cdk { display: none; }
[dir="rtl"] .cdk-gonder i { transform: scaleX(-1); }
@media (prefers-reduced-motion: reduce) { .cdk-panel { animation: none; } .cdk-yazar i { animation: none; } .cdk-ac { transition: none; } }
@media print { .cdk { display: none; } }

/* ── DESTEK SAYFASI (/support; platform/panel/support.php) ── */
.hub-bas .sub .badge { vertical-align: middle; }
.sp-akis { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sp-m { max-width: 82%; padding: 12px 15px; border-radius: 14px; background: #f4f4f6; border: 1px solid #ececf0; }
.sp-m.is-ben { align-self: flex-end; background: #fff; border-color: #e0e0e6; border-end-end-radius: 4px; }
.sp-m.is-biz { align-self: flex-start; border-end-start-radius: 4px; }
.sp-m-bas { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: 12.5px; color: #6b6a76; }
.sp-m-bas b { color: #15141a; }
.sp-m-govde { font-size: 14.5px; line-height: 1.6; color: #2b2a33; overflow-wrap: anywhere; }
.sp-yanit { border-top: 1px solid #ececf0; padding-top: 16px; }
.sp-kapat { margin-top: 10px; display: flex; justify-content: flex-end; }
.sp-bos { margin: 4px 0 0; color: #6b6a76; font-size: 14px; }
.sp-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sp-liste li + li { border-top: 1px solid #ececf0; }
.sp-liste a { display: flex; flex-direction: column; gap: 4px; padding: 12px 4px; color: inherit; text-decoration: none; border-radius: 8px; }
.sp-liste a:hover { background: #f7f7f9; }
.sp-liste-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.sp-liste-ust b { font-size: 14.5px; color: #15141a; overflow-wrap: anywhere; min-width: 0; }
.sp-liste-ust .badge { flex: none; white-space: nowrap; }
.sp-liste-alt { font-size: 12.5px; color: #6b6a76; }
@media (max-width: 640px) { .sp-m { max-width: 94%; } }
/* Yönetim paneli destek ekranı (platform/system/support.php) */
.sys-sekme { margin-bottom: 14px; }
.sp-m.is-ic { background: #fff8e6; border-color: #ffe2a3; border-style: dashed; }
.sys-sup-secenek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.sys-sup-secenek select { width: auto; min-width: 220px; }
.sys-sayac { margin-inline-start: auto; background: #c50042; color: #fff; border-radius: 999px; padding: 0 7px; min-width: 20px; text-align: center; }
.cdk-yaz textarea, .cdk-yaz textarea:focus, .cdk-yaz textarea:focus-visible { border: 0; outline: 0; box-shadow: none; border-radius: 0; }
