/* ================================================================
   re-thinks Custom Styles
   B2B modal, Teklif Al butonu, form stilleri
   ================================================================ */

/* ── Değişkenler ─────────────────────────────────────────────── */
:root {
  --rt-primary:    #1a56db;
  --rt-primary-dk: #1341b2;
  --rt-accent:     #ff6b35;
  --rt-text:       #1a1a1a;
  --rt-muted:      #6b7280;
  --rt-border:     #e5e7eb;
  --rt-bg-light:   #f9fafb;
  --rt-radius:     8px;
  --rt-shadow:     0 4px 24px rgba(0,0,0,.12);
  --rt-transition: .2s ease;
}

/* ── B2B Teklif Al Butonu ─────────────────────────────────────── */
.rethinks-quote-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--rt-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: var(--rt-radius);
  cursor: pointer;
  transition: background var(--rt-transition), transform var(--rt-transition);
  text-decoration: none;
  white-space: nowrap;
}
.rethinks-quote-btn:hover,
.rethinks-quote-btn:focus-visible {
  background: var(--rt-primary-dk);
  transform: translateY(-1px);
  outline: 3px solid rgba(26,86,219,.3);
  outline-offset: 2px;
}
.rethinks-quote-btn svg {
  flex-shrink: 0;
}

.rethinks-b2b-cta {
  margin: 20px 0;
}
.rethinks-b2b-note {
  font-size: .85rem;
  color: var(--rt-muted);
  margin-top: 8px;
}
.rethinks-b2b-price-label {
  font-size: .95rem;
  color: var(--rt-muted);
  font-style: italic;
}

/* ── Modal ────────────────────────────────────────────────────── */
.rethinks-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.rethinks-modal[hidden] {
  display: none;
}
.rethinks-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
  cursor: pointer;
}
.rethinks-modal__container {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 12px;
  padding: 36px;
  width: 100%;
  max-width: 560px;
  max-height: 90dvh;
  overflow-y: auto;
  box-shadow: var(--rt-shadow);
  animation: rtModalIn .25s ease;
}
@keyframes rtModalIn {
  from { opacity: 0; transform: translateY(20px) scale(.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1);   }
}
.rethinks-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rt-bg-light);
  border: none;
  border-radius: 50%;
  font-size: 1rem;
  cursor: pointer;
  color: var(--rt-muted);
  transition: background var(--rt-transition);
}
.rethinks-modal__close:hover { background: var(--rt-border); }

.rethinks-modal__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px;
}
.rethinks-modal__subtitle {
  font-size: .95rem;
  color: var(--rt-muted);
  margin: 0 0 24px;
}

/* ── Form ─────────────────────────────────────────────────────── */
.rethinks-form__group {
  margin-bottom: 16px;
}
.rethinks-form__group label {
  display: block;
  font-size: .875rem;
  font-weight: 500;
  margin-bottom: 6px;
  color: var(--rt-text);
}
.rethinks-form__group input,
.rethinks-form__group textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--rt-border);
  border-radius: var(--rt-radius);
  font-size: 1rem;
  color: var(--rt-text);
  background: #fff;
  transition: border-color var(--rt-transition), box-shadow var(--rt-transition);
  appearance: none;
}
.rethinks-form__group input:focus,
.rethinks-form__group textarea:focus {
  outline: none;
  border-color: var(--rt-primary);
  box-shadow: 0 0 0 3px rgba(26,86,219,.12);
}
.rethinks-form__group textarea { resize: vertical; min-height: 100px; }
.rethinks-form__group input:invalid:not(:placeholder-shown) {
  border-color: #ef4444;
}

