/* ── WooCommerce Single Product Page ─────────────────────────────────────── */
/* Taşındı: woocommerce/single-product.php inline <style> bloğundan          */

/* ── Page ──────────────────────────────────────────────────────── */
.wsp-page { background: #fff; min-height: 100vh; }

.wsp-wrap {
  max-width: 80rem;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

/* ── 2-col grid ─────────────────────────────────────────────────── */
.wsp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
  margin-bottom: 2.5rem;
}
@media (max-width: 900px) {
  .wsp-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ── Gallery ────────────────────────────────────────────────────── */
.wsp-gallery .woocommerce-product-gallery {
  border-radius: 1rem;
  border: 1px solid #f1f5f9;
  background: #f8fafc;
  /* overflow visible — zoom widget ekrana taşmasın diye controlled */
  overflow: visible;
  position: relative;
}

/* Ana görsel kapsayıcı — zoom alanı */
.wsp-gallery .woocommerce-product-gallery__image {
  border-radius: 1rem; overflow: hidden; position: relative; cursor: zoom-in;
}
.wsp-gallery .woocommerce-product-gallery__image img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  display: block; border-radius: 1rem;
  transition: transform .45s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}
/* Hover zoom efekti — WC zoom JS yoksa CSS fallback */
.wsp-gallery .woocommerce-product-gallery__image:hover img {
  transform: scale(1.06);
}
/* WC zoom widget aktifken CSS zoom'u devre dışı bırak */
.wsp-gallery .woocommerce-product-gallery__image.zoomImg-active img,
.wsp-gallery .zoomContainer ~ .woocommerce-product-gallery__image img {
  transform: none;
}

/* Zoom lens overlay */
.wsp-gallery .zoomContainer {
  border-radius: .75rem;
  box-shadow: 0 10px 40px rgba(15,23,42,.15);
  overflow: hidden;
}

/* Slider navigasyon okları */
.wsp-gallery .woocommerce-product-gallery .flex-viewport {
  border-radius: 1rem; overflow: hidden;
}
.wsp-gallery .woocommerce-product-gallery .flex-direction-nav {
  list-style: none; margin: 0; padding: 0;
}
.wsp-gallery .woocommerce-product-gallery .flex-direction-nav a {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.9); border: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(15,23,42,.08);
  color: #475569; text-decoration: none; opacity: 0;
  transition: opacity .2s, background .2s;
  z-index: 10; font-size: 0;
}
.wsp-gallery .woocommerce-product-gallery:hover .flex-direction-nav a { opacity: 1; }
.wsp-gallery .flex-direction-nav .flex-prev { left: 10px; }
.wsp-gallery .flex-direction-nav .flex-next { right: 10px; }
.wsp-gallery .flex-direction-nav a::before {
  font-size: 14px; color: #475569;
}
.wsp-gallery .flex-direction-nav a:hover { background: #fff; color: #0f172a; }

/* Thumbnail rail */
.wsp-gallery .flex-control-thumbs {
  display: flex; gap: .5rem; margin-top: .75rem;
  flex-wrap: wrap; list-style: none; padding: 0; margin-left: 0;
}
.wsp-gallery .flex-control-thumbs li {
  width: 68px; height: 68px; border-radius: .625rem; overflow: hidden;
  border: 2px solid transparent; cursor: pointer;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.wsp-gallery .flex-control-thumbs li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(15,23,42,.1);
}
.wsp-gallery .flex-control-thumbs li.flex-active-slide {
  border-color: #2563eb;
  box-shadow: 0 0 0 1px #2563eb;
}
.wsp-gallery .flex-control-thumbs img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s ease;
}
.wsp-gallery .flex-control-thumbs li:hover img { transform: scale(1.05); }

/* ── Summary ────────────────────────────────────────────────────── */
.wsp-summary .product_title {
  font-size: 1.625rem; font-weight: 800; color: #0f172a;
  line-height: 1.3; margin: 0 0 .75rem; letter-spacing: -.025em;
}

