/* ===== Öztekin Sigorta — ortak stiller (tüm sayfalar) ===== */
:root { --ease: cubic-bezier(.16,1,.3,1); }
html { -webkit-text-size-adjust:100%; }
body { font-family:'Inter',system-ui,sans-serif; color:#0F172A; background:#fff; overflow-x:hidden; }
h1,h2,h3,h4,.font-display { font-family:'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing:-0.02em; }
section[id] { scroll-margin-top:96px; }

/* Sayfalar arası yumuşak geçiş — cross-document View Transitions (Chrome/Edge/Safari).
   Desteklemeyen tarayıcılarda (Firefox vb.) sessizce normal geçiş olur. */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration:.32s; animation-timing-function:var(--ease); }

.text-gradient { background:linear-gradient(100deg,#2E64F0 0%,#3FA9FF 55%,#37C2E0 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.glass { background:rgba(255,255,255,0.72); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,0.6); }

/* Dönen slogan kelimesi */
.rotator { display:inline-block; white-space:nowrap; transition:opacity .3s ease, transform .3s ease; will-change:opacity,transform; }
.rotator.is-swapping { opacity:0; transform:translateY(.18em); }

/* Reveal — yumuşak "odağa gelme": fade + yukarı + hafif blur (düz AOS fade-up değil) */
.reveal { opacity:0; transform:translateY(22px); filter:blur(8px); transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease); will-change:opacity,transform,filter; }
.reveal.in { opacity:1; transform:none; filter:blur(0); }

@keyframes drift { 0%{transform:translateY(0) rotate(0);} 50%{transform:translateY(-18px) rotate(6deg);} 100%{transform:translateY(0) rotate(0);} }
.drift { animation:drift 9s ease-in-out infinite; }

/* Aurora — yumuşak, yavaş kayan minimal ışıklar */
@keyframes aurora { 0% { background-position:0% 50%, 0% 50%; } 100% { background-position:200% 50%, 200% 50%; } }
.hero-aurora {
  position:absolute; inset:-60px; pointer-events:none; opacity:.5;
  filter:blur(38px) saturate(1.2); will-change:background-position;
  background-image:
    repeating-linear-gradient(100deg, rgba(46,100,240,.7) 0%, rgba(46,100,240,0) 13%, rgba(99,139,255,.6) 21%, rgba(99,139,255,0) 32%, rgba(63,169,255,.65) 40%, rgba(63,169,255,0) 52%),
    repeating-linear-gradient(100deg, rgba(26,75,216,.55) 0%, rgba(26,75,216,0) 16%, rgba(55,194,224,.5) 30%, rgba(55,194,224,0) 48%);
  background-size:200% 100%, 230% 100%;
  animation:aurora 24s linear infinite;
  -webkit-mask-image:radial-gradient(135% 95% at 35% -8%, #000 16%, transparent 68%);
          mask-image:radial-gradient(135% 95% at 35% -8%, #000 16%, transparent 68%);
}

.grid-pattern { background-image:linear-gradient(rgba(26,75,216,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(26,75,216,.06) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 40%,transparent 100%); mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 40%,transparent 100%); }

/* İnce film grain — tüm sayfaya çok hafif dokunsal "pahalı" his (busy değil) */
body::after { content:""; position:fixed; inset:0; z-index:9; pointer-events:none; opacity:.04; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
/* Açık bölümlere yumuşak ortam ışığı — düz beyaz/gri yerine derinlik (radyal, çok yumuşak) */
.amb { background-image:radial-gradient(78% 60% at 50% 0%, rgba(46,100,240,.06), rgba(46,100,240,0) 62%); }
.amb-2 { background-image:radial-gradient(64% 60% at 88% 8%, rgba(63,169,255,.06), rgba(63,169,255,0) 60%); }

.btn-primary { position:relative; overflow:hidden; }
.btn-primary::after { content:''; position:absolute; top:0; left:-120%; width:60%; height:100%; background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-20deg); transition:left .6s var(--ease); }
.btn-primary:hover::after { left:130%; }

/* Logo şeridi: pürüzsüz sabit hızda sonsuz kayar (4 kopya → boşluk yok).
   Üzerine gelince bulunduğu yerde DURUR, başa dönmez (animation-play-state:paused). */
@keyframes marquee { from{transform:translate3d(0,0,0);} to{transform:translate3d(-50%,0,0);} }
.marquee-track { animation:marquee 90s linear infinite; will-change:transform; }
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track { animation-play-state:paused; }

.lift { transition:transform .4s var(--ease),box-shadow .4s var(--ease); }
.lift:hover { transform:translateY(-8px); }

/* Ürün kartı — diğer kartlar gibi hafif yukarı kalkar (ikon mavi vurgusu markup'ta group-hover ile) */
.product-card { position:relative; transition:opacity .6s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease); }
.product-card:hover { transform:translateY(-8px); }
/* hover'da ince gradyan kenar halkası — el işi his */
.product-card::after { content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; background:linear-gradient(135deg, rgba(46,100,240,.6), rgba(63,169,255,.12)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .45s var(--ease); pointer-events:none; }
.product-card:hover::after { opacity:1; }

/* Yorumlar — dikey sonsuz kayan sütunlar (testimonials-columns esinli) */
@keyframes vscroll { from { transform:translateY(0); } to { transform:translateY(-50%); } }
.testi-col { animation:vscroll var(--dur,40s) linear infinite; will-change:transform; }
.testi-col:hover { animation-play-state:paused; }
.testi-mask { -webkit-mask-image:linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent); mask-image:linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent); }

.faq-body { max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.faq-item.open .faq-body { max-height:340px; }
.faq-item.open .faq-icon { transform:rotate(45deg); }

/* Zaman tüneli yatay kaydırma */
.timeline-scroll { scrollbar-width:thin; scrollbar-color:#1A4BD8 #EEF3FF; }
.timeline-scroll::-webkit-scrollbar { height:6px; }
.timeline-scroll::-webkit-scrollbar-track { background:#EEF3FF; border-radius:99px; }
.timeline-scroll::-webkit-scrollbar-thumb { background:#1A4BD8; border-radius:99px; }

/* Ürün filtre */
.filter-pill.active { background:linear-gradient(to right,#1A4BD8,#2E64F0); color:#fff; box-shadow:0 10px 30px -10px rgba(26,75,216,.6); }

/* Aktif menü bağlantısı */
.nav-link.active { color:#1A4BD8; background:#EEF3FF; }

@keyframes pulse-ring { 0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);} 70%{box-shadow:0 0 0 16px rgba(37,211,102,0);} 100%{box-shadow:0 0 0 0 rgba(37,211,102,0);} }
.wa-pulse { animation:pulse-ring 2.6s infinite; }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .reveal { opacity:1 !important; transform:none !important; filter:none !important; }
  html { scroll-behavior:auto; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none !important; }
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid #3FA9FF; outline-offset:2px; border-radius:6px; }

/* Teklif sayfası ürün seçici — seçili kart vurgusu */
.picker-card.is-active { border-color:#1A4BD8; background:rgba(26,75,216,.06); box-shadow:inset 0 0 0 1px #1A4BD8; }
.picker-card.is-active > span:last-child { color:#0B1E5B; font-weight:600; }

/* Navbar arama — ikona tıklayınca sola doğru açılan inline kutu */
#nav-search input { width:0; opacity:0; padding:0; border-color:transparent; pointer-events:none; transition:width .3s ease, opacity .2s ease, padding .25s ease; }
#nav-search.is-open input { width:230px; opacity:1; padding:0 1rem; border-color:#e2e8f0; pointer-events:auto; }
