/* php/public/assets/parvy.css
 * /parvy tanıtım sayfası — Framer "Design 1" projesinin birebir karşılığı.
 * Tek bilinçli sapma: başlıklarda tasarımın Fredoka'sı yerine Outfit. Fredoka
 * ş/Ş/ğ/İ gliflerini taşımıyor, bu harfler yedek fonttan düşüyor ve kelime
 * ortasında font değişiyor (site.css'teki yasal sayfa kararıyla aynı gerekçe).
 * Renkler, ölçüler ve tipografi tasarımdaki jetonlardan aktarıldı; kırılım
 * tasarımdaki gibi tek eşikli: >=1200px masaüstü, altı telefon düzeni.
 */

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 88px; }

:root {
  --pv-bg: rgb(10, 10, 12);
  --pv-surface: rgb(20, 19, 22);
  --pv-border: rgba(255, 255, 255, 0.1);
  --pv-text: rgb(245, 240, 230);
  --pv-muted: rgb(156, 151, 140);
  --pv-blue-light: rgb(111, 168, 255);
  --pv-blue-mid: rgb(37, 99, 235);
  --pv-blue-deep: rgb(30, 58, 138);
  --pv-success: rgb(74, 222, 128);
  --pv-danger: rgb(248, 113, 113);

  --pv-pad-x: 20px;          /* telefon; masaüstünde 32px */
  --pv-display-xl: 52px;     /* telefon; masaüstünde 104px */
  --pv-display-2: 30px;      /* telefon; masaüstünde 46px */
}

@media (min-width: 1200px) {
  :root {
    --pv-pad-x: 32px;
    --pv-display-xl: 104px;
    --pv-display-2: 46px;
  }
}

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

body.parvyPage {
  margin: 0;
  background: var(--pv-bg);
  color: var(--pv-text);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Bağlantılar varsayılan olarak bulunduğu metnin rengini alır. Seçici bilerek
   eleman düzeyinde: sınıflı kurallar (.pvAuthNote a, .pvFooterCol a ...) bunu
   özgüllük savaşı olmadan ezebilsin. Bu dosya yalnız Parvy sayfalarında yüklü. */
a { color: inherit; text-decoration: none; }
.pvPill,
.pvCta,
.pvSubmit { color: rgb(10, 10, 12); }
body.parvyPage h1, body.parvyPage h2, body.parvyPage h3, body.parvyPage p { margin: 0; }

/* --- tipografi ölçeği (Framer metin stilleri) --------------------------- */
.pvDisplayXl {
  font-family: Outfit, Inter, sans-serif;
  font-weight: 700;
  font-size: var(--pv-display-xl);
  line-height: 0.95em;
  letter-spacing: -0.01em;
}
.pvDisplay2 {
  font-family: Outfit, Inter, sans-serif;
  font-weight: 600;
  font-size: var(--pv-display-2);
  line-height: 1.05em;
  letter-spacing: -0.005em;
}
.pvDisplay3 {
  font-family: Outfit, Inter, sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.15em;
}
.pvBodyLarge { font-size: 18px; line-height: 1.6em; }
.pvBody { font-size: 14.5px; line-height: 1.55em; }
.pvEyebrow { font-size: 13px; font-weight: 700; line-height: 1.6em; letter-spacing: 0.04em; }

.pvMuted { color: var(--pv-muted); }
.pvAccent { color: var(--pv-blue-light); }

/* --- ortak bölüm kabuğu -------------------------------------------------- */
.pvSection {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-left: var(--pv-pad-x);
  padding-right: var(--pv-pad-x);
}

/* --- üst menü ----------------------------------------------------------- */
.pvNav {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 18px;
  overflow: clip;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--pv-border);
}
.pvNavBrand { display: flex; align-items: center; gap: 10px; }
.pvNavBrand img { display: block; width: 38px; height: 38px; border-radius: 12px; }
.pvNavBrand span {
  font-family: Outfit, Inter, sans-serif;
  font-weight: 600;
  font-size: 21px;
  line-height: 1.2em;
}
.pvNavLinks { display: none; align-items: center; gap: 30px; }
.pvNavLinks a {
  color: var(--pv-muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2em;
  transition: color 0.2s ease;
}
.pvNavLinks a:hover { color: var(--pv-text); }

@media (min-width: 1200px) {
  .pvNav { padding: 16px 32px; }
  .pvNavLinks { display: flex; }
}

/* --- düğmeler ----------------------------------------------------------- */
.pvPill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  background: var(--pv-text);
  color: rgb(10, 10, 12);
  padding: 9px 16px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2em;
  white-space: nowrap;
}
.pvPill svg { display: block; }

