/* =========================================================
   BVA Site Elements
   Fontlar temadan gelir (Flatsome). Renkler aşağıdaki
   değişkenlerle özelleştirilebilir.
   ========================================================= */
:root{
  --bva-black:#000;
  --bva-white:#fff;
  --bva-card:#f5f5f3;
  --bva-muted:#8e8e8e;
  --bva-line:#e3e3e0;
}

/* ---------------------------------------------------------
   1) Particles arka planı  (.bva-particles)
   --------------------------------------------------------- */
.bva-particles{position:relative;overflow:hidden}
.bva-particles > .bva-particles-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.bva-particles > .bva-particles-canvas canvas{display:block}
.bva-particles > .section-content,
.bva-particles > .row,
.bva-particles > .col-inner{position:relative;z-index:1}

/* Başlık animasyonu (.bva-reveal-title / .bva-reveal-sub)
   Tema stillerini ezer. İstersen değerleri CSS değişkenleriyle değiştirebilirsin:
   --bva-title-size, --bva-title-weight, --bva-title-lh, --bva-title-ls,
   --bva-title-tt, --bva-title-align, --bva-title-color,
   --bva-sub-size, --bva-sub-weight, --bva-sub-ls, --bva-sub-color, --bva-sub-gap, --bva-sub-line */
