/**
 * hero_banner — cards/hero_banner/card.css
 */

.hero-banner.hero-banner--detail .hero-banner__grid {
  min-height: clamp(320px, 42vh, 520px);
}

.hero-banner.hero-banner--detail .hero-banner__title {
  font-size: clamp(1.75rem, 4.5vw, 2.75rem);
}

.hero-banner.hero-banner--compact .hero-banner__grid {
  min-height: clamp(240px, 32vh, 380px);
  padding-block: 1.5rem;
}

.hero-banner.hero-banner--compact .hero-banner__intro {
  display: none;
}

.hero-banner.hero-banner--compact .hero-banner__subtitle,
.hero-banner.hero-banner--compact .hero-banner__location {
  font-size: 0.95rem;
}

/* —— style.css migration —— */
.hero-banner--agency-header .hero-banner__grid {
    padding-top: calc(var(--header-agency-safe) + clamp(0.85rem, 2.5vw, 1.75rem));
  }

body.is-admin-embed-preview.has-header-agency .hero-banner--agency-header {
  min-height: auto;
}

body.is-admin-embed-preview.has-header-agency .hero-banner--agency-header .hero-banner__grid {
  padding-top: 1rem !important;
}

.hero-banner--agency-header {
  margin-top: 0;
  min-height: calc(clamp(380px, 42vw, 520px) + var(--header-agency-safe));
}

.hero-banner--agency-header .hero-banner__overlay {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 78%, #03080a) 0%,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 52%, transparent) 16%,
      transparent 40%
    ),
    linear-gradient(
      100deg,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 62%, #061418) 0%,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 42%, transparent) 36%,
      color-mix(in srgb, var(--hero-grad-to, var(--secondary)) 22%, transparent) 62%,
      color-mix(in srgb, var(--hero-grad-to, var(--secondary)) 6%, transparent) 100%
    ),
    linear-gradient(
      0deg,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 28%, transparent) 0%,
      transparent 48%
    );
}

.hero-banner--agency-header .hero-banner__grid {
  padding-top: calc(var(--header-agency-safe) + clamp(0.65rem, 2.2vw, 1.35rem));
  padding-bottom: clamp(2.15rem, 4.5vw, 3.5rem);
  align-items: center;
  box-sizing: border-box;
}

.hero-banner--agency-header .hero-banner__copy {
  max-width: 56rem;
}

.hero-banner--agency-header .hero-banner__title {
  margin-top: 0;
}

.hero-banner--agency-header .hero-banner__visual {
  align-self: center;
}

.hero-banner {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
  min-height: clamp(380px, 42vw, 520px);
  box-sizing: border-box;
}

body.is-admin-embed-preview .hero-banner {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

body.is-admin-embed-preview .hero-banner__title {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: 0;
}

.hero-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-banner__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-banner__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 32% 42%;
  display: block;
}

.hero-banner__overlay {
  position: absolute;
  inset: 0;
  /* Site ana rengine göre: solda hafif koyuluk (metin okunaklı), görsel daha çok görünsün */
  background:
    linear-gradient(
      100deg,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 62%, #061418) 0%,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 42%, transparent) 36%,
      color-mix(in srgb, var(--hero-grad-to, var(--secondary)) 22%, transparent) 62%,
      color-mix(in srgb, var(--hero-grad-to, var(--secondary)) 6%, transparent) 100%
    ),
    linear-gradient(
      0deg,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 28%, transparent) 0%,
      transparent 48%
    );
}

.hero-banner--no-bg .hero-banner__overlay {
  background: linear-gradient(
    100deg,
    var(--hero-grad-from, var(--primary)) 0%,
    color-mix(in srgb, var(--hero-grad-from, var(--primary)) 58%, var(--hero-grad-to, var(--secondary))) 52%,
    var(--hero-grad-to, var(--secondary)) 100%
  );
}

.hero-banner--agency-header.hero-banner--no-bg .hero-banner__overlay {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 82%, #03080a) 0%,
      color-mix(in srgb, var(--hero-grad-from, var(--primary)) 48%, var(--hero-grad-to, var(--secondary))) 100%
    ),
    linear-gradient(
      100deg,
      var(--hero-grad-from, var(--primary)) 0%,
      var(--hero-grad-to, var(--secondary)) 100%
    );
}

