/* ============================================================================
   LuxePalace — WooCommerce skin
   Maps WooCommerce's default markup onto the LuxePalace design tokens
   (defined in styles.css :root). Loaded after styles.css.
   ========================================================================== */

/* --- Buttons: make every Woo button look like .lp-btn --------------------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--lp-font-ui); font-weight: 600; font-size: 13px; letter-spacing: .14em;
  text-transform: uppercase; padding: 15px 30px; border-radius: 2px; border: 1px solid var(--lp-gold);
  background: var(--lp-gold); color: var(--lp-black); transition: all .3s var(--lp-ease); line-height: 1;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover {
  background: var(--lp-gold-soft); border-color: var(--lp-gold-soft); color: var(--lp-black); transform: translateY(-2px);
}
.woocommerce a.button.added::after { color: var(--lp-black); }
/* secondary / ghost buttons */
.woocommerce a.button.wc-backward, .woocommerce .cart .button[name="update_cart"],
.woocommerce-cart .wc-proceed-to-checkout ~ * a.button {
  background: transparent; color: var(--lp-white); border-color: var(--lp-line-soft);
}

/* --- Notices -------------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  background: var(--lp-charcoal-2); border: 1px solid var(--lp-line); border-left: 3px solid var(--lp-gold);
  border-radius: var(--lp-radius-sm); color: #d7d7d7; padding: 16px 20px; list-style: none;
}
.woocommerce-error { border-left-color: #e06464; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { color: var(--lp-gold); }
.woocommerce-error::before { color: #e06464; }
.woocommerce-message a, .woocommerce-info a { color: var(--lp-gold); }

/* --- Breadcrumb ----------------------------------------------------------- */
.woocommerce-breadcrumb { font-family: var(--lp-font-ui); font-size: 12px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--lp-muted); }
.woocommerce-breadcrumb a { color: var(--lp-muted); }
.woocommerce-breadcrumb a:hover { color: var(--lp-gold); }

/* --- Shop toolbar: result count + ordering -------------------------------- */
.woocommerce .woocommerce-result-count { font-family: var(--lp-font-ui); font-size: 12px;
  color: var(--lp-muted); letter-spacing: .06em; margin: 6px 0 22px; }
.woocommerce .woocommerce-ordering { margin-bottom: 22px; }
.woocommerce .woocommerce-ordering select, .woocommerce select {
  font-family: var(--lp-font-ui); font-size: 13px; background: var(--lp-charcoal-2); color: var(--lp-white);
  border: 1px solid var(--lp-line); border-radius: 2px; padding: 11px 16px; cursor: pointer;
}

