/* =========================================================
   TEMART — Tek ürün sayfası
   ========================================================= */
:root{
  /* logo renkleri */
  --tm-turkuaz:#06AFC4;
  --tm-mavi:#3367CC;
  --tm-turuncu:#F66045;
  --tm-sari:#F6D351;
  --tm-mor:#8A57BC;
  --tm-yesil:#009D39;
  --tm-lacivert:#1E2FA1;

  /* ürün sayfası */
  --tm-metin:#20223A;
  --tm-soluk:#7C8091;
  --tm-cizgi:#E6E7EC;
  --tm-zemin:#EFEFF2;          /* galeri kutusu zemini */
  --tm-fiyat:#D8302B;          /* indirimli fiyat */
  --tm-sepet:#8DC5AE;          /* Sepete Ekle zemini */
  --tm-sepet-koyu:#78B69C;
  --tm-rozet:#E4202B;
  --tm-yaricap:16px;
}

/* ---------- üst ızgara: galeri + özet ---------- */
.tm-ust{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,34%);
  gap:clamp(24px,3.5vw,64px);
  align-items:start;
  max-width:1360px;
  margin:0 auto clamp(40px,6vw,80px);
}

/* =========================================================
   GALERİ
   ========================================================= */
.tm-galeri{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.tm-galeri--tek{grid-template-columns:minmax(0,1fr)}

/* --- küçük görseller (dikey şerit) --- */
.tm-galeri__kucukler{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:620px;
  overflow-y:auto;
  padding:2px;
  scrollbar-width:none;
}
.tm-galeri__kucukler::-webkit-scrollbar{display:none}

.tm-kucuk{
  flex:0 0 auto;
  width:100%;
  aspect-ratio:1/1;
  padding:0;
  border:2px solid transparent;
  border-radius:12px;
  background:var(--tm-zemin);
  overflow:hidden;
  cursor:pointer;
  transition:border-color .2s, transform .2s;
}
.tm-kucuk img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  mix-blend-mode:multiply;
}
.tm-kucuk.aktif{border-color:var(--tm-mavi)}
@media (hover:hover){ .tm-kucuk:hover{border-color:var(--tm-cizgi)} }

/* --- ana görsel --- */
.tm-galeri__sahne{
  position:relative;
  background:transparent;
  border-radius:var(--tm-yaricap);
  overflow:hidden;
}
.tm-galeri__serit{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.tm-galeri__serit::-webkit-scrollbar{display:none;width:0;height:0}

.tm-slayt{
  flex:0 0 100%;
  scroll-snap-align:center;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  padding:3%;
  box-sizing:border-box;
}
.tm-slayt img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  mix-blend-mode:multiply;
}

/* --- indirim rozeti --- */
.tm-rozet{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  padding:5px 12px;
  border-radius:99px;
  background:var(--tm-rozet);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.01em;
}

/* --- oklar --- */
.tm-ok{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid var(--tm-cizgi);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  cursor:pointer;
  transition:opacity .2s, background .2s;
}
.tm-ok::before{
  content:"";
  display:block;
  width:8px;
  height:8px;
  margin:auto;
  border-right:2px solid var(--tm-metin);
  border-bottom:2px solid var(--tm-metin);
}
.tm-ok--geri{left:12px}
.tm-ok--geri::before{transform:rotate(135deg) translate(-2px,-2px)}
.tm-ok--ileri{right:12px}
.tm-ok--ileri::before{transform:rotate(-45deg) translate(-2px,-2px)}
.tm-ok[hidden]{display:none}
@media (hover:hover){ .tm-ok:hover{background:#fff} }

/* =========================================================
   SAĞ SÜTUN (özet)
   ========================================================= */
.tm-ozet{
  display:flex;
  flex-direction:column;
  position:sticky;
  top:24px;
}

/* --- puan --- */
.tm-ozet .woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  font-size:13px;
  color:var(--tm-soluk);
}
.tm-ozet .woocommerce-product-rating .star-rating{
  float:none;
  margin:0;
  font-size:14px;
  color:#F6B23B;
}
.tm-ozet .woocommerce-review-link{color:var(--tm-soluk);text-decoration:none}

/* --- başlık --- */
.tm-ozet .product_title{
  margin:0 0 14px;
  font-size:clamp(20px,1.7vw,26px);
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--tm-lacivert);
}