.wsp-summary .woocommerce-product-rating {
  display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem;
}
.wsp-summary .star-rating { color: #f59e0b; }
.wsp-summary .woocommerce-review-link { font-size: .8125rem; color: #64748b; }

.wsp-summary .price {
  font-size: 1.625rem; font-weight: 800; color: #0f172a;
  margin-bottom: 1.25rem; display: block;
}
.wsp-summary .price del {
  font-size: 1rem; font-weight: 400; color: #94a3b8; margin-right: .375rem;
}
.wsp-summary .price del .woocommerce-Price-amount { color: #94a3b8; }
.wsp-summary .price ins { text-decoration: none; color: #0f172a; }

.wsp-summary .woocommerce-product-details__short-description {
  color: #475569; font-size: .9375rem; line-height: 1.7;
  margin-bottom: 1.25rem;
  border-left: 3px solid #e2e8f0;
  padding-left: .875rem;
}

/* Cart form */
.wsp-summary .cart {
  margin-top: 1.25rem; display: flex; flex-direction: column; gap: .875rem;
}
.wsp-summary .quantity {
  display: flex; align-items: center; gap: .5rem;
}
.wsp-summary .quantity label {
  font-size: .875rem; font-weight: 600; color: #475569; margin-right: .25rem;
}
.wsp-summary .quantity input[type=number] {
  width: 80px; padding: .625rem .75rem;
  border: 1px solid #e2e8f0; border-radius: .625rem;
  text-align: center; font-size: 1rem; font-weight: 600; color: #0f172a;
  outline: none; transition: border-color .15s;
}
.wsp-summary .quantity input[type=number]:focus { border-color: #2563eb; }

.wsp-summary .single_add_to_cart_button {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: .5rem !important;
  padding: .875rem 2rem !important;
  background: #2563eb !important; background-color: #2563eb !important;
  color: #fff !important;
  border: none !important; border-radius: .75rem !important;
  font-size: 1rem !important; font-weight: 700 !important;
  cursor: pointer !important; transition: background .15s !important;
  width: 100% !important; letter-spacing: -.01em !important;
}
.wsp-summary .single_add_to_cart_button:hover {
  background: #1d4ed8 !important; background-color: #1d4ed8 !important;
}
.wsp-summary .single_add_to_cart_button:disabled {
  opacity: .55 !important; cursor: not-allowed !important;
}

/* Variation form */
.wsp-summary .variations { width: 100%; border-collapse: collapse; margin-bottom: .75rem; }
.wsp-summary .variations td,
.wsp-summary .variations th { padding: .375rem 0; font-size: .9rem; }
.wsp-summary .variations label { font-weight: 600; color: #475569; }
.wsp-summary .variations select {
  width: 100%; padding: .5rem .875rem;
  border: 1px solid #e2e8f0; border-radius: .5rem;
  font-size: .875rem; color: #0f172a; outline: none;
}
.wsp-summary .variations select:focus { border-color: #2563eb; }
.wsp-summary .reset_variations {
  font-size: .8125rem; color: #64748b; text-decoration: none; display: inline-block; margin-top: .25rem;
}

/* Stock */
.wsp-summary .stock.in-stock {
  font-size: .875rem; font-weight: 600; color: #16a34a;
  display: flex; align-items: center; gap: .375rem; margin-bottom: .75rem;
}
.wsp-summary .stock.out-of-stock {
  font-size: .875rem; font-weight: 600; color: #dc2626; margin-bottom: .75rem;
}

/* Product meta */
.wsp-summary .product_meta {
  margin-top: 1.25rem; padding-top: 1.25rem;
  border-top: 1px solid #f1f5f9;
  font-size: .8125rem; color: #94a3b8;
  display: flex; flex-direction: column; gap: .375rem;
}
.wsp-summary .product_meta .sku_wrapper,
.wsp-summary .product_meta .posted_in,
.wsp-summary .product_meta .tagged_as { display: block; }
.wsp-summary .product_meta a { color: #2563eb; text-decoration: none; }
.wsp-summary .product_meta a:hover { text-decoration: underline; }

/* ── Trust badges ───────────────────────────────────────────────── */
.wsp-trust {
  display: flex; flex-wrap: wrap; gap: .625rem;
  margin-top: 1.25rem; padding-top: 1.25rem;
  border-top: 1px solid #f1f5f9;
}
.wsp-trust-item {
  display: flex; align-items: center; gap: .375rem;
  font-size: .75rem; font-weight: 500; color: #94a3b8;
}

/* ── Tabs ────────────────────────────────────────────────────────── */
.wsp-tabs-wrap {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  margin-bottom: 2.5rem;
}

/* Tab nav bar */
.wsp-tabs-wrap .woocommerce-tabs .tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}
.wsp-tabs-wrap .woocommerce-tabs .tabs li {
  list-style: none;
  margin: 0;
}
.wsp-tabs-wrap .woocommerce-tabs .tabs li::before,
.wsp-tabs-wrap .woocommerce-tabs .tabs li::after { display: none !important; }

.wsp-tabs-wrap .woocommerce-tabs .tabs li a {
  display: flex;
  align-items: center;
  padding: .875rem 1.375rem;
  font-size: .875rem;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  position: relative;
  transition: color .15s;
  white-space: nowrap;
}
.wsp-tabs-wrap .woocommerce-tabs .tabs li a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0; right: 0;
  height: 2px;
  background: transparent;
  transition: background .15s;
}
.wsp-tabs-wrap .woocommerce-tabs .tabs li.active a {
  color: #0f172a;
  background: #fff;
}
.wsp-tabs-wrap .woocommerce-tabs .tabs li.active a::after {
  background: #2563eb;
}
.wsp-tabs-wrap .woocommerce-tabs .tabs li a:hover { color: #0f172a; }

/* Panel content */
.wsp-tabs-wrap .woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 2rem;
  color: #475569;
  font-size: .9375rem;
  line-height: 1.75;
}
.wsp-tabs-wrap .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child {
  display: none;
}

/* Description typography */
.wsp-tabs-wrap #tab-description p { margin: 0 0 1rem; }
.wsp-tabs-wrap #tab-description h1,
.wsp-tabs-wrap #tab-description h2,
.wsp-tabs-wrap #tab-description h3 {
  font-weight: 700; color: #0f172a; margin: 1.5rem 0 .75rem;
}
.wsp-tabs-wrap #tab-description ul,
.wsp-tabs-wrap #tab-description ol {
  padding-left: 1.5rem; margin: 0 0 1rem;
}
.wsp-tabs-wrap #tab-description li { margin-bottom: .375rem; }

/* ── Reviews ─────────────────────────────────────────────────────── */
.wsp-tabs-wrap #reviews #comments .commentlist {
  list-style: none; padding: 0; margin: 0 0 2rem;
  display: flex; flex-direction: column; gap: 1rem;
}
.wsp-tabs-wrap #reviews #comments .comment_container {
  display: flex; gap: .875rem;
  padding: 1rem 1.25rem;
  border: 1px solid #f1f5f9; border-radius: .75rem;
  background: #fafafa;
}
.wsp-tabs-wrap #reviews #comments .comment_container img.avatar {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
}
.wsp-tabs-wrap #reviews #comments .comment-text { flex: 1; min-width: 0; }
.wsp-tabs-wrap #reviews #comments .meta {
  display: flex; align-items: center; gap: .625rem; margin-bottom: .375rem; flex-wrap: wrap;
}
.wsp-tabs-wrap #reviews #comments .meta strong { font-size: .9rem; color: #0f172a; }
.wsp-tabs-wrap #reviews #comments .meta time { font-size: .8125rem; color: #94a3b8; }
.wsp-tabs-wrap #reviews #comments .star-rating { font-size: .8125rem; }
.wsp-tabs-wrap #reviews #comments .description p {
  font-size: .9rem; color: #475569; margin: 0;
}

