/* WooCommerce stilleri: klasik WooCommerce stilleri yüklenmez (inc/woocommerce.php); bu dosya
   WooCommerce işaretlemesini prototip tasarımına bağlar. Sepet ve ödeme blokları WooCommerce'in
   kendi blok stilleriyle gelir; burada yalnızca tema renkleri ve tipografisi uygulanır. */

/* Sepet, ödeme ve hesap sayfaları içerik genişliği sınırı olmadan */
.b2-app { min-width: 0; }
.woocommerce-account .b2-content { padding-top: 0; }

/* ------------------------------------------------------------ fiyat */
.price del,
.b2-card__price del { color: var(--b2-color-text-muted); font-size: var(--b2-font-size-sm); font-weight: var(--b2-font-weight-regular); text-decoration: line-through; }
.price ins,
.b2-card__price ins { text-decoration: none; }
.b2-card__price del { order: 2; }
.b2-card__price .screen-reader-text + .woocommerce-Price-amount,
.b2-card__price > .woocommerce-Price-amount { white-space: nowrap; }
.woocommerce-Price-amount { white-space: nowrap; }

/* Rozetler */
.b2-card__badge--soldout { background: var(--b2-color-text); color: var(--b2-color-bg); }

/* Kart: görsel bağlantısı medya alanını doldurur */
.b2-card__image-link { display: block; height: 100%; }
.b2-card__image-link img { width: 100%; height: 100%; object-fit: cover; }
.b2-card__cart.loading { opacity: 0.6; pointer-events: none; }
.b2-card__cart.added::after { content: none; }
.b2-card__meta .added_to_cart { display: none; }

/* ------------------------------------------------------------ bildirimler */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--b2-space-3);
  margin: 0 0 var(--b2-space-5);
  padding: var(--b2-space-3) var(--b2-space-4);
  border: 1px solid var(--b2-color-border);
  border-left: 3px solid var(--b2-color-brand);
  border-radius: var(--b2-radius-sm);
  background: var(--b2-color-brand-soft);
  font-size: var(--b2-font-size-sm);
  list-style: none;
}
.woocommerce-error { border-left-color: var(--b2-color-error); background: #FBF1F0; }
.woocommerce-error li + li { margin-top: var(--b2-space-1); }
.woocommerce-message .button,
.woocommerce-info .button { margin-left: auto; color: var(--b2-color-brand); font-weight: var(--b2-font-weight-medium); text-decoration: underline; text-underline-offset: 0.2em; }
.b2-container > .woocommerce-notices-wrapper,
.b2-page-main > .woocommerce-notices-wrapper { width: min(100% - 2 * var(--b2-layout-gutter), var(--b2-layout-container)); margin-inline: auto; }

/* ------------------------------------------------------------ mağaza */
.b2-listing-hero__text p { margin: 0; }
.b2-results-wrap { min-width: 0; }
.b2-results .woocommerce-info { margin-top: var(--b2-space-4); }
.b2-listing { padding-bottom: var(--b2-space-9); }
.b2-single { padding-bottom: var(--b2-space-4); }
.b2-fcats { display: grid; gap: var(--b2-space-1); }
.b2-fcats a {
  display: flex;
  justify-content: space-between;
  gap: var(--b2-space-2);
  padding: var(--b2-space-2) 0;
  color: var(--b2-color-text);
  font-size: var(--b2-font-size-sm);
}
.b2-fcats a[aria-current="page"] { color: var(--b2-color-brand); font-weight: var(--b2-font-weight-semibold); }
.b2-fcats a:hover { color: var(--b2-color-brand); }

/* Filtre seçimleri: gizli onay kutusu + görünür etiket (prototipteki düğmeler) */
label.b2-size { cursor: pointer; }
label.b2-size:has(input:checked) { border-color: var(--b2-color-brand); background: var(--b2-color-brand); color: var(--b2-color-on-brand); }
label.b2-size:has(input:focus-visible),
label.b2-fcolor:has(input:focus-visible) { outline: 2px solid var(--b2-color-focus); outline-offset: 2px; }
label.b2-fcolor { cursor: pointer; }
label.b2-fcolor:has(input:checked) { box-shadow: 0 0 0 2px var(--b2-color-bg), 0 0 0 4px var(--b2-color-brand); }
.b2-price-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--b2-space-3); }
.b2-price-inputs label { display: grid; gap: var(--b2-space-1); font-size: var(--b2-font-size-xs); color: var(--b2-color-text-muted); }
.b2-price-inputs .b2-input { min-height: 2.5rem; }
.b2-fnote { margin-top: var(--b2-space-2); color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); }
a.b2-chip { color: inherit; }
.b2-sort { display: flex; align-items: center; gap: var(--b2-space-2); }

