/* Hero yazıları, arama butonu, header buton düzeltmesi, hizmet animasyonları */

/* Header WhatsApp butonu: 3 yazılık döngü, boşluk kalmaz */
.sb-slide { animation: sbSlide3 9s cubic-bezier(.4,0,.2,1) infinite !important; }
.sb-slide:nth-child(1) { animation-delay: 0s !important; }
.sb-slide:nth-child(2) { animation-delay: 3s !important; }
.sb-slide:nth-child(3) { animation-delay: 6s !important; }
@keyframes sbSlide3 {
    0%   { opacity: 0; transform: translateY(70%); }
    3%   { opacity: 1; transform: translateY(0); }
    32%  { opacity: 1; transform: translateY(0); }
    37%  { opacity: 0; transform: translateY(-70%); }
    100% { opacity: 0; transform: translateY(-70%); }
}
.header-stats-btn { background:#25a244; }
.header-stats-btn:hover { background:#24489a; }

/* Hero */
.hero-eyebrow { letter-spacing:.22em; }
.hero-eyebrow b { color:#fff; }
.hero-title { font-size:clamp(2.4rem,6vw,4.4rem); letter-spacing:-.01em; }
.hero-title small { display:block; font-size:clamp(1rem,2.2vw,1.5rem); font-weight:700; color:#cfe3ff; margin-top:10px; letter-spacing:.02em; }
.hero-title .brand-b { color:#fff; }

/* Animasyonlu arama butonu */
.btn-call { position:relative; display:inline-flex; align-items:center; gap:14px; padding:10px 30px 10px 12px; border-radius:60px; background:var(--color-primary); color:#0b2160 !important; text-decoration:none; overflow:hidden; box-shadow:0 10px 30px rgba(141,198,63,.45); animation:callPulse 2.4s ease-in-out infinite; transition:transform .3s; }
.btn-call:hover { transform:translateY(-3px) scale(1.03); }
.btn-call::after { content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); animation:btnShine 3.5s ease-in-out infinite; }
.btn-call .bc-ico { position:relative; width:52px; height:52px; border-radius:50%; background:#0b2160; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex:0 0 auto; }
.btn-call .bc-ico i { animation:phoneRing 1.8s ease-in-out infinite; transform-origin:50% 50%; }
.btn-call .bc-ico::before, .btn-call .bc-ico::after { content:''; position:absolute; inset:0; border-radius:50%; border:2px solid #0b2160; animation:callWave 2.4s ease-out infinite; }
.btn-call .bc-ico::after { animation-delay:1.2s; }
.btn-call .bc-txt { display:flex; flex-direction:column; text-align:left; line-height:1.15; }
.btn-call .bc-txt small { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.8; }
.btn-call .bc-txt strong { font-size:1.35rem; font-weight:800; letter-spacing:.02em; }
@keyframes phoneRing { 0%,55%,100% { transform:rotate(0); } 60% { transform:rotate(-18deg); } 66% { transform:rotate(16deg); } 72% { transform:rotate(-14deg); } 78% { transform:rotate(12deg); } 84% { transform:rotate(-6deg); } }
@keyframes callWave { 0% { transform:scale(1); opacity:.7; } 100% { transform:scale(1.9); opacity:0; } }
@keyframes callPulse { 50% { box-shadow:0 10px 40px rgba(141,198,63,.8); } }
@keyframes btnShine { 0%,55% { left:-60%; } 80%,100% { left:130%; } }
.hero-buttons .btn-outline-hero { padding:18px 34px; }

/* Yazan başlık */
.typed-word { color:var(--green, #8dc63f); border-right:3px solid currentColor; padding-right:4px; animation:caret .8s steps(1) infinite; white-space:nowrap; }
@keyframes caret { 50% { border-color:transparent; } }

/* Ekrana girince balon gibi beliren kartlar */
.reveal { opacity:0; transform:translateY(50px) scale(.85); transition:opacity .7s ease, transform .8s cubic-bezier(.34,1.56,.64,1); transition-delay:var(--d,0s); }
.reveal.in { opacity:1; transform:none; }

/* index2: balonların üzerine gelince açıklama */
.bs-item .bs-desc { position:absolute; left:50%; bottom:-14px; transform:translate(-50%,20px) scale(.9); width:210px; background:#fff; color:var(--muted,#5b6b8c); font-size:.8rem; line-height:1.5; padding:12px 14px; border-radius:14px; box-shadow:0 12px 30px rgba(36,72,154,.25); opacity:0; pointer-events:none; transition:.35s; z-index:5; }
.bs-item:hover .bs-desc { opacity:1; transform:translate(-50%,0) scale(1); }
.bs-item:hover .bs-label { transform:scale(1.12); transition:transform .35s; }
.bs-item.reveal.in { animation:floaty 7s ease-in-out infinite; }
.bs-item.reveal:not(.in) { animation:none; }

@media (max-width:575px){ .btn-call .bc-txt strong{font-size:1.1rem;} .btn-call{padding-right:22px;} .hero-buttons{gap:12px;} }
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none;} .btn-call,.btn-call::after,.btn-call .bc-ico i,.btn-call .bc-ico::before,.btn-call .bc-ico::after{animation:none;} }

/* Hero "Hizmetlerimiz" butonu: dönen hizmet adları */
.btn-serv { display:inline-flex; align-items:center; gap:14px; padding:10px 26px 10px 12px !important; border-radius:60px !important; min-width:270px; text-decoration:none; position:relative; overflow:hidden; }
.btn-serv .bv-ico { width:52px; height:52px; border-radius:50%; background:#fff; color:#24489a; display:flex; align-items:center; justify-content:center; font-size:1.25rem; flex:0 0 auto; }
.btn-serv .bv-txt { display:flex; flex-direction:column; text-align:left; line-height:1.15; flex:1; min-width:0; text-transform:none; letter-spacing:0; }
.btn-serv .bv-txt small { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.8; }
.btn-serv .bv-slides { position:relative; display:block; height:1.5rem; overflow:hidden; margin-top:2px; }
.btn-serv .bv-slides strong { position:absolute; left:0; top:0; width:100%; font-size:1.2rem; font-weight:800; white-space:nowrap; opacity:0; animation:bvSlide 18s cubic-bezier(.4,0,.2,1) infinite; }
.btn-serv .bv-slides strong:nth-child(1) { animation-delay:0s; }
.btn-serv .bv-slides strong:nth-child(2) { animation-delay:3s; }
.btn-serv .bv-slides strong:nth-child(3) { animation-delay:6s; }
.btn-serv .bv-slides strong:nth-child(4) { animation-delay:9s; }
.btn-serv .bv-slides strong:nth-child(5) { animation-delay:12s; }
.btn-serv .bv-slides strong:nth-child(6) { animation-delay:15s; }
@keyframes bvSlide {
    0%   { opacity:0; transform:translateY(80%); }
    2%   { opacity:1; transform:translateY(0); }
    15.5%{ opacity:1; transform:translateY(0); }
    18%  { opacity:0; transform:translateY(-80%); }
    100% { opacity:0; transform:translateY(-80%); }
}
.btn-serv .bv-arrow { color:var(--color-primary); transition:transform .3s; }
.btn-serv:hover { background:#fff !important; color:#0b2160 !important; border-color:#fff !important; }
.btn-serv:hover .bv-ico { background:#24489a; color:#fff; }
.btn-serv:hover .bv-arrow { transform:translateX(5px); color:#24489a; }
@media (max-width:575px){ .btn-serv{ min-width:0; width:100%; max-width:320px; } .btn-call{ width:100%; max-width:320px; } }
@media (prefers-reduced-motion:reduce){ .btn-serv .bv-slides strong:first-child{opacity:1;animation:none;} .btn-serv .bv-slides strong{animation:none;} }

/* Yorum slider */
.reviews-swiper { overflow:hidden; padding:70px 6px 56px; margin-top:-30px; text-align:center; }
.reviews-swiper .swiper-slide { height:auto; display:flex; }
.reviews-swiper .tcard { width:100%; margin:0; }
.reviews-swiper .swiper-pagination { bottom:8px; }
.reviews-swiper .swiper-pagination-bullet { width:26px; height:8px; border-radius:8px; background:rgba(255,255,255,.4); opacity:1; transition:.3s; }
.reviews-swiper .swiper-pagination-bullet-active { background:#4898d4; width:40px; }
.rv-list.reviews-swiper { padding:6px 6px 50px; margin-top:0; text-align:left; }
.rv-list.reviews-swiper .rv-card { width:100%; height:100%; }
.rv-list.reviews-swiper .swiper-pagination-bullet { background:#c9d8ee; }
.rv-list.reviews-swiper .swiper-pagination-bullet-active { background:#24489a; }
.reviews-inner > .reviews-swiper { width:100%; min-width:0; max-width:100%; contain:inline-size; }

/* Mozaik gölgesi: animasyonlar bitince gelir */
.stats-mosaic { box-shadow:0 0 0 rgba(11,33,96,0) !important; transition:box-shadow 1s ease; }
.stats-mosaic.done { box-shadow:0 18px 50px rgba(11,33,96,.28) !important; }
@media (prefers-reduced-motion:reduce){ .stats-mosaic{ box-shadow:0 18px 50px rgba(11,33,96,.28) !important; } }