.pvCta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  background: var(--pv-text);
  color: rgb(10, 10, 12);
  padding: 15px 28px;
  font-size: 14.5px;
  font-weight: 800;
  line-height: 1.2em;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.pvCta:hover { transform: scale(1.05); }
.pvCtaLarge { padding: 16px 30px; }

/* --- hero --------------------------------------------------------------- */
.pvHero {
  gap: 20px;
  padding-top: 56px;
  padding-bottom: 32px;
  overflow: clip;
}
.pvHero > * { position: relative; z-index: 2; }
.pvHero h1 { width: 100%; text-align: center; }
.pvHeroLede { max-width: 480px; text-align: center; }

.pvBlobs {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}
.pvBlob { border-radius: 999px; will-change: transform; }
.pvBlob1 { width: 60px;  height: 120px; background: linear-gradient(135deg, var(--pv-blue-deep) 0%, var(--pv-blue-mid) 100%); }
.pvBlob2 { width: 86px;  height: 86px;  background: linear-gradient(135deg, var(--pv-blue-mid) 0%, var(--pv-blue-light) 100%); }
.pvBlob3 { width: 100px; height: 60px;  background: linear-gradient(90deg, var(--pv-blue-mid) 0%, var(--pv-blue-deep) 100%); }
.pvBlob4 { width: 130px; height: 60px;  background: linear-gradient(90deg, var(--pv-blue-light) 0%, var(--pv-blue-mid) 100%); }
.pvBlob5 { width: 60px;  height: 60px;  background: linear-gradient(135deg, var(--pv-blue-deep) 0%, var(--pv-blue-mid) 100%); }

@media (min-width: 1200px) {
  .pvHero { padding-top: 80px; padding-bottom: 40px; }
  .pvBlobs { flex-wrap: nowrap; gap: 14px; height: 180px; }
  .pvBlob1 { width: 90px;  height: 180px; }
  .pvBlob2 { width: 130px; height: 130px; }
  .pvBlob3 { width: 150px; height: 90px; }
  .pvBlob4 { width: 200px; height: 90px; }
  .pvBlob5 { width: 90px;  height: 90px; }
}

/* --- istatistik rozetleri ----------------------------------------------- */
.pvStats {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 16px;
  padding-bottom: 48px;
}
.pvStat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid var(--pv-border);
  border-radius: 999px;
  background: var(--pv-surface);
}
.pvStat strong {
  font-family: Outfit, Inter, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2em;
}
.pvStat span { color: var(--pv-muted); font-size: 13px; font-weight: 500; line-height: 1.2em; }
.pvStat1 strong { color: var(--pv-blue-light); }
.pvStat2 strong { color: var(--pv-blue-mid); }
.pvStat3 strong { color: var(--pv-blue-deep); }

@media (min-width: 1200px) {
  .pvStats { flex-wrap: nowrap; gap: 16px; padding-top: 20px; padding-bottom: 60px; }
}

/* --- doluluk halkası bölümü --------------------------------------------- */
.pvRing { gap: 20px; padding-top: 160px; padding-bottom: 160px; }
.pvRing .pvEyebrow { text-align: center; }
.pvRing h2 { max-width: 600px; text-align: center; }
.pvRing .pvBodyLarge { max-width: 440px; text-align: center; color: var(--pv-muted); }
.pvRingSpacer { width: 100%; height: 56px; }

.pvDonut {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 5vw, 64px);
  width: 100%;
}
.pvDonutRing { width: clamp(90px, 28vw, 200px); height: clamp(90px, 28vw, 200px); flex-shrink: 0; }
.pvDonutCount {
  font-family: Outfit, Inter, sans-serif;
  font-size: clamp(28px, 9vw, 68px);
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  text-align: center;
}
@media (min-width: 641px) {
  .pvDonut { flex-direction: row; flex-wrap: nowrap; }
  .pvDonutCount { text-align: left; }
}
@media (min-width: 1200px) {
  .pvRing { padding-top: 260px; padding-bottom: 260px; }
}