/* Review form */
.wsp-tabs-wrap #review_form_wrapper { margin-top: 1.5rem; }
.wsp-tabs-wrap #review_form_wrapper h3 {
  font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0 0 1.25rem;
}
.wsp-tabs-wrap #reviews .comment-form-rating { margin-bottom: 1rem; }
.wsp-tabs-wrap #reviews .comment-form-rating label {
  display: block; font-size: .8125rem; font-weight: 600; color: #475569; margin-bottom: .375rem;
}
.wsp-tabs-wrap .stars { display: flex; gap: .25rem; }
.wsp-tabs-wrap .stars a {
  color: #d1d5db; font-size: 1.25rem; text-decoration: none; transition: color .1s;
}
.wsp-tabs-wrap .stars a:hover,
.wsp-tabs-wrap .stars a.active { color: #f59e0b; }

.wsp-tabs-wrap #reviews .comment-form .comment-notes {
  font-size: .8125rem; color: #94a3b8; margin: 0 0 1rem;
}
.wsp-tabs-wrap #reviews .comment-form .comment-form-author,
.wsp-tabs-wrap #reviews .comment-form .comment-form-email,
.wsp-tabs-wrap #reviews .comment-form .comment-form-comment { margin-bottom: .875rem; }
.wsp-tabs-wrap #reviews .comment-form label {
  display: block; font-size: .8125rem; font-weight: 600; color: #475569; margin-bottom: .375rem;
}
.wsp-tabs-wrap #reviews .comment-form input[type="text"],
.wsp-tabs-wrap #reviews .comment-form input[type="email"],
.wsp-tabs-wrap #reviews .comment-form textarea {
  width: 100%; padding: .625rem .875rem;
  border: 1px solid #e2e8f0; border-radius: .625rem;
  font-size: .875rem; color: #0f172a; background: #fff;
  outline: none; transition: border-color .15s; box-sizing: border-box;
}
.wsp-tabs-wrap #reviews .comment-form input:focus,
.wsp-tabs-wrap #reviews .comment-form textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.07);
}
.wsp-tabs-wrap #reviews .comment-form textarea { min-height: 120px; resize: vertical; }
.wsp-tabs-wrap #reviews .form-submit { margin-top: 1rem; }
.wsp-tabs-wrap #reviews #submit {
  padding: .7rem 1.75rem;
  background: #0f172a; color: #fff;
  border: none; border-radius: .625rem;
  font-size: .9rem; font-weight: 700;
  cursor: pointer; transition: background .15s;
}
.wsp-tabs-wrap #reviews #submit:hover { background: #1e293b; }

