/* Suffa Mektebim — renkler ve yazı tipleri tek yerde */
:root {
  --krem: #FAF5EC;
  --krem-koyu: #F1E8D8;
  --kagit: #FFFDF8;
  --adacayi: #7F9C84;
  --adacayi-koyu: #3E5C4B;
  --adacayi-acik: #DCE7DC;
  --gul: #C48E8F;
  --gul-koyu: #9C6466;
  --gul-acik: #F2E0DE;
  --kum: #D8C6A2;
  --murekkep: #2F3B34;
  --murekkep-yumusak: #5B655E;

  --baslik: "Marcellus", "Times New Roman", serif;
  --govde: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --arapca: "Amiri", "Scheherazade New", serif;

  --kenar: 16px;
  --genislik: 1120px;
  --yuvarlak-kucuk: 10px;
  --yuvarlak: 18px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
  margin: 0;
  background: var(--krem);
  color: var(--murekkep);
  font-family: var(--govde);
  font-size: 1.0625rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--adacayi-koyu); }
h1, h2, h3 { font-family: var(--baslik); font-weight: 400; line-height: 1.2; margin: 0; color: var(--murekkep); }
p { margin: 0; }

:focus-visible { outline: 3px solid var(--gul-koyu); outline-offset: 3px; border-radius: 4px; }

.kap { width: 100%; max-width: var(--genislik); margin: 0 auto; padding: 0 var(--kenar); }
.kap-dar { max-width: 760px; }

.atla { position: absolute; left: -999px; top: 8px; background: var(--murekkep); color: #fff; padding: 8px 14px; z-index: 100; }
.atla:focus { left: 8px; }

/* ---------- Düğmeler ---------- */
.dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 12px 24px;
  border-radius: 999px; border: 2px solid transparent;
  font: 700 1rem/1.2 var(--govde); text-decoration: none; cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s;
}
.dugme-ana { background: var(--adacayi-koyu); color: #fff; }
.dugme-ana:hover { background: #2F4A3B; }
.dugme-ikinci { background: transparent; color: var(--adacayi-koyu); border-color: var(--adacayi); }
.dugme-ikinci:hover { background: var(--adacayi-acik); }
.dugme-genis { width: 100%; }

/* ---------- Üst menü ---------- */
.ust {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--krem) 92%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--krem-koyu);
}
.ust-ic { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: 16px; }
.logo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--baslik); font-size: 1.35rem; color: var(--murekkep); text-decoration: none; }
.logo-isaret { width: 26px; height: 31px; color: var(--gul-koyu); flex: none; }
.menu { display: flex; align-items: center; gap: 22px; }
.menu a { color: var(--murekkep); text-decoration: none; font-weight: 600; font-size: .97rem; }
.menu a:hover { color: var(--adacayi-koyu); text-decoration: underline; text-underline-offset: 5px; }
.menu .menu-kayit { background: var(--gul-acik); color: var(--gul-koyu); padding: 8px 16px; border-radius: 999px; }
.menu .menu-kayit:hover { background: var(--gul); color: #fff; text-decoration: none; }
.menu-dugme { display: none; }

@media (max-width: 860px) {
  .menu-dugme {
    display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px;
    background: none; border: 1.5px solid var(--kum); border-radius: 999px;
    font: 700 .95rem var(--govde); color: var(--murekkep); cursor: pointer;
  }
  .menu {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--kagit); border-bottom: 1px solid var(--krem-koyu); padding: 8px var(--kenar) 16px;
  }
  .menu.acik { display: flex; }
  .menu a { padding: 12px 4px; border-bottom: 1px solid var(--krem-koyu); }
  .menu .menu-kayit { margin-top: 12px; text-align: center; border: 0; }
}

/* ---------- Giriş ---------- */
.giris { padding: 56px 0 64px; overflow: hidden; }
.giris-ic { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.giris-selam { font-family: var(--baslik); color: var(--gul-koyu); font-size: 1.15rem; margin-bottom: 14px; }
.giris h1 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); max-width: 15ch; margin-bottom: 20px; }
.giris-alt { font-size: 1.15rem; color: var(--murekkep-yumusak); max-width: 46ch; margin-bottom: 32px; }
.giris-dugmeler { display: flex; flex-wrap: wrap; gap: 12px; }