.hero-banner__grid {
  position: relative;
  z-index: 1;
  min-height: inherit;
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  .hero-banner__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 440px);
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: center;
    padding-block: clamp(2.25rem, 4.5vw, 3.5rem);
  }

  .hero-banner > .container.hero-banner__grid {
    width: min(var(--container-max), var(--container-pad));
    padding-inline: 0;
  }
}

.hero-banner > .container.hero-banner__grid {
  max-width: 100%;
  margin-inline: auto;
}

#home_hero .hero-banner__grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#home_hero.hero-banner--agency-header .hero-banner__grid {
  padding-bottom: 0 !important;
}

.site-main > #home_hero + #home_trust {
  margin-top: 0;
  border-bottom: none;
  background-color: var(--pb-stripe-plain);
}

.hero-banner__copy {
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.2);
}

.hero-banner__title {
  font-size: clamp(1.65rem, 3.2vw, 2.4rem);
  font-weight: var(--fw-bold);
  color: var(--white);
  margin: 0 0 .4rem;
  line-height: 1.2;
  white-space: nowrap;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.hero-banner__role,
.hero-banner__subtitle {
  font-weight: var(--fw-semibold);
  color: #fff;
  line-height: 1.35;
}

.hero-banner__role {
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  margin: 0 0 .35rem;
}

.hero-banner__subtitle {
  font-size: clamp(1.2rem, 3.2vw, 1.5rem);
  margin: 0 0 .35rem;
  padding-block: 8px;
}

.hero-banner__location {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  margin: 0 0 1rem;
  padding: 0.55rem 1rem;
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--white) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--white) 28%, transparent);
  box-shadow: 0 2px 14px color-mix(in srgb, var(--primary) 18%, transparent);
  font-size: .95rem;
  font-weight: var(--fw-semibold);
  color: #fff;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.hero-banner__location-scene {
  --loc-rider-w: 2.15rem;
  --loc-rider-h: 1.32rem;
  --loc-home-size: 1.38rem;
  --loc-icon-gap: 10px;
  --loc-moto-start-lead: 10px;
  --loc-anim-dur: 6.5s;
  --loc-wipe-max: 100%;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--loc-icon-gap);
  min-height: 1.5rem;
  vertical-align: middle;
}

@property --loc-wipe {
  syntax: '<percentage>';
  inherits: true;
  initial-value: 0%;
}

.hero-banner__location-moto-lead {
  width: var(--loc-moto-start-lead);
  height: var(--loc-rider-h);
  flex-shrink: 0;
  pointer-events: none;
}

.hero-banner__location-text-lane {
  --loc-wipe: 0%;
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  min-height: var(--loc-rider-h);
  animation: hero-location-wipe-sync var(--loc-anim-dur) linear infinite;
}

.hero-banner__location-text-lane::after {
  content: '';
  position: absolute;
  top: 8%;
  bottom: 8%;
  left: var(--loc-wipe);
  z-index: 3;
  width: 3px;
  border-radius: 2px;
  transform: translateX(-50%);
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 255, 255, 0.95) 35%,
    rgba(255, 255, 255, 1) 50%,
    rgba(255, 255, 255, 0.95) 65%,
    transparent 100%
  );
  box-shadow:
    0 0 10px rgba(255, 255, 255, 0.85),
    0 0 4px rgba(255, 255, 255, 0.55);
  opacity: clamp(0, (var(--loc-wipe) - 0.5%) * 80, 1);
  pointer-events: none;
}

.hero-banner__location-road {
  display: none;
}

