/* KATMIRRA - GERCEK FAVORILER + HIZLI TESLIMAT V2 / UI FIX */

:root{
  --km-fav:#ff5a00;
  --km-fav-soft:#fff5ef;
  --km-fast:#39ad4a;
  --km-fast-dark:#2f963e;
}

/* =========================================================
   URUN KARTI UST IKONLARI
   Referanstaki boyut / konum / renk mantığı
   ========================================================= */

.rapid-card .rapid-photo-wrap{
  position:relative !important;
  overflow:visible !important;
}

/* HIZLI TESLIMAT: 38px yeşil daire, ortada beyaz kamyon */
.rapid-card .rapid-photo-wrap > .km-fast-delivery{
  all:unset !important;
  position:absolute !important;
  z-index:12 !important;
  left:12px !important;
  top:12px !important;
  width:38px !important;
  height:38px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:var(--km-fast) !important;
  color:#fff !important;
  box-shadow:0 2px 8px rgba(36,139,56,.23) !important;
  cursor:default !important;
}

.rapid-card .rapid-photo-wrap > .km-fast-delivery:hover{
  background:var(--km-fast-dark) !important;
}

.rapid-card .km-fast-delivery .km-fast-delivery-icon,
.rapid-card .km-fast-delivery svg{
  all:unset !important;
  width:22px !important;
  height:22px !important;
  display:block !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:1.85 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.rapid-card .km-fast-delivery svg *,
.rapid-card .km-fast-delivery svg path,
.rapid-card .km-fast-delivery svg circle{
  fill:none !important;
  stroke:#fff !important;
  stroke-width:1.85 !important;
  vector-effect:non-scaling-stroke !important;
}

/* Mouse üstüne gelince "Hızlı Teslimat" */
.rapid-card .km-fast-delivery > span{
  all:unset !important;
  position:absolute !important;
  z-index:20 !important;
  top:calc(100% + 7px) !important;
  left:50% !important;
  width:max-content !important;
  max-width:150px !important;
  box-sizing:border-box !important;
  padding:7px 9px !important;
  border-radius:5px !important;
  background:#222 !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:600 !important;
  white-space:nowrap !important;
  box-shadow:0 4px 12px rgba(0,0,0,.2) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate(-50%,-3px) !important;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease !important;
}

.rapid-card .km-fast-delivery:hover > span,
.rapid-card .km-fast-delivery:focus > span{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%,0) !important;
}

/* FAVORI: beyaz 38px daire, siyah ince kalp */
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button{
  all:unset !important;
  position:absolute !important;
  z-index:13 !important;
  right:12px !important;
  top:12px !important;
  width:38px !important;
  height:38px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #ece8e9 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#202020 !important;
  box-shadow:0 2px 7px rgba(0,0,0,.075) !important;
  cursor:pointer !important;
  transition:
    color .15s ease,
    border-color .15s ease,
    background .15s ease,
    transform .15s ease !important;
}

.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button .km-favorite-icon,
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button svg{
  all:unset !important;
  width:20px !important;
  height:20px !important;
  display:block !important;
  overflow:visible !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.65 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button svg path{
  fill:transparent !important;
  stroke:currentColor !important;
  stroke-width:1.65 !important;
  vector-effect:non-scaling-stroke !important;
}

/* Referanstaki gibi hover'da kalp turuncuya döner */
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button:hover,
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button:focus-visible{
  color:var(--km-fav) !important;
  border-color:#ffc19f !important;
  background:#fff !important;
  transform:scale(1.045) !important;
}

/* Favoriye eklendiyse kalp turuncu dolu görünür */
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button.is-favorite{
  color:var(--km-fav) !important;
  border-color:#ffc19f !important;
  background:var(--km-fav-soft) !important;
}

.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button.is-favorite svg path,
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button svg path.km-heart-filled{
  fill:currentColor !important;
  stroke:currentColor !important;
}

/* Ürün detayındaki favori butonu da aynı dilde */
.km-product-favorite{
  all:unset !important;
  width:40px !important;
  height:40px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #ece8e9 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#202020 !important;
  cursor:pointer !important;
}

.km-product-favorite:hover,
.km-product-favorite.is-favorite{
  color:var(--km-fav) !important;
  border-color:#ffc19f !important;
}

.km-product-favorite svg{
  width:20px !important;
  height:20px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.65 !important;
}

.km-product-favorite.is-favorite svg path{
  fill:currentColor !important;
}

/* Ürün detay hızlı teslimat */
.km-product-fast-delivery{
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 12px !important;
  border-radius:20px !important;
  background:#ebf8ed !important;
  color:#27853a !important;
  font:600 12px/1 Arial,Helvetica,sans-serif !important;
}

.km-product-fast-delivery svg{
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}

@media(max-width:650px){
  .rapid-card .rapid-photo-wrap > .km-fast-delivery{
    left:8px !important;
    top:8px !important;
    width:34px !important;
    height:34px !important;
  }

  .rapid-card .km-fast-delivery .km-fast-delivery-icon,
  .rapid-card .km-fast-delivery svg{
    width:19px !important;
    height:19px !important;
  }

  .rapid-card .rapid-photo-wrap > button.heart.km-favorite-button{
    right:8px !important;
    top:8px !important;
    width:34px !important;
    height:34px !important;
  }

  .rapid-card .rapid-photo-wrap > button.heart.km-favorite-button svg{
    width:18px !important;
    height:18px !important;
  }
}

/* Header Favorilerim sayacı */
.km-header-favorites{
  position:relative !important;
}

.km-header-favorite-count{
  position:absolute !important;
  right:-8px !important;
  top:0 !important;
  min-width:17px !important;
  height:17px !important;
  padding:0 4px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:var(--km-fav) !important;
  color:#fff !important;
  font:700 10px/1 Arial,sans-serif !important;
}

/* Ürün detay sayfası */
.km-product-detail-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:10px 0 13px !important;
}