/* Kemer: sayfanın tek "cesur" ögesi */
.giris-kemer {
  position: relative; margin: 0; justify-self: center;
  width: min(100%, 420px); aspect-ratio: 4 / 5;
  border-radius: 999px 999px 24px 24px;
  background: var(--adacayi-acik);
  border: 3px solid var(--adacayi);
  box-shadow: 0 0 0 10px var(--krem), 0 0 0 12px var(--kum);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  padding-bottom: 54px;
}
.kemer-desen {
  position: absolute; inset: 0; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23FFFDF8' stroke-width='1.2'%3E%3Cpath d='M28 6l6.4 15.6L50 28l-15.6 6.4L28 50l-6.4-15.6L6 28l15.6-6.4z'/%3E%3Crect x='17' y='17' width='22' height='22' transform='rotate(45 28 28)'/%3E%3Crect x='17' y='17' width='22' height='22'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 56px 56px;
}
.kemer-ayet {
  position: relative; margin: 0;
  font-family: var(--arapca); font-weight: 700; line-height: 1.4;
  font-size: clamp(5rem, 13vw, 8.5rem); color: var(--adacayi-koyu);
  text-shadow: 0 0 18px var(--adacayi-acik), 0 0 2px var(--adacayi-acik);
}
.giris-kemer figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: var(--kagit); border-top: 2px solid var(--adacayi);
  padding: 12px 20px; text-align: center; font-size: .92rem; color: var(--murekkep-yumusak);
}
.kemer-ayet { animation: gel 1.2s ease-out both .15s; }
@keyframes gel { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

@media (max-width: 860px) {
  .giris { padding: 32px 0 48px; }
  .giris-ic { grid-template-columns: 1fr; gap: 40px; }
  .giris h1 { max-width: none; }
  .giris-kemer { width: min(100%, 340px); }
}

/* ---------- Güven şeridi ---------- */
.serit { background: var(--adacayi-koyu); color: #F4F1E8; }
.serit-liste { list-style: none; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; padding-top: 18px; padding-bottom: 18px; }
.serit-liste li { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.serit-liste svg { width: 14px; height: 14px; color: var(--kum); flex: none; }

/* ---------- Bölümler ---------- */
.bolum { padding: 88px 0; }
.bolum-baslik { font-size: clamp(1.8rem, 3.4vw, 2.5rem); text-align: center; margin-bottom: 14px; }
.bolum-baslik::after {
  content: ""; display: block; width: 72px; height: 12px; margin: 16px auto 0;
  background:
    radial-gradient(circle, var(--gul) 3px, transparent 3.5px) center / 12px 12px no-repeat,
    linear-gradient(var(--kum), var(--kum)) left center / 26px 1.5px no-repeat,
    linear-gradient(var(--kum), var(--kum)) right center / 26px 1.5px no-repeat;
}
.bolum-giris { text-align: center; color: var(--murekkep-yumusak); max-width: 60ch; margin: 0 auto 44px; }
.kucuk-not { font-size: .9rem; color: var(--murekkep-yumusak); }
.ortali { text-align: center; margin-top: 24px; }
@media (max-width: 640px) { .bolum { padding: 64px 0; } }

/* ---------- İki kapı ---------- */
.kapi-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 36px; }
.kapi {
  position: relative; padding: 72px 36px 36px;
  border-radius: 220px 220px var(--yuvarlak) var(--yuvarlak);
  display: flex; flex-direction: column; gap: 16px;
}
.kapi-hanim { background: var(--gul-acik); }
.kapi-cocuk { background: var(--adacayi-acik); }
.kapi h3 { font-size: 1.9rem; text-align: center; }
.kapi > p { text-align: center; color: var(--murekkep-yumusak); max-width: 38ch; margin: 0 auto; }
.kapi ul { list-style: none; padding: 0; margin: 4px 0 8px; display: grid; gap: 8px; }
.kapi li { padding-left: 26px; position: relative; }
.kapi li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 9px; height: 9px; transform: rotate(45deg); background: var(--gul); }
.kapi-cocuk li::before { background: var(--adacayi); }
.kapi .dugme { align-self: center; margin-top: auto; background: var(--kagit); }
.kapi-hanim .dugme { border-color: var(--gul); color: var(--gul-koyu); }
@media (max-width: 760px) {
  .kapi-ikili { grid-template-columns: 1fr; }
  .kapi { padding: 56px 24px 28px; border-radius: 160px 160px var(--yuvarlak) var(--yuvarlak); }
}

/* ---------- Eğitimler ---------- */
.egitimler { background: var(--kagit); border-top: 1px solid var(--krem-koyu); border-bottom: 1px solid var(--krem-koyu); }
.egitim-liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 56px; }
.egitim { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--krem-koyu); }
.egitim-harf {
  font-family: var(--arapca); font-size: 2.3rem; line-height: 1; color: var(--gul-koyu);
  width: 64px; height: 72px; display: grid; place-items: center; padding-top: 6px;
  border: 1.5px solid var(--kum); border-radius: 32px 32px 8px 8px;
}
.egitim h3 { font-size: 1.35rem; margin-bottom: 6px; }
.egitim p { color: var(--murekkep-yumusak); }
@media (max-width: 760px) {
  .egitim-liste { grid-template-columns: 1fr; }
  .egitim { grid-template-columns: 52px 1fr; gap: 16px; }
  .egitim-harf { width: 52px; height: 60px; font-size: 1.9rem; }
}