.rethinks-form__submit {
  width: 100%;
  padding: 13px;
  background: var(--rt-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: var(--rt-radius);
  cursor: pointer;
  transition: background var(--rt-transition);
  margin-top: 4px;
}
.rethinks-form__submit:hover  { background: var(--rt-primary-dk); }
.rethinks-form__submit:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.rethinks-form__feedback {
  margin-top: 12px;
  font-size: .9rem;
  min-height: 20px;
}
.rethinks-form__feedback.success { color: #16a34a; }
.rethinks-form__feedback.error   { color: #dc2626; }

/* Honeypot alanını gizle */
.rethinks-hp {
  position: absolute;
  left: -9999px;
  visibility: hidden;
  pointer-events: none;
}

/* ── Mağaza: B2B/B2C Ayırıcı Badge ───────────────────────────── */
.product-b2b-badge {
  display: inline-block;
  padding: 3px 10px;
  background: #1e3a5f;
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  border-radius: 4px;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 600px) {
  .rethinks-modal__container { padding: 24px 20px; }
  .rethinks-modal__title     { font-size: 1.25rem; }
  .rethinks-quote-btn        { width: 100%; justify-content: center; }
}

/* ================================================================
   WooCommerce + Elementor Pro Ürün Kartı Hizalama
   Elementor Pro .elementor-products-grid selector kullanır.
   Her kart flex column → fiyat + buton her zaman altta.
   ================================================================ */

/* CSS değişkeni ile Elementor display override */
.elementor-products-grid ul.products.elementor-grid {
  --button-align-display: flex;
  align-items: stretch !important;
}

/* Elementor kart — flex column */
.elementor-products-grid ul.products.elementor-grid li.product {
  display: flex !important;
  flex-direction: column !important;
}

/* Native WooCommerce (Elementor dışı sayfalar) */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
}

/* Görsel — tüm kartlarda eşit yükseklik */
.elementor-products-grid ul.products.elementor-grid li.product a img,
.woocommerce ul.products li.product a img {
  height: 220px !important;
  width: 100% !important;
  object-fit: cover !important;
  flex-shrink: 0;
}

/* Başlık — sabit yükseklik (3 satır) */
.elementor-products-grid ul.products.elementor-grid li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 3.6em;
  font-size: .93rem !important;
  line-height: 1.4 !important;
  overflow: hidden;
}

/* Fiyat — kalan boşluğu doldur, alta çek */
.elementor-products-grid ul.products.elementor-grid li.product .price,
.woocommerce ul.products li.product .price {
  margin-top: auto !important;
  padding-top: 8px;
  font-weight: 700 !important;
  color: #e53e3e !important;
  display: block !important;
}

/* Buton — tam genişlik, en altta */
.elementor-products-grid ul.products.elementor-grid li.product .button,
.elementor-products-grid ul.products.elementor-grid li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 10px !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
}

/* ================================================================
   iyzico Widget — Mobilde görsel üstüne binmesin
   ================================================================ */
.iyzico-checkout-form,
[id*="iyzico"],
.iyzico-widget-container {
  position: relative !important;
  z-index: 1 !important;
}

/* ================================================================
   Header İyileştirmeleri
   ================================================================ */

/* Site tagline (site-description) görünümü */
.site-description,
.custom-logo-link + .site-description {
  font-size: .75rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  opacity: .7;
}

/* Navigasyon linkleri hizası */
.main-navigation ul li a {
  padding: 0 14px;
  white-space: nowrap;
}

/* Sepet ikonu sağda düzgün hizalanmış */
.site-header .cart-contents,
.site-header .header-cart {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ================================================================
   Footer İyileştirmeleri
   ================================================================ */

/* Footer sütunlar dikey ortala */
.site-footer .elementor-column,
footer .wp-block-column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Footer ödeme logoları yatay hizala */
.site-footer img[src*="visa"],
.site-footer img[src*="master"],
.site-footer img[src*="iyzico"],
.site-footer img[src*="havale"] {
  display: inline-block !important;
  height: 32px !important;
  width: auto !important;
  vertical-align: middle;
  margin: 4px 6px;
}

/* Footer iletişim bilgileri satır aralığı */
.site-footer .elementor-icon-list-items .elementor-icon-list-item,
footer address p {
  margin-bottom: 8px;
  line-height: 1.5;
}

/* ================================================================
   Genel UX İyileştirmeleri
   ================================================================ */

/* Fiyat rengi tutarlılığı */
.woocommerce .price,
.woocommerce ul.products li.product .price {
  color: #e53e3e !important;
  font-weight: 700;
}

/* Ürün görseli boyut sabitleme — farklı oranlı görseller için */
.woocommerce ul.products li.product a img {
  height: 220px !important;
  object-fit: cover;
  width: 100%;
}

/* Buton hover geçişi */
.woocommerce a.button,
.woocommerce button.button {
  transition: background .2s ease, transform .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  /* Mobil ürün grid */
  .woocommerce ul.products li.product a img {
    height: 160px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: .9rem;
    min-height: 2.8em;
  }
}

/* ================================================================
   Ürün Sayfası — Galeri Görünürlük & Thumbnail Düzeltmesi
   WooCommerce opacity:0 ile başlatır; JS (flexslider) 1 yapar.
   CSS fallback olarak 1 zorluyoruz.
   ================================================================ */
.woocommerce-product-gallery {
  opacity: 1 !important;
  transition: none !important;
}

/* Galeri arka planı — açık renkli ürünler için kontrast */
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper {
  background: #f5f5f5;
  border-radius: 8px;
}

/* Thumbnail bar */
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  padding: 0;
  list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 auto;
}
.woocommerce-product-gallery .flex-control-thumbs img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 4px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .2s;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover {
  border-color: var(--rt-primary);
}

/* ================================================================
   WooCommerce Gutenberg Blok Ürün Görselleri (Sepet / Blok)
   .wc-block-grid__product-image — objectFit: fill → cover
   ================================================================ */
