/* ==========================================================================
   Dinamik FORMLAR (Yönetim › Form Yönetimi → sayfaya [form:anahtar]) ve ANKETLER ([anket:anahtar]) — site teması
   Renkler Tema Stüdyosu değişkenlerinden (--ax-*) gelir; değişken yoksa varsayılan site paleti kullanılır.
   Not: anket kodu (core/SurveyManager.php) --bld-* değişkenlerini okur; burada site renklerine bağlanır.
   ========================================================================== */
body.cx-body {
  --bld-navy: var(--ax-navy, #1f3263);
  --bld-primary: var(--ax-or, #f47b20);
  --bld-primary-d: var(--ax-or2, #e8650f);
  --bld-primary-l: var(--ax-orl, #fff1e6);
  --bld-bg: var(--ax-bg, #f3f5f9);
}

/* ── Form kartı ── */
.dyn-form { position: relative; margin: 20px 0 30px; padding: 30px 32px 26px; background: #fff; border: 1px solid var(--ax-line, #e4e8f0); border-radius: 24px; box-shadow: 0 22px 50px -36px rgba(31, 50, 99, .4); font-family: inherit; text-align: left; }
.dyn-form *, .dyn-form *::before, .dyn-form *::after { box-sizing: border-box; }
.dyn-form__intro { margin: 0 0 18px; font-size: 16px; line-height: 1.7; color: var(--ax-text, #4b5672); }

/* ── Alan ızgarası: col-12 / col-md-6 / col-md-4 / col-md-3 ── */
.dyn-form__row { display: flex; flex-wrap: wrap; margin: 0 -9px; }
.dyn-form__group { flex: 0 0 100%; max-width: 100%; min-width: 0; padding: 0 9px; margin-bottom: 20px; }
@media (min-width: 768px) {
  .dyn-form__group.col-md-6, .dyn-form__group.col-6 { flex-basis: 50%; max-width: 50%; }
  .dyn-form__group.col-md-4, .dyn-form__group.col-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
  .dyn-form__group.col-md-3, .dyn-form__group.col-3 { flex-basis: 25%; max-width: 25%; }
}

/* ── Etiket + girdiler ── */
.dyn-form__label { display: block; margin: 0 0 8px; font-size: 13.5px; font-weight: 800; letter-spacing: .01em; line-height: 1.4; color: var(--ax-ink, #1b2a52); }
.dyn-form__req { margin-left: 2px; color: #dc2626; }
.dyn-form__input { display: block; width: 100%; height: 52px; padding: 0 16px; border: 1.5px solid var(--ax-line, #e4e8f0); border-radius: 14px; background: #fbfcfe; font: inherit; font-size: 15px; color: var(--ax-ink, #1b2a52); transition: border-color .2s, box-shadow .2s, background .2s; -webkit-appearance: none; appearance: none; }
.dyn-form__input::placeholder { color: #9aa5bd; }
.dyn-form__input:hover { border-color: #cfd6e4; }
.dyn-form__input:focus { outline: 0; border-color: var(--ax-or, #f47b20); background: #fff; box-shadow: 0 0 0 4px rgba(244, 123, 32, .14); }
.dyn-form__textarea, textarea.dyn-form__input { height: auto; min-height: 140px; padding: 14px 16px; line-height: 1.65; resize: vertical; }
.dyn-form__select, select.dyn-form__input { padding-right: 44px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5l6 6 6-6' fill='none' stroke='%23f47b20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; }
.dyn-form__input[type="file"] { height: auto; padding: 10px 12px; cursor: pointer; font-size: 14px; color: var(--ax-text, #4b5672); }
.dyn-form__input[type="file"]::file-selector-button { margin-right: 14px; padding: 9px 16px; border: 0; border-radius: 10px; background: var(--ax-orl, #fff1e6); color: var(--ax-or2, #e8650f); font: inherit; font-weight: 800; font-size: 13px; cursor: pointer; transition: background .2s, color .2s; }
.dyn-form__input[type="file"]:hover::file-selector-button { background: var(--ax-or, #f47b20); color: #fff; }

/* ── Onay kutusu / radyo seçenekleri ── */
.dyn-form__check-group { display: flex; flex-wrap: wrap; gap: 10px; }
.dyn-form__check { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1.5px solid var(--ax-line, #e4e8f0); border-radius: 14px; background: #fff; font-size: 14.5px; line-height: 1.4; color: var(--ax-text, #4b5672); cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.dyn-form__check:hover { border-color: var(--ax-or, #f47b20); }
.dyn-form__check input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--ax-or, #f47b20); }
.dyn-form__check:has(input:checked) { border-color: var(--ax-or, #f47b20); background: var(--ax-orl, #fff1e6); color: var(--ax-ink, #1b2a52); font-weight: 700; }

/* ── Gönder düğmesi ── */
.dyn-form__turnstile { margin: 4px 0 14px; }
.dyn-form__submit { display: flex; margin-top: 6px; }
.dyn-form__submit--left { justify-content: flex-start; }
.dyn-form__submit--center { justify-content: center; }
.dyn-form__submit--right { justify-content: flex-end; }
.dyn-form__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 32px; border: 0; border-radius: 16px; background: var(--ax-or, #f47b20); color: #fff; font: inherit; font-size: 14px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; box-shadow: 0 16px 30px -16px rgba(244, 123, 32, .75); transition: background .2s, transform .2s, box-shadow .2s; }
.dyn-form__btn:hover { background: var(--ax-or2, #e8650f); transform: translateY(-1px); box-shadow: 0 20px 34px -16px rgba(244, 123, 32, .8); }
.dyn-form__btn:focus-visible { outline: 3px solid rgba(244, 123, 32, .35); outline-offset: 2px; }
.dyn-form__btn--full { width: 100%; }
.dyn-form__btn i { font-size: 15px; }

/* ── Gönderim bildirimi (formun üstünde) ── */
.dyn-form__msg { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 18px; padding: 15px 18px; border-radius: 16px; font-size: 14.5px; font-weight: 600; line-height: 1.55; }
.dyn-form__msg i { flex: none; margin-top: 3px; font-size: 17px; }
.dyn-form__msg--ok { background: #ecf8ef; border: 1px solid #c7e8d0; color: #1f6b3a; }
.dyn-form__msg--err { background: #fdeeee; border: 1px solid #f5c6c6; color: #a32626; }

@media (max-width: 640px) {
  .dyn-form { padding: 22px 18px 20px; border-radius: 20px; }
  .dyn-form__btn { width: 100%; }
  .dyn-form__check { flex: 1 1 100%; }
}

/* ==========================================================================
   ANKETLER — SurveyManager kendi <style> bloğunu basar; burada yalnız site diline çekilir
   (yöneticinin ankette seçtiği genişlik/kenar boşluğu/renkler satır içi olduğu için bozulmaz)
   ========================================================================== */
body.cx-body .svf { border-color: var(--ax-line, #e4e8f0); border-radius: 24px; box-shadow: 0 22px 50px -36px rgba(31, 50, 99, .4); }
body.cx-body .svf__h { font-family: var(--ax-head, "Montserrat", "Plus Jakarta Sans", system-ui, sans-serif); font-weight: 900; letter-spacing: -.005em; }
body.cx-body .svf__d { color: var(--ax-text, #4b5672); }
body.cx-body .svf__lbl { color: var(--ax-ink, #1b2a52); font-weight: 800; }
body.cx-body .svf__in, body.cx-body .svf__opt { border-radius: 14px; border-color: var(--ax-line, #e4e8f0); }
body.cx-body .svf__in:focus { border-color: var(--ax-or, #f47b20); box-shadow: 0 0 0 4px rgba(244, 123, 32, .14); }
body.cx-body select.svf__in { -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5l6 6 6-6' fill='none' stroke='%23f47b20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; }
body.cx-body .svf__opt:hover { border-color: var(--ax-or, #f47b20); }
body.cx-body .svf__opt:has(input:checked) { color: var(--ax-ink, #1b2a52); }
body.cx-body .svf__rate label:hover, body.cx-body .svf__rate label:hover ~ label, body.cx-body .svf__rate input:checked ~ label { color: var(--ax-or, #f47b20); }
body.cx-body .svf__btn { border-radius: 16px; font-weight: 800; letter-spacing: .04em; box-shadow: 0 16px 30px -16px rgba(244, 123, 32, .75); }
body.cx-body .svf__ok { border-radius: 16px; }