/* ---------- Form ögeleri ---------- */
.soru { border: 0; margin: 0; padding: 0; min-width: 0; }
.soru legend, .alan label { font-weight: 700; margin-bottom: 10px; padding: 0; }
.secenekler { display: flex; flex-wrap: wrap; gap: 10px; }
.hap { position: relative; cursor: pointer; }
.hap input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.hap span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px;
  border: 1.5px solid var(--kum); border-radius: 999px; background: var(--kagit);
  transition: background-color .15s, border-color .15s;
}
.hap input:checked + span { background: var(--adacayi-koyu); border-color: var(--adacayi-koyu); color: #fff; }
.hap input:focus-visible + span { outline: 3px solid var(--gul-koyu); outline-offset: 2px; }


.alan { display: grid; gap: 6px; }
.alan label { margin: 0; }
.alan-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .alan-ikili { grid-template-columns: 1fr; } }
input[type="text"], input[type="tel"], input[type="number"], select, textarea {
  width: 100%; min-height: 48px; padding: 10px 14px;
  border: 1.5px solid var(--kum); border-radius: var(--yuvarlak-kucuk);
  background: var(--kagit); color: var(--murekkep); font: 400 1rem/1.5 var(--govde);
}
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--adacayi-koyu); box-shadow: 0 0 0 3px var(--adacayi-acik); }
[aria-invalid="true"] { border-color: var(--gul-koyu) !important; }
.istege-bagli { font-weight: 400; color: var(--murekkep-yumusak); }

.hata { color: var(--gul-koyu); font-weight: 600; }
.hata:empty { display: none; }