/* --- fiyat --- */
.tm-ozet .price{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:0 0 24px;
  font-size:clamp(20px,1.6vw,25px);
  font-weight:800;
  color:var(--tm-fiyat);
}
.tm-ozet .price del{
  opacity:1;
  font-size:.72em;
  font-weight:700;
  color:var(--tm-soluk);
  text-decoration:line-through;
}
.tm-ozet .price ins{background:none;text-decoration:none;color:inherit}

/* --- miktar --- */
.tm-miktar{margin:0 0 18px}
.tm-miktar__etiket{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  font-weight:600;
  color:var(--tm-soluk);
}
.tm-miktar__kutu{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid var(--tm-cizgi);
  border-radius:99px;
  background:#fff;
}
.tm-miktar__btn{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--tm-metin);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  transition:background .2s;
}
@media (hover:hover){ .tm-miktar__btn:hover{background:var(--tm-zemin)} }
.tm-miktar__kutu input.qty{
  width:44px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  text-align:center;
  font-size:15px;
  font-weight:600;
  color:var(--tm-metin);
  -moz-appearance:textfield;
}
.tm-miktar__kutu input.qty::-webkit-outer-spin-button,
.tm-miktar__kutu input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* --- sepete ekle --- */
.tm-ozet form.cart{margin:0 0 26px}
.tm-ozet .single_add_to_cart_button{
  display:block;
  width:100%;
  padding:15px 24px;
  border:0;
  border-radius:99px;
  background:var(--tm-sepet);
  color:#0F2E23;
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background .25s, transform .15s;
}
.tm-ozet .single_add_to_cart_button:hover{background:var(--tm-sepet-koyu)}
.tm-ozet .single_add_to_cart_button:active{transform:scale(.99)}

/* varyasyonlu ürünlerde seçim tablosu */
.tm-ozet .variations{width:100%;margin-bottom:14px}
.tm-ozet .variations th{text-align:left;font-size:13px;color:var(--tm-soluk);font-weight:600;padding:6px 0}
.tm-ozet .variations select{
  width:100%;
  padding:11px 14px;
  border:1px solid var(--tm-cizgi);
  border-radius:12px;
  background:#fff;
  font-size:14px;
}

/* =========================================================
   AKORDİYON
   ========================================================= */
.tm-akordiyon{border-top:1px solid var(--tm-cizgi)}
.tm-akordiyon__oge{border-bottom:1px solid var(--tm-cizgi)}