.bva-reveal-title,.bva-reveal-sub{margin:0 !important;padding:0 !important}
.bva-reveal-title > *:last-child,.bva-reveal-sub > *:last-child{margin-bottom:0 !important}
.bva-rt{
  width:100% !important;margin:0 !important;padding:0 !important;
  font-size:var(--bva-title-size,clamp(34px,6.4vw,96px)) !important;
  font-weight:var(--bva-title-weight,300) !important;
  line-height:var(--bva-title-lh,1.08) !important;
  letter-spacing:var(--bva-title-ls,.14em) !important;
  text-transform:var(--bva-title-tt,uppercase) !important;
  text-align:var(--bva-title-align,center) !important;
  color:var(--bva-title-color,#fff) !important;
  text-shadow:none !important;text-rendering:auto !important;
}
.bva-rt .bva-rt-w{display:inline-block !important;overflow:hidden;vertical-align:top !important;padding:.06em 0 !important;margin:0 !important}
.bva-rt .bva-rt-w:last-child{margin-right:calc(-1 * var(--bva-title-ls,.14em)) !important}
.bva-rt .bva-rt-i{display:inline-block !important;margin:0 !important;transform:translateY(105%);animation:bvaWordUp 1.2s cubic-bezier(.19,1,.22,1) both}
.bva-rs{
  display:flex !important;align-items:center !important;justify-content:center !important;gap:22px;
  margin:var(--bva-sub-gap,30px) 0 0 !important;padding:0 !important;
  font-size:var(--bva-sub-size,clamp(13px,1.3vw,17px)) !important;
  font-weight:var(--bva-sub-weight,400) !important;
  line-height:1.4 !important;
  color:var(--bva-sub-color,#cfcfcf) !important;
  text-transform:uppercase !important;text-shadow:none !important;letter-spacing:normal !important;
}
.bva-rs::before,.bva-rs::after{content:"";flex:0 0 var(--bva-sub-line,64px);height:1px;background:currentColor;opacity:.5;transform:scaleX(0);animation:bvaLineIn 1s cubic-bezier(.19,1,.22,1) 1.1s forwards}
.bva-rs::before{transform-origin:right}
.bva-rs::after{transform-origin:left}
.bva-rs span{white-space:nowrap !important;text-transform:uppercase !important;margin:0 calc(-1 * var(--bva-sub-ls,.38em)) 0 0 !important;padding:0 !important;color:inherit !important;font-size:inherit !important;opacity:0;animation:bvaSubIn 1.4s cubic-bezier(.19,1,.22,1) 1.3s both}
@keyframes bvaWordUp{to{transform:translateY(0)}}
@keyframes bvaLineIn{to{transform:scaleX(1)}}
@keyframes bvaSubIn{from{opacity:0;letter-spacing:calc(var(--bva-sub-ls,.38em) + .22em)}to{opacity:1;letter-spacing:var(--bva-sub-ls,.38em)}}
@media (max-width:549px){
  .bva-rs{gap:14px;font-size:var(--bva-sub-size-mobile,11px) !important}
  .bva-rs::before,.bva-rs::after{flex-basis:28px}
}

/* ---------------------------------------------------------
   2) Ürün kartları  [bva_products]
   --------------------------------------------------------- */
.bva-products{display:grid;grid-template-columns:repeat(var(--bva-cols,2),minmax(0,1fr));gap:24px}
.bva-p-card{scroll-margin-top:var(--bva-scroll-offset,110px);position:relative;overflow:hidden;cursor:pointer;outline-offset:3px;display:flex !important;flex-direction:column !important}
.bva-p-layer{padding:44px !important;display:flex !important;flex-direction:column}
.bva-p-base{flex:1 1 auto;position:relative;z-index:1;background:var(--bva-card);color:var(--bva-black)}
.bva-p-overlay{position:absolute;inset:0;z-index:2;color:var(--bva-white);background:#6f6f6f;
  clip-path:polygon(56% 0,100% 0,100% 100%,70% 100%);
  transition:clip-path .6s ease-in-out}
.bva-p-card.is-over .bva-p-overlay{clip-path:polygon(-150% 0,100% 0,100% 100%,-10% 100%)}
.bva-p-img{display:none}
.bva-p-overlay .bva-p-img{display:block;position:absolute;inset:0;z-index:0}
.bva-p-overlay .bva-p-img img{width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.bva-p-overlay .bva-p-img::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .6s ease-in-out}
.bva-p-card.is-over .bva-p-overlay .bva-p-img::after{opacity:1}
.bva-p-copy{position:relative;z-index:1;display:flex !important;flex-direction:column;max-width:48% !important}
.bva-p-tag{font-size:12px !important;letter-spacing:.06em !important;color:var(--bva-muted) !important}
.bva-p-overlay .bva-p-tag{color:#d6d6d6 !important}
.bva-p-card .bva-p-title{font-weight:300 !important;font-size:clamp(40px,4.2vw,60px) !important;line-height:1 !important;letter-spacing:-.01em !important;margin:18px 0 22px !important;color:inherit !important;padding:0 !important}
.bva-p-text{font-size:14px !important;font-weight:300 !important;line-height:1.7 !important;color:#555 !important;margin:0 !important;max-width:22em !important}
.bva-p-overlay .bva-p-text{color:#e4e4e4 !important}
.bva-p-cta{cursor:pointer !important;margin:32px 0 0 !important;align-self:flex-start !important;display:inline-flex !important;align-items:center;min-height:0 !important;line-height:1.2 !important;padding:12px 24px !important;font-size:12px !important;font-weight:500 !important;letter-spacing:.06em !important;text-transform:none !important;background:var(--bva-black) !important;color:var(--bva-white) !important;border:1px solid var(--bva-black) !important;border-radius:0 !important;box-shadow:none !important}
.bva-p-cta:hover,.bva-p-cta:focus{opacity:1 !important;box-shadow:none !important;transform:none !important}
.bva-p-overlay .bva-p-cta{background:var(--bva-white) !important;color:var(--bva-black) !important;border-color:var(--bva-white) !important}

@media (max-width:849px){
  .bva-products{grid-template-columns:1fr}
  .bva-p-copy,.bva-p-card.is-over .bva-p-overlay .bva-p-copy{max-width:100% !important}
  /* Mobil: şerit masaüstündeki gibi sağdan gelir, kart kısa kalır. */
  .bva-p-overlay{clip-path:polygon(64% 0,100% 0,100% 100%,80% 100%)}
  .bva-p-card.is-over .bva-p-overlay{clip-path:polygon(-150% 0,100% 0,100% 100%,-10% 100%)}

  /* Şeridin üstüne düşen metin okunur kalsın.
     JS görselin tonunu ölçer: koyu görselde beyaz yazı, açık görselde koyu yazı.
     Ölçüm yapılamazsa varsayılan: hafif karartma + beyaz yazı. */
  .bva-p-card:not(.is-over) .bva-p-overlay .bva-p-img::after{opacity:1;background:rgba(0,0,0,.3)}
  .bva-p-card.is-light:not(.is-over) .bva-p-overlay .bva-p-img::after{background:rgba(255,255,255,.28)}
  .bva-p-card.is-light:not(.is-over) .bva-p-overlay{color:var(--bva-black)}
  .bva-p-card.is-light:not(.is-over) .bva-p-overlay .bva-p-tag{color:#444 !important}
  .bva-p-card.is-light:not(.is-over) .bva-p-overlay .bva-p-text{color:#1a1a1a !important}
  .bva-p-card.is-light:not(.is-over) .bva-p-overlay .bva-p-cta{background:var(--bva-black) !important;color:var(--bva-white) !important;border-color:var(--bva-black) !important}
  .bva-p-overlay .bva-p-img::after{transition:opacity .6s ease-in-out,background-color .6s ease-in-out}
  .bva-p-overlay,.bva-p-overlay .bva-p-tag,.bva-p-overlay .bva-p-text,.bva-p-overlay .bva-p-cta{transition:color .4s ease,background-color .4s ease,border-color .4s ease,clip-path .6s ease-in-out}
}
@media (max-width:549px){
  .bva-p-layer{padding:32px 28px !important}
}

/* Pop-up */
.bva-modal{margin:auto;border:0;padding:0;max-width:980px;width:calc(100% - 40px);max-height:calc(100vh - 40px);background:var(--bva-white);color:var(--bva-black);overflow:hidden}
.bva-modal::backdrop{background:rgba(0,0,0,.72)}
.bva-modal[open]{animation:bvaModalIn .45s cubic-bezier(.19,1,.22,1)}
@keyframes bvaModalIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
html.bva-modal-open{overflow:hidden}
.bva-modal-grid{display:grid;grid-template-columns:40% 1fr;max-height:calc(100vh - 40px)}
.bva-modal-grid.no-img{grid-template-columns:1fr}
.bva-modal-img{background:#ddd;min-height:100%}
.bva-modal-img img{width:100%;height:100%;object-fit:cover;display:block}
.bva-modal-body{padding:56px 52px 48px !important;overflow-y:auto}
.bva-modal-tag{font-size:12px !important;letter-spacing:.06em !important;color:var(--bva-muted) !important}
.bva-modal .bva-modal-title{font-weight:300 !important;font-size:clamp(40px,4.4vw,60px) !important;line-height:1 !important;margin:14px 0 28px !important;padding:0 !important}
.bva-modal-text p{font-size:15px !important;font-weight:300 !important;line-height:1.8 !important;color:#444 !important;max-width:36em !important;margin:0 !important}
.bva-modal-text p + p{margin-top:14px !important}
.bva-modal-uses{margin:28px 0 0 !important;padding-top:18px !important;border-top:1px solid var(--bva-line) !important;font-size:13px !important;color:var(--bva-muted) !important}
.bva-modal-uses strong{display:block !important;font-weight:500 !important;color:var(--bva-black) !important;margin-bottom:4px !important}
.bva-modal-uses strong:empty{display:none !important}
.bva-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;min-height:0 !important;margin:0 !important;padding:0 !important;border:0 !important;background:var(--bva-white) !important;color:var(--bva-black) !important;font-size:30px !important;font-weight:300 !important;line-height:1 !important;cursor:pointer !important;box-shadow:none !important}
.bva-modal-close:hover{background:var(--bva-card) !important}
@media (max-width:767px){
  .bva-modal-grid{grid-template-columns:1fr;overflow-y:auto}
  .bva-modal-img{height:200px;min-height:0}
  .bva-modal-body{padding:32px 24px !important;overflow:visible}
}

/* ---------------------------------------------------------
   3) Noktalı harita  [bva_map]
   --------------------------------------------------------- */
.bva-map{display:flex;align-items:center;justify-content:center;width:100%}
.bva-map svg{display:block;width:100%;height:auto;max-height:var(--bva-map-h,640px);overflow:visible}
.bva-map--fade svg{-webkit-mask-image:linear-gradient(to right,#000 72%,transparent 100%);mask-image:linear-gradient(to right,#000 72%,transparent 100%)}
.bva-map .bva-dots{fill:var(--bva-dot,#444)}
.bva-map .bva-core{fill:var(--bva-pin,#fff)}
.bva-map .bva-pulse{fill:none;stroke:var(--bva-pin,#fff);stroke-width:.16;transform-box:fill-box;transform-origin:center;opacity:0;animation:bvaPinPulse 2.6s ease-out infinite;animation-delay:var(--d,0s)}
.bva-map .bva-pulse-2{animation-delay:calc(var(--d,0s) + 1.3s)}
.bva-map text{fill:var(--bva-label,#fff);font-family:inherit !important;font-size:1.95px !important;font-weight:400 !important;letter-spacing:.04em !important}
@keyframes bvaPinPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(5);opacity:0}}
@media (max-width:849px){
  .bva-map svg{max-height:min(var(--bva-map-h,640px),460px)}
}

/* Tema (Flatsome) tipografisine karşı sabitleme */
.bva-p-tag,.bva-p-text,.bva-p-card .bva-p-title,.bva-modal-tag,.bva-modal .bva-modal-title,.bva-modal-text p,.bva-modal-uses,.bva-modal-uses strong,.bva-modal-uses span{text-transform:none !important;text-shadow:none !important}
.bva-p-text,.bva-modal-text p,.bva-modal-uses,.bva-modal-uses span,.bva-modal-uses strong{letter-spacing:normal !important}
.bva-p-tag,.bva-modal-tag{display:block !important;margin:0 !important;padding:0 !important;line-height:1.4 !important}
.bva-modal-uses span{display:inline !important;margin:0 !important;padding:0 !important;color:inherit !important;font-size:inherit !important}
.bva-rt .bva-rt-w,.bva-rt .bva-rt-i{color:inherit !important;font-size:inherit !important;letter-spacing:inherit !important;font-weight:inherit !important;line-height:inherit !important}
.bva-map text{text-transform:none !important}
.bva-modal .bva-modal-title{color:var(--bva-black) !important;letter-spacing:-.01em !important}
.bva-modal-text p{text-align:left !important}

/* Hareket azaltma tercihi */
@media (prefers-reduced-motion:reduce){
  .bva-rt .bva-rt-i,.bva-rs::before,.bva-rs::after,.bva-rs span{animation:none;transform:none;opacity:1}
  .bva-rs span{letter-spacing:var(--bva-sub-ls,.38em) !important}
  .bva-map .bva-pulse{animation:none}
  .bva-p-overlay,.bva-p-overlay .bva-p-img::after{transition:none}
}