/* ---------- Nasıl işliyor ---------- */
.nasil { background: var(--adacayi-koyu); color: #F4F1E8; }
.nasil .bolum-baslik { color: #fff; }
.adimlar { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; counter-reset: adim; }
.adimlar li { counter-increment: adim; position: relative; padding-top: 70px; }
.adimlar li::before {
  content: counter(adim); position: absolute; top: 0; left: 0;
  width: 52px; height: 52px; display: grid; place-items: center;
  font-family: var(--baslik); font-size: 1.5rem; color: var(--adacayi-koyu);
  background: var(--krem); border-radius: 26px 26px 6px 6px;
}
.adimlar li:not(:last-child)::after { content: ""; position: absolute; top: 26px; left: 64px; right: -16px; border-top: 1.5px dashed var(--adacayi); }
.adimlar h3 { color: #fff; font-size: 1.3rem; margin-bottom: 8px; }
.adimlar p { color: #D6E0D7; }
@media (max-width: 860px) {
  .adimlar { grid-template-columns: 1fr; gap: 0; }
  .adimlar li { padding: 0 0 28px 72px; min-height: 52px; }
  .adimlar li:not(:last-child)::after { top: 60px; bottom: 6px; left: 26px; right: auto; border-top: 0; border-left: 1.5px dashed var(--adacayi); }
}

/* ---------- Hocalar ---------- */
.hoca-liste { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.hoca { background: var(--kagit); border: 1px solid var(--krem-koyu); border-radius: var(--yuvarlak); padding: 30px 26px; text-align: center; }
.hoca-harf {
  width: 76px; height: 88px; margin: 0 auto 18px; display: grid; place-items: center; padding-top: 8px;
  font-family: var(--arapca); font-size: 2.2rem; line-height: 1; color: var(--gul-koyu);
  background: var(--gul-acik); border-radius: 38px 38px 10px 10px;
}
.hoca > p:last-child { color: var(--murekkep-yumusak); font-size: .97rem; }
.hoca:nth-child(2) .hoca-harf { background: var(--adacayi-acik); color: var(--adacayi-koyu); }
.hoca h3 { font-size: 1.35rem; }
.hoca-alan { color: var(--gul-koyu); font-weight: 600; margin: 4px 0 14px; }
.hoca ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; color: var(--murekkep-yumusak); font-size: .97rem; }
@media (max-width: 860px) { .hoca-liste { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }

/* ---------- SSS ---------- */
.sss { background: var(--kagit); border-top: 1px solid var(--krem-koyu); }
.sss details { border-bottom: 1px solid var(--krem-koyu); }
.sss summary {
  cursor: pointer; list-style: none; padding: 20px 40px 20px 0; position: relative;
  font-weight: 700; font-size: 1.08rem;
}
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after {
  content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; margin-top: -7px;
  border-right: 2px solid var(--gul-koyu); border-bottom: 2px solid var(--gul-koyu); transform: rotate(45deg);
  transition: transform .2s;
}
.sss details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.sss details p { padding: 0 0 22px; color: var(--murekkep-yumusak); max-width: 66ch; }

/* ---------- Ön kayıt ---------- */
.kayit-formu { display: grid; gap: 20px; background: var(--kagit); border: 1px solid var(--krem-koyu); border-radius: var(--yuvarlak); padding: 32px; }
@media (max-width: 560px) { .kayit-formu { padding: 22px 16px; } }
.onay { display: flex; align-items: center; gap: 12px; font-weight: 600; cursor: pointer; min-height: 44px; }
.onay input { width: 22px; height: 22px; accent-color: var(--adacayi-koyu); }
.kayit-formu .soru legend { margin-bottom: 10px; }
.kayit-sonuc { background: var(--adacayi-acik); border-radius: var(--yuvarlak-kucuk); padding: 14px 18px; }

/* ---------- Alt bilgi ---------- */
.alt { background: var(--krem-koyu); padding: 44px 0 110px; text-align: center; }
.alt-ic { display: grid; gap: 8px; justify-items: center; }
.alt .logo { font-size: 1.3rem; }

/* ---------- Sabit WhatsApp ---------- */
.wa-sabit {
  position: fixed; right: 18px; bottom: 18px; z-index: 60;
  display: inline-flex; align-items: center; gap: 8px;
  background: #1F8F55; color: #fff; text-decoration: none; font-weight: 700;
  padding: 12px 18px 12px 14px; border-radius: 999px;
  box-shadow: 0 10px 24px -8px rgba(31, 143, 85, .6);
}
.wa-sabit svg { width: 26px; height: 26px; }
.wa-sabit:hover { background: #18784A; }
@media (max-width: 480px) { .wa-sabit span { display: none; } .wa-sabit { padding: 14px; } }
