/* Sipariş modülü (js/order.js): araç içi satış kartı, mobil sabit çubuk, sipariş paneli.
   order.js bu dosyayı <head>'e kendisi ekler. Marka belirteçleri css/rodosto-brand.css'tendir
   (--rd-primary, --rd-navy, --rd-accent); yoksa aynı değerler yedek olarak kullanılır.
   Düzen mantıksal özelliklerle kurulur: <html dir="rtl"> sayfada kart ve panel kendiliğinden aynalanır.
   z-index: kart ve çubuk 9990 (WhatsApp düğmesi ve çerez bandı 9999'un altında), panel 10000.
   Eski tarayıcılar (Chrome < 87, iOS Safari < 14.1, eski Samsung Internet) inset/inset-block/
   inset-inline-* tanımaz: her kullanımın önünde fiziksel top/right/bottom/left yedeği ve
   [dir=rtl] için aynalanmış yedek bulunur. */

:root {
  --rdo-primary: var(--rd-primary, #0057B8);
  --rdo-primary-hover: #004a9e;
  --rdo-primary-ink: #0057B8;
  --rdo-navy: var(--rd-navy, #0A1220);
  --rdo-accent: var(--rd-accent, #1FA6FF);
  --rdo-surface: #ffffff;
  --rdo-surface-2: #f3f6fa;
  --rdo-line: #dfe6ef;
  --rdo-line-strong: #c3cfdd;
  --rdo-grid: rgba(0, 87, 184, .09);
  --rdo-text: #0e1726;
  --rdo-muted: #566579;
  --rdo-wa: #25D366;
  --rdo-wa-ink: #0f7a40;
  --rdo-wa-soft: rgba(37, 211, 102, .1);
  --rdo-ok: #15803d;
  --rdo-ok-soft: #e8f8ee;
  --rdo-danger: #b8233a;
  --rdo-danger-soft: #fdf0f2;
  --rdo-st-preview: #15803d;
  --rdo-st-archive: #a14a06;
  --rdo-st-aerial: #6d28d9;
  --rdo-shadow: 0 24px 48px -20px rgba(10, 18, 32, .42), 0 2px 8px -2px rgba(10, 18, 32, .12);
  /* Plex Mono'da Arapça yok: Arapça harfler eş aralıklı yedeğe değil Arapça yazı tipine düşsün */
  --rdo-mono: 'IBM Plex Mono', 'IBM Plex Sans Arabic', 'Noto Sans Arabic', 'Geeza Pro', 'Segoe UI', ui-monospace, 'SFMono-Regular', Menlo, monospace;
}
html.dark {
  --rdo-primary-hover: #0a67d0;
  --rdo-primary-ink: #8FBAFF;
  --rdo-surface: #121826;
  --rdo-surface-2: #182132;
  --rdo-line: #26334a;
  --rdo-line-strong: #3a4a64;
  --rdo-grid: rgba(31, 166, 255, .11);
  --rdo-text: #e9eff8;
  --rdo-muted: #9aabc4;
  --rdo-wa-ink: #4ade80;
  --rdo-wa-soft: rgba(37, 211, 102, .12);
  --rdo-ok: #4ade80;
  --rdo-ok-soft: rgba(22, 163, 74, .16);
  --rdo-danger: #fb7185;
  --rdo-danger-soft: rgba(225, 29, 72, .14);
  --rdo-st-preview: #4ade80;
  --rdo-st-archive: #fbbf24;
  --rdo-st-aerial: #c4b5fd;
  --rdo-shadow: 0 28px 56px -22px rgba(0, 0, 0, .8), 0 2px 8px rgba(0, 0, 0, .35);
}

.rd-ord-card, .rd-ord-sticky, .rd-ord-root { box-sizing: border-box; font-family: inherit; -webkit-font-smoothing: antialiased; }
.rd-ord-card *, .rd-ord-sticky *, .rd-ord-root * { box-sizing: border-box; }
.rd-ord-i { display: block; flex: 0 0 auto; }
[dir="rtl"] .rd-ord-i--arrow { transform: scaleX(-1); }
.rd-ord-card :focus-visible, .rd-ord-sticky :focus-visible, .rd-ord-root :focus-visible { outline: 3px solid var(--rdo-accent); outline-offset: 2px; }

/* ---------- Satış kartı ---------- */
.rd-ord-card { position: relative; margin: 0; padding: 16px; background: var(--rdo-surface); color: var(--rdo-text); border: 1px solid var(--rdo-line); border-radius: 16px; font-size: 14px; line-height: 1.45; text-align: start; }
.rd-ord-card--float { position: fixed; z-index: 9990; right: 24px; inset-inline-end: 24px; bottom: 100px; width: 320px; box-shadow: var(--rdo-shadow); animation: rdo-rise .32s cubic-bezier(.2, .8, .2, 1) both; }
[dir="rtl"] .rd-ord-card--float { right: auto; left: 24px; }
.rd-ord-card__head { display: flex; align-items: center; gap: 12px; }
.rd-ord-shape { flex: 0 0 48px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--rdo-line); border-radius: 11px; color: var(--rdo-primary-ink); background-color: var(--rdo-surface-2); background-image: linear-gradient(var(--rdo-grid) 1px, transparent 1px), linear-gradient(90deg, var(--rdo-grid) 1px, transparent 1px); background-size: 8px 8px; background-position: -1px -1px; }
.rd-ord-poly { fill: rgba(31, 166, 255, .22); stroke: var(--rdo-primary); stroke-width: 1.75; stroke-linejoin: round; }
html.dark .rd-ord-poly { stroke: var(--rdo-accent); }
.rd-ord-card__id { flex: 1 1 auto; min-width: 0; }
.rd-ord-card__name { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--rdo-text); }
.rd-ord-card__meta { margin: 2px 0 0; min-height: 1.45em; font-family: var(--rdo-mono); font-size: 12.5px; font-weight: 500; line-height: 1.45; color: var(--rdo-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-ord-card__meta:empty { display: none; }
.rd-ord-card__lead { margin: 12px 0 14px; font-size: 14px; line-height: 1.5; color: var(--rdo-text); }
.rd-ord-card__actions { display: grid; gap: 8px; }
.rd-ord-card__fine { margin: 10px 0 0; font-size: 12px; line-height: 1.4; color: var(--rdo-muted); text-align: center; }
.rd-ord-x { flex: 0 0 auto; align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: -6px; margin-inline-start: auto; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--rdo-muted); cursor: pointer; transition: background-color .15s, color .15s; }
.rd-ord-x:hover { background: var(--rdo-surface-2); color: var(--rdo-text); }

/* Sayfadaki slot ([data-order-slot]): kart JS ile dolmadan önce yeri ayrılır, yükleme kayması olmaz.
   Slotlu sayfalar bu dosyayı <head>'de bağlar; order.js bağlantıyı görünce yeniden eklemez.
   Ölçülen kart yüksekliği (slot 283-313 px genişlikte, mobil ve masaüstü aynı aralık): TR/EN 294-315,
   RU/ES en çok 326, AR 277-309 px. 315 px TR/EN'yi tam karşılar; ayrı mobil değer gerekmedi. */
.rd-order-slot, [data-order-slot] { min-height: 315px; }
/* RU ve ES kartı daha uzun. satellite-history slotunda (idle metinli) ölçülen kart yüksekliği:
   RU 320 px ekranda 401, 330-340 px'te 380, 350 px ve üstü ile masaüstünde en çok 347;
   ES 320-350 px'te 361, 360 px ve üstü ile masaüstünde en çok 347 px. */
html[lang="ru"] .rd-order-slot, html[lang="ru"] [data-order-slot],
html[lang="es"] .rd-order-slot, html[lang="es"] [data-order-slot] { min-height: 347px; }
@media (max-width: 359.98px) {
  html[lang="ru"] .rd-order-slot, html[lang="ru"] [data-order-slot] { min-height: 380px; }
  html[lang="es"] .rd-order-slot, html[lang="es"] [data-order-slot] { min-height: 361px; }
}
@media (max-width: 329.98px) {
  html[lang="ru"] .rd-order-slot, html[lang="ru"] [data-order-slot] { min-height: 401px; }
}

/* Köprü kartı (rakım ve konum araçları): panel açmaz, iki sayfaya yönlendirir */
.rd-ord-link { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 11px 12px; border: 1px solid var(--rdo-line); border-radius: 11px; background: var(--rdo-surface); color: var(--rdo-text); font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; transition: border-color .15s, background-color .15s; }
.rd-ord-card__head + .rd-ord-link { margin-top: 14px; }
.rd-ord-link:hover { border-color: var(--rdo-primary); background: var(--rdo-surface-2); color: var(--rdo-text); }
.rd-ord-link > .rd-ord-i:first-child { color: var(--rdo-primary-ink); }
.rd-ord-link > span { flex: 1 1 auto; min-width: 0; }
.rd-ord-link > .rd-ord-i--arrow { color: var(--rdo-muted); }
.rd-ord-card--bridge .rd-ord-card__actions { margin-top: 10px; }

/* ---------- Düğmeler ---------- */
.rd-ord-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; margin: 0; padding: 10px 16px; border: 2px solid transparent; border-radius: 12px; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, transform .12s; }
.rd-ord-btn:active { transform: translateY(1px); }
.rd-ord-btn--primary { background: var(--rdo-primary); color: #fff; box-shadow: 0 10px 22px -14px rgba(0, 87, 184, .9); }
.rd-ord-btn--primary:hover { background: var(--rdo-primary-hover); color: #fff; }
.rd-ord-btn--wa { background: transparent; color: var(--rdo-wa-ink); border-color: var(--rdo-wa); }
.rd-ord-btn--wa:hover { background: var(--rdo-wa-soft); color: var(--rdo-wa-ink); }
.rd-ord-btn--wa .rd-ord-i--wa { color: var(--rdo-wa); }
.rd-ord-btn--ghost { background: transparent; color: var(--rdo-text); border-color: var(--rdo-line-strong); }
.rd-ord-btn--ghost:hover { border-color: var(--rdo-primary); color: var(--rdo-text); }
.rd-ord-btn--sm { width: auto; min-height: 40px; padding: 7px 12px; font-size: 14px; border-radius: 10px; }

/* ---------- Mobil: içeriği örten köşe kartı yok. UYD/YPT/ARS/ARZ'de ürün çubuğu, köprü
   araçlarında köprü çubuğu (56 px), KRM'de hiçbiri (bağlamı yüzen WhatsApp düğmesi taşır). ---------- */
@media (min-width: 768px) {
  /* Çerez bandı açıkken WhatsApp düğmesi 150 px'e çıkar; kart onun da üstünde durur */
  body:has(.rd-cookie) .rd-ord-card--float { bottom: 226px; }
}
@media (max-width: 767.98px) {
  .rd-ord-card--float { display: none; }
}

/* ---------- Mobil sabit çubuk (56 px) ---------- */
.rd-ord-sticky { display: none; }
@media (max-width: 767.98px) {
  .rd-ord-sticky { display: block; position: fixed; z-index: 9990; left: 0; right: 0; inset-inline: 0; bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0px); background: var(--rdo-primary); color: #fff; box-shadow: 0 -10px 30px -12px rgba(10, 18, 32, .5); animation: rdo-up .3s cubic-bezier(.2, .8, .2, 1) both; }
  .rd-ord-sticky__btn { display: flex; align-items: center; gap: 12px; width: 100%; height: 56px; margin: 0; padding: 0 12px 0 16px; padding-inline: 16px 12px; border: 0; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer; }
  .rd-ord-sticky__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  .rd-ord-sticky__name { font-size: 15px; font-weight: 800; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rd-ord-sticky__meta { font-family: var(--rdo-mono); font-size: 12px; font-weight: 500; line-height: 1.2; color: rgba(255, 255, 255, .8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rd-ord-sticky__meta:empty { display: none; }
  .rd-ord-sticky__cta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 10px; background: #fff; color: #0057B8; font-size: 14.5px; font-weight: 800; line-height: 1.2; }
  .rd-ord-sticky :focus-visible { outline-color: #fff; outline-offset: -4px; }
  /* Köprü çubuğu: iki kısa bağlantı ve kapatma, tek satır */
  .rd-ord-sticky__row { display: flex; align-items: center; gap: 8px; height: 56px; padding: 0 8px 0 12px; padding-inline: 12px 8px; }
  .rd-ord-sticky__link { flex: 1 1 auto; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 40px; padding: 0 10px; border-radius: 10px; background: #fff; color: #0057B8; font-size: 13px; font-weight: 800; line-height: 1.15; text-align: center; text-decoration: none; }
  .rd-ord-sticky__link span { min-width: 0; overflow: hidden; }
  .rd-ord-sticky__x { flex: 0 0 40px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; }
  /* Çubuk görünürken (çerez bandı kapalıyken; order.js gözler) WhatsApp düğmesi çubuğun üstüne kayar */
  body.rd-order-sticky-on { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
  body.rd-order-sticky-on .whatsapp-float-btn { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- Sipariş paneli: masaüstünde yan çekmece, mobilde tam ekran ---------- */
.rd-ord-root { position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 10000; }
.rd-ord-root[hidden] { display: none; }
html.rd-ord-lock, html.rd-ord-lock body { overflow: hidden; }
.rd-ord-ov { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; background: rgba(10, 18, 32, .52); opacity: 0; transition: opacity .25s ease; }
.rd-ord-panel { position: absolute; top: 0; bottom: 0; right: 0; inset-block: 0; inset-inline-end: 0; width: 440px; max-width: 100%; width: min(440px, 100vw); display: flex; flex-direction: column; background: var(--rdo-surface); color: var(--rdo-text); font-size: 14.5px; line-height: 1.45; text-align: start; box-shadow: 0 0 60px -10px rgba(10, 18, 32, .45); transform: translateX(100%); transition: transform .3s cubic-bezier(.2, .8, .2, 1); outline: none; }
[dir="rtl"] .rd-ord-panel { left: 0; right: auto; transform: translateX(-100%); }
.rd-ord-root.is-open .rd-ord-ov { opacity: 1; }
.rd-ord-root.is-open .rd-ord-panel { transform: none; }
@media (max-width: 767.98px) {
  .rd-ord-panel, [dir="rtl"] .rd-ord-panel { top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; opacity: 0; transform: translateY(32px); transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .2s ease; }
  .rd-ord-root.is-open .rd-ord-panel { opacity: 1; transform: none; }
}

.rd-ord-head { flex: 0 0 auto; display: flex; align-items: flex-start; gap: 12px; padding: 20px 22px 18px; background: var(--rdo-navy); color: #fff; }
.rd-ord-head__txt { flex: 1 1 auto; min-width: 0; }
.rd-ord-head h2 { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; color: #fff; }
.rd-ord-head p { margin: 5px 0 0; font-size: 13px; line-height: 1.4; color: #9fb3cf; }
.rd-ord-head .rd-ord-x { margin: -4px; color: #c9d7ec; }
.rd-ord-head .rd-ord-x:hover { background: rgba(255, 255, 255, .09); color: #fff; }

.rd-ord-form { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; margin: 0; }
.rd-ord-form[hidden] { display: none; }
.rd-ord-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 20px 22px 26px; }
/* fieldset'te legend üst dolguyu örter; aralık margin ile verilir */
.rd-ord-sec { min-width: 0; margin: 24px 0 0; padding: 0; border: 0; }
.rd-ord-body > .rd-ord-sec:first-child { margin-top: 0; }
.rd-ord-sec[hidden] { display: none; }
.rd-ord-h { display: block; width: 100%; margin: 0 0 10px; padding: 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--rdo-text); }
.rd-ord-opt { font-size: 13px; font-weight: 500; color: var(--rdo-muted); }
.rd-ord-help { margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--rdo-muted); }
.rd-ord-muted { color: var(--rdo-muted); font-weight: 500; }

/* Ürün seçimi */
.rd-ord-prods { display: grid; gap: 8px; }
.rd-ord-prod { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; align-items: start; margin: 0; padding: 12px 14px; border: 1.5px solid var(--rdo-line); border-radius: 12px; background: var(--rdo-surface); cursor: pointer; transition: border-color .15s, background-color .15s; }
.rd-ord-prod:hover { border-color: var(--rdo-line-strong); }
.rd-ord-prod.is-on { border-color: var(--rdo-primary); background: rgba(0, 87, 184, .045); }
html.dark .rd-ord-prod.is-on { border-color: var(--rdo-accent); background: rgba(31, 166, 255, .08); }
.rd-ord-prod input { grid-row: 1 / span 2; width: 20px; height: 20px; margin: 1px 0 0; border: 2px solid var(--rdo-line-strong); border-radius: 50%; background: var(--rdo-surface); -webkit-appearance: none; appearance: none; cursor: pointer; }
.rd-ord-prod input:checked { border-color: var(--rdo-primary); background: radial-gradient(circle, var(--rdo-primary) 0 4.5px, var(--rdo-surface) 5.5px); }
html.dark .rd-ord-prod input:checked { border-color: var(--rdo-accent); background: radial-gradient(circle, var(--rdo-accent) 0 4.5px, var(--rdo-surface) 5.5px); }
.rd-ord-prod__t { font-size: 14.5px; font-weight: 700; line-height: 1.3; }
.rd-ord-prod__d { grid-column: 2; font-size: 13px; line-height: 1.4; color: var(--rdo-muted); }

/* Sipariş özeti: kullanıcının alanı küçük bir kartografik plakada */
.rd-ord-plate { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--rdo-line); border-radius: 14px; background: var(--rdo-surface-2); }
.rd-ord-plate__shape { width: 76px; height: 76px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--rdo-line); border-radius: 10px; color: var(--rdo-primary-ink); background-color: var(--rdo-surface); background-image: linear-gradient(var(--rdo-grid) 1px, transparent 1px), linear-gradient(90deg, var(--rdo-grid) 1px, transparent 1px); background-size: 12px 12px; background-position: -1px -1px; }
.rd-ord-kv { display: grid; gap: 6px; margin: 0; }
.rd-ord-kv > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.rd-ord-kv dt { flex: 0 0 auto; font-size: 12.5px; color: var(--rdo-muted); }
.rd-ord-kv dd { min-width: 0; margin: 0; font-size: 13.5px; font-weight: 600; text-align: end; overflow-wrap: anywhere; }
.rd-ord-kv dd.is-data { font-family: var(--rdo-mono); font-size: 13px; font-variant-numeric: tabular-nums; }
.rd-ord-noloc { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px; border: 1px dashed var(--rdo-line-strong); border-radius: 12px; font-size: 13px; line-height: 1.45; color: var(--rdo-muted); }

/* Yıllar */
.rd-ord-years { margin-top: 16px; }
.rd-ord-years[hidden] { display: none; }
.rd-ord-sub { margin: 0; font-size: 13.5px; font-weight: 600; }
.rd-ord-ylist { display: grid; gap: 8px; margin-top: 10px; }
.rd-ord-yrow { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.rd-ord-input.rd-ord-year { font-family: var(--rdo-mono); font-weight: 500; font-variant-numeric: tabular-nums; }
.rd-ord-input.rd-ord-year::placeholder { font-family: Inter, system-ui, sans-serif; font-weight: 400; }
.rd-ord-yst { display: flex; align-items: flex-start; gap: 7px; margin: 0; font-size: 12.5px; line-height: 1.35; color: var(--rdo-muted); }
.rd-ord-yst::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: currentColor; display: none; }
.rd-ord-yst.is-preview { color: var(--rdo-st-preview); }
.rd-ord-yst.is-archive { color: var(--rdo-st-archive); }
.rd-ord-yst.is-aerial { color: var(--rdo-st-aerial); }
.rd-ord-yst.is-err { color: var(--rdo-danger); }
.rd-ord-yst.is-preview::before, .rd-ord-yst.is-archive::before, .rd-ord-yst.is-aerial::before, .rd-ord-yst.is-err::before { display: block; }
.rd-ord-yx { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--rdo-muted); cursor: pointer; }
.rd-ord-yx:hover { background: var(--rdo-surface-2); color: var(--rdo-text); }
.rd-ord-yx[hidden], .rd-ord-add[hidden] { display: none; }
.rd-ord-add { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 6px 4px; border: 0; background: transparent; color: var(--rdo-primary-ink); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.rd-ord-add:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Kullanım amacı çipleri (onay kutusu; klavyeyle boşlukla seçilir) */
.rd-ord-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-ord-chip { position: relative; display: inline-flex; margin: 0; }
.rd-ord-chip input { position: absolute; top: 0; left: 0; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.rd-ord-chip span { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 13px; border: 1.5px solid var(--rdo-line-strong); border-radius: 999px; background: var(--rdo-surface); color: var(--rdo-text); font-size: 13.5px; font-weight: 600; line-height: 1.25; transition: background-color .15s, border-color .15s, color .15s; }
.rd-ord-chip:hover span { border-color: var(--rdo-primary); }
.rd-ord-chip input:checked + span { background: var(--rdo-primary); border-color: var(--rdo-primary); color: #fff; }
.rd-ord-chip input:focus-visible + span { outline: 3px solid var(--rdo-accent); outline-offset: 2px; }

/* İletişim alanları */
.rd-ord-field { margin-top: 12px; }
.rd-ord-field:first-of-type { margin-top: 0; }
.rd-ord-field > label { display: block; margin: 0 0 6px; font-size: 13.5px; font-weight: 600; color: var(--rdo-text); }
.rd-ord-req { color: var(--rdo-danger); }
/* 16 px: iOS odaklanınca sayfayı yakınlaştırmasın */
.rd-ord-input { display: block; width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; border: 1.5px solid var(--rdo-line-strong); border-radius: 10px; background: var(--rdo-surface); color: var(--rdo-text); font: inherit; font-size: 16px; line-height: 1.35; transition: border-color .15s, box-shadow .15s; }
.rd-ord-input::placeholder { color: var(--rdo-muted); opacity: .75; }
.rd-ord-input:focus, .rd-ord-input:focus-visible { outline: none; border-color: var(--rdo-primary); box-shadow: 0 0 0 3px rgba(31, 166, 255, .28); }
html.dark .rd-ord-input:focus { border-color: var(--rdo-accent); }
.rd-ord-input[aria-invalid="true"] { border-color: var(--rdo-danger); }
[dir="rtl"] .rd-ord-input[dir="ltr"] { text-align: right; }
.rd-ord-note { min-height: 84px; resize: vertical; }
.rd-ord-count { margin: 4px 0 0; font-family: var(--rdo-mono); font-size: 11.5px; color: var(--rdo-muted); text-align: end; }
.rd-ord-help--contact { margin: 8px 0 0; }
.rd-ord-err { display: flex; gap: 6px; margin: 6px 0 0; font-size: 12.5px; font-weight: 600; line-height: 1.35; color: var(--rdo-danger); }
.rd-ord-err:empty { display: none; }
.rd-ord-field--consent { margin-top: 16px; }
.rd-ord-field > .rd-ord-consent { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 13.5px; font-weight: 400; line-height: 1.5; color: var(--rdo-text); cursor: pointer; }
.rd-ord-consent input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--rdo-primary); cursor: pointer; }
.rd-ord-consent a { color: var(--rdo-primary-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.rd-ord-hp { position: absolute; left: -10000px; inset-inline-start: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Alt bölüm: hata, gönder, WhatsApp yedeği */
[dir="rtl"] .rd-ord-hp { left: auto; right: -10000px; }
.rd-ord-foot { flex: 0 0 auto; padding: 12px 22px calc(14px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--rdo-line); background: var(--rdo-surface); }
.rd-ord-alert { margin: 0 0 10px; padding: 10px 12px; border-radius: 11px; background: var(--rdo-danger-soft); color: var(--rdo-danger); font-size: 13.5px; line-height: 1.45; }
.rd-ord-alert:empty { display: none; }
.rd-ord-alert p { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-weight: 600; }
.rd-ord-alert p .rd-ord-i { margin-top: 1px; }
.rd-ord-alert .rd-ord-btn { margin-top: 10px; background: var(--rdo-surface); }
.rd-ord-submit { min-height: 52px; font-size: 16px; }
.rd-ord-submit[aria-busy="true"] { cursor: progress; }
.rd-ord-spin { display: none; width: 18px; height: 18px; border: 2.5px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; animation: rdo-spin .8s linear infinite; }
.rd-ord-submit[aria-busy="true"] .rd-ord-spin { display: inline-block; }
.rd-ord-alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 6px; margin: 10px 0 0; font-size: 13.5px; color: var(--rdo-muted); text-align: center; }
.rd-ord-alt a { color: var(--rdo-wa-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--rdo-wa); text-underline-offset: 3px; }

/* Başarı ekranı */
.rd-ord-done { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; align-items: center; padding: 40px 24px 28px; text-align: center; }
.rd-ord-done[hidden], [data-ord-done-nobox][hidden] { display: none; }
.rd-ord-done__badge { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: var(--rdo-ok-soft); color: var(--rdo-ok); }
.rd-ord-done__t { margin: 16px 0 0; font-size: 22px; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; outline: none; }
.rd-ord-done__label { margin: 20px 0 6px; font-size: 13px; color: var(--rdo-muted); }
.rd-ord-done__no { display: inline-block; margin: 0; padding: 10px 18px; border: 1.5px dashed var(--rdo-line-strong); border-radius: 12px; background: var(--rdo-surface-2); color: var(--rdo-text); font-family: var(--rdo-mono); font-size: 24px; font-weight: 700; letter-spacing: .03em; -webkit-user-select: all; user-select: all; }
.rd-ord-done__eta { display: inline-flex; align-items: center; gap: 8px; margin: 20px 0 0; font-size: 14.5px; font-weight: 700; color: var(--rdo-ok); }
.rd-ord-done__next { max-width: 36ch; margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--rdo-muted); }
.rd-ord-done__actions { display: grid; gap: 8px; width: 100%; max-width: 320px; margin-top: 24px; }

@keyframes rdo-spin { to { transform: rotate(360deg); } }
@keyframes rdo-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes rdo-up { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .rd-ord-card--float, .rd-ord-sticky { animation: none; }
  .rd-ord-ov, .rd-ord-panel, .rd-ord-btn, .rd-ord-input { transition: none; }
  .rd-ord-spin { animation-duration: 1.6s; }
}