.tm-akordiyon__bas{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  padding:16px 2px;
  border:0;
  background:none;
  text-align:left;
  font-size:14px;
  font-weight:700;
  color:var(--tm-metin);
  cursor:pointer;
}
.tm-akordiyon__ikon{
  position:relative;
  flex:0 0 auto;
  width:14px;
  height:14px;
}
.tm-akordiyon__ikon::before,
.tm-akordiyon__ikon::after{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:14px;
  height:2px;
  border-radius:2px;
  background:var(--tm-soluk);
  transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.tm-akordiyon__ikon::after{transform:rotate(90deg)}
.tm-akordiyon__oge.acik .tm-akordiyon__ikon::after{transform:rotate(0)}

.tm-akordiyon__govde{overflow:hidden}
.tm-akordiyon__ic{
  padding:0 2px 22px;
  font-size:14px;
  line-height:1.75;
  color:var(--tm-metin);
}
.tm-akordiyon__ic > :first-child{margin-top:0}
.tm-akordiyon__ic > :last-child{margin-bottom:0}
.tm-akordiyon__ic h2{display:none}          /* Woo'nun "Açıklama" başlığı */
.tm-akordiyon__ic h3,
.tm-akordiyon__ic h4{
  margin:20px 0 8px;
  font-size:14px;
  font-weight:700;
  color:var(--tm-lacivert);
}
.tm-akordiyon__ic ul{margin:0 0 16px;padding-left:20px}
.tm-akordiyon__ic li{margin-bottom:7px}
.tm-akordiyon__ic table{width:100%;border-collapse:collapse}
.tm-akordiyon__ic th,
.tm-akordiyon__ic td{padding:9px 0;border-bottom:1px solid var(--tm-cizgi);text-align:left;font-size:13.5px}

/* =========================================================
   MOBİL
   ========================================================= */
@media (max-width: 900px){
  .tm-ust{grid-template-columns:1fr;gap:26px}
  .tm-ozet{position:static}
}

@media (max-width: 768px){
  .tm-galeri{
    grid-template-columns:1fr;
    gap:12px;
  }
  /* küçük görseller ana görselin ALTINA, yatay şerit olarak */
  .tm-galeri__sahne{order:1}
  .tm-galeri__kucukler{
    order:2;
    flex-direction:row;
    max-height:none;
    overflow-x:auto;
    gap:8px;
    padding-bottom:2px;
  }
  .tm-kucuk{flex:0 0 62px;width:62px}

  .tm-ok{display:none}                    /* mobilde parmakla kaydırılıyor */
  .tm-galeri__sahne{border-radius:14px}

  .tm-ozet .product_title{font-size:20px}
  .tm-ozet .price{font-size:21px;margin-bottom:20px}
  .tm-ozet .single_add_to_cart_button{padding:16px 24px;font-size:16px}
}

@media (prefers-reduced-motion: reduce){
  .tm-galeri__serit{scroll-behavior:auto}
  .tm-akordiyon__ikon::before,
  .tm-akordiyon__ikon::after,
  .tm-kucuk,
  .tm-ok{transition:none}
}

/* =========================================================
   TEMA ÇAKIŞMALARI — Kidearn override'ları
   ========================================================= */

/* --- ürün sayfasında tema başlık bandı --- */
body.single-product .page-header,
body.single-product .page-title,
body.single-product .page-title-bar,
body.single-product .page-header-area,
body.single-product .breadcrumb-area,
body.single-product .breadcrumbs,
body.single-product .entry-header{
  display:none !important;
}

/* --- temanın kendi "Adet" etiketi ve artı/eksi düğmeleri --- */
.tm-ozet form.cart > label,
.tm-ozet form.cart .quantity > label:not(.screen-reader-text),
.tm-ozet form.cart .quantity .qty-btn,
.tm-ozet form.cart .quantity .plus,
.tm-ozet form.cart .quantity .minus,
.tm-ozet form.cart .quantity .increase,
.tm-ozet form.cart .quantity .decrease,
.tm-ozet form.cart .quantity-nav,
.tm-ozet form.cart .quantity-button{
  display:none !important;
}

/* ekran okuyucu etiketi gerçekten gizli kalsın */
.tm-ozet .screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* --- form ve miktar kutusu --- */
.tm-ozet form.cart{
  display:block !important;
  margin:0 0 26px !important;
}

.tm-ozet form.cart .tm-miktar__kutu,
.tm-ozet .tm-miktar__kutu{
  display:inline-flex !important;
  align-items:center !important;
  gap:2px !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  padding:4px !important;
  border:1px solid var(--tm-cizgi) !important;
  border-radius:99px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:visible !important;
  float:none !important;
}

/* sayı alanı — temanın 98x50 border'ını temizle */
.tm-ozet form.cart .tm-miktar__kutu input.qty,
.tm-ozet .tm-miktar__kutu input.qty,
.single-product .tm-miktar__kutu .quantity input,
.single-product .tm-miktar__kutu input[type="number"]{
  width:46px !important;
  min-width:0 !important;
  max-width:none !important;
  height:30px !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  text-align:center !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:30px !important;
  color:var(--tm-metin) !important;
  float:none !important;
  position:static !important;
  -moz-appearance:textfield !important;
  appearance:textfield !important;
}
.tm-ozet .tm-miktar__kutu input.qty::-webkit-outer-spin-button,
.tm-ozet .tm-miktar__kutu input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  appearance:none !important;
  margin:0 !important;
}

