/* ============================================================
   MS Psikiyatri Akademi — styles.css
   Tek sayfa tanıtım sitesi. Tasarım tokenları renk kartelasından.
   ============================================================ */

:root{
  --teal:#1FA5A3;
  --teal-dark:#0E7C7A;
  --ink:#0A5453;
  --deep:#073F3E;
  --orange:#F77E38;
  --orange-dark:#E0641C;
  --orange-text:#B4530F;   /* küçük turuncu metin (kicker/link/hata) — WCAG AA */
  --orange-light:#FB8B47;
  --text:#1C2A2A;
  --muted:#5E7170;
  --tint1:#EBF6F5; --tint2:#DCEFEE; --tint3:#CDE8E7;
  --cream:#FBF7EF;
  --line:#D6E7E6;
  --badge:#8ED0D0;
  --paper:#FFFFFF;
  --grad-deep:linear-gradient(160deg,#0E7C7A,#073F3E);
  --grad-cta:linear-gradient(135deg,#C2510E,#A64A0C); /* AA: beyaz metin ≥4.5 */
  --radius-lg:20px; --radius-md:14px; --radius-pill:999px;
  --shadow:0 12px 32px rgba(7,63,62,.08);
  --shadow-hover:0 20px 44px rgba(7,63,62,.14);
  --container:1140px;
  --header-h:70px;
  --font-display:'Lora', Georgia, 'Times New Roman', serif;
  --font-body:'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ---------- Reset / temel ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.65;
  color:var(--text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:var(--orange-text); }
h1,h2,h3{ font-family:var(--font-display); font-weight:500; color:var(--ink); line-height:1.18; margin:0; }
h1{ font-size:clamp(2.3rem, 4.5vw + 1rem, 3.5rem); }
h2{ font-size:clamp(1.7rem, 2.2vw + 1rem, 2.35rem); }
h3{ font-size:1.2rem; }
p{ margin:0; }
ul{ margin:0; }

.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }

/* Erişilebilirlik */
:focus-visible{ outline:3px solid var(--teal); outline-offset:2px; border-radius:6px; }
.visually-hidden{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; left:-9999px; top:8px; z-index:200;
  background:var(--teal-dark); color:#fff; padding:10px 16px; border-radius:8px; font-weight:600;
}
.skip-link:focus{ left:16px; }

/* Kicker */
.kicker{
  font-family:var(--font-body); font-weight:600; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--orange-text);
  display:inline-block; margin-bottom:12px;
}

/* ---------- Butonlar ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-weight:600; font-size:.98rem; line-height:1;
  min-height:46px; padding:13px 24px; border:1.5px solid transparent; border-radius:var(--radius-pill);
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:background .2s ease, box-shadow .2s ease, transform .12s ease, border-color .2s ease, color .2s ease;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--teal-dark); color:#fff; box-shadow:0 8px 20px rgba(14,124,122,.26); }
.btn-primary:hover{ background:var(--deep); }
.btn-secondary{ background:#fff; color:var(--ink); border-color:var(--line); }
.btn-secondary:hover{ border-color:var(--teal); color:var(--teal-dark); }
.btn-cta{ background:var(--grad-cta); color:#fff; border-radius:12px; box-shadow:0 10px 24px rgba(224,100,28,.24); }
.btn-cta:hover{ box-shadow:0 14px 30px rgba(224,100,28,.32); filter:brightness(.97); }
.btn-block{ width:100%; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.86); backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; height:var(--header-h); gap:16px; }
.brand{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-family:var(--font-display); font-weight:600; font-size:1.2rem; color:var(--ink); }
.brand img{ width:36px; height:36px; border-radius:50%; }
.brand b{ font-weight:600; }
.brand .brand-accent{ color:var(--orange-text); }
.main-nav{ display:flex; align-items:center; gap:28px; }
.main-nav a.nav-link{ text-decoration:none; color:var(--text); font-weight:500; font-size:.95rem; transition:color .2s; }
.main-nav a.nav-link:hover{ color:var(--teal-dark); }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; color:var(--ink); }
.nav-toggle svg{ display:block; }

/* ---------- Bölüm ortak ---------- */
.section{ padding:84px 0; }
[id]{ scroll-margin-top:calc(var(--header-h) + 16px); }
.section-tint{ background:var(--tint1); }
.section-head{ max-width:660px; margin:0 auto 48px; text-align:center; }
.section-head h2{ margin:2px 0 14px; }
.section-sub{ color:var(--muted); font-size:1.05rem; }

/* Fade-up (IntersectionObserver) — yalnızca JS varken gizle (JS yoksa görünür) */
html.js .reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
html.js .reveal.in-view{ opacity:1; transform:none; }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; background:var(--tint1); padding:72px 0 84px; }
.hero-decor{ position:absolute; border-radius:50%; z-index:0; pointer-events:none; }
.hero-decor.d1{ width:520px; height:520px; background:var(--tint2); top:-180px; right:-120px; }
.hero-decor.d2{ width:360px; height:360px; background:var(--cream); bottom:-160px; left:-130px; }
.hero-grid{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:44px; align-items:center; }
.hero-badge{
  display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line);
  border-radius:var(--radius-pill); padding:7px 15px; font-size:.82rem; font-weight:500; color:var(--text);
  box-shadow:0 2px 10px rgba(7,63,62,.05); margin-bottom:22px;
}
.hero-badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--orange); }
.hero h1{ margin-bottom:20px; }
.hero h1 em{ font-style:normal; color:var(--orange-dark); }
.hero-lead{ font-size:1.13rem; color:var(--text); max-width:540px; margin-bottom:28px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:28px; }
.trust-row{ display:flex; flex-wrap:wrap; gap:10px 22px; color:var(--muted); font-size:.9rem; }
.trust-row span{ display:inline-flex; align-items:center; gap:8px; }
.trust-row svg{ color:var(--teal-dark); flex:none; }