.wc-block-grid__product-image {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #f3f3f3;
}
.wc-block-grid__product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* ================================================================
   Hakkımızda — Alt Bölüm Görseller (Beyaz Arka Plan Düzeltmesi)
   Siyah arka plan üzerinde beyaz arka planlı ürün fotoğrafları.
   Parlaklık düşürülerek bütünlük sağlanır.
   ================================================================ */
.elementor-element-e6adfc7 .elementor-widget-image .elementor-widget-container {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.55);
}
.elementor-element-e6adfc7 img {
  display: block;
  width: 100%;
  border-radius: 10px;
  filter: brightness(0.82) contrast(1.08);
  transition: filter 0.35s ease, transform 0.35s ease;
}
.elementor-element-e6adfc7 img:hover {
  filter: brightness(1.0) contrast(1.1);
  transform: scale(1.03);
}
.elementor-element-e6adfc7 .elementor-widget-image .elementor-widget-container::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 55%, rgba(0,0,0,0.65) 100%);
  border-radius: 10px;
  pointer-events: none;
}

/* ================================================================
   Sepet Sayfası — Boş Sepet Mesajı & Başlık Hizalaması
   ================================================================ */
.woocommerce-cart .woocommerce-info,
.woocommerce-cart p.cart-empty {
  text-align: center;
  font-size: 1.1rem;
  padding: 32px 20px;
  color: var(--rt-muted);
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 16px;
}
.woocommerce-cart .return-to-shop .button {
  display: inline-block !important;
  width: auto !important;
  padding: 12px 28px !important;
}

/* ================================================================
   Genel — Tüm WooCommerce Ürün Görsel Çerçeveleme
   Farklı en/boy oranındaki görseller için normalize.
   Açık renkli ürünler (silikon kalıp, beyaz mum) için gri arka plan.
   ================================================================ */
