/* ==========================================================================
   Taban tipografi ve yerleşim. Tümü .ses-app'e scope'ludur.
   ========================================================================== */

.ses-app,
.ses-app * { box-sizing: border-box; }

.ses-app {
  font-family: var(--ses-font);
  color: var(--ses-text);
  --ses-heading: var(--ses-navy);
}

/* Chrome sarmalayıcısı: position:sticky öğe ebeveyninin kutusunda kalır.
   display:contents kabın kutusunu kaldırır → header gerçekten yapışır. */
.ses-app--chrome { display: contents; }

/* Sayfa sarmalayıcısı */
.ses-app--page {
  max-width: var(--ses-page);
  margin: 0 auto;
  background: var(--ses-white);
}

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

/* Bölüm ritmi — bölüm arası 96px */
.ses-section { padding-top: var(--ses-section); }
.ses-section--flush { padding-top: 0; }

/* --- Tipografi ölçeği ---------------------------------------------------- */
.ses-app :where(p) { margin: 0; }

.ses-h1 {
  font-size: 50px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.022em;
  color: var(--ses-navy);
  text-wrap: balance;
}
.ses-h1--inner { font-size: 42px; line-height: 1.12; letter-spacing: -.02em; }

.ses-h2 {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--ses-navy);
  text-wrap: balance;
}
.ses-h2--sub   { font-size: 33px; line-height: 1.18; }
.ses-h2--panel { font-size: 25px; line-height: 1.25; letter-spacing: -.015em; }

.ses-h3 {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--ses-navy);
}

.ses-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ses-blue);
}

.ses-lead   { font-size: 17.5px; line-height: 1.68; color: var(--ses-muted); text-wrap: pretty; }
.ses-body   { font-size: 15.5px; line-height: 1.75; color: var(--ses-muted); text-wrap: pretty; }
.ses-small  { font-size: 14px;   line-height: 1.62; color: var(--ses-muted); }
.ses-meta   { font-size: 12.75px; font-weight: 600; line-height: 1.57; color: var(--ses-muted); }

/* Başlık içi marka vurgusu — H1/H2 içindeki <em> */
.ses-app :where(.ses-h1, .ses-h2) em {
  font-style: normal;
  color: var(--ses-blue);
}

/* --- Erişilebilirlik ----------------------------------------------------- */
.ses-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ses-app :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--ses-blue-light);
  outline-offset: 2px;
}

/* Minimum dokunma hedefi */
.ses-app :where(.ses-btn, .ses-icon-btn) { min-height: 44px; }

/* --- Cam parlaması (sticky pill'ler + arama butonu) ---------------------- */
@keyframes ses-shine {
  0%   { transform: translateX(-160%) skewX(-18deg); opacity: 0; }
  12%  { opacity: .55; }
  38%  { opacity: .55; }
  55%  { transform: translateX(240%) skewX(-18deg); opacity: 0; }
  100% { transform: translateX(240%) skewX(-18deg); opacity: 0; }
}
.ses-shine { position: relative; overflow: hidden; isolation: isolate; }
.ses-shine > .ses-glare {
  position: absolute;
  inset: -30% auto -30% 0;
  width: 34%;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.85) 50%, rgba(255,255,255,0) 100%);
  filter: blur(6px);
  pointer-events: none;
  z-index: 1;
  animation: ses-shine 6s cubic-bezier(.4, 0, .2, 1) infinite;
}
.ses-shine.ses-shine--delay > .ses-glare { animation-delay: 2.4s; }
/* Beyaz zeminde parlama görünmez; arama butonunda mavi tonlu iz kullanılır. */
.ses-glare--cool {
  background: linear-gradient(100deg, rgba(42,171,226,0) 0%, rgba(42,171,226,.32) 50%, rgba(42,171,226,0) 100%);
  filter: blur(4px);
}
.ses-shine > *:not(.ses-glare) { position: relative; z-index: 2; }

@media (prefers-reduced-motion: reduce) {
  .ses-shine > .ses-glare { animation: none; opacity: 0; }
  .ses-app *,
  .ses-app *::before,
  .ses-app *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
