/*
 * ASM360 web design system
 * Tines'in dost canlisi, editoryal ve renkli web dilinden uyarlanmistir.
 * Yeni bolumlerde bu dosyadaki semantik renkler ve temel HTML stilleri kullanilir.
 * Fontlar self-host edilir: /assets/fonts.css (DM Sans, DM Mono, Fraunces vs.).
 */

:root {
  color-scheme: light;
  --tines-purple: #8d75e6;
  --tines-purple-dark: #6956a8;
  --tines-purple-deep: #32274b;
  --tines-purple-soft: #eadff8;
  --tines-purple-pale: #f3ecf7;
  --tines-cream: #fcf9f5;
  --tines-cream-deep: #f8f4f0;
  --tines-ink: #222027;
  --tines-ink-soft: #514e59;
  --tines-muted: #77727f;
  --tines-line: #e4e0d9;
  --tines-green: #25a871;
  --tines-green-dark: #1f7a57;
  --tines-green-soft: #d6edd9;
  --tines-orange: #f47e3f;
  --tines-orange-soft: #ffe0cc;
  --tines-pink: #cb5d94;
  --tines-pink-soft: #ffbfdb;
  --tines-danger: #a33a30;
  --font-sans: 'DM Sans', 'Roobert', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Fraunces', 'Reckless', Georgia, serif;
  --radius-card: 24px;
  --radius-control: 14px;
  --radius-pill: 999px;
  --container: 1128px;
  --section-space: clamp(72px, 9vw, 136px);
  --shadow-card: 0 18px 50px rgba(50, 39, 75, 0.08);
  --focus-ring: 0 0 0 4px rgba(141, 117, 230, 0.24);
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans) !important;
  background:
    radial-gradient(circle at 92% 2%, rgba(234, 223, 248, 0.82), transparent 30rem),
    var(--tines-cream) !important;
  color: var(--tines-ink) !important;
  line-height: 1.6;
}

::selection { background: var(--tines-purple-soft); color: var(--tines-purple-deep); }
h1, h2, h3, .font-display-lg, .font-headline-lg, .font-headline-md, .font-headline-lg-mobile {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}
.font-body-lg, .font-body-md, .font-label-md { font-family: var(--font-sans) !important; }
.font-data-mono { font-family: 'DM Mono', ui-monospace, SFMono-Regular, Consolas, monospace !important; }
p { text-wrap: pretty; }
a, button, input, select, textarea { font-family: var(--font-sans) !important; }
a, button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none !important;
  box-shadow: var(--focus-ring) !important;
}
section { scroll-margin-top: 104px; }