.hero-banner__location-text {
  position: relative;
  z-index: 1;
  display: inline-block;
  white-space: nowrap;
  text-align: left;
  -webkit-mask-image: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.06) 0%,
    rgba(0, 0, 0, 0.06) var(--loc-wipe),
    rgba(0, 0, 0, 0.35) calc(var(--loc-wipe) + 0.5%),
    rgba(0, 0, 0, 0.82) calc(var(--loc-wipe) + 1%),
    #000 calc(var(--loc-wipe) + 1.5%),
    #000 100%
  );
  mask-image: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.06) 0%,
    rgba(0, 0, 0, 0.06) var(--loc-wipe),
    rgba(0, 0, 0, 0.35) calc(var(--loc-wipe) + 0.5%),
    rgba(0, 0, 0, 0.82) calc(var(--loc-wipe) + 1%),
    #000 calc(var(--loc-wipe) + 1.5%),
    #000 100%
  );
  filter: blur(0);
}

.hero-banner__location-rider {
  position: absolute;
  top: 50%;
  left: var(--loc-wipe);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  transform: translate(calc(-100% - var(--loc-icon-gap) - var(--loc-moto-start-lead)), -50%);
  animation: hero-location-moto-phase var(--loc-anim-dur) linear infinite;
}

.hero-banner__location-rider .icon--location-moto {
  display: block;
  width: var(--loc-rider-w);
  height: var(--loc-rider-h);
  flex-shrink: 0;
  object-fit: contain;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}

.hero-banner__location-home {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.hero-banner__location-home .icon--location-home {
  display: block;
  width: var(--loc-home-size);
  height: var(--loc-home-size);
  flex-shrink: 0;
  object-fit: contain;
  opacity: 0.92;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.28));
  animation: hero-location-home-green-flash var(--loc-anim-dur) ease-in-out infinite;
}

@keyframes hero-location-wipe-sync {
  0%, 8% { --loc-wipe: 0%; }
  12% { --loc-wipe: 18%; }
  20% { --loc-wipe: 36%; }
  28% { --loc-wipe: 54%; }
  36% { --loc-wipe: 72%; }
  44% { --loc-wipe: 90%; }
  48%, 82% { --loc-wipe: 100%; }
  94%, 100% { --loc-wipe: 0%; }
}

@keyframes hero-location-moto-phase {
  0%, 47% {
    opacity: 1;
    left: var(--loc-wipe);
    transform: translate(calc(-100% - var(--loc-icon-gap) - var(--loc-moto-start-lead)), -50%);
  }
  48%, 53% {
    opacity: 1;
    left: calc(100% + var(--loc-icon-gap));
    transform: translate(-100%, -50%);
  }
  54%, 82% {
    opacity: 0;
    left: calc(100% + var(--loc-icon-gap));
    transform: translate(-100%, -50%);
  }
  94%, 100% {
    opacity: 1;
    left: 0;
    transform: translate(calc(-100% - var(--loc-icon-gap) - var(--loc-moto-start-lead)), -50%);
  }
}

@keyframes hero-location-home-green-flash {
  0%, 50% {
    opacity: 0.92;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.28));
  }
  52%, 56% {
    opacity: 1;
    filter:
      drop-shadow(0 0 10px #22c55e)
      drop-shadow(0 0 4px #4ade80)
      brightness(0) saturate(100%) invert(62%) sepia(61%) saturate(638%) hue-rotate(93deg) brightness(103%) contrast(92%);
  }
  58%, 100% {
    opacity: 0.92;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.28));
  }
}

@media (min-width: 1025px) {
  .hero-banner__location-moto-lead,
  .hero-banner__location-rider,
  .hero-banner__location-home {
    display: none;
  }

  .hero-banner__location-text-lane {
    display: inline;
    animation: none;
  }

  .hero-banner__location-text-lane::after {
    display: none;
  }

  .hero-banner__location-text {
    -webkit-mask-image: none;
    mask-image: none;
    text-align: center;
  }

  .hero-banner__location-scene {
    gap: 0;
  }

  .hero-banner__location-home .icon--location-home {
    animation: none;
  }
}

