/* Home page sections. */

/* ---------------------------------------------------------------- hero */

.hero {
  position: relative;
  padding-block: var(--space-xl) var(--space-2xl);
  background: var(--color-surface);
  overflow: hidden;
}

.hero__inner {
  display: grid;
  gap: var(--space-xl);
}


.hero__copy > * + * {
  margin-top: var(--space-md);
}

.hero__copy .t-lead {
  max-width: var(--layout-form);
}

.hero__actions {
  margin-top: var(--space-lg);
}

.hero__stage {
  position: relative;
  min-width: 0;
}

/* A white frame with a 12px inset holds the picture; the caption card sits inside the same frame. */
.hero__frame {
  padding: var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}

.hero__slides {
  position: relative;
  display: grid;
}

.hero-slide {
  position: relative;
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateX(16px);
  transition: opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out),
    visibility var(--duration-slow);
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.hero-slide__media {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  background: var(--color-surface-alt);
  overflow: hidden;
}

.hero-slide__media img,
.hero-slide__video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--space-md);
}

.hero-slide__card {
  position: relative;
  padding: var(--space-md) var(--space-sm) var(--space-sm);
  background: var(--color-surface);
}

.hero-slide__card > * + * {
  margin-top: var(--space-sm);
}

.hero-slide__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.hero__controls {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.hero__dots,
.hero__arrows {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.hero__dot {
  position: relative;
  width: var(--space-xl);
  height: var(--size-touch);
  padding: 0;
  border: 0;
  background: none;
}

.hero__dot::before {
  content: "";
  position: absolute;
  left: var(--space-xs);
  right: var(--space-xs);
  top: 50%;
  height: var(--space-sm);
  margin-top: -4px;
  border-radius: var(--radius-full);
  background: var(--color-border);
  transition: background-color var(--duration-normal), transform var(--duration-normal) var(--ease-out);
}

.hero__dot:hover::before {
  background: var(--color-border-strong);
}

.hero__dot.is-active::before {
  background: var(--color-accent);
}

.hero__pause[aria-pressed="false"] .hero__pause-off,
.hero__pause[aria-pressed="true"] .hero__pause-on {
  display: none;
}

@media (min-width: 840px) {
  .hero {
    padding-block: var(--space-3xl);
  }

  .hero__inner {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: center;
    gap: var(--space-2xl);
  }

  .hero-slide__media {
    aspect-ratio: 16 / 10;
  }

  .hero-slide__card {
    padding: var(--space-lg) var(--space-sm) var(--space-sm);
  }
}

/* ---------------------------------------------------------------- trust strip */

.trust {
  border-bottom: 1px solid var(--color-border);
}

.trust__list {
  display: grid;
  padding-block: var(--space-sm);
}

.trust__item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: var(--size-touch);
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-ink);
}

.trust__icon {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--radius-full);
  background: var(--color-positive);
  color: var(--color-on-dark);
}

@media (min-width: 600px) {
  .trust__list {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    padding-block: var(--space-md);
  }

  /* Hairline dividers between the claims, like a printed spec strip. */
  .trust__item {
    justify-content: center;
    padding-inline: var(--space-md);
    text-align: center;
  }

  .trust__item + .trust__item {
    border-left: 1px solid var(--color-border);
  }
}

/* Feku Tech: each claim on one line — columns follow the text instead of four equal slots.
   At large text sizes a claim moves to the next row rather than breaking or overflowing. */
@media (min-width: 840px) {
  .trust__list {
    display: flex;
    flex-wrap: wrap;
  }

  .trust__item {
    flex: 1 1 auto;
    white-space: nowrap;
  }
}

/* ---------------------------------------------------------------- spotlight */

.spotlight {
  background: var(--color-deep);
  padding-block: var(--space-3xl);
}

.spotlight__inner {
  display: grid;
  gap: var(--space-xl);
}

.spotlight__media {
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.spotlight__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: var(--space-md);
}

.spotlight__copy > * + * {
  margin-top: var(--space-md);
}

.facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-lg);
}

.facts__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--size-header);
  padding: var(--space-sm) var(--space-md);
  border: 1px solid color-mix(in srgb, var(--color-on-dark) 20%, transparent);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-on-dark) 6%, transparent);
}

.facts dt {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--type-body);
  font-weight: 600;
  line-height: var(--leading-body);
}

.facts dt span {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (min-width: 600px) {
  .facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.facts dt .icon {
  flex: none;
  color: var(--color-accent);
}

.facts dd {
  margin: var(--space-xs) 0 0 var(--space-xl);
  font-size: var(--type-body-sm);
  color: var(--color-on-dark-muted);
}

.spotlight__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

.chip--dark {
  border-color: color-mix(in srgb, var(--color-on-dark) 32%, transparent);
  background: transparent;
  color: var(--color-on-dark);
}

a.chip--dark:hover {
  border-color: var(--color-on-dark);
  background: var(--color-on-dark);
  color: var(--color-primary);
}

.spotlight .btn {
  margin-top: var(--space-lg);
}

@media (min-width: 840px) {
  .spotlight {
    padding-block: var(--space-4xl);
  }

  .spotlight__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-3xl);
  }

  .spotlight__media {
    margin-block: calc(-1 * var(--space-2xl));
  }
}

/* ---------------------------------------------------------------- services */

.service-grid {
  display: grid;
  gap: var(--space-xl);
  counter-reset: none;
}

.service {
  padding-top: var(--space-md);
  border-top: 2px solid var(--color-primary);
}

.service > * + * {
  margin-top: var(--space-sm);
}

.service__number {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--type-body-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-primary);
}

@media (min-width: 600px) {
  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 840px) {
  .service-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-2xl) var(--space-xl);
  }
}

/* ---------------------------------------------------------------- dealer / faq / regions */

.dealer,
.faq-teaser,
.regions {
  display: grid;
  gap: var(--space-xl);
}

.dealer__copy > * + *,
.faq-teaser__head > * + *,
.regions__body > * + * {
  margin-top: var(--space-md);
}

.dealer__points {
  display: grid;
  gap: var(--space-xs);
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-primary-tint);
}

.dealer__points li {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: var(--size-touch);
  font-family: var(--font-heading);
  font-size: var(--type-body-lg);
  font-weight: 600;
  color: var(--color-primary);
}

.dealer__points .icon {
  color: var(--color-positive);
}

@media (min-width: 840px) {
  .dealer,
  .regions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-3xl);
  }

  .regions {
    align-items: start;
  }

  .faq-teaser {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: var(--space-3xl);
  }

  .faq-teaser__head {
    position: sticky;
    top: calc(var(--size-header) + var(--space-2xl) + var(--space-lg));
    align-self: start;
  }
}

/* Serbest içerik bölümü (K7) */
.content-band { display: grid; gap: var(--space-xl); align-items: center; }
.content-band__copy { display: grid; gap: var(--space-md); }
.content-band__media img { width: 100%; height: auto; border-radius: var(--radius-lg); object-fit: cover; }
@media (min-width: 840px) {
  .content-band--media { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2xl); }
}

/* Feku Tech — mobile fine-tuning: the hero media is decorative (D4 cover) and the film is 16:9,
   so the frame is 16:9 on every screen and the picture fills it edge to edge — no grey bands. */
.hero-slide__media {
  aspect-ratio: 16 / 9;
}

.hero-slide__media img,
.hero-slide__video {
  object-fit: cover;
  padding: 0;
}

@media (min-width: 840px) {
  .hero-slide__media {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 599px) {
  .hero__frame {
    padding: var(--space-sm);
  }
}