/* Tailwind tabanli sayfalardaki semantik siniflari tek kaynaktan yeniden renklendirir. */
.bg-background, .bg-surface, .bg-surface-base, .bg-surface-bright { background-color: var(--tines-cream) !important; }
.bg-surface-container-lowest { background-color: #fff !important; }
.bg-surface-container-low { background-color: var(--tines-cream-deep) !important; }
.bg-surface-container, .bg-surface-container-high, .bg-surface-container-highest { background-color: var(--tines-purple-pale) !important; }
.bg-primary { background-color: var(--tines-purple-dark) !important; }
.bg-primary-container { background-color: var(--tines-purple-deep) !important; }
.bg-primary-fixed, .bg-primary-container\/5, .bg-primary-container\/10, .bg-primary-container\/20 { background-color: var(--tines-purple-soft) !important; }
.bg-secondary, .bg-success-vibrant { background-color: var(--tines-green) !important; }
.bg-secondary-container, .bg-tertiary-fixed { background-color: var(--tines-green-soft) !important; }
.bg-tertiary-container { background-color: #ffe0cc !important; }
.bg-error { background-color: var(--tines-danger) !important; }
.bg-error-container { background-color: #feebee !important; }
.bg-deep-navy, footer.bg-deep-navy { background-color: var(--tines-purple-deep) !important; }

.text-primary { color: var(--tines-purple-dark) !important; }
.text-on-background, .text-on-surface { color: var(--tines-ink) !important; }
.text-on-surface-variant { color: var(--tines-ink-soft) !important; }
.text-success-vibrant, .text-secondary { color: var(--tines-green-dark) !important; }
.text-tertiary { color: var(--tines-orange) !important; }
.text-error { color: var(--tines-danger) !important; }
.text-surface-variant { color: var(--tines-purple-soft) !important; }
.border-primary { border-color: var(--tines-purple-dark) !important; }
.border-outline-variant, .border-surface-container { border-color: var(--tines-line) !important; }

.from-primary { --tw-gradient-from: var(--tines-purple-dark) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgba(105, 86, 168, 0) var(--tw-gradient-to-position) !important; }
.to-secondary { --tw-gradient-to: var(--tines-green) var(--tw-gradient-to-position) !important; }
.from-primary-fixed { --tw-gradient-from: var(--tines-purple-soft) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgba(234, 223, 248, 0) var(--tw-gradient-to-position) !important; }

.rounded-lg { border-radius: var(--radius-control) !important; }
.rounded-xl { border-radius: 20px !important; }
.rounded-2xl { border-radius: var(--radius-card) !important; }
.rounded-full { border-radius: var(--radius-pill) !important; }
.max-w-container-max { max-width: var(--container) !important; }
.py-section-gap { padding-top: var(--section-space) !important; padding-bottom: var(--section-space) !important; }
.pb-section-gap { padding-bottom: var(--section-space) !important; }
.mb-section-gap { margin-bottom: var(--section-space) !important; }

nav.fixed, header.fixed {
  background: rgba(252, 249, 245, 0.88) !important;
  border-color: rgba(50, 39, 75, 0.10) !important;
  box-shadow: 0 8px 30px rgba(50, 39, 75, 0.05) !important;
}
nav.fixed > div > :first-child, header.fixed > div > :first-child {
  font-family: var(--font-sans) !important;
  font-weight: 700 !important;
  letter-spacing: -.04em !important;
}
nav.fixed a.bg-primary, header.fixed a.bg-primary,
a.bg-primary, button.bg-primary {
  border-radius: var(--radius-pill) !important;
  box-shadow: none !important;
}
a.bg-primary:hover, button.bg-primary:hover { background: var(--tines-purple-deep) !important; transform: translateY(-2px); }
a.border-primary:hover, button.border-primary:hover { background: var(--tines-purple-pale) !important; transform: translateY(-2px); }

.glass-card, .soft-elevation-1,
[class*="shadow-[0_10px_20px"], [class*="shadow-[0_20px_40px"] {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid var(--tines-line) !important;
  box-shadow: var(--shadow-card) !important;
}

input:not([type='checkbox']):not([type='radio']), select, textarea {
  border-color: var(--tines-line) !important;
  background: #fff !important;
  color: var(--tines-ink) !important;
  border-radius: var(--radius-control) !important;
}
input:not([type='checkbox']):not([type='radio']):focus, select:focus, textarea:focus { border-color: var(--tines-purple) !important; }

footer { border-top: 0 !important; }
footer h3, footer h4 { color: #fff !important; }
footer a:hover { color: #fff !important; }

/* Davet ve benzeri yalın servis sayfalari. */
.kart {
  border: 1px solid var(--tines-line) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 28px 90px rgba(50, 39, 75, 0.18) !important;
}
.rozet, .brand-badge {
  background: var(--tines-purple-deep) !important;
  border-radius: 14px !important;
}
.asm { background: var(--tines-purple-pale) !important; border-color: var(--tines-purple-soft) !important; }
.asm .ad, a.site { color: var(--tines-purple-dark) !important; }
.kod { background: var(--tines-cream-deep) !important; border-color: var(--tines-purple) !important; border-radius: var(--radius-control) !important; }
.kod button { background: var(--tines-purple-dark) !important; border-radius: var(--radius-pill) !important; }

@media (max-width: 767px) {
  :root { --radius-card: 20px; --section-space: 64px; }
  body { background: var(--tines-cream) !important; }
  nav.fixed, header.fixed { background: rgba(252, 249, 245, 0.96) !important; }
  nav.fixed > div, header.fixed > div { gap: 8px; min-width: 0; }
  nav.fixed > div > :first-child, header.fixed > div > :first-child { font-size: 30px !important; line-height: 1 !important; }
  nav.fixed > div > div:last-child, header.fixed > div > div:last-child { gap: 6px !important; }
  nav.fixed > div > div:last-child > a.bg-primary,
  header.fixed > div > div:last-child > a.bg-primary { padding: 8px 14px !important; font-size: 12px !important; white-space: nowrap; }
  main { max-width: 100%; overflow: hidden; }
  main section > .max-w-container-max { width: 100%; min-width: 0; }
}

@media (max-width: 520px) {
  nav.fixed > div > div:last-child > a.bg-primary,
  header.fixed > div > div:last-child > a.bg-primary { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
