:root{
  --dna-g-r: 14px;
  --dna-g-blue:#2563eb;
  --dna-g-cyan:#22d3ee;
  --dna-g-violet:#8b5cf6;
  --dna-g-text: rgba(15,23,42,.96);
  --dna-g-muted: rgba(15,23,42,.74);
  --dna-g-card: rgba(255,255,255,.94);
  --dna-g-corner: #fff;
}

/* Grid */
.dna-g-grid{
  display:grid !important;
  gap: 16px !important;
  align-items: stretch !important;
}
.dna-g-cols-1{ grid-template-columns: 1fr; }
.dna-g-cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.dna-g-cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.dna-g-cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 900px){
  .dna-g-cols-3, .dna-g-cols-4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px){
  .dna-g-cols-2, .dna-g-cols-3, .dna-g-cols-4{ grid-template-columns: 1fr; }
}

/* Carousel */
.dna-g-carousel{
  position: relative !important;
}
.dna-g-carousel-head{
  display:flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
.dna-g-nav{
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  background: rgba(255,255,255,.86) !important;
  color: rgba(15,23,42,.88) !important;
  padding: 0 !important;
  line-height: 0 !important;
  cursor: pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition: transform .15s ease, background .15s ease !important;
}
.dna-g-nav:hover{ transform: translateY(-1px); background: rgba(255,255,255,.96); }

/* ok ikonları tam merkez */
.dna-g-nav-ic{
  width: 18px !important;
  height: 18px !important;
  display:block !important;
  stroke: rgba(15,23,42,.88) !important;
  stroke-width: 2.25 !important;
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.dna-g-track{
  display:flex !important;
  gap: 16px !important;
  overflow-x: auto !important;
  padding: 2px 2px 2px !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important; /* Firefox */
}
.dna-g-track::-webkit-scrollbar{ display:none !important; }
.dna-g-slide{
  flex: 0 0 auto !important;
  scroll-snap-align: start !important;
}

/* ✅ Carousel'de masaüstünde 3 tam kart görünsün */
.dna-g-carousel .dna-g-slide{ flex: 0 0 calc((100% - 32px) / 3) !important; }
.dna-g-carousel .dna-g-slide .dna-g-card{ width: 100% !important; }

@media (max-width: 1024px){
  .dna-g-carousel .dna-g-slide{ flex-basis: calc((100% - 16px) / 2) !important; }
}
@media (max-width: 680px){
  .dna-g-carousel .dna-g-slide{ flex-basis: 92vw !important; }
}

/* ✅ Dots pagination */
.dna-g-dots{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding-bottom: 2px !important;
}
.dna-g-dot{
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  border: 0 !important;
  padding: 0 !important;
  background: rgba(15,23,42,.18) !important;
  cursor: pointer !important;
  transition: width .18s ease, background .18s ease, transform .18s ease !important;
}
.dna-g-dot:hover{ transform: translateY(-1px); }
.dna-g-dot.is-active{
  width: 24px !important; /* ✅ aktif olan biraz uzun */
  background: linear-gradient(90deg, var(--dna-g-blue), var(--dna-g-cyan)) !important;
}

/* Card */
.dna-g-card{
  position: relative !important;
  border-radius: var(--dna-g-r) !important;
  background: var(--dna-g-card) !important;
  overflow: hidden !important;
  color: var(--dna-g-text) !important;
}

.dna-g-card::before{
  content:"" !important;
  position:absolute; inset:0 !important;
  background:
    radial-gradient(900px 340px at 20% 0%, rgba(37,99,235,.14), transparent 60%),
    radial-gradient(900px 340px at 80% 0%, rgba(139,92,246,.12), transparent 60%),
    radial-gradient(900px 360px at 50% 120%, rgba(34,211,238,.16), transparent 58%);
  pointer-events:none !important;
  z-index:0 !important;
}

.dna-g-waves{
  position:absolute !important;
  inset:-20px -40px auto -40px !important;
  height: 220px !important;
  pointer-events:none !important;
  opacity:.98 !important;
  z-index:0 !important;
}

.dna-g-glow{
  position:absolute !important;
  left:-20%; right:-20% !important;
  bottom:-35% !important;
  height:240px !important;
  background: radial-gradient(closest-side at 50% 35%,
    rgba(34,211,238,.26),
    rgba(37,99,235,.14),
    transparent 62%);
  pointer-events:none !important;
  z-index:0 !important;
}

.dna-g-inner{
  position:relative !important;
  padding: 18px 18px 16px !important;
  z-index:2 !important;
}

.dna-g-top{
  display:flex !important;
  align-items:center !important;
  gap: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(15,23,42,.10) !important;
  padding-right: 136px; /* star corner space */
}

.dna-g-who{
  display:flex !important;
  align-items:center !important;
  gap: 12px !important;
  min-width:0 !important;
}

.dna-g-avatar{
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  background:
    radial-gradient(18px 18px at 30% 30%, rgba(34,211,238,.35), transparent 60%),
    linear-gradient(135deg, rgba(37,99,235,.16), rgba(34,211,238,.14));
  display:grid !important;
  place-items:center !important;
  flex: 0 0 auto !important;
  position: relative !important;
  overflow:hidden !important;
}
.dna-g-avatar svg{
  width: 22px !important;
  height: 22px !important;
  stroke: rgba(15,23,42,.78) !important;
  stroke-width: 1.8 !important;
  fill: none !important;
}

.dna-g-meta{ min-width:0; }
.dna-g-name{
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: rgba(15,23,42,.96) !important;
}
.dna-g-job{
  margin-top: 2px !important;
  font-size: 13px !important;
  color: var(--dna-g-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.dna-g-quote{
  padding: 16px 0 10px !important;
  text-align:center !important;
}

.dna-g-title{
  margin:0 !important;
  font-size: clamp(18px, 3.2vw, 26px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.3px !important;
  font-weight: 700 !important;
  color: rgba(15,23,42,.96) !important;
}


/* Başlıkta <strong> varsa gradient uygula (ACF Title alanında strong kullanımı için) */
.dna-g-title strong{
  font-weight: 800 !important;
  background: linear-gradient(90deg, var(--dna-g-blue), var(--dna-g-violet)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* Gradient only when strong exists inside span.dna-accent */
.dna-accent{ color: inherit; font-weight: inherit; }
.dna-accent strong{
  font-weight: 800 !important;
  background: linear-gradient(90deg, var(--dna-g-blue), var(--dna-g-violet)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.dna-g-desc{
  margin: 10px auto 0 !important;
  max-width: 54ch !important;
  font-size: 14px !important;
  color: rgba(15,23,42,.72) !important;
  line-height: 1.6 !important;
  text-align: center !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}
.dna-g-desc.is-open{
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
  display: block !important;
}

.dna-g-more{
  margin-top: 10px !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: .2px !important;
  color: rgba(37,99,235,.95) !important;
  cursor: pointer !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
  transition: background .15s ease, transform .15s ease !important;
}
.dna-g-more:hover{
  background: rgba(37,99,235,.08) !important;
  transform: translateY(-1px) !important;
}

.dna-g-footer{
  margin-top: 14px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap: 10px !important;
  position: relative !important;
  padding-left: calc(160px + 14px) !important;
  min-height: 56px !important;
}

.dna-g-date{
  font-size: 17px !important;
  font-weight: 700 !important;
  color: rgba(15,23,42,.92) !important;
  letter-spacing: .1px !important;
  line-height: 1 !important;
  transform: translateY(6px); /* tarihi biraz aşağı */
}

/* Corner top right - stars */
.dna-g-corner-tr{
  position:absolute !important;
  top:-0.375rem !important;
  right:0 !important;
  width: 132px !important;
  height: 52px !important;
  background: var(--dna-g-corner) !important;
  border-bottom-left-radius: 1rem !important;
  z-index: 5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding: 9px 10px 0 10px !important;
  pointer-events:none !important;
}
.dna-g-corner-tr::before{
  content:"" !important;
  position:absolute !important;
  top:.38rem; left:-1.15rem !important;
  width:1.15rem; height:1.15rem !important;
  border-bottom-right-radius:2rem !important;
  box-shadow:.30rem .30rem 0 .30rem var(--dna-g-corner) !important;
  transform:rotate(-90deg) !important;
}
.dna-g-corner-tr::after{
  content:"" !important;
  position:absolute !important;
  bottom:-1.15rem; right:-.5rem !important;
  width:1.15rem; height:1.15rem !important;
  border-bottom-right-radius:1rem !important;
  box-shadow:.30rem .30rem 0 .30rem var(--dna-g-corner) !important;
  transform:rotate(-90deg) !important;
}

.dna-g-stars{
  display:inline-flex !important;
  gap: 2px !important;
  padding: 7px 4px !important;
  border-radius: var(--dna-g-r) !important;
  background: rgba(255,255,255,.92) !important;
}

.dna-g-star{
  width: 20px !important;
  height: 20px !important;
  fill: #f59e0b !important;
  transform: translateY(0) !important;
  transform-origin: 50% 70% !important;
  animation: dnaStarHop 1.35s ease-in-out infinite !important;
  will-change: transform !important;
}
.dna-g-stars .dna-g-star:nth-child(1){ animation-delay: 0s; }
.dna-g-stars .dna-g-star:nth-child(2){ animation-delay: .10s; }
.dna-g-stars .dna-g-star:nth-child(3){ animation-delay: .20s; }
.dna-g-stars .dna-g-star:nth-child(4){ animation-delay: .30s; }
.dna-g-stars .dna-g-star:nth-child(5){ animation-delay: .40s; }

@keyframes dnaStarHop{
  0%, 72%, 100% { transform: translateY(0) scale(1); }
  32%           { transform: translateY(-7px) scale(1.03); }
  48%           { transform: translateY(0) scale(1); }
}

/* Corner bottom left - badge */
.dna-g-corner-bl{
  position:absolute !important;
  left:-20px !important;
  bottom:-21px !important;
  min-width: 120px !important;
  height:56px !important;
  background: var(--dna-g-corner) !important;
  padding: 0 14px !important;
  border-top-right-radius:1rem !important;
  z-index: 5 !important;
  pointer-events:none !important;
  display:flex !important;
  align-items:center !important;
}
.dna-g-corner-bl::before{
  content:"" !important;
  position:absolute !important;
  top:-1.15rem; left:0 !important;
  width:1.15rem; height:1.15rem !important;
  border-bottom-right-radius:2rem !important;
  box-shadow:.30rem .30rem 0 .30rem var(--dna-g-corner) !important;
  transform:rotate(90deg) !important;
}
.dna-g-corner-bl::after{
  content:"" !important;
  position:absolute !important;
  bottom:.38rem; right:-1.15rem !important;
  width:1.15rem; height:1.15rem !important;
  border-bottom-right-radius:1rem !important;
  box-shadow:.30rem .30rem 0 .30rem var(--dna-g-corner) !important;
  transform:rotate(90deg) !important;
}

.dna-g-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  color: rgba(15,23,42,.88) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.dna-g-dot{
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--dna-g-blue), var(--dna-g-cyan)) !important;
  position: relative !important;
  flex: 0 0 auto !important;
}
.dna-g-dot::before,
.dna-g-dot::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius: 999px !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform: scale(1) !important;
}
.dna-g-dot::before{
  border: 2px solid rgba(34,211,238,.55) !important;
  animation: dnaShock 1.6s ease-out infinite !important;
}
.dna-g-dot::after{
  border: 2px solid rgba(37,99,235,.45) !important;
  animation: dnaShock 1.6s ease-out infinite !important;
  animation-delay: .22s !important;
}
@keyframes dnaShock{
  0%   { opacity: .70; transform: scale(1); }
  70%  { opacity: 0;   transform: scale(3.1); }
  100% { opacity: 0;   transform: scale(3.1); }
}

@media (max-width: 480px){
  .dna-g-top{ padding-right: 128px; }
  .dna-g-footer{ padding-left: 150px; }
}