/* ------------------------------------------------------------ ürün sayfası */
.b2-pdp + .b2-trust { margin-top: var(--b2-space-7); }
.b2-gallery__slide img { width: 100%; height: 100%; object-fit: cover; }
.b2-thumb { cursor: pointer; padding: 0; }
.b2-thumb[aria-current="true"] { border-color: var(--b2-color-brand); opacity: 1; }
.b2-lightbox__stage.is-zoomed .b2-lightbox__img { transform: scale(1.8); cursor: zoom-out; }

.b2-pinfo .woocommerce-product-rating { display: flex; align-items: center; gap: var(--b2-space-2); margin-bottom: var(--b2-space-3); font-size: var(--b2-font-size-sm); }
.b2-pinfo .woocommerce-review-link { color: var(--b2-color-text-muted); }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; overflow: hidden; font-size: 0.875rem; line-height: 1; letter-spacing: 0.1em; }
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0; color: var(--b2-color-border-strong); }
.star-rating span { position: absolute; inset: 0 auto 0 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: var(--b2-color-brand); }
.b2-pinfo > .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--b2-space-3);
  margin-bottom: var(--b2-space-4);
  color: var(--b2-color-brand);
  font-size: var(--b2-font-size-xl);
  font-weight: var(--b2-font-weight-semibold);
}
.b2-pinfo > .price del { order: 2; font-size: var(--b2-font-size-md); }
.b2-pinfo .woocommerce-product-details__short-description { margin-bottom: var(--b2-space-5); color: var(--b2-color-text-muted); }

/* Varyasyon tablosu: etiket + düğmeler; WooCommerce select'i ekran okuyucuya açık ama görsel olarak gizli */
.b2-pinfo table.variations { width: 100%; margin-bottom: var(--b2-space-3); border-collapse: collapse; }
.b2-pinfo table.variations tr { display: grid; gap: var(--b2-space-2); margin-bottom: var(--b2-space-4); }
.b2-pinfo table.variations th,
.b2-pinfo table.variations td { display: block; padding: 0; text-align: left; }
.b2-pinfo table.variations th label { font-size: var(--b2-font-size-sm); font-weight: var(--b2-font-weight-semibold); }
.b2-variation { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b2-space-3); }
.b2-variation__select select { min-height: 2.5rem; padding: 0 var(--b2-space-3); border: 1px solid var(--b2-color-border-strong); border-radius: var(--b2-radius-sm); background: var(--b2-color-bg); }
.b2-variation.is-enhanced .b2-variation__select {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.b2-variation:not(.is-enhanced) [data-b2-variation-buttons] { display: none; }
.b2-pcolor.is-unavailable,
.b2-size.is-unavailable { opacity: 0.4; text-decoration: line-through; }
.b2-pcolor[aria-checked="true"] { box-shadow: 0 0 0 2px var(--b2-color-bg), 0 0 0 4px var(--b2-color-brand); }
.b2-size[aria-checked="true"] { border-color: var(--b2-color-brand); background: var(--b2-color-brand); color: var(--b2-color-on-brand); }
.b2-pinfo .reset_variations { display: inline-block; margin-top: var(--b2-space-1); color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); text-decoration: underline; }
.b2-pinfo__chart { display: inline-flex; align-items: center; gap: var(--b2-space-1); color: var(--b2-color-text); font-size: var(--b2-font-size-xs); text-decoration: underline; }