/* --- özellik kartları ---------------------------------------------------- */
.pvFeatures { gap: 48px; padding-top: 40px; padding-bottom: 72px; }
.pvFeatures h2 { max-width: 600px; text-align: center; }
.pvGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
  max-width: 960px;
}
.pvCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 36px;
  border: 1px solid var(--pv-border);
  border-radius: 32px;
  background: var(--pv-surface);
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.pvCard h3, .pvCard p { width: 100%; text-align: center; }
.pvCard p { color: var(--pv-muted); }
.pvCardIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 20px;
  color: rgb(10, 10, 12);
  flex-shrink: 0;
}
.pvCardIcon1 { background: linear-gradient(135deg, var(--pv-blue-light) 0%, var(--pv-blue-mid) 100%); }
.pvCardIcon2 { background: linear-gradient(135deg, var(--pv-blue-mid) 0%, var(--pv-blue-deep) 100%); }
.pvCardIcon3 { background: linear-gradient(135deg, var(--pv-blue-deep) 0%, var(--pv-blue-light) 100%); }
.pvCardIcon4 { background: linear-gradient(135deg, var(--pv-blue-light) 0%, var(--pv-blue-deep) 100%); }

@media (min-width: 1200px) {
  .pvFeatures { padding-top: 60px; padding-bottom: 100px; }
  .pvGrid { grid-template-columns: repeat(2, minmax(320px, 1fr)); }
}

/* --- sıkça sorulan sorular ---------------------------------------------- */
.pvFaq { gap: 48px; padding-top: 40px; padding-bottom: 72px; }
.pvFaq h2 { max-width: 600px; text-align: center; }
.pvFaqList {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 760px;
}
.pvFaqItem {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 28px 32px;
  border: 1px solid var(--pv-border);
  border-radius: 20px;
  background: var(--pv-surface);
}
.pvFaqItem h3 { font-family: Inter, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.2em; }
.pvFaqItem p { color: var(--pv-muted); }

.pvContactCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 560px;
  padding: 40px;
  border: 1px solid var(--pv-border);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(111, 168, 255, 0.1) 0%, rgba(37, 99, 235, 0.06) 100%);
  text-align: center;
}
.pvContactIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(111, 168, 255, 0.14);
  color: var(--pv-blue-light);
}
.pvContactCard h3 {
  font-family: Outfit, Inter, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2em;
}
.pvContactCard p { color: var(--pv-muted); }
.pvContactCard .pvCta { padding: 13px 26px; font-size: 14px; font-weight: 700; }

@media (min-width: 1200px) {
  .pvFaq { padding-top: 60px; padding-bottom: 100px; }
}

/* --- kapanış çağrısı ----------------------------------------------------- */
.pvClosing {
  gap: 24px;
  padding-top: 64px;
  padding-bottom: 64px;
  background: #000;
  border-top: 1px solid var(--pv-border);
  border-bottom: 1px solid var(--pv-border);
}
.pvClosingIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  color: rgb(10, 10, 12);
  background: linear-gradient(135deg, var(--pv-blue-light) 0%, var(--pv-blue-mid) 50%, var(--pv-blue-deep) 100%);
}
.pvClosing h2 { max-width: 620px; text-align: center; }
.pvClosing .pvBodyLarge { max-width: 440px; text-align: center; color: var(--pv-muted); }

@media (min-width: 1200px) {
  .pvClosing { padding-top: 90px; padding-bottom: 90px; }
}