.km-product-fast-delivery{
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 12px !important;
  border-radius:20px !important;
  background:#eaf8ee !important;
  color:#247c38 !important;
  font:600 12px/1 Arial,Helvetica,sans-serif !important;
}

.km-product-fast-delivery svg{
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}

/* Giriş / üyelik modal */
body.km-auth-open{
  overflow:hidden !important;
}

.km-auth-modal{
  position:fixed !important;
  z-index:100000 !important;
  inset:0 !important;
}

.km-auth-modal[hidden]{
  display:none !important;
}

.km-auth-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(18,15,17,.58) !important;
  opacity:0 !important;
  transition:opacity .17s ease !important;
}

.km-auth-dialog{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:min(450px,calc(100% - 30px)) !important;
  max-height:calc(100vh - 34px) !important;
  overflow-y:auto !important;
  box-sizing:border-box !important;
  padding:28px 36px 30px !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 18px 70px rgba(0,0,0,.26) !important;
  transform:translate(-50%,-47%) scale(.985) !important;
  opacity:0 !important;
  transition:opacity .17s ease,transform .17s ease !important;
  font-family:Arial,Helvetica,sans-serif !important;
}

.km-auth-modal.open .km-auth-backdrop{
  opacity:1 !important;
}

.km-auth-modal.open .km-auth-dialog{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
}