.b2-pinfo .single_variation_wrap { display: grid; gap: var(--b2-space-4); }
.b2-pinfo .woocommerce-variation-price .price { color: var(--b2-color-brand); font-size: var(--b2-font-size-lg); font-weight: var(--b2-font-weight-semibold); }
.b2-pinfo .stock { font-size: var(--b2-font-size-sm); color: var(--b2-color-text-muted); }
.b2-pinfo .stock.in-stock::before { content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; margin-right: var(--b2-space-2); border-radius: 50%; background: #2E7D4F; vertical-align: 0.05em; }
.b2-pinfo .stock.out-of-stock { color: var(--b2-color-error); }

.b2-pinfo form.cart:not(.variations_form),
.b2-pinfo .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--b2-space-3); }
.b2-pinfo .quantity { display: inline-flex; align-items: stretch; }
.b2-pinfo .quantity.b2-qty input.qty { width: 3rem; border: 0; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.b2-pinfo .quantity:not(.b2-qty) input.qty { width: 4.5rem; min-height: 3rem; border: 1px solid var(--b2-color-border-strong); border-radius: var(--b2-radius-sm); text-align: center; }
.b2-pinfo .quantity input.qty::-webkit-inner-spin-button,
.b2-pinfo .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.b2-pinfo .single_add_to_cart_button {
  display: inline-flex;
  flex: 1 1 12rem;
  align-items: center;
  justify-content: center;
  gap: var(--b2-space-2);
  min-height: 3rem;
  padding: 0 var(--b2-space-6);
  border: 1px solid var(--b2-color-brand);
  border-radius: var(--b2-radius-sm);
  background: var(--b2-color-brand);
  color: var(--b2-color-on-brand);
  font-weight: var(--b2-font-weight-medium);
  cursor: pointer;
  transition: background var(--b2-motion-fast);
}
.b2-pinfo .single_add_to_cart_button:hover { border-color: var(--b2-color-brand-strong); background: var(--b2-color-brand-strong); }
.b2-pinfo .single_add_to_cart_button.disabled,
.b2-pinfo .single_add_to_cart_button:disabled { opacity: 0.5; cursor: not-allowed; }
.b2-pinfo .single_add_to_cart_button.loading { opacity: 0.7; }
.b2-pinfo .product_meta { margin-top: var(--b2-space-4); color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); }

/* Sekmeler: JavaScript yokken paneller alt alta, başlıklarıyla */
.b2-tabs:not(.is-enhanced) .b2-tabpanel + .b2-tabpanel { margin-top: var(--b2-space-6); }
.b2-tabs.is-enhanced .b2-tabpanel__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.b2-tabpanel__title { margin-bottom: var(--b2-space-3); color: var(--b2-color-brand); font-family: var(--b2-font-serif); font-size: var(--b2-font-size-xl); }
.b2-tabpanel table.shop_attributes { width: 100%; border-collapse: collapse; font-size: var(--b2-font-size-sm); }
.b2-tabpanel table.shop_attributes th,
.b2-tabpanel table.shop_attributes td { padding: var(--b2-space-2) var(--b2-space-3); border-bottom: 1px solid var(--b2-color-border); text-align: left; }
.b2-tabpanel table.shop_attributes th { width: 30%; color: var(--b2-color-text-muted); font-weight: var(--b2-font-weight-medium); }
.b2-tabpanel table.shop_attributes p { margin: 0; }

/* Yorumlar */
#reviews .woocommerce-Reviews-title { margin-bottom: var(--b2-space-4); font-size: var(--b2-font-size-lg); }
#reviews .commentlist { display: grid; gap: var(--b2-space-4); }
#reviews .comment_container { display: flex; gap: var(--b2-space-3); }
#reviews .avatar { width: 2.5rem; height: 2.5rem; border-radius: 50%; }
#reviews .comment-form-rating .stars a { color: var(--b2-color-brand); }
#reviews .comment-form-rating select { min-height: 2.5rem; }
.woocommerce-noreviews { color: var(--b2-color-text-muted); }