/* --- alt bilgi ----------------------------------------------------------- */
.pvFooter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: 100%;
  padding: 48px var(--pv-pad-x) 32px;
}
.pvFooterGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  width: 100%;
  max-width: 1080px;
}
.pvFooterCol { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pvFooterCol:first-child { align-items: center; text-align: center; }
.pvFooterBrand { display: flex; align-items: center; gap: 10px; }
.pvFooterBrand img { display: block; width: 30px; height: 30px; border-radius: 9px; }
.pvFooterBrand span {
  font-family: Outfit, Inter, sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
}
.pvFooterCol > p { color: var(--pv-muted); }
.pvFooterHeading {
  color: var(--pv-blue-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2em;
}
.pvFooterCol a {
  color: var(--pv-muted);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.2em;
  transition: color 0.2s ease;
}
.pvFooterCol a:hover { color: var(--pv-text); }
.pvFooterRule { width: 100%; max-width: 1080px; height: 0; border-top: 1px solid var(--pv-border); }
.pvFooterMeta {
  width: 100%;
  max-width: 1080px;
  color: var(--pv-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2em;
  text-align: center;
}

@media (min-width: 1200px) {
  .pvFooter { padding: 64px 32px 40px; }
  .pvFooterGrid { grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 32px; }
  .pvFooterCol:first-child { align-items: flex-start; text-align: left; }
}

/* --- görününce beliren kartlar ------------------------------------------ */
.pvReveal {
  opacity: 0;
  transform: translateY(30px) scale(0.9);
  transition: opacity 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.pvReveal.pvRevealIn { opacity: 1; transform: none; }
.pvCard.pvReveal:hover { transform: translateY(30px) scale(0.9); }
.pvCard.pvRevealIn:hover { transform: translateY(-6px) scale(1.02); }

@media (prefers-reduced-motion: reduce) {
  .pvReveal { opacity: 1; transform: none; transition: none; }
  .pvBlob { transform: none !important; }
  .pvCta, .pvCard { transition: none; }
}

/* ======================================================================
 * Başvuru formu — Framer "Design 1" /isletme-basvuru sayfası.
 * Tasarım yalnızca masaüstü kırılımını tanımlıyor; dar ekran değerleri
 * (kenar boşluğu, kart iç boşluğu) aynı dilde türetildi.
 * ====================================================================== */

.pvFormPage {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 72px var(--pv-pad-x) 96px;
}
.pvFormCard {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 720px;
  padding: 28px;
  border: 1px solid var(--pv-border);
  border-radius: 32px;
  background: var(--pv-surface);
}
.pvFormIntro { display: flex; flex-direction: column; gap: 16px; }
.pvFormIntro p:last-child { color: var(--pv-muted); }

.pvFieldset {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
.pvFieldsetRule { border-top: 1px solid var(--pv-border); padding-top: 40px; }
.pvFieldset legend {
  /* legend flex akışına girmediği için gap ona uygulanmaz; boşluğu kendisi taşır */
  float: left;
  width: 100%;
  margin-bottom: 20px;
  padding: 0;
  color: var(--pv-blue-light);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6em;
  text-transform: uppercase;
}

.pvField { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.pvField > span {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2em;
  color: var(--pv-text);
}
.pvHint { color: var(--pv-muted); font-size: 14.5px; line-height: 1.55em; }

.pvInput,
.pvSelect,
.pvTextarea {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--pv-border);
  border-radius: 12px;
  background: var(--pv-bg);
  color: var(--pv-text);
  font-family: inherit;
  font-size: 14.5px;
  line-height: 1.55em;
  transition: border-color 0.2s ease;
}
.pvTextarea { resize: vertical; min-height: 96px; }
.pvInput::placeholder,
.pvTextarea::placeholder { color: var(--pv-muted); }
.pvInput:focus,
.pvSelect:focus,
.pvTextarea:focus,
.pvFileRow:focus-within {
  outline: none;
  border-color: var(--pv-blue-light);
}

.pvSelect {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  /* tasarımdaki mavi chevron */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236FA8FF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
.pvSelect option { background: var(--pv-bg); color: var(--pv-text); }

/* --- dosya alanı -------------------------------------------------------- */
.pvFileRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 13px 16px;
  border: 1px dashed var(--pv-border);
  border-radius: 12px;
  background: var(--pv-bg);
}
.pvFileName {
  overflow: hidden;
  color: var(--pv-muted);
  font-size: 14.5px;
  line-height: 1.55em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pvFileName.pvFilePicked { color: var(--pv-text); }
.pvFileRow input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.pvFileButton {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 14px;
  border: 1px solid var(--pv-border);
  border-radius: 8px;
  background: var(--pv-surface);
  color: var(--pv-text);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2em;
}
.pvFileButton:hover { border-color: var(--pv-blue-light); }

/* --- onay kutusu ve gönderim -------------------------------------------- */
.pvConsent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  font-size: 14.5px;
  line-height: 1.55em;
  color: var(--pv-muted);
}
.pvConsent input[type="checkbox"] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--pv-border);
  border-radius: 6px;
  background: var(--pv-bg);
  cursor: pointer;
}
.pvConsent input[type="checkbox"]:checked {
  border-color: var(--pv-blue-light);
  background: var(--pv-blue-light)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230A0A0C' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4 10-10'/%3E%3C/svg%3E")
    center / 14px no-repeat;
}
.pvConsent a { color: var(--pv-blue-light); }

.pvSubmit {
  align-self: flex-start;
  padding: 16px 32px;
  border: 0;
  border-radius: 999px;
  background: var(--pv-text);
  color: rgb(10, 10, 12);
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2em;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.pvSubmit:hover { transform: scale(1.05); }

.pvFormError {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(248, 113, 113, 0.4);
  border-radius: 12px;
  background: rgba(248, 113, 113, 0.08);
  color: var(--pv-danger);
  font-size: 14.5px;
  line-height: 1.55em;
}

@media (min-width: 720px) {
  .pvFormCard { padding: 64px; }
}
@media (min-width: 1200px) {
  .pvFormPage { padding: 140px 32px 160px; }
}
@media (prefers-reduced-motion: reduce) {
  .pvSubmit { transition: none; }
}

/* --- başvuru alındı ------------------------------------------------------ */
.pvNoticeCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: 560px;
  padding: 28px;
  border: 1px solid var(--pv-border);
  border-radius: 32px;
  background: var(--pv-surface);
  text-align: center;
}
.pvNoticeCard p { color: var(--pv-muted); }
.pvNoticeCard a { color: var(--pv-blue-light); }
.pvNoticeIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(74, 222, 128, 0.12);
  color: var(--pv-success);
}
.pvNoticePage { padding: 88px var(--pv-pad-x) 112px; }

@media (min-width: 720px) {
  .pvNoticeCard { padding: 64px; }
}
@media (min-width: 1200px) {
  .pvNoticePage { padding: 160px 32px 200px; }
}

/* --- yasal metin sayfaları ----------------------------------------------
 * Gövde HTML'i legal-html/*.html dosyalarından geliyor; etiketler tasarımdaki
 * karşılıklarına göre biçimleniyor (h2 -> Display 3, h3 -> mavi Inter 16,
 * p -> Body). Tasarımda olmayan table/ul/code gibi etiketler aynı jetonlarla
 * türetildi.
 * ----------------------------------------------------------------------- */
.pvLegalCard {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
  max-width: 760px;
  padding: 28px;
  border: 1px solid var(--pv-border);
  border-radius: 32px;
  background: var(--pv-surface);
}
.pvLegalCard > h1 {
  font-family: Outfit, Inter, sans-serif;
  font-weight: 600;
  font-size: var(--pv-display-2);
  line-height: 1.05em;
  letter-spacing: -0.005em;
}
.pvLegalCard > h2 {
  margin-top: 12px;
  font-family: Outfit, Inter, sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.15em;
}
.pvLegalCard > h3 {
  color: var(--pv-blue-light);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2em;
}
.pvLegalCard > p,
.pvLegalCard li {
  color: var(--pv-muted);
  font-size: 14.5px;
  line-height: 1.55em;
}
.pvLegalCard strong { color: var(--pv-text); font-weight: 600; }
.pvLegalCard a { color: var(--pv-blue-light); }
.pvLegalCard ul,
.pvLegalCard ol { display: flex; flex-direction: column; gap: 8px; margin: 0; padding-left: 20px; }
.pvLegalCard code {
  padding: 2px 6px;
  border: 1px solid var(--pv-border);
  border-radius: 6px;
  background: var(--pv-bg);
  color: var(--pv-text);
  font-size: 13px;
}
.pvLegalCard .pvLegalMeta {
  width: 100%;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--pv-border);
  white-space: pre-line;
}
.pvLegalCard table {
  width: 100%;
  border: 1px solid var(--pv-border);
  border-radius: 12px;
  border-collapse: collapse;
  overflow: hidden;
  font-size: 14.5px;
  line-height: 1.55em;
}
.pvLegalCard th,
.pvLegalCard td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--pv-border);
  color: var(--pv-muted);
  text-align: left;
  vertical-align: top;
}
.pvLegalCard th { background: var(--pv-bg); color: var(--pv-text); font-weight: 600; }
.pvLegalCard tr:last-child td { border-bottom: 0; }

