/**
 * Tourak — WooCommerce core layer.
 *
 * Restyles the markup WooCommerce prints itself (notices, cart, checkout,
 * my account, forms, variations, pagination) so it matches the luxury design
 * system defined in style.css. Loaded whenever WooCommerce is active.
 */

/* =========================================================
   1. RESET WOO DEFAULTS
   ========================================================= */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  background: var(--tk-cream-2);
  border-top: 2px solid var(--tk-gold);
  color: var(--tk-ink);
  font-size: 13px;
  letter-spacing: .02em;
  padding: 18px 22px 18px 52px;
  margin: 0 0 26px;
  list-style: none;
  position: relative;
  border-radius: 0;
}
.woocommerce .woocommerce-error { border-top-color: var(--tk-danger); }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  color: var(--tk-gold);
  left: 22px;
  top: 18px;
}
.woocommerce .woocommerce-error::before { color: var(--tk-danger); }

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
  background: var(--tk-teal);
  color: #fff;
  border-radius: 0;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 10px 18px;
}

/* Global button harmonisation ---------------------------------------------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--tk-teal);
  color: #fff;
  border: 1px solid var(--tk-teal);
  border-radius: 0;
  font-family: var(--tk-font-body, 'Montserrat', sans-serif);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 15px 26px;
  line-height: 1;
  transition: background .3s var(--tk-ease), color .3s var(--tk-ease), border-color .3s var(--tk-ease);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--tk-gold);
  border-color: var(--tk-gold);
  color: var(--tk-ink);
}
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
  background: var(--tk-cream-3);
  border-color: var(--tk-cream-3);
  color: var(--tk-muted);
  opacity: 1;
}

/* Prices & ratings --------------------------------------------------------- */
.woocommerce .price,
.woocommerce span.amount {
  color: var(--tk-ink);
  font-family: var(--tk-font-display, 'Playfair Display', serif);
}
.woocommerce .price del {
  color: var(--tk-muted);
  opacity: 1;
  font-size: .8em;
  margin-right: 8px;
}
.woocommerce .price ins {
  text-decoration: none;
  font-weight: 500;
}
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--tk-gold); }
.woocommerce p.stars a { color: var(--tk-gold); }

/* =========================================================
   2. FORM FIELDS
   ========================================================= */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce .select2-container .select2-selection--single,
.woocommerce table.cart td.actions .coupon input,
.woocommerce-account input.input-text {
  background: #fff;
  border: 1px solid var(--tk-line);
  border-radius: 0;
  font-family: var(--tk-font-body, 'Montserrat', sans-serif);
  font-size: 13.5px;
  color: var(--tk-ink);
  padding: 13px 15px;
  height: auto;
  box-shadow: none;
  transition: border-color .25s var(--tk-ease);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--tk-gold);
  outline: none;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tk-muted);
  margin-bottom: 7px;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; color: var(--tk-ink); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--tk-line);
  border-radius: 0;
  background: var(--tk-cream);
  padding: 26px;
}

/* Quantity ---------------------------------------------------------------- */
.woocommerce .quantity {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--tk-line);
  background: #fff;
}
.woocommerce .quantity .qty {
  width: 56px;
  height: 50px;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--tk-ink);
  -moz-appearance: textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tk-qty-btn {
  width: 42px;
  border: 0;
  background: var(--tk-cream-2);
  color: var(--tk-ink);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background .25s var(--tk-ease), color .25s var(--tk-ease);
}
.tk-qty-btn:hover { background: var(--tk-teal); color: #fff; }

/* =========================================================
   3. VARIATIONS
   ========================================================= */
.woocommerce div.product form.cart .variations {
  border: 1px solid var(--tk-line);
  background: var(--tk-cream);
  margin-bottom: 18px;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  border-bottom: 1px solid var(--tk-line);
  padding: 12px 14px;
  vertical-align: middle;
}
.woocommerce div.product form.cart .variations label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tk-muted);
  margin: 0;
}
.woocommerce div.product form.cart .reset_variations {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tk-gold-dark);
}
.woocommerce-variation-price { margin-bottom: 12px; }

/* =========================================================
   4. CART
   ========================================================= */
.woocommerce table.shop_table {
  border: 1px solid var(--tk-line);
  border-radius: 0;
  border-collapse: collapse;
  background: #fff;
}
.woocommerce table.shop_table th {
  background: var(--tk-teal);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 16px 18px;
  border: 0;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--tk-line);
  padding: 20px 18px;
  font-size: 13.5px;
  color: var(--tk-body);
}
.woocommerce table.cart img { width: 76px; border: 1px solid var(--tk-line); }
.woocommerce a.remove {
  color: var(--tk-danger) !important;
  border: 1px solid var(--tk-line);
  border-radius: 0;
  width: 28px;
  height: 28px;
  line-height: 26px;
  font-size: 16px;
}
.woocommerce a.remove:hover { background: var(--tk-danger) !important; color: #fff !important; }
.woocommerce table.cart td.actions .coupon { display: flex; gap: 10px; }
.woocommerce .cart-collaterals .cart_totals {
  border: 1px solid var(--tk-line);
  background: var(--tk-cream);
  padding: 6px 24px 24px;
}
.woocommerce .cart-collaterals .cart_totals h2 {
  font-size: 1.3rem;
  padding-top: 18px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--tk-gold);
  border-color: var(--tk-gold);
  color: var(--tk-ink);
  font-size: 12px;
  padding: 18px 24px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--tk-teal);
  border-color: var(--tk-teal);
  color: #fff;
}
.woocommerce-cart-form { margin-bottom: 40px; }

/* =========================================================
   5. CHECKOUT
   ========================================================= */
