/* =========================================================
   TazeMarket — Bootstrap 5 Market / Grocery Teması
   assets/css/style.css
   ========================================================= */

:root {
  --tm-primary: #0aad0a;
  --tm-primary-dark: #088c08;
  --tm-primary-soft: #e6f7e6;
  --tm-dark: #0d1b2a;
  --tm-body: #4a5568;
  --tm-muted: #8492a6;
  --tm-border: #e9ecef;
  --tm-bg: #f5f7fa;
  --tm-warning: #ffc107;
  --tm-danger: #e63946;
  --tm-radius: .75rem;
  --tm-shadow: 0 .25rem 1rem rgba(13, 27, 42, .06);
  --tm-shadow-lg: 0 .75rem 2rem rgba(13, 27, 42, .12);
  --tm-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Bootstrap değişkenlerini markaya uyarla */
  --bs-primary: var(--tm-primary);
  --bs-primary-rgb: 10, 173, 10;
  --bs-link-color: var(--tm-primary);
  --bs-link-hover-color: var(--tm-primary-dark);
  --bs-body-font-family: var(--tm-font);
  --bs-body-color: var(--tm-body);
  --bs-border-color: var(--tm-border);
}

html { scroll-behavior: smooth; }
body { font-family: var(--tm-font); color: var(--tm-body); background: #fff; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { color: var(--tm-dark); font-weight: 700; letter-spacing: -.01em; }
a { text-decoration: none; }
img { max-width: 100%; height: auto; }

/* ---------- Butonlar ---------- */
.btn { border-radius: .5rem; font-weight: 600; }
.btn-primary { --bs-btn-bg: var(--tm-primary); --bs-btn-border-color: var(--tm-primary); --bs-btn-hover-bg: var(--tm-primary-dark); --bs-btn-hover-border-color: var(--tm-primary-dark); --bs-btn-active-bg: var(--tm-primary-dark); --bs-btn-active-border-color: var(--tm-primary-dark); }
.btn-outline-primary { --bs-btn-color: var(--tm-primary); --bs-btn-border-color: var(--tm-primary); --bs-btn-hover-bg: var(--tm-primary); --bs-btn-hover-border-color: var(--tm-primary); --bs-btn-active-bg: var(--tm-primary); }
.btn-dark { --bs-btn-bg: var(--tm-dark); --bs-btn-border-color: var(--tm-dark); }
.btn-soft { background: var(--tm-primary-soft); color: var(--tm-primary-dark); border: 0; }
.btn-soft:hover { background: var(--tm-primary); color: #fff; }
.text-primary { color: var(--tm-primary) !important; }
.bg-primary { background-color: var(--tm-primary) !important; }
.bg-light-soft { background: var(--tm-bg); }
.text-dark { color: var(--tm-dark) !important; }
.form-control:focus, .form-select:focus { border-color: var(--tm-primary); box-shadow: 0 0 0 .25rem rgba(10, 173, 10, .15); }

/* ---------- Üst bilgi çubuğu ---------- */
.topbar { background: var(--tm-bg); font-size: .8125rem; }
.topbar a { color: var(--tm-body); }
.topbar a:hover { color: var(--tm-primary); }
.topbar .dropdown-toggle::after { margin-left: .25rem; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 1030; background: #fff; box-shadow: 0 1px 0 var(--tm-border); }
.header-main { padding: .875rem 0; }
.brand img { height: 36px; width: auto; }

.search-form { position: relative; }
.search-form .form-control { height: 48px; padding-left: 1rem; padding-right: 3.25rem; border-radius: .625rem; border: 2px solid var(--tm-border); background: #fff; }
.search-form .form-control:focus { border-color: var(--tm-primary); box-shadow: none; }
.search-form .btn { position: absolute; top: 4px; right: 4px; bottom: 4px; width: 44px; border-radius: .5rem; display: flex; align-items: center; justify-content: center; }

.location-btn { display: flex; align-items: center; gap: .5rem; padding: .625rem .875rem; border: 1px solid var(--tm-border); border-radius: .625rem; color: var(--tm-dark); font-size: .875rem; white-space: nowrap; }
.location-btn:hover { border-color: var(--tm-primary); color: var(--tm-primary); }

.header-actions { display: flex; align-items: center; gap: .25rem; }
.icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: var(--tm-dark); font-size: 1.25rem; transition: background .15s, color .15s; }
.icon-btn:hover { background: var(--tm-primary-soft); color: var(--tm-primary); }
.icon-btn .badge { position: absolute; top: 4px; right: 2px; font-size: .625rem; padding: .25em .45em; border-radius: 1rem; background: var(--tm-primary); }

/* Ana menü */
.main-nav { border-top: 1px solid var(--tm-border); }
.main-nav .navbar { padding: 0; }
.main-nav .nav-link { color: var(--tm-dark); font-weight: 500; padding: .875rem 1rem; font-size: .9375rem; }
.main-nav .nav-link:hover, .main-nav .nav-link.active { color: var(--tm-primary); }
.cat-toggle { display: inline-flex; align-items: center; gap: .5rem; background: var(--tm-primary); color: #fff; padding: .75rem 1.25rem; border-radius: .5rem; font-weight: 600; }
.cat-toggle:hover { background: var(--tm-primary-dark); color: #fff; }
.mega-cats { min-width: 260px; padding: .5rem 0; border: 0; box-shadow: var(--tm-shadow-lg); border-radius: var(--tm-radius); }
.mega-cats .dropdown-item { display: flex; align-items: center; gap: .75rem; padding: .5rem 1.25rem; color: var(--tm-body); }
.mega-cats .dropdown-item img { width: 28px; height: 28px; border-radius: .375rem; }
.mega-cats .dropdown-item:hover { background: var(--tm-primary-soft); color: var(--tm-primary-dark); }
.dropdown-menu { border: 0; box-shadow: var(--tm-shadow-lg); border-radius: var(--tm-radius); }
.dropdown-item:active { background: var(--tm-primary); }

/* Offcanvas mobil menü */
.offcanvas-menu .nav-link { color: var(--tm-dark); font-weight: 500; padding: .75rem 0; border-bottom: 1px solid var(--tm-border); }
.offcanvas-menu .cat-list a { display: flex; align-items: center; gap: .75rem; padding: .5rem 0; color: var(--tm-body); }
.offcanvas-menu .cat-list img { width: 32px; height: 32px; border-radius: .5rem; }

/* ---------- Hero ---------- */
.hero-slide { position: relative; min-height: 420px; border-radius: 1.25rem; overflow: hidden; display: flex; align-items: center; background: #d8f3dc; }
.hero-slide img.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-content { position: relative; z-index: 1; padding: 2.5rem; max-width: 560px; }
.hero-content .badge { font-size: .8125rem; padding: .5em .9em; border-radius: 2rem; }
.hero-content h1 { font-size: clamp(1.75rem, 3.5vw, 2.75rem); line-height: 1.15; margin: 1rem 0; }
.hero-content p { font-size: 1.0625rem; color: var(--tm-body); }
.hero-swiper .swiper-pagination-bullet { background: var(--tm-dark); opacity: .3; }
.hero-swiper .swiper-pagination-bullet-active { background: var(--tm-primary); opacity: 1; width: 22px; border-radius: 4px; }
.hero-side { display: flex; flex-direction: column; gap: 1rem; height: 100%; }
.hero-side .promo-card { flex: 1; min-height: 200px; }

/* ---------- Promosyon kartı ---------- */
.promo-card { position: relative; border-radius: 1rem; overflow: hidden; display: flex; align-items: center; min-height: 220px; }
.promo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.promo-card .promo-body { position: relative; z-index: 1; padding: 1.75rem; max-width: 65%; }
.promo-card h4 { font-size: 1.25rem; margin-bottom: .5rem; }
.promo-card .btn { margin-top: .75rem; }
.promo-card.dark, .promo-card.dark h4, .promo-card.dark p { color: #fff; }

/* ---------- Bölüm başlıkları ---------- */
.section { padding: 2.5rem 0; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.section-title h2 { font-size: 1.5rem; margin: 0; }
.section-title .link { font-weight: 600; font-size: .9375rem; }

/* ---------- Kategori kartları ---------- */
.cat-card { display: block; text-align: center; padding: 1rem .5rem; border: 1px solid var(--tm-border); border-radius: var(--tm-radius); background: #fff; color: var(--tm-dark); transition: transform .2s, box-shadow .2s, border-color .2s; height: 100%; }
.cat-card img { width: 90px; height: 90px; border-radius: .875rem; margin-bottom: .75rem; }
.cat-card h6 { font-size: .875rem; font-weight: 600; margin: 0; }
.cat-card:hover { transform: translateY(-4px); box-shadow: var(--tm-shadow-lg); border-color: transparent; color: var(--tm-primary); }
.cat-swiper .swiper-slide { height: auto; }

/* ---------- Ürün kartı ---------- */
.product-card { position: relative; border: 1px solid var(--tm-border); border-radius: var(--tm-radius); background: #fff; padding: 1rem; height: 100%; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s, border-color .2s; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--tm-shadow-lg); border-color: transparent; }
.product-card .thumb { position: relative; display: block; text-align: center; margin-bottom: .75rem; }
.product-card .thumb img { width: 100%; max-width: 180px; aspect-ratio: 1; object-fit: contain; }
.product-card .badges { position: absolute; top: 0; left: 0; display: flex; flex-direction: column; gap: .25rem; }
.product-card .badges .badge { font-size: .6875rem; font-weight: 600; padding: .35em .6em; border-radius: .375rem; }
.product-card .wishlist { position: absolute; top: 0; right: 0; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--tm-border); background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--tm-muted); opacity: 0; transition: opacity .2s, color .15s; }
.product-card:hover .wishlist { opacity: 1; }
.product-card .wishlist:hover, .product-card .wishlist.active { color: var(--tm-danger); border-color: var(--tm-danger); }
.product-card .category { font-size: .75rem; color: var(--tm-muted); margin-bottom: .25rem; }
.product-card .category a { color: var(--tm-muted); }
.product-card .category a:hover { color: var(--tm-primary); }
.product-card .title { font-size: .9375rem; font-weight: 600; color: var(--tm-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: .375rem; min-height: 2.6em; }
.product-card .title:hover { color: var(--tm-primary); }
.product-card .rating { font-size: .75rem; color: var(--tm-warning); margin-bottom: .5rem; }
.product-card .rating span { color: var(--tm-muted); margin-left: .25rem; }
.product-card .price { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; min-width: 0; }
.product-card .price .amount { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .375rem; min-width: 0; }
.product-card .price strong { color: var(--tm-dark); font-size: 1.0625rem; white-space: nowrap; }
.product-card .price del { color: var(--tm-muted); font-size: .8125rem; white-space: nowrap; }
.product-card .price .btn-add, .product-card .price .qty-control { margin-left: auto; }
.swiper-slide { min-width: 0; }
.product-card .btn-add { padding: .375rem .75rem; font-size: .8125rem; white-space: nowrap; }
.product-card .btn-add i { font-size: .9rem; }
.product-card .qty-control { display: none; }
.product-card.in-cart .btn-add { display: none; }
.product-card.in-cart .qty-control { display: inline-flex; }
.qty-control { display: inline-flex; align-items: center; border: 1px solid var(--tm-primary); border-radius: .5rem; overflow: hidden; }
.qty-control button { border: 0; background: var(--tm-primary); color: #fff; width: 30px; height: 30px; font-size: 1rem; line-height: 1; }
.qty-control input { width: 34px; height: 30px; border: 0; text-align: center; font-weight: 600; font-size: .875rem; }
.product-card .stock-bar { height: 5px; background: var(--tm-border); border-radius: 3px; margin: .5rem 0 .25rem; overflow: hidden; }
.product-card .stock-bar span { display: block; height: 100%; background: var(--tm-primary); border-radius: 3px; }
.product-card .stock-text { font-size: .75rem; color: var(--tm-muted); }
.product-card.list { flex-direction: row; gap: 1rem; align-items: center; }
.product-card.list .thumb { flex: 0 0 90px; margin: 0; }
.product-card.list .thumb img { max-width: 90px; }

/* Ürün swiper'ı: oklar */
.product-swiper, .cat-swiper { padding-bottom: .5rem; }
.swiper-nav { display: flex; gap: .5rem; }
.swiper-nav button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--tm-border); background: #fff; color: var(--tm-dark); display: inline-flex; align-items: center; justify-content: center; transition: all .15s; }
.swiper-nav button:hover { background: var(--tm-primary); border-color: var(--tm-primary); color: #fff; }
.swiper-nav button.swiper-button-disabled { opacity: .35; pointer-events: none; }
.swiper-slide { height: auto; }

/* ---------- Geri sayım / günün fırsatı ---------- */
.deal-box { background: linear-gradient(135deg, #0d1b2a, #1b4332); border-radius: 1.25rem; color: #fff; padding: 2rem; }
.deal-box h3 { color: #fff; }
.countdown { display: flex; gap: .5rem; }
.countdown .unit { background: rgba(255, 255, 255, .12); border-radius: .625rem; min-width: 60px; padding: .5rem; text-align: center; }
.countdown .unit b { display: block; font-size: 1.375rem; line-height: 1.2; }
.countdown .unit small { font-size: .6875rem; opacity: .8; text-transform: uppercase; letter-spacing: .04em; }

/* ---------- Özellikler / avantajlar ---------- */
.feature-item { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; border-radius: var(--tm-radius); background: #fff; border: 1px solid var(--tm-border); height: 100%; }
.feature-item .icon { flex: 0 0 52px; width: 52px; height: 52px; border-radius: .875rem; background: var(--tm-primary-soft); color: var(--tm-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.feature-item h6 { margin-bottom: .25rem; font-size: .9375rem; }
.feature-item p { margin: 0; font-size: .8125rem; color: var(--tm-muted); }

/* ---------- Geniş banner ---------- */
.banner-wide { position: relative; border-radius: 1.25rem; overflow: hidden; min-height: 260px; display: flex; align-items: center; color: #fff; }
.banner-wide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.banner-wide .body { position: relative; z-index: 1; padding: 2.5rem; max-width: 560px; }
.banner-wide h3 { color: #fff; font-size: clamp(1.375rem, 2.5vw, 2rem); }

/* ---------- Bülten ---------- */
.newsletter { background: var(--tm-primary-soft); border-radius: 1.25rem; padding: 2.5rem; }
.newsletter .form-control { height: 50px; border-radius: .625rem; }
.newsletter .btn { height: 50px; border-radius: .625rem; }

/* ---------- Footer ---------- */
.site-footer { background: var(--tm-bg); border-top: 1px solid var(--tm-border); padding-top: 3rem; }
.site-footer h6 { font-size: .9375rem; margin-bottom: 1rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: .5rem; }
.site-footer li a { color: var(--tm-body); font-size: .875rem; }
.site-footer li a:hover { color: var(--tm-primary); }
.footer-bottom { border-top: 1px solid var(--tm-border); padding: 1.25rem 0; margin-top: 2.5rem; font-size: .8125rem; }
.payment-icons { display: flex; gap: .375rem; flex-wrap: wrap; }
.payment-icons img { height: 26px; width: auto; }
.social a { display: inline-flex; width: 36px; height: 36px; border-radius: 50%; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--tm-border); color: var(--tm-dark); margin-right: .375rem; }
.social a:hover { background: var(--tm-primary); border-color: var(--tm-primary); color: #fff; }
.footer-accordion .accordion-button { background: transparent; box-shadow: none; padding: .875rem 0; font-weight: 700; color: var(--tm-dark); }
.footer-accordion .accordion-body { padding: 0 0 1rem; }

/* ---------- Mobil alt çubuk ---------- */
.mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040; background: #fff; border-top: 1px solid var(--tm-border); display: flex; justify-content: space-around; padding: .375rem 0 calc(.375rem + env(safe-area-inset-bottom)); box-shadow: 0 -4px 16px rgba(13, 27, 42, .06); }
.mobile-bar a { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .6875rem; color: var(--tm-muted); position: relative; min-width: 56px; }
.mobile-bar a i { font-size: 1.25rem; }
.mobile-bar a.active, .mobile-bar a:hover { color: var(--tm-primary); }
.mobile-bar .badge { position: absolute; top: -4px; right: 6px; background: var(--tm-primary); font-size: .5625rem; padding: .25em .4em; border-radius: 1rem; }

/* ---------- Sepet offcanvas ---------- */
.cart-item { display: flex; gap: .75rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid var(--tm-border); }
.cart-item img { width: 60px; height: 60px; border-radius: .5rem; border: 1px solid var(--tm-border); object-fit: contain; }
.cart-item h6 { font-size: .875rem; margin: 0 0 .25rem; }
.cart-item .remove { color: var(--tm-muted); font-size: 1rem; }
.cart-item .remove:hover { color: var(--tm-danger); }

/* ---------- Toast ---------- */
.tm-toast { --bs-toast-bg: var(--tm-dark); color: #fff; border: 0; }

/* ---------- Yukarı çık ---------- */
.back-to-top { position: fixed; right: 1rem; bottom: 5rem; width: 42px; height: 42px; border-radius: 50%; background: var(--tm-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--tm-shadow-lg); opacity: 0; visibility: hidden; transition: all .25s; z-index: 1035; }
.back-to-top.show { opacity: 1; visibility: visible; }
.back-to-top:hover { background: var(--tm-primary-dark); color: #fff; }

/* ---------- Yardımcılar ---------- */
.rounded-xl { border-radius: 1.25rem !important; }
.fs-7 { font-size: .8125rem; }
.text-muted-2 { color: var(--tm-muted) !important; }
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

/* =========================================================
   Responsive
   ========================================================= */
@media (min-width: 992px) {
  .back-to-top { bottom: 1.5rem; }
  .hero-slide { min-height: 480px; }
}
@media (max-width: 991.98px) {
  body { padding-bottom: 64px; } /* mobil alt çubuk için boşluk */
  .header-main { padding: .625rem 0; }
  .brand img { height: 30px; }
  .search-form .form-control { height: 44px; }
  .hero-slide { min-height: 360px; }
  .hero-content { padding: 1.75rem; }
  .hero-side { flex-direction: row; margin-top: 1rem; height: auto; }
  .hero-side .promo-card { min-height: 160px; }
  .section { padding: 2rem 0; }
  .deal-box { padding: 1.5rem; }
  .banner-wide .body { padding: 1.75rem; }
  .newsletter { padding: 1.75rem; }
}
@media (max-width: 767.98px) {
  .hero-slide { min-height: 320px; }
  .hero-content { padding: 1.25rem; }
  .hero-content h1 { font-size: 1.5rem; }
  .hero-content p { font-size: .9375rem; }
  .hero-side { flex-direction: column; }
  .promo-card { min-height: 180px; }
  .promo-card .promo-body { padding: 1.25rem; max-width: 70%; }
  .section-title h2 { font-size: 1.25rem; }
  .product-card { padding: .75rem; }
  .product-card .wishlist { opacity: 1; width: 30px; height: 30px; }
  .product-card .price strong { font-size: 1rem; }
  .product-card .btn-add span { display: none; }
  .product-card .btn-add { padding: .375rem .5rem; }
  .countdown .unit { min-width: 50px; }
  .countdown .unit b { font-size: 1.125rem; }
  .banner-wide { min-height: 220px; }
  .banner-wide .body { padding: 1.25rem; }
  .feature-item { flex-direction: column; align-items: center; text-align: center; padding: 1rem .75rem; gap: .5rem; }
  .feature-item .icon { width: 44px; height: 44px; flex-basis: 44px; font-size: 1.25rem; }
  .feature-item h6 { font-size: .875rem; }
  .feature-item p { font-size: .75rem; }
  .hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.35) 55%, rgba(255,255,255,0) 100%); }
  .cat-card img { width: 64px; height: 64px; }
  .cat-card h6 { font-size: .75rem; }
}
@media (max-width: 575.98px) {
  .hero-slide { min-height: 300px; border-radius: .875rem; }
  .hero-content .btn { padding: .5rem 1rem; font-size: .875rem; }
  .product-card .title { font-size: .875rem; }
  .newsletter { padding: 1.25rem; }
}

/* =========================================================
   Ürün Detay Sayfası
   ========================================================= */
.breadcrumb-item + .breadcrumb-item::before { color: var(--tm-muted); }

/* Galeri */
.gallery { position: sticky; top: 140px; }
.gallery-main { position: relative; border: 1px solid var(--tm-border); border-radius: 1rem; overflow: hidden; background: #fff; margin-bottom: .75rem; }
.gallery-swiper .swiper-slide { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; padding: 1.5rem; }
.gallery-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: contain; }
.gallery-badge { position: absolute; top: 1rem; left: 1rem; z-index: 2; }
.gallery-wish { position: absolute; top: 1rem; right: 1rem; z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--tm-border); background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--tm-muted); }
.gallery-wish:hover, .gallery-wish.active { color: var(--tm-danger); border-color: var(--tm-danger); }
.gallery-thumbs .swiper-slide { border: 2px solid var(--tm-border); border-radius: .625rem; padding: .375rem; aspect-ratio: 1; cursor: pointer; background: #fff; opacity: .7; transition: all .15s; }
.gallery-thumbs .swiper-slide img { width: 100%; height: 100%; object-fit: contain; }
.gallery-thumbs .swiper-slide-thumb-active { border-color: var(--tm-primary); opacity: 1; }
.gallery-swiper .swiper-pagination-bullet-active { background: var(--tm-primary); }

/* Ürün bilgisi */
.product-title { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.3; margin: .25rem 0 .75rem; }
.rating-stars { color: var(--tm-warning); font-size: .875rem; }
.product-info .product-price strong { font-size: 1.75rem; color: var(--tm-dark); }
.product-info .product-price del { color: var(--tm-muted); font-size: 1rem; margin-left: .375rem; }

/* Seçenekler */
.opt-group { margin-bottom: 1.125rem; }
.opt-label { font-size: .875rem; font-weight: 600; color: var(--tm-dark); margin-bottom: .5rem; }
.opt-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.opt-pills label { cursor: pointer; }
.opt-pills input { position: absolute; opacity: 0; pointer-events: none; }
.opt-pills span { display: inline-flex; align-items: center; gap: .25rem; padding: .5rem .875rem; border: 1.5px solid var(--tm-border); border-radius: .5rem; font-size: .875rem; font-weight: 500; color: var(--tm-dark); background: #fff; transition: all .15s; }
.opt-pills span small { color: var(--tm-muted); font-size: .75rem; }
.opt-pills label:hover span { border-color: var(--tm-primary); }
.opt-pills input:checked + span { border-color: var(--tm-primary); background: var(--tm-primary-soft); color: var(--tm-primary-dark); box-shadow: 0 0 0 1px var(--tm-primary); }
.opt-pills input:checked + span small { color: var(--tm-primary-dark); }
.opt-pills input:focus-visible + span { outline: 2px solid var(--tm-primary); outline-offset: 2px; }
.opt-checks .form-check { padding: .5rem .75rem .5rem 2.25rem; border: 1.5px solid var(--tm-border); border-radius: .5rem; margin-bottom: .5rem; cursor: pointer; font-size: .875rem; }
.opt-checks .form-check-input { margin-left: -1.5rem; margin-top: .2rem; }
.opt-checks .form-check-input:checked { background-color: var(--tm-primary); border-color: var(--tm-primary); }
.opt-checks .form-check:has(:checked) { border-color: var(--tm-primary); background: var(--tm-primary-soft); }
.qty-control-lg button { width: 42px; height: 42px; font-size: 1.25rem; }
.qty-control-lg input { width: 56px; height: 42px; font-size: 1rem; -moz-appearance: textfield; }
.qty-control-lg input::-webkit-outer-spin-button, .qty-control-lg input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.trust-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--tm-border); padding-top: 1rem; }
.trust-list li { display: flex; gap: .75rem; align-items: flex-start; font-size: .8125rem; margin-bottom: .5rem; }
.trust-list li i { color: var(--tm-primary); font-size: 1.125rem; line-height: 1; }
.trust-list li b { color: var(--tm-dark); }

/* Seçim özeti paneli (3. sütun) */
.summary-panel { position: sticky; top: 140px; border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.25rem; background: var(--tm-bg); }
.summary-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.summary-product { display: flex; gap: .75rem; align-items: center; padding-bottom: .875rem; border-bottom: 1px dashed var(--tm-border); margin-bottom: .875rem; }
.summary-product img { width: 48px; height: 48px; border-radius: .5rem; background: #fff; border: 1px solid var(--tm-border); object-fit: contain; }
.summary-list { margin: 0; }
.summary-row { display: flex; flex-direction: column; gap: .125rem; padding: .5rem 0; border-bottom: 1px dashed var(--tm-border); }
.summary-row dt { font-size: .6875rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tm-muted); font-weight: 600; }
.summary-row dd { margin: 0; display: flex; justify-content: space-between; gap: .5rem; font-size: .875rem; color: var(--tm-dark); font-weight: 500; }
.summary-row dd em { font-style: normal; color: var(--tm-primary-dark); font-size: .8125rem; white-space: nowrap; }
.summary-totals { padding-top: .875rem; font-size: .875rem; }
.summary-totals > div { display: flex; justify-content: space-between; margin-bottom: .375rem; }
.summary-totals .total { border-top: 1px solid var(--tm-border); padding-top: .625rem; margin-top: .5rem; font-size: 1rem; }
.summary-totals .total strong { font-size: 1.25rem; color: var(--tm-dark); }
.summary-note { font-size: .75rem; color: var(--tm-muted); margin-top: .75rem; text-align: center; }

/* Sekmeler */
.product-tabs { border: 1px solid var(--tm-border); border-radius: 1rem; overflow: hidden; }
.product-tabs .nav-tabs { background: var(--tm-bg); border-bottom: 1px solid var(--tm-border); padding: 0 1rem; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.product-tabs .nav-tabs::-webkit-scrollbar { display: none; }
.product-tabs .nav-link { color: var(--tm-body); font-weight: 600; border: 0; border-bottom: 2px solid transparent; padding: 1rem 1.125rem; white-space: nowrap; margin-bottom: -1px; }
.product-tabs .nav-link.active { color: var(--tm-primary); background: transparent; border-bottom-color: var(--tm-primary); }
.product-tabs .tab-content { padding: 1.75rem; }
.info-box { background: var(--tm-bg); border-radius: .875rem; padding: 1.25rem; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { padding-left: 1.5rem; position: relative; margin-bottom: .5rem; font-size: .875rem; }
.check-list li::before { content: "\F26B"; font-family: "bootstrap-icons"; position: absolute; left: 0; color: var(--tm-primary); }
.spec-table th { width: 220px; font-weight: 600; color: var(--tm-dark); background: var(--tm-bg); font-size: .875rem; }
.spec-table td { font-size: .875rem; }

/* Yorumlar */
.review-summary { background: var(--tm-bg); border-radius: .875rem; padding: 1.5rem; text-align: center; }
.review-summary .score { font-size: 3rem; font-weight: 800; color: var(--tm-dark); line-height: 1; }
.rating-bars > div { display: flex; align-items: center; gap: .5rem; font-size: .75rem; margin-bottom: .375rem; }
.rating-bars .bar { flex: 1; height: 6px; background: var(--tm-border); border-radius: 3px; overflow: hidden; }
.rating-bars .bar span { display: block; height: 100%; background: var(--tm-warning); }
.rating-bars small { width: 32px; text-align: right; color: var(--tm-muted); }
.review { padding: 1rem 0; border-bottom: 1px solid var(--tm-border); }
.review:first-child { padding-top: 0; }
.review-head { display: flex; gap: .75rem; align-items: center; margin-bottom: .5rem; flex-wrap: wrap; }
.review-head .avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--tm-primary-soft); color: var(--tm-primary-dark); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .8125rem; }
.review p { font-size: .875rem; margin: 0; }

/* Mobil sabit satın alma çubuğu */
.buy-bar { position: fixed; left: 0; right: 0; bottom: 60px; z-index: 1039; background: #fff; border-top: 1px solid var(--tm-border); padding: .625rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; transform: translateY(120%); transition: transform .25s; box-shadow: 0 -4px 16px rgba(13,27,42,.06); }
.buy-bar.show { transform: translateY(0); }
.buy-bar > div { min-width: 0; }

@media (max-width: 991.98px) {
  .gallery, .summary-panel { position: static; }
  .product-page .col-lg-3 { order: 3; }
  .summary-panel { padding: 1rem; }
  .summary-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  .product-tabs .tab-content { padding: 1.25rem; }
  .spec-table th { width: 140px; }
}
@media (max-width: 575.98px) {
  .summary-list { grid-template-columns: 1fr; }
  .product-price strong { font-size: 1.5rem; }
  .opt-pills span { padding: .4rem .7rem; font-size: .8125rem; }
}

/* =========================================================
   WooCommerce sayfaları: mağaza, sepet, ödeme, hesap, blog...
   ========================================================= */

/* Sayfa başlığı */
.page-header { background: var(--tm-bg); padding: 1.5rem 0; border-bottom: 1px solid var(--tm-border); }
.page-header h1 { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.sticky-box { position: sticky; top: 140px; }
.tag { display: inline-flex; align-items: center; gap: .25rem; padding: .3rem .75rem; border: 1px solid var(--tm-border); border-radius: 2rem; font-size: .75rem; font-weight: 500; color: var(--tm-body); background: #fff; transition: all .15s; }
.tag:hover { border-color: var(--tm-primary); color: var(--tm-primary); }
.tag.active { background: var(--tm-primary-soft); border-color: var(--tm-primary); color: var(--tm-primary-dark); }
.status { display: inline-block; padding: .3em .7em; border-radius: 2rem; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.status-done { background: var(--tm-primary-soft); color: var(--tm-primary-dark); }
.status-shipping { background: #e7f0ff; color: #1d4ed8; }
.status-processing { background: #fff4d6; color: #b45309; }
.status-cancel { background: #fde8e8; color: #b91c1c; }
.stat-box { display: block; background: #fff; border: 1px solid var(--tm-border); border-radius: var(--tm-radius); padding: 1rem; text-align: center; height: 100%; color: var(--tm-dark); }
.stat-box small { display: block; font-size: .75rem; color: var(--tm-muted); }
.stat-box b { display: block; font-size: 1.125rem; }
.stat-box.link:hover { border-color: var(--tm-primary); }
.avatar-lg { width: 56px; height: 56px; border-radius: 50%; background: var(--tm-primary-soft); color: var(--tm-primary-dark); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex: 0 0 auto; }
.avatar-lg.sm { width: 42px; height: 42px; font-size: .875rem; }

/* Mağaza filtreleri */
.filter-box { padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--tm-border); }
.filter-title { font-size: .9375rem; margin-bottom: .75rem; }
.filter-list { list-style: none; padding: 0; margin: 0; }
.filter-list li a { display: flex; justify-content: space-between; align-items: center; padding: .375rem 0; color: var(--tm-body); font-size: .875rem; }
.filter-list li a span { font-size: .75rem; color: var(--tm-muted); background: var(--tm-bg); padding: .1rem .5rem; border-radius: 1rem; }
.filter-list li a:hover, .filter-list li a.active { color: var(--tm-primary); font-weight: 600; }
.filter-checks .form-check { margin-bottom: .5rem; font-size: .875rem; }
.filter-checks .form-check-input:checked { background-color: var(--tm-primary); border-color: var(--tm-primary); }
.filter-checks small { color: var(--tm-muted); }
.form-range::-webkit-slider-thumb { background: var(--tm-primary); }
.form-range::-moz-range-thumb { background: var(--tm-primary); }
.shop-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; padding: .75rem 1rem; background: var(--tm-bg); border-radius: var(--tm-radius); margin-bottom: 1rem; }
.view-toggle .btn.active { background: var(--tm-primary); border-color: var(--tm-primary); color: #fff; }
.active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.pagination { --bs-pagination-color: var(--tm-dark); --bs-pagination-active-bg: var(--tm-primary); --bs-pagination-active-border-color: var(--tm-primary); --bs-pagination-hover-color: var(--tm-primary); --bs-pagination-focus-color: var(--tm-primary); --bs-pagination-focus-box-shadow: none; }
.page-link { border-radius: .5rem !important; margin: 0 .125rem; }

/* Liste görünümü */
.product-grid.list-view > [class*="col-"] { width: 100%; flex: 0 0 100%; max-width: 100%; }
.product-grid.list-view .product-card { display: grid; grid-template-columns: 140px 1fr; column-gap: 1.25rem; align-items: start; }
.product-grid.list-view .product-card .thumb { grid-row: 1 / span 5; margin: 0; align-self: center; }
.product-grid.list-view .product-card .thumb img { max-width: 140px; }
.product-grid.list-view .product-card .badges { top: .5rem; left: .5rem; }
.product-grid.list-view .product-card .title { min-height: 0; }
.product-grid.list-view .product-card .price { margin-top: .5rem; }
.product-grid.list-view .product-card .stock-bar, .product-grid.list-view .product-card .stock-text { grid-column: 2; }

/* Ödeme adımları */
.checkout-steps { display: flex; justify-content: center; gap: 0; margin-bottom: 1.5rem; }
.checkout-steps .step { display: flex; align-items: center; gap: .5rem; padding: .5rem 1rem; color: var(--tm-muted); font-size: .875rem; font-weight: 500; position: relative; }
.checkout-steps .step .num { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--tm-border); display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; }
.checkout-steps .step.active { color: var(--tm-dark); }
.checkout-steps .step.active .num { border-color: var(--tm-primary); background: var(--tm-primary); color: #fff; }
.checkout-steps .step.done { color: var(--tm-primary-dark); }
.checkout-steps .step.done .num { border-color: var(--tm-primary); color: var(--tm-primary); }
.checkout-steps .step + .step::before { content: ""; width: 32px; height: 2px; background: var(--tm-border); margin-right: .75rem; }

/* Sepet tablosu */
.cart-table-wrap { border: 1px solid var(--tm-border); border-radius: var(--tm-radius); overflow: hidden; overflow-x: auto; }
.cart-table th { background: var(--tm-bg); font-size: .8125rem; font-weight: 600; color: var(--tm-muted); text-transform: uppercase; letter-spacing: .03em; border: 0; padding: .875rem 1rem; white-space: nowrap; }
.cart-table td { padding: 1rem; vertical-align: middle; border-color: var(--tm-border); }
.cart-table .cart-img { width: 80px; padding-right: 0; }
.cart-table .cart-img img { width: 64px; height: 64px; border: 1px solid var(--tm-border); border-radius: .5rem; object-fit: contain; background: #fff; }
.cart-table tr:last-child td { border-bottom: 0; }
.remove-link { color: var(--tm-muted); font-size: .9rem; }
.remove-link:hover { color: var(--tm-danger); }
.coupon-form { max-width: 360px; }
.totals-box { border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.5rem; background: #fff; }
.totals-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; font-size: .9375rem; padding: .5rem 0; border-bottom: 1px dashed var(--tm-border); }
.totals-row.total { border-bottom: 0; padding-top: .875rem; font-size: 1.0625rem; color: var(--tm-dark); }
.totals-row.total strong { font-size: 1.375rem; }
.form-check-sm { font-size: .8125rem; margin-bottom: .25rem; }

/* Ödeme sayfası */
.checkout-box { border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.5rem; margin-bottom: 1.25rem; background: #fff; }
.checkout-title { display: flex; align-items: center; gap: .625rem; font-size: 1.125rem; margin-bottom: 1.25rem; }
.step-num { width: 28px; height: 28px; border-radius: 50%; background: var(--tm-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .8125rem; font-weight: 700; }
.form-label { font-size: .875rem; font-weight: 500; color: var(--tm-dark); }
.option-card { display: block; cursor: pointer; }
.option-card > input[type="radio"] { position: absolute; opacity: 0; }
.option-card span { display: flex; flex-direction: column; padding: .75rem 1rem; border: 1.5px solid var(--tm-border); border-radius: .625rem; transition: all .15s; }
.option-card span b { font-size: .9375rem; color: var(--tm-dark); }
.option-card span small { font-size: .75rem; color: var(--tm-muted); }
.option-card input:checked + span { border-color: var(--tm-primary); background: var(--tm-primary-soft); box-shadow: 0 0 0 1px var(--tm-primary); }
.payment-method { display: block; border: 1.5px solid var(--tm-border); border-radius: .75rem; margin-bottom: .75rem; cursor: pointer; overflow: hidden; }
.payment-method > input[type="radio"] { position: absolute; opacity: 0; }
.payment-method .pm-head { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem; color: var(--tm-dark); }
.payment-method .pm-head i { font-size: 1.375rem; color: var(--tm-primary); }
.payment-method .pm-body { display: none; padding: 0 1.25rem 1.25rem; }
.payment-method .pm-body .row > * { display: block; }
.payment-method:has(input:checked) { border-color: var(--tm-primary); box-shadow: 0 0 0 1px var(--tm-primary); }
.payment-method:has(input:checked) .pm-body { display: block; }
.order-items { margin-bottom: .75rem; }
.order-item { display: flex; align-items: center; gap: .75rem; padding: .625rem 0; border-bottom: 1px solid var(--tm-border); }
.order-item img { width: 52px; height: 52px; border: 1px solid var(--tm-border); border-radius: .5rem; object-fit: contain; background: #fff; }
.success-icon { width: 84px; height: 84px; border-radius: 50%; background: var(--tm-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 2.5rem; box-shadow: 0 0 0 12px var(--tm-primary-soft); }
.success-icon.soft { background: var(--tm-primary-soft); color: var(--tm-primary); box-shadow: none; font-size: 2rem; }
.address-card { display: block; border: 1px solid var(--tm-border); border-radius: var(--tm-radius); padding: 1.25rem; background: #fff; height: 100%; color: var(--tm-body); }
.address-card h6 { font-size: .9375rem; margin-bottom: .5rem; }
.address-card.selected { border-color: var(--tm-primary); background: var(--tm-primary-soft); }
.address-card.add-new { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; border-style: dashed; color: var(--tm-muted); min-height: 140px; }
.address-card.add-new i { font-size: 1.75rem; }
.address-card.add-new:hover { border-color: var(--tm-primary); color: var(--tm-primary); }

/* Hesabım */
.account-sidebar { border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1rem; background: #fff; }
.account-user { display: flex; align-items: center; gap: .75rem; padding: .5rem .5rem 1rem; border-bottom: 1px solid var(--tm-border); margin-bottom: .75rem; }
.account-nav .list-group-item { border: 0; border-radius: .5rem !important; padding: .625rem .75rem; font-size: .9rem; color: var(--tm-body); margin-bottom: .125rem; }
.account-nav .list-group-item:hover { background: var(--tm-bg); color: var(--tm-primary); }
.account-nav .list-group-item.active { background: var(--tm-primary-soft); color: var(--tm-primary-dark); font-weight: 600; }
.account-card { border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.5rem; background: #fff; margin-bottom: 1.25rem; }
.account-table th { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--tm-muted); font-weight: 600; border-top: 0; }
.account-table td { font-size: .875rem; vertical-align: middle; }
.order-progress { display: flex; justify-content: space-between; position: relative; margin: .5rem 0; }
.order-progress::before { content: ""; position: absolute; top: 20px; left: 10%; right: 10%; height: 2px; background: var(--tm-border); }
.order-progress .step { position: relative; flex: 1; text-align: center; font-size: .8125rem; color: var(--tm-muted); }
.order-progress .step i { width: 42px; height: 42px; border-radius: 50%; background: #fff; border: 2px solid var(--tm-border); display: inline-flex; align-items: center; justify-content: center; font-size: 1.125rem; margin-bottom: .375rem; }
.order-progress .step span { display: block; font-weight: 600; color: var(--tm-dark); }
.order-progress .step small { font-size: .6875rem; }
.order-progress .step.done i { background: var(--tm-primary); border-color: var(--tm-primary); color: #fff; }
.order-progress .step.active i { border-color: var(--tm-primary); color: var(--tm-primary); box-shadow: 0 0 0 4px var(--tm-primary-soft); }
.card-item { border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.25rem; background: linear-gradient(135deg, #fff, var(--tm-bg)); }
.card-item.default { border-color: var(--tm-primary); }
.card-number { font-family: ui-monospace, monospace; font-size: 1.125rem; letter-spacing: .1em; color: var(--tm-dark); }
.courier-box { display: flex; align-items: center; gap: .75rem; padding: .875rem 1rem; background: var(--tm-bg); border-radius: var(--tm-radius); }
.timeline { list-style: none; padding: 0; margin: 0; border-left: 2px solid var(--tm-border); }
.timeline li { position: relative; padding: 0 0 1rem 1.25rem; font-size: .875rem; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--tm-primary); border: 2px solid #fff; }
.timeline li span { display: block; font-size: .75rem; color: var(--tm-muted); }

/* Giriş / kayıt */
.auth-section { background: var(--tm-bg); }
.auth-card { background: #fff; border: 1px solid var(--tm-border); border-radius: 1.25rem; overflow: hidden; box-shadow: var(--tm-shadow); }
.auth-aside { height: 100%; padding: 2.5rem; background: linear-gradient(160deg, #0d1b2a, #1b4332); color: #fff; }
.auth-body { padding: 2.5rem; }
.auth-tabs { background: var(--tm-bg); border-radius: .625rem; padding: .25rem; }
.auth-tabs .nav-link { color: var(--tm-body); font-weight: 600; border-radius: .5rem; }
.auth-tabs .nav-link.active { background: #fff; color: var(--tm-primary); box-shadow: var(--tm-shadow); }
.divider { display: flex; align-items: center; gap: .75rem; color: var(--tm-muted); font-size: .8125rem; margin: 1.25rem 0; }
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--tm-border); }
.btn-social { display: flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid var(--tm-border); }
.check-list.light li { color: rgba(255,255,255,.85); }
.check-list.light li::before { color: #7ee27e; }

/* Blog */
.blog-card { border: 1px solid var(--tm-border); border-radius: 1rem; overflow: hidden; background: #fff; height: 100%; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--tm-shadow-lg); }
.blog-img { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; }
.blog-img img { width: 100%; height: 100%; object-fit: cover; }
.blog-img .tag { position: absolute; top: .75rem; left: .75rem; background: #fff; }
.blog-body { padding: 1.25rem; flex: 1; }
.blog-body h5 { font-size: 1.0625rem; }
.blog-body h5 a { color: var(--tm-dark); }
.blog-body h5 a:hover { color: var(--tm-primary); }
.sidebar-box { border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.25rem; background: #fff; margin-bottom: 1.25rem; }
.sidebar-box h6 { margin-bottom: .875rem; }
.recent-post { display: flex; gap: .75rem; align-items: center; margin-bottom: .75rem; color: var(--tm-dark); }
.recent-post img { width: 64px; height: 48px; object-fit: cover; border-radius: .5rem; flex: 0 0 auto; }
.recent-post b { display: block; font-size: .8125rem; line-height: 1.3; }
.recent-post small { color: var(--tm-muted); font-size: .75rem; }
.recent-post:hover b { color: var(--tm-primary); }
.post-title { font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.2; margin-bottom: 1rem; }
.post-cover { border-radius: 1rem; overflow: hidden; aspect-ratio: 16/8; margin-bottom: 1.5rem; }
.post-cover img { width: 100%; height: 100%; object-fit: cover; }
.post-body h2 { font-size: 1.375rem; margin-top: 1.75rem; }
.post-body p, .post-body li { font-size: 1rem; line-height: 1.75; }
.post-body blockquote { border-left: 4px solid var(--tm-primary); background: var(--tm-primary-soft); padding: 1rem 1.25rem; border-radius: 0 .75rem .75rem 0; font-style: italic; color: var(--tm-dark); }

/* Hakkımızda / iletişim / SSS / 404 */
.team-card { text-align: center; border: 1px solid var(--tm-border); border-radius: 1rem; padding: 1.5rem 1rem; background: #fff; }
.team-card .avatar-lg { width: 72px; height: 72px; font-size: 1.125rem; margin-bottom: .75rem; }
.team-card h6 { margin-bottom: .125rem; }
.team-card small { color: var(--tm-muted); }
.map-box { border-radius: 1rem; overflow: hidden; border: 1px solid var(--tm-border); min-height: 260px; }
.map-placeholder { height: 100%; min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; background: repeating-linear-gradient(45deg, var(--tm-bg), var(--tm-bg) 10px, #fff 10px, #fff 20px); color: var(--tm-muted); font-size: .8125rem; text-align: center; padding: 1rem; }
.map-placeholder i { font-size: 2rem; }
.faq-nav .list-group-item { border-color: var(--tm-border); color: var(--tm-body); }
.faq-nav .list-group-item.active { background: var(--tm-primary-soft); border-color: var(--tm-border); color: var(--tm-primary-dark); font-weight: 600; }
.faq-group { margin-bottom: 2rem; scroll-margin-top: 150px; }
.faq-acc .accordion-item { border: 1px solid var(--tm-border); border-radius: .75rem !important; margin-bottom: .5rem; overflow: hidden; }
.faq-acc .accordion-button { font-weight: 600; color: var(--tm-dark); box-shadow: none; font-size: .9375rem; }
.faq-acc .accordion-button:not(.collapsed) { background: var(--tm-primary-soft); color: var(--tm-primary-dark); }
.faq-acc .accordion-body { font-size: .875rem; }
.error-illustration { position: relative; display: inline-block; }
.error-code { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 5rem; font-weight: 900; color: var(--tm-dark); opacity: .9; text-shadow: 0 2px 0 #fff; }
.category-banner { min-height: 220px; }
.category-banner .body p { color: #fff; }
.category-banner h1 { color: #fff; }

@media (max-width: 991.98px) {
  .sticky-box { position: static; }
  .shop-filters.offcanvas-lg .offcanvas-body { padding: 1rem; }
  .auth-body { padding: 1.5rem; }
  .account-sidebar { padding: .75rem; }
  .account-nav { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: .25rem; scrollbar-width: none; }
  .account-nav::-webkit-scrollbar { display: none; }
  .account-nav .list-group-item { white-space: nowrap; flex: 0 0 auto; }
  .account-user { border-bottom: 0; padding-bottom: .5rem; margin-bottom: .25rem; }
}
@media (max-width: 767.98px) {
  .checkout-steps .step { padding: .5rem .5rem; font-size: .75rem; }
  .checkout-steps .step + .step::before { width: 16px; margin-right: .25rem; }
  .cart-table th:nth-child(2), .cart-table td.cart-img { display: none; }
  .cart-table td { padding: .75rem .5rem; }
  .order-progress .step i { width: 34px; height: 34px; font-size: .9375rem; }
  .order-progress .step span { font-size: .6875rem; }
  .order-progress .step small { display: none; }
  .order-progress::before { top: 16px; }
  .product-grid.list-view .product-card { grid-template-columns: 96px 1fr; column-gap: .75rem; }
  .product-grid.list-view .product-card .thumb img { max-width: 96px; }
  .checkout-box, .account-card, .totals-box { padding: 1rem; }
  .error-code { font-size: 3.5rem; }
}

/* =========================================================
   WordPress ekleri (Düğmesa teması)
   ========================================================= */
.skip-link { position: absolute; top: .5rem; left: .5rem; z-index: 2000; background: var(--tm-primary); color: #fff; padding: .5rem 1rem; border-radius: .5rem; }
.brand .logo-img { height: 40px; width: auto; max-width: 220px; object-fit: contain; }
.brand-sm .logo-img { height: 30px; }
.footer-brand .logo-img { height: 36px; }
.brand-text { font-size: 1.375rem; font-weight: 800; color: var(--tm-dark); letter-spacing: -.02em; display: inline-flex; align-items: center; gap: .4rem; }
.brand-text i { color: var(--tm-primary); }
.min-w-0 { min-width: 0; }
.topbar-menu a { color: var(--tm-body); }
.location-btn span { line-height: 1.15; }
.location-btn small { font-size: .6875rem; }

/* Menü */
.main-nav .navbar-nav { flex-direction: row; }
.main-nav .dropdown-menu { margin-top: 0; }
.main-nav .nav-item.dropdown:hover > .dropdown-menu { display: block; }
.mobile-nav .menu-item > a { display: block; color: var(--tm-dark); font-weight: 500; padding: .75rem 0; border-bottom: 1px solid var(--tm-border); }
.mobile-nav .sub-menu { list-style: none; padding-left: 1rem; margin: 0; }
.mobile-nav .sub-menu a { font-weight: 400; font-size: .9rem; color: var(--tm-body); }
.mobile-nav .current-menu-item > a { color: var(--tm-primary); }

/* Arama önerileri */
.search-suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border-radius: var(--tm-radius); box-shadow: var(--tm-shadow-lg); border: 1px solid var(--tm-border); z-index: 1050; overflow: hidden; max-height: 70vh; overflow-y: auto; }
.search-suggest a.item { display: flex; gap: .75rem; align-items: center; padding: .625rem .875rem; color: var(--tm-dark); border-bottom: 1px solid var(--tm-border); }
.search-suggest a.item:hover { background: var(--tm-primary-soft); }
.search-suggest a.item img { width: 44px; height: 44px; border-radius: .5rem; object-fit: contain; border: 1px solid var(--tm-border); background: #fff; }
.search-suggest a.item b { font-size: .875rem; display: block; }
.search-suggest a.item small { color: var(--tm-muted); font-size: .75rem; }
.search-suggest a.item .price { margin-left: auto; font-weight: 600; font-size: .875rem; white-space: nowrap; }
.search-suggest .cats { display: flex; flex-wrap: wrap; gap: .375rem; padding: .625rem .875rem; background: var(--tm-bg); }
.search-suggest .more { display: block; text-align: center; padding: .625rem; font-size: .8125rem; font-weight: 600; }

/* WhatsApp */
.whatsapp-btn { position: fixed; left: 1rem; bottom: 5rem; width: 52px; height: 52px; border-radius: 50%; background: #25d366; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.625rem; box-shadow: var(--tm-shadow-lg); z-index: 1035; }
.whatsapp-btn:hover { color: #fff; transform: scale(1.05); }
@media (min-width: 992px) { .whatsapp-btn { bottom: 1.5rem; } }

/* Lightbox */
.dm-lightbox .modal-content img { max-height: 90vh; object-fit: contain; background: #fff; }
.gallery-swiper .swiper-slide img { cursor: zoom-in; }

/* İçerik (blok editörü) */
.entry-content > * { max-width: 100%; }
.entry-content img { border-radius: .75rem; }
.entry-content .alignwide { margin-left: calc(-1 * clamp(0px, 4vw, 60px)); margin-right: calc(-1 * clamp(0px, 4vw, 60px)); max-width: none; }
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.entry-content .wp-block-table table { width: 100%; }
.entry-content h2 { font-size: 1.5rem; margin-top: 1.75rem; }
.entry-content h3 { font-size: 1.25rem; margin-top: 1.5rem; }
.entry-content ul, .entry-content ol { padding-left: 1.25rem; }
.entry-content blockquote { border-left: 4px solid var(--tm-primary); background: var(--tm-primary-soft); padding: 1rem 1.25rem; border-radius: 0 .75rem .75rem 0; color: var(--tm-dark); }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .8125rem; color: var(--tm-muted); text-align: center; }
.sticky, .bypostauthor, .gallery-caption, .screen-reader-text { }
.page-links a { display: inline-block; padding: .25rem .625rem; border: 1px solid var(--tm-border); border-radius: .375rem; margin-right: .25rem; }
.comment-list .review .children { padding-left: 2.5rem; }
.comment-reply-link { font-weight: 600; }
.post-nav .address-card:hover { border-color: var(--tm-primary); }
.term-description p:last-child { margin-bottom: 0; }

/* Widget'lar */
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget li { margin-bottom: .5rem; font-size: .875rem; }
.widget li a { color: var(--tm-body); }
.widget li a:hover { color: var(--tm-primary); }
.widget select { width: 100%; padding: .5rem; border: 1px solid var(--tm-border); border-radius: .5rem; }
.widget .wp-block-search__input, .widget input[type="search"] { border: 1px solid var(--tm-border); border-radius: .5rem; padding: .5rem .75rem; }
.widget .wp-block-search__button { background: var(--tm-primary); color: #fff; border: 0; border-radius: .5rem; padding: .5rem .875rem; }
.tagcloud a { display: inline-block; padding: .3rem .75rem; border: 1px solid var(--tm-border); border-radius: 2rem; font-size: .75rem !important; margin: 0 .25rem .375rem 0; color: var(--tm-body); }
.site-footer .widget h6 { font-size: .9375rem; margin-bottom: 1rem; }

/* Sabit header altında kalan anchor'lar */
:target { scroll-margin-top: 150px; }