@media (min-width: 720px) {
  .pvLegalCard { padding: 64px; }
}
.pvLegalCard .pvTableScroll { width: 100%; overflow-x: auto; }
.pvLegalCard .pvTableScroll table { min-width: 420px; }

/* ======================================================================
 * Panel giriş ekranları — /panel/giris, /panel/etkinlestir, /panel/sifre-kurtarma.
 * Ana sayfanın dilini sürdürür: koyu zemin, arka planda ana sayfadaki hap
 * biçimli mavi bloklar (burada bulanık ve yavaş süzülen bir ambiyans olarak),
 * üstünde tek bir yüzey kartı.
 * ====================================================================== */

.pvAuthPage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 48px var(--pv-pad-x);
  overflow: hidden;
}

/* arka plan şekilleri */
.pvAuthShapes {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.pvAuthShape {
  position: absolute;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.62;
  animation: pvDrift 18s ease-in-out infinite alternate;
}
.pvAuthShape1 {
  top: -60px; left: -80px;
  width: 300px; height: 480px;
  background: linear-gradient(135deg, var(--pv-blue-deep) 0%, var(--pv-blue-mid) 100%);
  animation-duration: 21s;
}
.pvAuthShape2 {
  top: 12%; right: -90px;
  width: 340px; height: 340px;
  background: linear-gradient(135deg, var(--pv-blue-mid) 0%, var(--pv-blue-light) 100%);
  animation-duration: 17s;
  animation-delay: -4s;
}
.pvAuthShape3 {
  bottom: -110px; left: 18%;
  width: 480px; height: 250px;
  background: linear-gradient(90deg, var(--pv-blue-mid) 0%, var(--pv-blue-deep) 100%);
  animation-duration: 24s;
  animation-delay: -9s;
}
.pvAuthShape4 {
  bottom: 8%; right: 12%;
  width: 200px; height: 200px;
  background: linear-gradient(135deg, var(--pv-blue-light) 0%, var(--pv-blue-mid) 100%);
  opacity: 0.45;
  animation-duration: 19s;
  animation-delay: -12s;
}
/* şekillerin üstünde, karta doğru koyulaşan perde */
.pvAuthShapes::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(52% 44% at 50% 50%, rgba(10, 10, 12, 0.78) 0%, rgba(10, 10, 12, 0.28) 100%);
}