.woocommerce-checkout h3 {
  font-size: 1.35rem;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tk-line);
  margin-bottom: 22px;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: var(--tk-cream);
  border: 1px solid var(--tk-line);
  padding: 24px;
}
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--tk-line);
  padding: 0 0 16px;
}
.woocommerce-checkout #payment div.form-row { padding: 18px 0 0; }
.woocommerce-checkout #payment #place_order {
  width: 100%;
  background: var(--tk-gold);
  border-color: var(--tk-gold);
  color: var(--tk-ink);
  padding: 18px;
  font-size: 12px;
}
.woocommerce-checkout #payment #place_order:hover { background: var(--tk-teal); border-color: var(--tk-teal); color: #fff; }
.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border: 1px solid var(--tk-line);
  font-size: 13px;
  color: var(--tk-body);
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce ul.order_details {
  background: var(--tk-cream);
  border: 1px solid var(--tk-line);
  padding: 24px;
  margin: 0 0 32px;
}
.woocommerce ul.order_details li {
  border-right: 1px solid var(--tk-line);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tk-muted);
}
.woocommerce ul.order_details li strong {
  font-family: var(--tk-font-display, 'Playfair Display', serif);
  font-size: 17px;
  color: var(--tk-ink);
  text-transform: none;
  letter-spacing: 0;
}

/* =========================================================
   6. MY ACCOUNT
   ========================================================= */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 24%;
  border: 1px solid var(--tk-line);
  background: var(--tk-cream);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--tk-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 15px 20px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tk-body);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--tk-teal);
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }

/* =========================================================
   7. PAGINATION / BREADCRUMB / RESULT COUNT
   ========================================================= */
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: 8px;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tk-line);
  background: #fff;
  color: var(--tk-body);
  font-size: 13px;
  font-weight: 600;
  padding: 0 10px;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--tk-teal);
  border-color: var(--tk-teal);
  color: #fff;
}
.woocommerce .woocommerce-breadcrumb {
  font-size: 11.5px;
  letter-spacing: .06em;
  color: var(--tk-muted);
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--tk-line);
  background: #fff;
  padding: 12px 14px;
  font-size: 12px;
  letter-spacing: .05em;
  color: var(--tk-ink);
  border-radius: 0;
}

/* =========================================================
   8. REVIEWS
   ========================================================= */
.woocommerce #reviews #comments h2 { font-size: 1.3rem; margin-bottom: 22px; }
.woocommerce #reviews ol.commentlist { padding: 0; list-style: none; }
.woocommerce #reviews ol.commentlist li { margin-bottom: 22px; }
.woocommerce #reviews ol.commentlist li .comment_container {
  background: #fff;
  border: 1px solid var(--tk-line);
  padding: 22px;
  border-radius: 0;
  display: flex;
  gap: 18px;
}
.woocommerce #reviews ol.commentlist li img.avatar {
  position: static;
  width: 56px;
  border: 1px solid var(--tk-line);
  padding: 0;
  border-radius: 50%;
  background: var(--tk-cream);
}
.woocommerce #reviews ol.commentlist li .comment-text {
  border: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
}
.woocommerce #reviews ol.commentlist li .comment-text p.meta {
  font-size: 12px;
  color: var(--tk-muted);
}
.woocommerce #reviews ol.commentlist li .comment-text strong { color: var(--tk-ink); }
.woocommerce #review_form_wrapper {
  background: var(--tk-cream);
  border: 1px solid var(--tk-line);
  padding: 26px;
  margin-top: 10px;
}
.woocommerce #review_form #respond textarea {
  border: 1px solid var(--tk-line);
  background: #fff;
  padding: 14px;
  font-family: var(--tk-font-body, 'Montserrat', sans-serif);
  font-size: 13.5px;
}
.woocommerce #reviews .comment-reply-title {
  font-family: var(--tk-font-display, 'Playfair Display', serif);
  font-size: 1.15rem;
  display: block;
  margin-bottom: 14px;
}

/* =========================================================
   9. QUICK VIEW STATES (injected markup)
   ========================================================= */
.tk-qv__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 320px;
  padding: 60px 24px;
  text-align: center;
}
.tk-qv__loading p {
  margin: 0;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tk-muted);
}
.tk-quick-view-btn.is-loading { opacity: .6; pointer-events: none; }
.tk-wishlist-btn.is-active { background: var(--tk-gold); border-color: var(--tk-gold); color: var(--tk-ink); }
.tk-wishlist-btn.is-pulsed,
.tk-compare-btn.is-pulsed { animation: tkPulse .4s var(--tk-ease); }
@keyframes tkPulse {
  0% { transform: scale(1); }
  45% { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* =========================================================
   10. MISC WOO WIDGETS
   ========================================================= */
.woocommerce ul.product_list_widget li { padding: 12px 0; border-bottom: 1px solid var(--tk-line); }
.woocommerce ul.product_list_widget li img { width: 58px; border: 1px solid var(--tk-line); }
.woocommerce ul.product_list_widget li a { font-weight: 500; color: var(--tk-ink); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--tk-cream-3); border-radius: 0; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--tk-gold); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--tk-teal);
  border-radius: 50%;
  width: 15px;
  height: 15px;
  top: -5px;
}
.woocommerce .widget_shopping_cart .buttons a { margin-right: 8px; }

/* Hide Woo's own sale flash — the theme prints its own badges. */
.woocommerce span.onsale { display: none; }

/* Loop items rendered through the Woo shortcode/override. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(var(--tk-cols, 4), minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce ul.products li.tk-loop-item {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 26px; }
}
@media (max-width: 640px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .woocommerce table.shop_table_responsive tr td { border-top: 1px solid var(--tk-line); }
  .woocommerce table.cart td.actions .coupon { flex-direction: column; }
}