.woocommerce ul.products li.product > a:first-child,
.elementor-products-grid ul.products.elementor-grid li.product > a:first-child {
  display: block;
  overflow: hidden;
  background: #f0f0f0;
  border-radius: 6px 6px 0 0;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products.columns-4 li.product a img,
.woocommerce ul.products.columns-3 li.product a img {
  height: 220px !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: center top;
  display: block;
  background: #f0f0f0;
}

/* ================================================================
   Mobil — Genel Responsive Düzeltmeler
   ================================================================ */
@media (max-width: 600px) {
  .wc-block-grid__product-image {
    aspect-ratio: 4 / 3;
  }
  .elementor-element-e6adfc7 img {
    max-height: 280px;
    object-fit: cover;
  }
}

/* ================================================================
   Ürün Detay Sayfası — Profesyonel Yeniden Tasarım
   Elementor Pro single product template: sol kolon (başlık +
   açıklama + fiyat), sağ kolon (galeri). Başlık 85px → ~28px.
   ================================================================ */

/* ── Başlık (H1): 85px → okunaklı boyut ── */
.single-product .elementor-widget-woocommerce-product-title .elementor-heading-title,
.single-product .elementor-widget-woocommerce-product-title h1,
.single-product h1.product_title.entry-title {
  font-size: clamp(1.45rem, 2.4vw, 1.9rem) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: -.02em;
  color: #111827;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

/* ── iyzico badge satırı düzen ── */
.single-product .iyzico-installment-text,
.single-product [id*="iyzico-installment"] {
  font-size: .8rem !important;
  margin: 0 0 12px !important;
}

/* ── Rating yıldızları ── */
.single-product .woocommerce-product-rating {
  margin: 0 0 12px !important;
  font-size: .85rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ── Kısa açıklama / short description ── */
.single-product .woocommerce-product-details__short-description {
  font-size: .925rem !important;
  line-height: 1.75 !important;
  color: #374151;
  margin: 0 0 20px !important;
}
.single-product .woocommerce-product-details__short-description p {
  margin: 0 0 10px;
}
.single-product .woocommerce-product-details__short-description ul,
.single-product .woocommerce-product-details__short-description ol {
  padding-left: 18px;
  margin: 6px 0 10px;
}
.single-product .woocommerce-product-details__short-description li {
  margin-bottom: 4px;
  line-height: 1.6;
}
.single-product .woocommerce-product-details__short-description h2,
.single-product .woocommerce-product-details__short-description h3 {
  font-size: 1rem !important;
  font-weight: 700;
  margin: 18px 0 8px !important;
  color: #111827;
}
.single-product .woocommerce-product-details__short-description strong {
  color: #111827;
  font-weight: 600;
}

/* ── Fiyat ── */
.single-product p.price,
.single-product span.price {
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  color: #dc2626 !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
  display: block !important;
}
.single-product .price del {
  font-size: 1rem !important;
  color: var(--rt-muted) !important;
  font-weight: 400 !important;
  margin-right: 8px;
}
.single-product .price ins {
  text-decoration: none !important;
}

/* ── Sepete Ekle kutusu (miktar + buton) ── */
.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}
.single-product form.cart .qty {
  width: 64px !important;
  padding: 11px 10px !important;
  border: 1.5px solid var(--rt-border) !important;
  border-radius: var(--rt-radius) !important;
  font-size: 1rem !important;
  text-align: center !important;
  flex-shrink: 0;
  -moz-appearance: textfield;
}
.single-product form.cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
  min-width: 140px !important;
  padding: 12px 22px !important;
  font-size: .925rem !important;
  font-weight: 700 !important;
  border-radius: var(--rt-radius) !important;
  background: var(--rt-primary) !important;
  color: #fff !important;
  border: none !important;
  letter-spacing: .01em;
  text-transform: none !important;
  cursor: pointer;
  transition: background var(--rt-transition), transform var(--rt-transition);
  box-shadow: 0 2px 8px rgba(26,86,219,.25);
}
.single-product form.cart .single_add_to_cart_button:hover {
  background: var(--rt-primary-dk) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(26,86,219,.35);
}

/* ── Ürün meta (SKU, Kategori, Etiket) ── */
.single-product .product_meta {
  font-size: .82rem !important;
  color: var(--rt-muted);
  border-top: 1px solid var(--rt-border);
  padding-top: 14px !important;
  margin-top: 4px !important;
  line-height: 1.6;
}
.single-product .product_meta > span {
  display: flex;
  gap: 4px;
  margin-bottom: 5px;
  flex-wrap: wrap;
  align-items: baseline;
}
.single-product .product_meta .label {
  font-weight: 600;
  color: #374151;
  min-width: 70px;
}
.single-product .product_meta a {
  color: var(--rt-primary);
  text-decoration: none;
}
.single-product .product_meta a:hover {
  text-decoration: underline;
}

/* ── Uzun açıklama (tabs veya direkt içerik) ── */
.single-product .woocommerce-tabs {
  margin-top: 40px;
  clear: both;
}
.single-product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 0 !important;
  border-bottom: 2px solid var(--rt-border);
  display: flex;
  gap: 0;
  list-style: none !important;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 10px 20px !important;
  font-size: .875rem !important;
  font-weight: 600;
  color: var(--rt-muted) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  background: none !important;
  transition: color .2s, border-color .2s;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--rt-primary) !important;
  border-bottom-color: var(--rt-primary);
}
.single-product .woocommerce-tabs .panel {
  font-size: .9375rem !important;
  line-height: 1.8 !important;
  color: #374151;
  padding: 24px 0 !important;
}
.single-product .woocommerce-tabs .panel h2 {
  font-size: 1.1rem !important;
  font-weight: 700;
  margin: 0 0 14px !important;
  color: #111827;
}
.single-product .woocommerce-tabs .panel h3 {
  font-size: 1rem !important;
  font-weight: 600;
  margin: 14px 0 8px !important;
}
.single-product .woocommerce-tabs .panel ul,
.single-product .woocommerce-tabs .panel ol {
  padding-left: 20px;
  margin: 8px 0;
}
.single-product .woocommerce-tabs .panel li {
  margin-bottom: 5px;
  line-height: 1.65;
}
.single-product .woocommerce-tabs table.shop_attributes {
  width: 100%;
  border-collapse: collapse;
  font-size: .875rem;
}
.single-product .woocommerce-tabs table.shop_attributes th,
.single-product .woocommerce-tabs table.shop_attributes td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--rt-border);
  text-align: left;
}
.single-product .woocommerce-tabs table.shop_attributes th {
  font-weight: 600;
  color: #374151;
  width: 36%;
  background: var(--rt-bg-light);
}

/* ── İlgili / Önerilen Ürünler ── */
.single-product .related.products,
.single-product .upsells.products {
  margin-top: 48px;
  border-top: 2px solid var(--rt-border);
  padding-top: 32px;
  clear: both;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  font-size: 1.15rem !important;
  font-weight: 700;
  margin: 0 0 20px !important;
  color: #111827;
}

/* ── Mobil responsive ── */
@media (max-width: 768px) {
  .single-product .elementor-widget-woocommerce-product-title .elementor-heading-title,
  .single-product h1.product_title.entry-title {
    font-size: 1.35rem !important;
    letter-spacing: -.01em;
  }
  .single-product p.price,
  .single-product span.price {
    font-size: 1.4rem !important;
  }
  .single-product form.cart {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .single-product form.cart .qty {
    width: 100% !important;
    text-align: left !important;
  }
}