/* Hero görsel kart */
.hero-visual{ position:relative; }
.hero-card{
  position:relative; z-index:1; background:#fff; border-radius:calc(var(--radius-lg) + 4px);
  box-shadow:var(--shadow); padding:24px; border:1px solid var(--line);
}
.hero-card-inner{
  border-radius:var(--radius-lg); background:var(--badge); aspect-ratio:4/3;
  display:grid; place-items:center; padding:18px; overflow:hidden;
}
.hero-card-inner img{ width:62%; height:auto; filter:drop-shadow(0 12px 22px rgba(7,63,62,.2)); }
.float-chip{
  position:absolute; z-index:2; background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:var(--shadow); padding:12px 15px;
  display:flex; align-items:center; gap:11px;
}
.float-chip .chip-ico{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex:none; }
.float-chip small{ display:block; color:var(--muted); font-size:.74rem; line-height:1.3; }
.float-chip strong{ font-weight:600; font-size:.9rem; color:var(--text); }
.chip-1{ top:6px; left:-20px; background:#fff; animation:floaty 6s ease-in-out infinite; }
.chip-2{ bottom:20px; right:-16px; animation:floaty 6s ease-in-out infinite 3s; }
.chip-ico.teal{ background:var(--tint2); color:var(--teal-dark); }
.chip-ico.warm{ background:#FBE8DA; color:var(--orange-dark); }
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }

/* ---------- Kimler için ---------- */
.audience-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
.audience-card{
  border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px;
  transition:transform .2s ease, box-shadow .2s ease; background:#fff;
}
.audience-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.audience-card.parents{ background:linear-gradient(180deg,#FDF3EA,#FFFFFF); }
.audience-card .ico-badge{ width:54px; height:54px; border-radius:15px; display:grid; place-items:center; margin-bottom:18px; }
.audience-card.parents .ico-badge{ background:#FBE8DA; color:var(--orange-dark); }
.audience-card.pros .ico-badge{ background:var(--tint1); color:var(--teal-dark); }
.audience-card h3{ font-size:1.35rem; margin-bottom:10px; }
.audience-card > p{ color:var(--muted); margin-bottom:18px; }
.check-list{ list-style:none; padding:0; display:flex; flex-direction:column; gap:11px; }
.check-list li{ display:flex; align-items:flex-start; gap:10px; color:var(--text); font-size:.97rem; }
.check-list li svg{ flex:none; margin-top:3px; }
.audience-card.parents .check-list svg{ color:var(--orange-dark); }
.audience-card.pros .check-list svg{ color:var(--teal-dark); }

/* ---------- Ne sunuyoruz ---------- */
.offer-grid{ display:grid; grid-template-columns:1fr; gap:22px; }
.offer-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:28px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.offer-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.offer-card .ico-badge{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; margin-bottom:16px; }
.offer-card h3{ font-size:1.12rem; margin-bottom:8px; }
.offer-card p{ color:var(--muted); font-size:.97rem; }
.ico-badge.b-tint2{ background:var(--tint2); color:var(--teal-dark); }
.ico-badge.b-warm{ background:#FBE8DA; color:var(--orange-dark); }
.ico-badge.b-amber{ background:#FDF2DC; color:#9A6A16; }

/* ---------- Etkinlikler ---------- */
.empty-card{
  border:2px dashed var(--line); border-radius:var(--radius-lg); background:#fff;
  padding:52px 28px; text-align:center;
}
.empty-inner{ max-width:520px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:12px; }
.empty-card .ico-badge{ width:60px; height:60px; border-radius:16px; background:var(--tint1); color:var(--teal-dark); display:grid; place-items:center; margin-bottom:4px; }
.empty-card h3{ font-family:var(--font-display); font-weight:600; font-size:1.35rem; }
.empty-card p{ color:var(--muted); }
.empty-card .btn{ margin-top:12px; }

/* Etkinlik kartı (ileride) */
.event-card{
  display:flex; flex-direction:column; gap:12px; background:#fff; border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:26px; box-shadow:var(--shadow);
}
.event-card .audience-tag{ align-self:flex-start; font-size:.74rem; font-weight:600; padding:5px 12px; border-radius:var(--radius-pill); }
.audience-tag.fam{ background:var(--tint1); color:var(--teal-dark); }
.audience-tag.pro{ background:#FBE8DA; color:var(--orange-dark); }
.event-card .event-meta{ color:var(--muted); font-size:.9rem; }

/* ---------- İletişim / form ---------- */
.contact{ background:var(--cream); }
.contact-grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:start; }
.contact-intro h2{ margin:2px 0 14px; }
.contact-intro > p{ color:var(--muted); font-size:1.05rem; margin-bottom:22px; }
.benefit-list{ list-style:none; padding:0; display:flex; flex-direction:column; gap:13px; }
.benefit-list li{ display:flex; align-items:center; gap:12px; color:var(--text); }
.benefit-list .b-ico{ width:30px; height:30px; border-radius:50%; background:var(--tint1); color:var(--teal-dark); display:grid; place-items:center; flex:none; }

.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:32px; }
.field{ margin-bottom:16px; display:flex; flex-direction:column; }
.field label{ font-weight:500; font-size:14px; margin-bottom:6px; color:var(--text); }
.field input, .field select, .field textarea{
  font-family:inherit; font-size:1rem; color:var(--text); background:#fff;
  padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; transition:border-color .2s, box-shadow .2s;
}
.field input::placeholder, .field textarea::placeholder{ color:#9aabaa; }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(31,165,163,.18);
}
.field textarea{ resize:vertical; min-height:92px; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"]{
  border-color:var(--orange-dark); box-shadow:0 0 0 3px rgba(224,100,28,.14);
}
.field-row{ display:grid; grid-template-columns:1fr; gap:14px; }
.field-error{ display:none; color:var(--orange-text); font-size:.82rem; margin-top:6px; font-weight:500; }
.field-error.show{ display:block; }

.consent{ display:flex; align-items:flex-start; gap:10px; margin:6px 0 14px; }
.consent input[type="checkbox"]{ width:20px; height:20px; margin-top:2px; flex:none; accent-color:var(--teal-dark); cursor:pointer; }
.consent label{ font-size:.88rem; color:var(--text); line-height:1.55; }
.consent a{ color:var(--orange-text); font-weight:500; }

.form-note{ font-size:.82rem; color:var(--muted); margin:0 0 18px; }

/* Honeypot */
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Form durumları */
.form-alert{
  display:none; margin-bottom:18px; padding:13px 15px; border-radius:12px;
  font-size:.92rem; font-weight:500; color:var(--orange-text); background:#FDEEE3; border:1px solid #F6D3BE;
}
.form-alert.show{ display:block; }
.form-success{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px;
  background:var(--tint1); color:var(--ink); border-radius:var(--radius-md); padding:34px 26px;
}
.form-success .succ-ico{ width:58px; height:58px; border-radius:50%; background:#fff; color:var(--teal-dark); display:grid; place-items:center; }
.form-success h3{ font-size:1.25rem; }
.form-success p{ color:var(--muted); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--grad-deep); color:#E7F3F2; padding:58px 0 26px; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:34px; margin-bottom:32px; }
.footer-brand .brand{ color:#fff; margin-bottom:12px; }
.footer-brand .brand .brand-accent{ color:#fff; }
.footer-brand p{ color:#BFDDDA; font-size:.95rem; max-width:320px; margin-bottom:12px; }
.footer-loc{ display:inline-flex; align-items:center; gap:7px; color:#BFDDDA; font-size:.92rem; }
.footer-col h4{ font-family:var(--font-body); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--badge); margin:0 0 14px; }
.footer-col ul{ list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.footer-col a{ color:#E7F3F2; text-decoration:none; font-size:.95rem; }
.footer-col a:hover{ color:var(--orange-light); }
.footer-col a.underline{ text-decoration:underline; }
.footer-info{ color:rgba(231,243,242,.7); font-size:.85rem; padding-top:6px; }
.footer-divider{ border:none; border-top:1px solid rgba(255,255,255,.14); margin:8px 0 20px; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.85rem; color:rgba(231,243,242,.75); }

/* ---------- KVKK sayfası ---------- */
.simple-header{ border-bottom:1px solid var(--line); background:#fff; }
.simple-header .header-inner{ height:64px; }
.legal{ padding:56px 0 80px; }
.legal h1{ margin-bottom:18px; }
.legal p{ color:var(--muted); margin-bottom:14px; max-width:720px; }
.legal .back-link{ display:inline-flex; align-items:center; gap:7px; color:var(--orange-text); font-weight:500; text-decoration:none; margin-bottom:20px; }
.legal h2{ font-size:1.25rem; margin:28px 0 10px; }
.legal ul{ color:var(--muted); padding-left:20px; margin-bottom:16px; max-width:760px; }
.legal li{ margin-bottom:7px; }
.legal strong{ color:var(--text); }
.legal .taslak-not{ background:var(--tint1); border:1px solid var(--line); border-radius:var(--radius-md); padding:14px 18px; color:var(--muted); font-size:.9rem; max-width:760px; margin-bottom:26px; }
.legal .updated{ color:var(--muted); font-size:.85rem; margin-top:24px; }

/* ============================================================
   Duyarlılık
   ============================================================ */
@media (min-width:768px){
  .audience-grid{ grid-template-columns:1fr 1fr; }
  .field-row{ grid-template-columns:1fr 1fr; }
}
@media (min-width:1024px){
  .hero-grid{ grid-template-columns:1.05fr .95fr; }
  .offer-grid{ grid-template-columns:repeat(3,1fr); }
  .contact-grid{ grid-template-columns:.85fr 1.15fr; gap:48px; }
  .footer-grid{ grid-template-columns:1.5fr 1fr 1fr; }
}

/* Mobil menü (≤900px) */
@media (max-width:900px){
  .nav-toggle{ display:inline-flex; }
  .main-nav{
    position:absolute; top:var(--header-h); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow);
    padding:8px 0; display:none;
  }
  .main-nav.open{ display:flex; }
  .main-nav a.nav-link{ padding:13px 24px; }
  .main-nav .btn{ margin:10px 24px 12px; }
}

/* ≤640px */
@media (max-width:640px){
  .container{ padding:0 20px; }
  .section{ padding:60px 0; }
  .hero{ padding:56px 0 64px; }
  .hero-actions .btn{ width:100%; }
  .hero-visual{ max-width:420px; margin:0 auto; width:100%; }
  .float-chip{ position:static; box-shadow:none; border-color:var(--line); }
  .hero-chips-mobile{ display:flex; flex-direction:column; gap:10px; margin-top:14px; }
  .footer-bottom{ flex-direction:column; }
}

/* Hareket azaltma */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .chip-1,.chip-2{ animation:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ transition-duration:.001ms !important; }
}
