/*
 * Base styles, scoped: .gs-scope (new header/footer/bars on every page) and
 * body.gs-redesign (rebuilt templates). Elementor bodies on other pages stay untouched.
 */
body.gs-redesign {
  margin: 0;
  font-family: var(--gs-font);
  font-size: var(--gs-fs-base);
  line-height: 1.6;
  color: var(--gs-body);
  background: var(--gs-white);
  -webkit-font-smoothing: antialiased;
}

.gs-scope,
.gs-scope *,
.gs-main,
.gs-main * {
  box-sizing: border-box;
}

.gs-scope,
.gs-main {
  font-family: var(--gs-font);
  color: var(--gs-body);
}

.gs-scope :where(h1, h2, h3, h4, p, ul, ol, figure),
.gs-main :where(h1, h2, h3, h4, p, ul, ol, figure) {
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
}

.gs-scope :where(h1, h2, h3, h4),
.gs-main :where(h1, h2, h3, h4) {
  font-family: var(--gs-font);
  text-align: start;
  color: var(--gs-navy);
  font-weight: 800;
  line-height: 1.2;
  text-wrap: balance;
}
/* Section titles and page titles are upper case, as on the old site (lang="tr-TR" keeps
   i → İ). The home hero headline is long and stays in normal case (slider.css). */
.gs-scope :where(h2),
.gs-main :where(h1, h2) { text-transform: uppercase; }

.gs-scope :where(a),
.gs-main :where(a) {
  color: inherit;
}

.gs-scope :where(img, svg, video),
.gs-main :where(img, svg, video) {
  max-width: 100%;
  height: auto;
}

.gs-container {
  width: 100%;
  max-width: calc(var(--gs-container) + 2 * var(--gs-gutter));
  margin-inline: auto;
  padding-inline: var(--gs-gutter);
}

.gs-icon {
  width: 1.25em;
  height: 1.25em;
  flex: none;
  vertical-align: -0.2em;
}
/* Line icons: plugins set fill on svg/path site-wide, so reset at both levels. */
.gs-icon,
.gs-icon * { fill: none; stroke: currentColor; }
.gs-icon--fill,
.gs-icon--fill * { fill: currentColor; stroke: none; }

.gs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-height: 48px;
  padding: 0.7em 1.3em;
  border: 0;
  border-radius: var(--gs-radius);
  background: var(--gs-accent);
  /* White on the logo orange is below AA (2.7:1): the client's choice, buttons only. */
  color: var(--gs-white);
  font: 600 0.875rem/1.2 var(--gs-font-button);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.15s, box-shadow 0.15s;
}
.gs-btn:hover { background: #E56D00; }
.gs-btn--ghost { background: transparent; color: inherit; box-shadow: inset 0 0 0 2px currentColor; }
.gs-btn--ghost:hover { background: color-mix(in srgb, currentColor 12%, transparent); }

.gs-scope :focus-visible,
.gs-main :focus-visible {
  outline: none;
  box-shadow: var(--gs-focus);
  border-radius: var(--gs-radius);
}

.gs-sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.gs-sun { pointer-events: none; }

/* Breadcrumb (product, Kurumsal, Blog heads). */
.gs-crumb { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 20px; color: var(--gs-muted); font-size: var(--gs-fs-sm); }
.gs-crumb a { color: var(--gs-navy); font-weight: 600; text-decoration: none; }
.gs-crumb a:hover { text-decoration: underline; text-underline-offset: 3px; }
.gs-crumb [aria-current] { color: var(--gs-body); }
.gs-crumb--light, .gs-crumb--light [aria-current] { color: #D3E3EC; }
.gs-crumb--light a { color: var(--gs-sun-light); }

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

/* The parent theme centres h1–h4 with element selectors; components opt back in explicitly. */
.gs-scope h1, .gs-scope h2, .gs-scope h3, .gs-scope h4,
.gs-main h1, .gs-main h2, .gs-main h3, .gs-main h4 { text-align: start; }

/* Call box beside posts, SSS and İletişim (template-parts/page/call-box.php). */
.gs-call-box { display: grid; gap: 12px; padding: 22px; border-radius: var(--gs-radius-lg); background: var(--gs-navy) url("../img/bg/call-action-bg.webp") right bottom / auto 60% no-repeat; color: #DCE6F2; font: 400 0.9375rem/1.5 var(--gs-font-button); }
.gs-call-box__title { margin: 0 0 4px !important; color: var(--gs-white); font-size: 1.0625rem; line-height: 1.4; }
.gs-call-box .gs-btn { width: 100%; }
.gs-call-box__line { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; color: var(--gs-white); font: 700 0.9375rem/1.2 var(--gs-font); text-decoration: none; }
.gs-call-box__line:hover { text-decoration: underline; text-underline-offset: 3px; }
.gs-call-box .gs-icon { width: 20px; height: 20px; color: var(--gs-accent-on-dark); }