/* ------------------------------------------------------------ mini sepet */
.b2-minicart .widget_shopping_cart_content { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.b2-mc-line__meta dl.variation { display: flex; flex-wrap: wrap; gap: 0 var(--b2-space-3); margin: 0; }
.b2-mc-line__meta dl.variation dt { font-weight: var(--b2-font-weight-regular); }
.b2-mc-line__meta dl.variation dd { margin: 0; }
.b2-mc-line__meta dl.variation dd p { margin: 0; }
.b2-mc-line__qty { color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); }
.b2-minicart__total { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--b2-font-size-md); }
.b2-minicart__total strong { font-weight: var(--b2-font-weight-medium); }
.b2-minicart__total .woocommerce-Price-amount { font-weight: var(--b2-font-weight-semibold); }
.b2-minicart__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--b2-space-2); }
.b2-minicart__count { color: var(--b2-color-text-muted); font-family: var(--b2-font-sans); font-size: var(--b2-font-size-sm); font-weight: var(--b2-font-weight-regular); }
.b2-mc-line.is-removing { opacity: 0.5; }
.blockUI.blockOverlay { background: rgba(255, 255, 255, 0.6) !important; }

/* ------------------------------------------------------------ hesap */
.b2-acc-nav a[aria-current="page"] { color: var(--b2-color-brand); font-weight: var(--b2-font-weight-semibold); }
.b2-acc-main > * + * { margin-top: var(--b2-space-7); }
.b2-acc-main > .woocommerce-notices-wrapper + * { margin-top: 0; }
.b2-status--muted { background: var(--b2-color-bg-alt); color: var(--b2-color-text-muted); }
.b2-fields--two { display: grid; gap: var(--b2-space-4); }
@media (min-width: 480px) { .b2-fields--two { grid-template-columns: 1fr 1fr; } }
.b2-auth__form { display: grid; gap: var(--b2-space-4); }
.b2-auth__form .woocommerce-privacy-policy-text { color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); }
.b2-auth__form .woocommerce-privacy-policy-text a,
.b2-consent a { color: var(--b2-color-brand); text-decoration: underline; }

/* WooCommerce hesap formları ve tabloları */
.woocommerce-MyAccount-content form .form-row,
.woocommerce-address-fields .form-row,
.woocommerce-EditAccountForm .form-row { display: grid; gap: var(--b2-space-1); margin: 0 0 var(--b2-space-4); }
.woocommerce-MyAccount-content label { font-size: var(--b2-font-size-sm); font-weight: var(--b2-font-weight-medium); }
.woocommerce-MyAccount-content .input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea,
.woocommerce-form-track-order .b2-input {
  width: 100%;
  min-height: 2.75rem;
  padding: 0 var(--b2-space-3);
  border: 1px solid var(--b2-color-border-strong);
  border-radius: var(--b2-radius-sm);
  background: var(--b2-color-bg);
  font: inherit;
}
.woocommerce-MyAccount-content textarea { min-height: 6rem; padding-block: var(--b2-space-2); }
.woocommerce-MyAccount-content .required { color: var(--b2-color-error); text-decoration: none; }
.woocommerce-MyAccount-content fieldset { margin: var(--b2-space-5) 0; padding: var(--b2-space-4); border: 1px solid var(--b2-color-border); border-radius: var(--b2-radius-sm); }
.woocommerce-MyAccount-content legend { padding: 0 var(--b2-space-2); font-weight: var(--b2-font-weight-semibold); }
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-order-details .button,
.woocommerce-table .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0 var(--b2-space-4);
  border: 1px solid var(--b2-color-brand);
  border-radius: var(--b2-radius-sm);
  background: var(--b2-color-brand);
  color: var(--b2-color-on-brand);
  font-size: var(--b2-font-size-sm);
  font-weight: var(--b2-font-weight-medium);
  cursor: pointer;
}
.woocommerce-orders-table .button + .button { margin-left: var(--b2-space-2); }
.woocommerce-MyAccount-content table,
.woocommerce-order-details table,
.woocommerce-table { width: 100%; border-collapse: collapse; font-size: var(--b2-font-size-sm); }
.woocommerce-MyAccount-content th,
.woocommerce-MyAccount-content td,
.woocommerce-order-details th,
.woocommerce-order-details td { padding: var(--b2-space-3); border-bottom: 1px solid var(--b2-color-border); text-align: left; vertical-align: top; }
.woocommerce-MyAccount-content thead th,
.woocommerce-order-details thead th { color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); font-weight: var(--b2-font-weight-medium); text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce-Addresses { display: grid; gap: var(--b2-space-5); }
@media (min-width: 768px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address { padding: var(--b2-space-5); border: 1px solid var(--b2-color-border); border-radius: var(--b2-radius-md); }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--b2-space-3); }
.woocommerce-Address-title h2,
.woocommerce-column__title,
.woocommerce-order-details__title,
.woocommerce-customer-details h2 { color: var(--b2-color-brand); font-family: var(--b2-font-serif); font-size: var(--b2-font-size-xl); }
.woocommerce-Address address,
.woocommerce-customer-details address { font-style: normal; line-height: 1.7; }
.woocommerce-MyAccount-content mark { background: none; color: var(--b2-color-brand); font-weight: var(--b2-font-weight-semibold); }