/* --- Pagination ----------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul { border: 0; margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  font-family: var(--lp-font-ui); color: var(--lp-white); border: 1px solid var(--lp-line-soft);
  border-radius: 2px; margin: 0 4px; min-width: 42px; height: 42px; line-height: 40px; padding: 0; transition: all .25s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--lp-gold); color: var(--lp-black); border-color: var(--lp-gold);
}

/* --- Single product ------------------------------------------------------- */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.single-product div.product .woocommerce-product-gallery {
  background: radial-gradient(120% 120% at 50% 20%, #1d1d1d, #080808);
  border: 1px solid var(--lp-line-soft); border-radius: var(--lp-radius); padding: 40px; position: sticky; top: 96px; width: 100% !important; float: none; margin: 0; }
.single-product div.product .woocommerce-product-gallery img { filter: drop-shadow(0 26px 44px rgba(0,0,0,.6)); }
.single-product div.product .summary { margin: 0 !important; width: 100% !important; float: none; }
.single-product .product_title { font-family: var(--lp-font-head); font-size: clamp(30px,4vw,46px); margin-bottom: 14px; }
.single-product .woocommerce-product-details__short-description { color: #cfcfcf; }
.single-product div.product p.price, .single-product div.product span.price {
  font-family: var(--lp-font-ui); font-size: 30px; font-weight: 600; color: var(--lp-gold); margin-bottom: 22px; }
.single-product .woocommerce-product-rating { margin-bottom: 14px; }
.single-product .product_meta { font-size: 13px; color: var(--lp-muted); border-top: 1px solid var(--lp-line-soft); padding-top: 18px; margin-top: 6px; }
.single-product .product_meta a { color: var(--lp-gold-soft); }
.lp-product-features { margin-top: 30px; grid-column: 1 / -1; max-width: 560px; }

/* quantity */
.woocommerce .quantity .qty {
  font-family: var(--lp-font-ui); background: transparent; color: var(--lp-white);
  border: 1px solid var(--lp-line); border-radius: 2px; height: 50px; width: 76px; text-align: center; padding: 0 8px;
}
.woocommerce div.product form.cart { margin-bottom: 24px; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.woocommerce div.product form.cart .button { margin: 0; }

/* tabs */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 30px; }
.woocommerce-tabs ul.tabs { border: 0; padding: 0; }
.woocommerce-tabs ul.tabs::before { border-color: var(--lp-line-soft); }
.woocommerce-tabs ul.tabs li { background: transparent; border: 1px solid var(--lp-line-soft); border-radius: 2px 2px 0 0; }
.woocommerce-tabs ul.tabs li.active { background: var(--lp-charcoal-2); border-color: var(--lp-line); }
.woocommerce-tabs ul.tabs li a { color: var(--lp-white); font-family: var(--lp-font-ui); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }

/* related / upsells */
.single-product .related, .single-product .upsells { grid-column: 1 / -1; margin-top: 30px; }
.single-product .related > h2, .single-product .upsells > h2 { font-family: var(--lp-font-head); font-size: 28px; margin-bottom: 26px; }

@media (max-width: 860px) {
  .single-product div.product { grid-template-columns: 1fr; gap: 32px; }
  .single-product div.product .woocommerce-product-gallery { position: static; padding: 30px; }
}

/* --- Cart ----------------------------------------------------------------- */
.woocommerce-cart table.shop_table { border: 1px solid var(--lp-line-soft); border-radius: var(--lp-radius); border-collapse: separate; }
.woocommerce-cart table.shop_table th { font-family: var(--lp-font-ui); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--lp-muted); border-bottom: 1px solid var(--lp-line-soft); }
.woocommerce-cart table.shop_table td { border-top: 1px solid var(--lp-line-soft); color: #d7d7d7; }
.woocommerce-cart table.shop_table img { width: 70px; border-radius: var(--lp-radius-sm); border: 1px solid var(--lp-line-soft); }
.woocommerce-cart .product-name a { color: var(--lp-white); font-family: var(--lp-font-head); }
.woocommerce-cart .product-name a:hover { color: var(--lp-gold); }
.woocommerce a.remove { color: var(--lp-gold) !important; border-color: var(--lp-line); }
.woocommerce a.remove:hover { background: var(--lp-gold); color: var(--lp-black) !important; }
.cart_totals { background: var(--lp-charcoal-2); border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: 28px; }
.cart_totals h2 { font-family: var(--lp-font-head); font-size: 22px; margin-bottom: 16px; }
.cart_totals table th, .cart_totals table td { border-top: 1px solid var(--lp-line-soft); color: #d7d7d7; }
.cart_totals .order-total .amount { color: var(--lp-gold); }
.wc-proceed-to-checkout a.checkout-button { width: 100%; }
.woocommerce-cart .lp-or { margin: 14px 0; }

/* --- Checkout ------------------------------------------------------------- */
.woocommerce-checkout h3 { font-family: var(--lp-font-head); font-size: 22px; }
.woocommerce form .form-row label { font-family: var(--lp-font-ui); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-muted); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-checkout #customer_details input, .select2-container .select2-selection {
  background: var(--lp-charcoal-2) !important; color: var(--lp-white) !important; border: 1px solid var(--lp-line) !important;
  border-radius: 2px !important; padding: 12px 14px !important; min-height: 48px;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--lp-gold) !important; outline: none; }
.woocommerce-checkout #payment { background: var(--lp-charcoal-2); border: 1px solid var(--lp-line); border-radius: var(--lp-radius); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--lp-line-soft); }
.woocommerce-checkout #payment div.payment_box { background: var(--lp-charcoal-3); color: #cfcfcf; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--lp-charcoal-3); }
.woocommerce-checkout-review-order-table { border: 1px solid var(--lp-line-soft); border-radius: var(--lp-radius); }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { color: #d7d7d7; border-top: 1px solid var(--lp-line-soft); }
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--lp-gold); }

/* --- My Account ----------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid var(--lp-line-soft); border-radius: var(--lp-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--lp-line-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--lp-gold); }
.woocommerce-account .woocommerce-MyAccount-navigation a { color: var(--lp-white); font-family: var(--lp-font-ui); font-size: 13px; letter-spacing: .06em; }

/* --- Onsale badge --------------------------------------------------------- */
.woocommerce span.onsale { background: var(--lp-gold); color: var(--lp-black); font-family: var(--lp-font-ui);
  font-weight: 700; letter-spacing: .08em; border-radius: 2px; min-height: auto; min-width: auto; padding: 5px 10px; line-height: 1; }

/* Cart link in header already styled by styles.css */