/* − / + düğmeleri: ikonlar CSS ile çizilir, tema fontu etkileyemez */
.tm-ozet form.cart .tm-miktar__btn,
.tm-ozet .tm-miktar__btn{
  position:relative !important;
  display:block !important;
  flex:0 0 auto !important;
  width:30px !important;
  height:30px !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  transition:background .2s;
}
.tm-ozet .tm-miktar__btn::before,
.tm-ozet .tm-miktar__btn::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:var(--tm-metin);
  border-radius:2px;
}
.tm-ozet .tm-miktar__btn::before{width:11px;height:2px}
.tm-ozet .tm-miktar__btn[data-tm-adim="1"]::after{width:2px;height:11px}
@media (hover:hover){
  .tm-ozet .tm-miktar__btn:hover{background:var(--tm-zemin) !important}
}

/* --- Sepete Ekle butonu --- */
.tm-ozet form.cart .single_add_to_cart_button,
.tm-ozet .single_add_to_cart_button.button,
.single-product .tm-ozet button.single_add_to_cart_button{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:15px 24px !important;
  border:0 !important;
  border-radius:99px !important;
  background:var(--tm-sepet) !important;
  background-image:none !important;
  color:#0F2E23 !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  box-shadow:none !important;
  float:none !important;
}
.tm-ozet form.cart .single_add_to_cart_button:hover,
.tm-ozet .single_add_to_cart_button.button:hover{
  background:var(--tm-sepet-koyu) !important;
  color:#0F2E23 !important;
}

/* =========================================================
   KESİN ÖNCELİK — üst öğeye bağımsız kurallar
   (Kidearn form/buton sınıflarını değiştirdiği için)
   ========================================================= */

/* --- miktar kutusu --- */
.tm-miktar__kutu{
  display:inline-flex !important;
  align-items:center !important;
  gap:2px !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  padding:4px !important;
  border:1px solid var(--tm-cizgi) !important;
  border-radius:99px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:visible !important;
  float:none !important;
  vertical-align:middle !important;
}

.tm-miktar__kutu input,
.tm-miktar__kutu input.qty,
.tm-miktar__kutu input[type="number"]{
  width:46px !important;
  min-width:0 !important;
  max-width:none !important;
  height:30px !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  outline:none !important;
  text-align:center !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:30px !important;
  color:var(--tm-metin) !important;
  float:none !important;
  position:static !important;
  -moz-appearance:textfield !important;
  -webkit-appearance:none !important;
  appearance:textfield !important;
}
.tm-miktar__kutu input::-webkit-outer-spin-button,
.tm-miktar__kutu input::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  appearance:none !important;
  margin:0 !important;
  display:none !important;
}

.tm-miktar__btn{
  position:relative !important;
  display:block !important;
  flex:0 0 auto !important;
  width:30px !important;
  height:30px !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:0 !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
}
.tm-miktar__btn::before,
.tm-miktar__btn::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  background:var(--tm-metin) !important;
  border-radius:2px !important;
}
.tm-miktar__btn::before{width:11px !important;height:2px !important}
.tm-miktar__btn[data-tm-adim="1"]::after{width:2px !important;height:11px !important}
@media (hover:hover){
  .tm-miktar__btn:hover{background:var(--tm-zemin) !important}
}

/* --- Sepete Ekle (Kidearn: .thm-btn .cart-btn) --- */
.tm-ozet button[name="add-to-cart"],
.tm-ozet .single_add_to_cart_button,
.tm-ozet .thm-btn.cart-btn,
.tm-ozet .cart-btn,
.summary button[name="add-to-cart"],
.summary .thm-btn.cart-btn{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:15px 24px !important;
  border:0 !important;
  border-radius:99px !important;
  background:#b70000 !important;
  background-image:none !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  text-align:center !important;
  box-shadow:none !important;
  float:none !important;
}
.tm-ozet button[name="add-to-cart"]:hover,
.tm-ozet .thm-btn.cart-btn:hover,
.summary button[name="add-to-cart"]:hover{
  background:var(--tm-sepet-koyu) !important;
  color:#0F2E23 !important;
}
/* temanın buton içi ikon/dalga katmanları */
.tm-ozet button[name="add-to-cart"]::before,
.tm-ozet button[name="add-to-cart"]::after,
.tm-ozet .thm-btn.cart-btn::before,
.tm-ozet .thm-btn.cart-btn::after{
  display:none !important;
}