.pvAuthPill {
  position: absolute;
  /* perdenin (::after) üstünde kalsın; bulanık şekiller altında kalır */
  z-index: 1;
  border-radius: 999px;
  opacity: 0.16;
  animation: pvDrift 26s ease-in-out infinite alternate;
}
.pvAuthPill1 {
  top: 22%; left: 8%;
  width: 90px; height: 180px;
  background: linear-gradient(135deg, var(--pv-blue-light) 0%, var(--pv-blue-mid) 100%);
}
.pvAuthPill2 {
  bottom: 18%; right: 9%;
  width: 200px; height: 90px;
  background: linear-gradient(90deg, var(--pv-blue-mid) 0%, var(--pv-blue-light) 100%);
  animation-delay: -13s;
}
.pvAuthPill3 {
  top: 10%; right: 26%;
  width: 90px; height: 90px;
  background: linear-gradient(135deg, var(--pv-blue-deep) 0%, var(--pv-blue-mid) 100%);
  animation-delay: -7s;
}

@keyframes pvDrift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(28px, -22px, 0) scale(1.08); }
}

/* kart */
.pvAuthCard {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 440px;
  padding: 32px 24px;
  border: 1px solid var(--pv-border);
  border-radius: 32px;
  background: rgba(20, 19, 22, 0.86);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}
.pvAuthBrand { display: flex; align-items: center; justify-content: center; gap: 10px; }
.pvAuthBrand img { display: block; width: 38px; height: 38px; border-radius: 12px; }
.pvAuthBrand span {
  font-family: Outfit, Inter, sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.2em;
}