/* Mobilde sipariş tabloları kart biçiminde */
@media (max-width: 767px) {
  .woocommerce-orders-table thead,
  .b2-orders thead { display: none; }
  .woocommerce-orders-table tr,
  .b2-orders tr { display: grid; gap: var(--b2-space-1); padding: var(--b2-space-3) 0; border-bottom: 1px solid var(--b2-color-border); }
  .woocommerce-orders-table td,
  .woocommerce-orders-table th,
  .b2-orders td { padding: 0; border: 0; }
  .woocommerce-orders-table td::before { content: attr(data-title) ": "; color: var(--b2-color-text-muted); }
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: none; }
}

/* ------------------------------------------------------------ sipariş takibi */
.b2-track-wrap { display: grid; gap: var(--b2-space-6); max-width: 56rem; padding-bottom: var(--b2-space-8); }
.b2-track-wrap .b2-page-sub { margin-bottom: var(--b2-space-4); }
.b2-track-form__msg { display: flex; align-items: center; gap: var(--b2-space-2); margin-top: var(--b2-space-4); color: var(--b2-color-text-muted); font-size: var(--b2-font-size-xs); }
.b2-track-wrap .order-info { padding: var(--b2-space-4); border-radius: var(--b2-radius-sm); background: var(--b2-color-bg-alt); }
.b2-track-wrap mark { background: none; color: var(--b2-color-brand); font-weight: var(--b2-font-weight-semibold); }
.b2-track-wrap .woocommerce-OrderUpdates { display: grid; gap: var(--b2-space-3); }

/* ------------------------------------------------------------ favoriler */
.b2-fav-note { display: flex; align-items: center; gap: var(--b2-space-2); margin-block: var(--b2-space-6) var(--b2-space-8); color: var(--b2-color-text-muted); font-size: var(--b2-font-size-sm); }
.b2-fav-note a { color: var(--b2-color-brand); text-decoration: underline; }
[data-b2-fav-root] { padding-bottom: var(--b2-space-8); }

/* ------------------------------------------------------------ sepet ve ödeme blokları (WooCommerce) */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { font-family: var(--b2-font-sans); }
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h2,
.wc-block-components-title.wc-block-components-title { color: var(--b2-color-text); font-family: var(--b2-font-sans); font-size: var(--b2-font-size-md); font-weight: var(--b2-font-weight-semibold); }
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  border-radius: var(--b2-radius-sm) !important;
  background: var(--b2-color-brand) !important;
  color: var(--b2-color-on-brand) !important;
  font-weight: var(--b2-font-weight-medium);
}
.wc-block-components-button:not(.is-link):hover { background: var(--b2-color-brand-strong) !important; }
.wc-block-components-product-name { color: var(--b2-color-text); font-weight: var(--b2-font-weight-medium); }
.wc-block-components-totals-item__value,
.wc-block-components-product-price { font-weight: var(--b2-font-weight-semibold); }
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-combobox .components-form-token-field__input { border-radius: var(--b2-radius-sm) !important; }
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus { border-color: var(--b2-color-brand) !important; box-shadow: 0 0 0 1px var(--b2-color-brand) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--b2-color-brand) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--b2-color-brand) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--b2-color-brand); border-color: var(--b2-color-brand); }
.wc-block-components-sidebar-layout { margin-bottom: var(--b2-space-8); }

/* Metin logo site adını yazıldığı gibi gösterir. CSS ile büyük harfe çevrilmez: sayfa dili Türkçe
   olduğunda "Boutique" → "BOUTİQUE" olur. Tasarımdaki görünüm için site adı "BOUTIQUE 02" girilir
   veya logo yüklenir. */