/* --- formu blok yap (tema flex/inline yapıyor olabilir) --- */
.tm-ozet form{
  display:block !important;
  margin:0 0 26px !important;
}

/* Benzer ürün kartları — görsel kutuyu doldursun */
.tm-benzer__gorsel{
  aspect-ratio: 4 / 5 !important;
  background:transparent !important;
}
.tm-benzer__gorsel img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  padding:0 !important;
  border-radius:0 !important;
  mix-blend-mode:normal !important;
}

.product__item__img{
  aspect-ratio: 270 / 280;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}
.product__item__img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* =========================================================
   BENZER ÜRÜNLER
   ========================================================= */
.tm-benzer{
  max-width:1360px;
  margin:clamp(24px,4vw,56px) auto clamp(48px,6vw,80px);
  padding:0 clamp(16px,3vw,24px);
}
.tm-benzer__baslik{
  margin:0 0 clamp(20px,2.5vw,36px);
  font-size:clamp(20px,2vw,28px);
  font-weight:800;
  letter-spacing:-.01em;
  color:#333333;
}
.tm-benzer__liste{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.6vw,24px);
}
.tm-benzer__oge{margin:0}

.tm-benzer__kart{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none !important;
  color:inherit;
}
.tm-benzer__gorsel{
  display:block;
  aspect-ratio:1/1;
  border-radius:14px;
  background:var(--tm-zemin);
  overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;
}
.tm-benzer__gorsel img{
  width:100% !important;
  height:100% !important;
  object-fit:contain;
  padding:10%;
  box-sizing:border-box;
  display:block;
  mix-blend-mode:multiply;
  border-radius:0 !important;
}
@media (hover:hover){
  .tm-benzer__kart:hover .tm-benzer__gorsel{
    transform:translateY(-5px);
    box-shadow:0 14px 30px rgba(0,0,0,.12);
  }
}
.tm-benzer__ad{
  display:block;
  margin:14px 0 6px;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  color:var(--tm-metin);
}
.tm-benzer__fiyat{
  display:block;
  font-size:14px;
  font-weight:800;
  color:var(--tm-fiyat);
}
.tm-benzer__fiyat del{
  margin-left:6px;
  font-size:.85em;
  font-weight:600;
  color:var(--tm-soluk);
  opacity:1;
}
.tm-benzer__fiyat ins{background:none;text-decoration:none;color:inherit}