.km-auth-close{
  position:absolute !important;
  right:12px !important;
  top:9px !important;
  width:34px !important;
  height:34px !important;
  border:0 !important;
  background:transparent !important;
  color:#777 !important;
  font-size:28px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.km-auth-tabs{
  display:flex !important;
  gap:6px !important;
  margin:0 32px 23px !important;
  padding:4px !important;
  border-radius:9px !important;
  background:#f6f3f4 !important;
}

.km-auth-tabs button{
  flex:1 !important;
  min-height:36px !important;
  border:0 !important;
  border-radius:7px !important;
  background:transparent !important;
  color:#6f676b !important;
  font-size:12px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}

.km-auth-tabs button.active{
  background:#fff !important;
  color:var(--km-fav) !important;
  box-shadow:0 1px 5px rgba(0,0,0,.08) !important;
}

.km-auth-view h2{
  margin:0 !important;
  color:#161316 !important;
  text-align:center !important;
  font-size:24px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}

.km-auth-view > p{
  margin:8px auto 24px !important;
  max-width:330px !important;
  color:#6f686c !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

.km-auth-view form{
  display:grid !important;
  gap:13px !important;
}

.km-auth-view label{
  display:grid !important;
  gap:6px !important;
}

.km-auth-view label span{
  color:#4f494d !important;
  font-size:11px !important;
  font-weight:700 !important;
}

.km-auth-view label em{
  color:#999 !important;
  font-style:normal !important;
  font-weight:400 !important;
}

.km-auth-view input{
  width:100% !important;
  height:46px !important;
  box-sizing:border-box !important;
  border:1px solid #ded9dc !important;
  border-radius:7px !important;
  background:#fff !important;
  padding:0 13px !important;
  outline:none !important;
  color:#282328 !important;
  font-size:13px !important;
}

.km-auth-view input:focus{
  border-color:#b68194 !important;
  box-shadow:0 0 0 3px rgba(141,41,75,.07) !important;
}

.km-auth-name-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}

.km-auth-primary{
  width:100% !important;
  height:46px !important;
  margin-top:2px !important;
  border:0 !important;
  border-radius:7px !important;
  background:var(--km-fav) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.km-auth-primary:hover{
  background:var(--km-fav-dark) !important;
}

.km-auth-primary:disabled{
  opacity:.6 !important;
  cursor:wait !important;
}

.km-auth-message{
  min-height:0 !important;
  color:#b3261e !important;
  font-size:11px !important;
  line-height:1.35 !important;
}

.km-auth-message:empty{
  display:none !important;
}

.km-auth-switch{
  margin:22px 0 0 !important;
  color:#5f585c !important;
  text-align:center !important;
  font-size:12px !important;
}

.km-auth-switch button{
  border:0 !important;
  background:transparent !important;
  color:var(--km-fav) !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

/* Toast */
.km-favorite-toast{
  position:fixed !important;
  z-index:100100 !important;
  right:22px !important;
  bottom:22px !important;
  max-width:340px !important;
  padding:12px 16px !important;
  border-radius:8px !important;
  background:#202020 !important;
  color:#fff !important;
  font:600 12px/1.35 Arial,Helvetica,sans-serif !important;
  box-shadow:0 8px 28px rgba(0,0,0,.2) !important;
  opacity:0 !important;
  transform:translateY(10px) !important;
  pointer-events:none !important;
  transition:.17s ease !important;
}

.km-favorite-toast.show{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.km-favorite-toast.error{
  background:#a82a2a !important;
}

@media(max-width:650px){
  .km-fast-delivery{
    left:8px !important;
    top:8px !important;
    width:34px !important;
    height:34px !important;
  }

  .rapid-card .heart.km-favorite-button{
    right:8px !important;
    top:8px !important;
    width:36px !important;
    height:36px !important;
  }

  .km-auth-dialog{
    padding:24px 20px 26px !important;
  }

  .km-auth-name-row{
    grid-template-columns:1fr !important;
  }
}


/* V2 SON GARANTI: global SVG / ürün resmi stilleri bu ikonları büyütemez */
.rapid-card .km-fast-delivery svg,
.rapid-card .heart.km-favorite-button svg{
  max-width:22px !important;
  max-height:22px !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  transform:none !important;
}


/* =========================================================
   KATMIRRA V3 - REFERANSA YAKIN HIZLI TESLIMAT ROZETI
   ========================================================= */

/* Tooltip hiçbir yerde kırpılmasın */
.rapid-card{
  overflow:visible !important;
}

.rapid-card .rapid-photo-wrap{
  overflow:visible !important;
}

.rapid-card .photo{
  overflow:visible !important;
}

/* Referans: yaklaşık 38px yeşil yuvarlak, beyaz kamyon + hafif dış halka */
.rapid-card .rapid-photo-wrap > .km-fast-delivery{
  all:unset !important;
  position:absolute !important;
  z-index:50 !important;
  left:12px !important;
  top:12px !important;
  width:38px !important;
  height:38px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#37ad49 !important;
  color:#fff !important;
  border:1px solid #2f9b3f !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.96) inset,
    0 1px 4px rgba(0,0,0,.16) !important;
  cursor:default !important;
}

/* Kamyon referanstaki gibi daha dolgun ve net */
.rapid-card .km-fast-delivery .km-fast-delivery-icon{
  all:unset !important;
  width:26px !important;
  height:20px !important;
  display:block !important;
  overflow:visible !important;
}

.rapid-card .km-fast-delivery .km-fast-delivery-icon .km-speed-line,
.rapid-card .km-fast-delivery .km-fast-delivery-icon .km-truck-body,
.rapid-card .km-fast-delivery .km-fast-delivery-icon .km-truck-cab,
.rapid-card .km-fast-delivery .km-fast-delivery-icon .km-truck-window{
  fill:none !important;
  stroke:#fff !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke !important;
}

.rapid-card .km-fast-delivery .km-fast-delivery-icon .km-truck-wheel{
  fill:#37ad49 !important;
  stroke:#fff !important;
  stroke-width:1.9 !important;
  vector-effect:non-scaling-stroke !important;
}

/* Tooltip artık ikonun altından TAM görünür */
.rapid-card .km-fast-delivery > span{
  all:unset !important;
  position:absolute !important;
  z-index:9999 !important;
  top:44px !important;
  left:0 !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  box-sizing:border-box !important;
  padding:7px 10px !important;
  border-radius:4px !important;
  background:#262626 !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  box-shadow:0 4px 12px rgba(0,0,0,.22) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-2px) !important;
  transition:
    opacity .13s ease,
    transform .13s ease,
    visibility .13s ease !important;
}

/* Küçük ok */
.rapid-card .km-fast-delivery > span::before{
  content:"" !important;
  position:absolute !important;
  top:-5px !important;
  left:13px !important;
  width:9px !important;
  height:9px !important;
  background:#262626 !important;
  transform:rotate(45deg) !important;
}

.rapid-card .km-fast-delivery:hover > span,
.rapid-card .km-fast-delivery:focus > span{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}

/* Kalp görünümü referansla uyumlu kalsın */
.rapid-card .rapid-photo-wrap > button.heart.km-favorite-button{
  z-index:51 !important;
}

/* Ürün grid / section seviyesinde de tooltip kırpılmasını engelle */
.products,
.product-grid,
.rapid-grid,
#best-sellers-products,
#featured-products,
#deals-products,
#new-arrivals-products{
  overflow:visible !important;
}

@media(max-width:650px){
  .rapid-card .rapid-photo-wrap > .km-fast-delivery{
    left:8px !important;
    top:8px !important;
    width:34px !important;
    height:34px !important;
  }

  .rapid-card .km-fast-delivery .km-fast-delivery-icon{
    width:23px !important;
    height:18px !important;
  }

  .rapid-card .km-fast-delivery > span{
    top:40px !important;
    left:0 !important;
  }
}
/* KATMIRRA V3 END */

/* V4 performance marker */