@media (max-width: 1024px) {
  .hero-banner__location-moto-lead {
    display: block;
  }

  .hero-banner__location-rider,
  .hero-banner__location-home {
    display: inline-flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-banner__location-text-lane {
    animation: none;
    --loc-wipe: 0%;
  }

  .hero-banner__location-text-lane::after {
    display: none;
  }

  .hero-banner__location-text {
    -webkit-mask-image: none;
    mask-image: none;
  }

  .hero-banner__location-rider,
  .hero-banner__location-home .icon--location-home {
    animation: none;
  }

  .hero-banner__location-rider {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    opacity: 1;
  }
}

.hero-banner__intro {
  color: #fff;
}

.hero-banner__intro p {
  margin: 0 0 .8rem;
  font-size: calc(clamp(.92rem, 1.45vw, 1.02rem) + 2px);
  font-weight: var(--fw-medium);
  color: inherit;
  line-height: var(--lh-body);
  max-width: 56ch;
}

.hero-banner__intro p[class*="rte-fs-"] {
  font-weight: var(--fw-medium);
}

.hero-banner__intro h1 {
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: var(--fw-bold);
  color: inherit;
  margin: 0 0 .5rem;
  line-height: 1.3;
  max-width: 56ch;
}

.hero-banner__intro h2 {
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: var(--fw-semibold);
  color: inherit;
  margin: 0 0 .5rem;
  line-height: 1.35;
  max-width: 56ch;
}

.hero-banner__intro h3 {
  font-size: clamp(1rem, 1.75vw, 1.15rem);
  font-weight: var(--fw-semibold);
  color: inherit;
  margin: 0 0 .45rem;
  line-height: 1.35;
  max-width: 56ch;
}

.hero-banner__intro h4 {
  font-size: clamp(.95rem, 1.5vw, 1.05rem);
  font-weight: var(--fw-semibold);
  color: inherit;
  margin: 0 0 .4rem;
  line-height: 1.4;
  max-width: 56ch;
}

.hero-banner__intro br {
  display: block;
  content: '';
  margin-top: .65rem;
}

.hero-banner__intro p:last-child { margin-bottom: 0; }

.hero-banner__intro p,
.hero-banner__intro h1,
.hero-banner__intro h2,
.hero-banner__intro h3,
.hero-banner__intro h4,
.hero-banner__intro li,
.hero-banner__intro span,
.hero-banner__intro em,
.hero-banner__intro i,
.hero-banner__intro u {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.hero-banner__intro .rte-fs-12,
.hero-banner__intro p.rte-fs-12 { font-size: 12px; }

.hero-banner__intro .rte-fs-14,
.hero-banner__intro p.rte-fs-14 { font-size: 14px; }

.hero-banner__intro .rte-fs-16,
.hero-banner__intro p.rte-fs-16 { font-size: 16px; }

.hero-banner__intro .rte-fs-18,
.hero-banner__intro p.rte-fs-18 { font-size: 18px; }

.hero-banner__intro .rte-fs-20,
.hero-banner__intro p.rte-fs-20 { font-size: 20px; }

.hero-banner__intro .rte-fs-22,
.hero-banner__intro p.rte-fs-22 { font-size: 22px; }

.hero-banner__intro .rte-fs-24,
.hero-banner__intro p.rte-fs-24 { font-size: 24px; }

.hero-banner__intro .rte-fs-26,
.hero-banner__intro p.rte-fs-26 { font-size: 26px; }

.hero-banner__intro .rte-fs-28,
.hero-banner__intro p.rte-fs-28 { font-size: 28px; }

.hero-banner__intro .rte-fs-30,
.hero-banner__intro p.rte-fs-30 { font-size: 30px; }

.hero-banner__intro h2.rte-fs-12 { font-size: 12px; }

.hero-banner__intro h2.rte-fs-14 { font-size: 14px; }

.hero-banner__intro h2.rte-fs-16 { font-size: 16px; }

.hero-banner__intro h2.rte-fs-18 { font-size: 18px; }

.hero-banner__intro h2.rte-fs-20 { font-size: 20px; }

.hero-banner__intro h2.rte-fs-22 { font-size: 22px; }

.hero-banner__intro h2.rte-fs-24 { font-size: 24px; }

.hero-banner__intro h2.rte-fs-26 { font-size: 26px; }

.hero-banner__intro h2.rte-fs-28 { font-size: 28px; }

.hero-banner__intro h2.rte-fs-30 { font-size: 30px; }

.hero-banner__intro h3.rte-fs-12 { font-size: 12px; }

.hero-banner__intro h3.rte-fs-14 { font-size: 14px; }

.hero-banner__intro h3.rte-fs-16 { font-size: 16px; }

.hero-banner__intro h3.rte-fs-18 { font-size: 18px; }

.hero-banner__intro h3.rte-fs-20 { font-size: 20px; }

.hero-banner__intro h3.rte-fs-22 { font-size: 22px; }

.hero-banner__intro h3.rte-fs-24 { font-size: 24px; }

.hero-banner__intro h3.rte-fs-26 { font-size: 26px; }

.hero-banner__intro h3.rte-fs-28 { font-size: 28px; }

.hero-banner__intro h3.rte-fs-30 { font-size: 30px; }

.hero-banner__intro h4.rte-fs-12 { font-size: 12px; }

.hero-banner__intro h4.rte-fs-14 { font-size: 14px; }

.hero-banner__intro h4.rte-fs-16 { font-size: 16px; }

.hero-banner__intro h4.rte-fs-18 { font-size: 18px; }

.hero-banner__intro h4.rte-fs-20 { font-size: 20px; }

.hero-banner__intro h4.rte-fs-22 { font-size: 22px; }

.hero-banner__intro h4.rte-fs-24 { font-size: 24px; }

.hero-banner__intro h4.rte-fs-26 { font-size: 26px; }

.hero-banner__intro h4.rte-fs-28 { font-size: 28px; }

.hero-banner__intro h4.rte-fs-30 { font-size: 30px; }

.hero-banner__intro strong,
.hero-banner__intro b {
  font-weight: var(--fw-semibold);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.hero-banner__intro a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: underline;
}

.hero-banner__intro .rte-align-left { text-align: left; }

.hero-banner__intro .rte-align-center { text-align: center; }

.hero-banner__intro .rte-align-right { text-align: right; }

.hero-banner__intro p.rte-align-center,
.hero-banner__intro h1.rte-align-center,
.hero-banner__intro h2.rte-align-center,
.hero-banner__intro h3.rte-align-center,
.hero-banner__intro h4.rte-align-center {
  margin-left: auto;
  margin-right: auto;
}

.hero-banner__intro p.rte-align-right,
.hero-banner__intro h1.rte-align-right,
.hero-banner__intro h2.rte-align-right,
.hero-banner__intro h3.rte-align-right,
.hero-banner__intro h4.rte-align-right {
  margin-left: auto;
  margin-right: 0;
}

.hero-banner__intro .pb-rte-figure {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin: .5rem 0;
  vertical-align: top;
  box-sizing: border-box;
}

.hero-banner__intro .pb-rte-figure[data-align="left"] {
  float: left;
  margin: .25rem 1.25rem .65rem 0;
}

.hero-banner__intro .pb-rte-figure[data-align="right"] {
  float: right;
  margin: .25rem 0 .65rem 1.25rem;
}

.hero-banner__intro .pb-rte-figure[data-align="center"] {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  clear: both;
  float: none;
}

.hero-banner__intro .pb-rte-figure img.pb-rte-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.hero-banner__intro p {
    font-size: calc(clamp(.92rem, 1.45vw, 1.02rem) + 2px);
  }

.btn--hero {
  min-height: 46px;
  padding: .7rem 1.15rem;
  font-weight: var(--fw-semibold);
  font-size: .9rem;
}

@media (min-width: 1025px) {
  .hero-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.35rem;
  }
}

.hero-banner .btn--primary {
  background: var(--white);
  color: var(--primary);
  border-color: var(--white);
}

.hero-banner .btn--primary:hover {
  background: var(--bg-soft);
  color: var(--primary);
}

@media (min-width: 1025px) {
  .hero-banner__visual {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
  }

  .hero-banner__visual img {
    width: clamp(280px, 36vw, 440px);
    max-width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    object-position: top center;
    border-radius: var(--radius);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: none;
  }
}

