/* =========================================================================
   Yaprakzade — Premium polish katmanı (2026 modern teknikler)
   Scroll-reveal · sticky-state header · mikro-etkileşim · dairesel aksan
   style.css/inner.css ÜZERİNE biner; reduced-motion'a saygılı.
   ========================================================================= */

/* ---- Yatay taşmayı engelle (reveal translateX + blob için) — sticky'yi bozmaz ---- */
html{overflow-x:clip}
body{overflow-x:clip}

/* ---- Scroll progress bar ---- */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--green,#3f8e3f),var(--gold,#c79a3a));transition:width .1s linear}

/* ---- 3D tasarım katmanı: kart tilt + hero parallax + metin derinliği ---- */
@media (hover:hover) and (pointer:fine){
  .product-grid,.blog-grid,.gallery-strip,.tilt-grid,.hero-inner{perspective:1100px}
  .tilt3d{transition:transform .14s ease-out, box-shadow .3s ease; transform-style:preserve-3d; will-change:transform}
  .tilt3d:hover{box-shadow:0 28px 50px -22px rgba(31,77,34,.5)}
  .hero-media{transition:transform .2s ease-out; transform-style:preserve-3d; will-change:transform}
}
/* Başlık/metin 3B derinlik (hafif kabartma) — admin içeriğindeki yazılar */
.sec-head h2,.hero-text h1,.page-hero h1,.heritage-content h2{
  text-shadow:0 1px 0 rgba(255,255,255,.55), 0 4px 10px rgba(31,77,34,.14)}
.r3d-dark .sec-head h2{text-shadow:0 2px 18px rgba(0,0,0,.6)}
@media (prefers-reduced-motion: reduce){ .tilt3d,.hero-media{transition:none!important} }

/* ---- Scroll reveal ---- */
/* easing: opacity = Material standard (0.4,0,0.2,1); transform = underdamped spring overshoot (10_ §4.4) */
.js-reveal{opacity:0;transform:translateY(30px);
  transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.34,1.56,.64,1);will-change:opacity,transform}
.js-reveal.is-visible{opacity:1;transform:none}
.js-reveal.from-left{transform:translateX(-40px)}
.js-reveal.from-right{transform:translateX(40px)}
.js-reveal.zoom-in{transform:scale(.9)}

/* ---- Sticky header scroll-state ---- */
.main-header{transition:box-shadow .3s ease,background .3s ease,padding .3s ease}
.main-header.scrolled{box-shadow:0 8px 28px -14px rgba(18,60,28,.30);
  background:rgba(255,255,255,.92);backdrop-filter:saturate(1.3) blur(8px);-webkit-backdrop-filter:saturate(1.3) blur(8px)}
/* NOT: header yüksekliği sabit tutulur (scroll'da küçültmek içerik zıplamasına yol açar) */

/* ---- Hero dairesel aksan (blob) ---- */
.hero-slider{position:relative}
.hero-slider::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,142,63,.16),transparent 68%);top:-140px;right:-90px;
  pointer-events:none;z-index:1;animation:floaty 9s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(22px)}}

/* ---- Mikro-etkileşim: ürün/blog görsel zoom ---- */
.product-card .p-img,.blog-card .b-img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.product-card:hover .p-img,.blog-card:hover .b-img{transform:scale(1.07)}

/* ---- Güven şeridi: dairesel ikon rozetleri ---- */
.trust-item .ic{display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;background:var(--soft,#f3f6f1);
  box-shadow:inset 0 0 0 1px rgba(63,142,63,.12);transition:transform .3s ease,background .3s ease;flex-shrink:0}
.trust-item:hover .ic{transform:translateY(-4px) rotate(-6deg);background:#e9f3e6}

/* ---- Buton mikro-parlama ---- */
.btn-primary,.contact-btn,.btn3d{position:relative;overflow:hidden}
.btn-primary::after,.contact-btn::after,.btn3d::after{content:"";position:absolute;top:0;left:-130%;
  width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .6s ease}
.btn-primary:hover::after,.contact-btn:hover::after,.btn3d:hover::after{left:130%}

/* ---- Bölüm eğrisel ayraç (curved divider) ---- */
.trust{position:relative}
.trust::before{content:"";position:absolute;top:-1px;left:0;right:0;height:30px;background:#fff;
  border-radius:0 0 50% 50%/0 0 100% 100%;transform:scaleX(1.5)}

/* ---- Erişilebilirlik: hareket azalt ---- */
@media (prefers-reduced-motion: reduce){
  .js-reveal{opacity:1!important;transform:none!important;transition:none}
  .hero-slider::before{animation:none}
  #scroll-progress{display:none}
  .btn-primary::after,.contact-btn::after,.btn3d::after{display:none}
}