@media (max-width: 1100px){
  .tm-benzer__liste{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 768px){
  .tm-benzer{padding:0}
  .tm-benzer__baslik{padding:0 20px}
  .tm-benzer__liste{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-left:20px;
    padding:2px 20px 6px;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .tm-benzer__liste::-webkit-scrollbar{display:none;width:0;height:0}
  .tm-benzer__oge{
    flex:0 0 58%;
    max-width:230px;
    scroll-snap-align:start;
  }
}

/* =========================================================
   FİYAT TİPOGRAFİSİ
   Tema fiyatlara başlık fontunu (Fredoka) uyguluyor.
   Gövde fontuna + tablo rakamlarına çeviriyoruz.
   ========================================================= */
.tm-ozet .price,
.tm-ozet .price *,
.tm-benzer__fiyat,
.tm-benzer__fiyat *{
  font-family:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  letter-spacing:-.015em !important;
}

.tm-ozet .price{
  font-size:clamp(22px,1.8vw,27px) !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.tm-ozet .price ins,
.tm-ozet .price ins *{
  font-weight:800 !important;
  color:var(--tm-fiyat) !important;
  text-decoration:none !important;
  background:none !important;
}
.tm-ozet .price del,
.tm-ozet .price del *{
  font-size:.72em !important;
  font-weight:600 !important;
  color:var(--tm-soluk) !important;
  text-decoration:line-through !important;
  opacity:1 !important;
}

.tm-benzer__fiyat{
  font-size:14px !important;
  font-weight:800 !important;
}
.tm-benzer__fiyat del,
.tm-benzer__fiyat del *{
  font-weight:600 !important;
  color:var(--tm-soluk) !important;
}

/* para birimi simgesi biraz küçük ve hafif */
.tm-ozet .woocommerce-Price-currencySymbol,
.tm-benzer__fiyat .woocommerce-Price-currencySymbol{
  font-size:.84em;
  font-weight:700;
  margin-right:1px;
  vertical-align:baseline;
}

/* =========================================================
   SEPET / ÖDEME — miktar kutusu düzeltmeleri
   ========================================================= */
.woocommerce-cart .tm-miktar,
.woocommerce-checkout .tm-miktar{
  margin:0 !important;
}
/* tablo hücresinde "Miktar" etiketi gereksiz — sütun başlığı zaten var */
.woocommerce-cart .tm-miktar__etiket,
.woocommerce-checkout .tm-miktar__etiket{
  display:none !important;
}
.woocommerce-cart td.product-quantity,
.woocommerce-cart .product-quantity{
  text-align:center;
}
.woocommerce-cart .tm-miktar__kutu{
  padding:3px !important;
}
.woocommerce-cart .tm-miktar__kutu input,
.woocommerce-cart .tm-miktar__kutu input.qty{
  width:40px !important;
  height:28px !important;
  line-height:28px !important;
  font-size:14px !important;
}
.woocommerce-cart .tm-miktar__btn{
  width:26px !important;
  height:26px !important;
}
.woocommerce-cart .tm-miktar__btn::before{width:10px !important}
.woocommerce-cart .tm-miktar__btn[data-tm-adim="1"]::after{height:10px !important}

/* mobilde sepet satırında sağa yaslanmasın */
@media (max-width: 768px){
  .woocommerce-cart .tm-miktar__kutu{margin-left:auto;margin-right:0}
}

/* =========================================================
   GÖRSEL BÜYÜTME (lightbox)
   ========================================================= */
.tm-lb{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,4vw,56px);
  background:rgba(12,14,22,.9);
  backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity .22s ease;
}
.tm-lb.acik{opacity:1}
.tm-lb[hidden]{display:none !important}

.tm-lb__cerceve{
  margin:0;
  max-width:min(92vw, 1100px);
  max-height:88vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tm-lb__gorsel{
  display:block;
  max-width:100%;
  max-height:88vh;
  width:auto;
  height:auto;
  border-radius:10px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  transform:scale(.97);
  transition:transform .22s ease;
}
.tm-lb.acik .tm-lb__gorsel{transform:scale(1)}

/* kapat */
.tm-lb__kapat{
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  cursor:pointer;
  transition:background .2s;
}
.tm-lb__kapat::before,
.tm-lb__kapat::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:2px;
  background:#fff;
}
.tm-lb__kapat::before{transform:translate(-50%,-50%) rotate(45deg)}
.tm-lb__kapat::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* oklar */
.tm-lb__ok{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  cursor:pointer;
  transition:background .2s;
}
.tm-lb__ok::before{
  content:"";
  display:block;
  width:11px;
  height:11px;
  margin:auto;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
}
.tm-lb__ok--geri{left:clamp(10px,2vw,28px)}
.tm-lb__ok--geri::before{transform:rotate(135deg) translate(-2px,-2px)}
.tm-lb__ok--ileri{right:clamp(10px,2vw,28px)}
.tm-lb__ok--ileri::before{transform:rotate(-45deg) translate(-2px,-2px)}

@media (hover:hover){
  .tm-lb__kapat:hover,
  .tm-lb__ok:hover{background:rgba(255,255,255,.24)}
}

/* sayaç */
.tm-lb__sayac{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  padding:5px 12px;
  border-radius:99px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:12px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}

@media (max-width: 768px){
  .tm-lb{padding:12px}
  .tm-lb__ok{display:none}          /* mobilde parmakla kaydırılıyor */
  .tm-lb__gorsel{max-height:80vh}
}

@media (prefers-reduced-motion: reduce){
  .tm-lb, .tm-lb__gorsel{transition:none}
}