/* ── Related products ─────────────────────────────────────────── */
.wsp-wrap .related.products,
.wsp-wrap .upsells.products { margin-top: 1rem; }

.wsp-wrap .related.products > h2,
.wsp-wrap .upsells.products > h2 {
  font-size: 1.125rem; font-weight: 700; color: #0f172a;
  margin: 0 0 1.25rem; letter-spacing: -.015em;
}
.wsp-wrap .related.products ul.products,
.wsp-wrap .upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
  list-style: none; padding: 0; margin: 0;
}
.wsp-wrap .related.products li.product,
.wsp-wrap .upsells.products li.product {
  background: #fff; border: 1px solid #e2e8f0; border-radius: .875rem;
  overflow: hidden; transition: box-shadow .2s, transform .2s;
}
.wsp-wrap .related.products li.product:hover,
.wsp-wrap .upsells.products li.product:hover {
  box-shadow: 0 6px 20px rgba(15,23,42,.07); transform: translateY(-2px);
}
.wsp-wrap .related.products li.product a img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.wsp-wrap .related.products li.product .woocommerce-loop-product__title,
.wsp-wrap .upsells.products li.product .woocommerce-loop-product__title {
  padding: .75rem .875rem .25rem;
  font-size: .875rem; font-weight: 600; color: #0f172a; margin: 0;
}
.wsp-wrap .related.products li.product .price,
.wsp-wrap .upsells.products li.product .price {
  padding: 0 .875rem .5rem; font-size: .9rem; font-weight: 700;
}
.wsp-wrap .related.products li.product .button,
.wsp-wrap .upsells.products li.product .button {
  display: block !important; margin: 0 .875rem .875rem !important;
  padding: .5rem 1rem !important; text-align: center !important;
  background: #2563eb !important; color: #fff !important;
  border-radius: .5rem !important; font-size: .875rem !important;
  font-weight: 600 !important; text-decoration: none !important;
  transition: background .15s !important;
}
.wsp-wrap .related.products li.product .button:hover,
.wsp-wrap .upsells.products li.product .button:hover {
  background: #1d4ed8 !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 640px) {
  .wsp-wrap { padding: 1.25rem 1rem 3rem; }
  .wsp-summary .product_title { font-size: 1.25rem; }
}