.pvAuthSwitch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--pv-border);
  border-radius: 999px;
  background: var(--pv-bg);
}
.pvAuthSwitch a {
  padding: 9px 12px;
  border-radius: 999px;
  color: var(--pv-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2em;
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.pvAuthSwitch a:hover { color: var(--pv-text); }
.pvAuthSwitch a.isActive { background: var(--pv-text); color: rgb(10, 10, 12); }

.pvAuthHead { display: flex; flex-direction: column; gap: 8px; text-align: center; }
.pvAuthHead h1 {
  font-family: Outfit, Inter, sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.15em;
}
.pvAuthHead h1 span { color: var(--pv-blue-light); }
.pvAuthHead p { color: var(--pv-muted); font-size: 14.5px; line-height: 1.55em; }

.pvAuthForm { display: flex; flex-direction: column; gap: 20px; width: 100%; }
.pvAuthForm h2 {
  margin-top: 4px;
  font-family: Outfit, Inter, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2em;
}
.pvAuthForm .pvSubmit,
.pvAuthCard > .pvSubmit { align-self: stretch; text-align: center; }
.pvAuthForm code {
  padding: 2px 6px;
  border: 1px solid var(--pv-border);
  border-radius: 6px;
  background: var(--pv-bg);
  font-size: 12.5px;
}

.pvAuthNote {
  color: var(--pv-muted);
  font-size: 13px;
  line-height: 1.55em;
  text-align: center;
}
.pvAuthNote a { color: var(--pv-blue-light); }
.pvAuthNote--left { text-align: left; }

.pvAuthOk {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(74, 222, 128, 0.4);
  border-radius: 12px;
  background: rgba(74, 222, 128, 0.08);
  color: var(--pv-success);
  font-size: 14.5px;
  line-height: 1.55em;
}

.pvAuthDivider { height: 1px; border-top: 1px solid var(--pv-border); }

@media (min-width: 480px) {
  .pvAuthCard { padding: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .pvAuthShape,
  .pvAuthPill { animation: none; }
}
.pvAuthCard--wide { max-width: 720px; }
.pvAuthCard--wide .pvAuthHead { text-align: left; }
.pvAuthCard--wide .pvAuthSwitch { max-width: 320px; align-self: center; width: 100%; }

/* --- başvuru alındı kartı (auth kabuğu) ---------------------------------- */
.pvAuthBadge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto;
  border-radius: 999px;
  background: rgba(74, 222, 128, 0.12);
  box-shadow: 0 0 0 10px rgba(74, 222, 128, 0.06);
  color: var(--pv-success);
}
.pvAuthSteps {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pvStep;
}
.pvAuthSteps li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--pv-border);
  background: var(--pv-bg);
  color: var(--pv-muted);
  font-size: 14px;
  line-height: 1.5em;
  text-align: left;
}
.pvAuthSteps li:first-child { border-radius: 14px 14px 0 0; }
.pvAuthSteps li:last-child { border-radius: 0 0 14px 14px; }
.pvAuthSteps li + li { border-top: 0; }
.pvAuthSteps li::before {
  counter-increment: pvStep;
  content: counter(pvStep);
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(111, 168, 255, 0.14);
  color: var(--pv-blue-light);
  font-size: 12px;
  font-weight: 700;
}
.pvAuthSteps strong { color: var(--pv-text); font-weight: 600; }

/* --- giriş ↔ kayıt geçişi ------------------------------------------------
 * İki ekran ayrı belge (tam sayfa yüklemesi). Cross-document View Transition
 * ile aradaki sıçrama yumuşatılıyor: kart, marka ve Giriş/Kayıt seçicisi
 * ortak isim taşıdığı için yeni sayfadaki karşılığına dönüşüyor (440px kart
 * 720px karta genişliyor). Desteklemeyen tarayıcıda @supports altındaki
 * kısa açılma animasyonu devreye giriyor.
 * ----------------------------------------------------------------------- */
@view-transition { navigation: auto; }

.pvAuthCard { view-transition-name: pv-auth-card; }
.pvAuthBrand { view-transition-name: pv-auth-brand; }
.pvAuthSwitch { view-transition-name: pv-auth-switch; }
/* kart içeriği tek parça geçsin; metin/form ayrı ayrı zıplamasın */
.pvAuthHead { view-transition-name: pv-auth-head; }

::view-transition-group(pv-auth-card) {
  animation-duration: 420ms;
  animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
}
::view-transition-old(pv-auth-card),
::view-transition-new(pv-auth-card) {
  /* kart yüzeyi boyut değiştirirken içerik esnemesin */
  height: 100%;
  overflow: clip;
  animation-duration: 260ms;
}
::view-transition-old(pv-auth-head),
::view-transition-new(pv-auth-head) { animation-duration: 220ms; }
::view-transition-group(pv-auth-brand),
::view-transition-group(pv-auth-switch) {
  animation-duration: 420ms;
  animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
}
::view-transition-old(root),
::view-transition-new(root) { animation-duration: 300ms; }

@supports not (view-transition-name: none) {
  .pvAuthCard {
    animation: pvAuthIn 320ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }
}

@keyframes pvAuthIn {
  from { opacity: 0; transform: translateY(12px) scale(0.985); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .pvAuthCard { animation: none; }
}
