/* ==========================================================================
   NCR Crafts — woocommerce.css
   WooCommerce override styles — shop, product, cart, checkout
   ========================================================================== */

/* ─── SHOP LAYOUT ─────────────────────────────────────────────────────────── */
.shop-wrap { 
  padding: 4rem 0 6rem;
  background: var(--cream);
}

.shop-layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* ─── SIDEBAR ─────────────────────────────────────────────────────────────── */
.shop-sidebar { width: 100%; }

.shop-sidebar__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--bg-warm);
  border: 1px solid var(--gold-pale);
  border-radius: var(--radius-md);
  font-size: 0.9rem;
  font-weight: var(--fw-medium);
  color: var(--text-dark);
  margin-bottom: 0.5rem;
  cursor: pointer;
}
.shop-sidebar__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.shop-sidebar__toggle svg { transition: transform var(--transition); }

.shop-sidebar__content { display: none; }
.shop-sidebar__content.open { display: block; }

.sidebar-widget {
  background: #ffffff;
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.5rem;
  margin-bottom: 2rem;
  border: 1px solid rgba(213, 185, 178, 0.3);
  box-shadow: 0 10px 30px rgba(109, 46, 70, 0.03);
  transition: all 0.3s var(--ease);
}
.sidebar-widget:hover {
  box-shadow: 0 15px 40px rgba(109, 46, 70, 0.08);
}
.sidebar-widget__title {
  font-size: 0.9rem;
  font-family: var(--font-heading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #6D2E46;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #F3EEEC;
}

/* Sidebar search */
.sidebar-search__wrap {
  display: flex;
  background: var(--bg-warm);
  border: 1px solid var(--gold-pale);
  border-radius: var(--radius-pill);
  overflow: hidden;
  transition: border-color var(--transition);
}
.sidebar-search__wrap:focus-within {
  border-color: var(--gold);
}
.sidebar-search__input {
  flex: 1;
  padding: 0.6rem 1rem;
  border: none;
  outline: none;
  font-size: 0.85rem;
  background: transparent;
  width: 100%;
}
.sidebar-search__btn {
  width: 48px;
  min-width: 48px;
  padding: 0;
  background: var(--gold);
  color: var(--white);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all var(--transition);
  border-radius: 0 var(--radius-pill) var(--radius-pill) 0;
}
.sidebar-search__btn svg {
  width: 18px;
  height: 18px;
  stroke: #ffffff;
  stroke-width: 2.5px;
}
.sidebar-search__btn:hover {
  background: var(--text-dark);
}

/* Category list */
.sidebar-cat-list { display: flex; flex-direction: column; gap: 0.5rem; }
.sidebar-cat-list__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-family: var(--font-main);
  color: #A26769;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}
.sidebar-cat-list__item a:hover,
.sidebar-cat-list__item--active a {
  background: #F3EEEC;
  color: #6D2E46;
  border-color: #D5B9B2;
  padding-left: 1rem;
}
.sidebar-cat-list__count { font-size: 0.75rem; color: var(--text-light); }

/* Best sellers */
.sidebar-best-list { display: flex; flex-direction: column; gap: 0.75rem; }
.sidebar-best-item__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: inherit;
}
.sidebar-best-item__thumb { width: 56px; height: 56px; border-radius: var(--radius-sm); overflow: hidden; flex-shrink: 0; }
.sidebar-best-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-best-item__info { display: flex; flex-direction: column; gap: 0.2rem; }
.sidebar-best-item__name { font-size: 0.82rem; font-weight: var(--fw-medium); color: var(--text-dark); }
.sidebar-best-item__price { font-size: 0.8rem; color: #A26769; font-weight: var(--fw-semibold); }

/* ─── SHOP TOOLBAR ────────────────────────────────────────────────────────── */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  gap: 1rem;
  flex-wrap: wrap;
}
.woocommerce-result-count {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin: 0;
}
.woocommerce-ordering select {
  padding: 0.4rem 0.75rem;
  border: 1.5px solid var(--gold-pale);
  border-radius: var(--radius-md);
  font-size: 0.85rem;
  font-family: var(--font-main);
  color: var(--text-dark);
  background: var(--white);
  cursor: pointer;
  outline: none;
}

/* ─── WOO PRODUCT GRID ────────────────────────────────────────────────────── */
.woo-products-grid ul.products,
.related.products ul.products,
.upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* WooCommerce default product loop items — on our archive */
.woo-products-grid ul.products li.product,
.related.products ul.products li.product,
.upsells.products ul.products li.product {
  position: relative;
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
  height: 100%; /* Ensure all cards in a grid row stretch to same height */
}

/* Inner content wrapper must also be a full-height flex column */
.product-card-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
}
.woo-products-grid ul.products li.product:hover,
.related.products ul.products li.product:hover,
.upsells.products ul.products li.product:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

/* Product image */
.woo-products-grid .attachment-woocommerce_thumbnail,
.woo-products-grid .woocommerce-loop-product__title,
.related.products .attachment-woocommerce_thumbnail,
.related.products .woocommerce-loop-product__title,
.upsells.products .attachment-woocommerce_thumbnail,
.upsells.products .woocommerce-loop-product__title {
  text-decoration: none;
}
.woo-products-grid a.woocommerce-loop-product__link img,
.related.products a.woocommerce-loop-product__link img,
.upsells.products a.woocommerce-loop-product__link img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: transform var(--transition-slow);
}
.woo-products-grid li.product:hover a img,
.related.products li.product:hover a img,
.upsells.products li.product:hover a img { transform: scale(1.05); }

/* Product title — fixed 2-line height so price & button are always at the same Y position */
.woo-products-grid .woocommerce-loop-product__title,
.related.products .woocommerce-loop-product__title,
.upsells.products .woocommerce-loop-product__title {
  font-size: 0.95rem;
  font-family: var(--font-main);
  font-weight: 600;
  color: #6D2E46;
  padding: 0;
  margin: 0 0 0.25rem;
  line-height: 1.4;
  transition: color var(--transition);
  /* Lock to exactly 2 lines so button never moves */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.66em; /* 1.4 line-height × 2 lines — cards always align */
}
.product-card-item:hover .woocommerce-loop-product__title {
  color: #A26769;
}

/* Meta Organization — full-height flex column to push button to bottom */
.product-card-meta {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;            /* Grows to fill remaining card height */
  gap: 0;
  background: var(--white);
}
.product-card-meta-bottom {
  margin-top: auto;   /* KEY: pushes price + button to the bottom every time */
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 0.5rem;
}

/* Prices */
.woocommerce ul.products li.product .price,
.single-product-info__price .price {
  color: #A26769;
  font-family: var(--font-main);
  font-weight: 500;
  font-size: 1rem;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.woocommerce ul.products li.product .price del,
.single-product-info__price .price del {
  color: var(--text-light);
  font-weight: var(--fw-regular);
  font-size: 0.82rem;
  opacity: 0.85;
}
.woocommerce ul.products li.product .price ins,
.single-product-info__price .price ins { text-decoration: none; }

/* Sale & New badges */
.woocommerce span.onsale,
.woocommerce span.new-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 9;
  background: #A26769;
  color: #ffffff;
  border-radius: var(--radius-pill);
  font-size: 0.7rem;
  font-weight: var(--fw-bold);
  padding: 0.2rem 0.6rem;
  min-width: auto;
  min-height: auto;
  line-height: 1.4;
  margin: 0 !important;
}
.woocommerce span.new-badge {
  background: #D5B9B2;
  color: #6D2E46;
}

/* View Details button - REPLACES Add to Cart in loop */
.product-card-view-btn {
  display: block;
  width: 100%;
  padding: 0.8rem 1.5rem;
  background: #6D2E46;
  color: #ffffff;
  border: 2px solid #6D2E46;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-family: var(--font-main);
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(109, 46, 70, 0.08);
}
.product-card-view-btn:hover {
  background: #A26769;
  color: #ffffff;
  border-color: #A26769;
  box-shadow: var(--shadow-gold);
  transform: translateY(-2px);
  opacity: 1;
}

/* Revert to solid gold on Home Page only as requested — HIGH IMPACT ENHANCEMENT */
.home .product-card-view-btn {
  background: linear-gradient(135deg, var(--white) 0%, var(--gold-light) 100%);
  color: var(--gold);
  box-shadow: 0 6px 20px rgba(109, 46, 70, 0.08); /* Minimal shadow */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.85rem 1.5rem;
  border: 1.5px solid var(--gold-light);
  letter-spacing: 0.1em;
  overflow: hidden;
  position: relative;
}

.home .product-card-view-btn::after {
  content: '→';
  font-size: 1.25rem;
  transition: transform 0.35s var(--ease);
  display: inline-block;
  opacity: 0.8;
}

.home .product-card-view-btn:hover {
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--white) 100%);
  color: var(--gold);
  box-shadow: 0 10px 28px rgba(109, 46, 70, 0.15);
  transform: translateY(-3px) scale(1.02);
}

.home .product-card-view-btn:hover::after {
  transform: translateX(6px);
  opacity: 1;
}



/* Hide old add to cart buttons on loop */
.woocommerce ul.products li.product .button,
.woo-products-grid .add_to_cart_button {
  display: none !important;
}

/* ─── PAGINATION ──────────────────────────────────────────────────────────── */
.shop-pagination .woocommerce-pagination { margin-top: 2rem; }
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  border: 1.5px solid #D5B9B2;
  color: #A26769;
  transition: all var(--transition);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #6D2E46;
  border-color: #6D2E46;
  color: #ffffff;
}

/* ─── BREADCRUMBS ─────────────────────────────────────────────────────────── */
.woo-breadcrumb,
.woocommerce-breadcrumb {
  font-size: 0.85rem;
  color: #A26769;
  margin-bottom: 1.5rem;
  font-family: var(--font-main);
}
.woocommerce-breadcrumb a { color: #A26769; opacity: 0.8; }
.woocommerce-breadcrumb a:hover { color: #6D2E46; opacity: 1; }

/* ─── SINGLE PRODUCT ─────────────────────────────────────────────────────── */
.single-product-wrap { padding: var(--space-lg) 0 var(--space-xl); }

.single-product-layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 3rem;
}

/* Gallery */
.single-product-gallery .woocommerce-product-gallery { margin: 0; }
.single-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  border-radius: var(--radius-lg);
  object-fit: cover;
}
.woocommerce-product-gallery__image img { border-radius: var(--radius-md); }
.flex-control-thumbs { display: flex; gap: 0.5rem; margin-top: 0.5rem; flex-wrap: wrap; }
.flex-control-thumbs li { cursor: pointer; border-radius: var(--radius-sm); overflow: hidden; width: 70px; }
.flex-control-thumbs li img { width: 100%; opacity: 0.7; transition: opacity var(--transition); }
.flex-control-thumbs li img.flex-active, .flex-control-thumbs li:hover img { opacity: 1; }

/* Product info */
.single-product-info { display: flex; flex-direction: column; gap: 1rem; }

.single-product-info__cats {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}
.single-product-info__cats a { color: var(--text-muted); }

.single-product-info__title {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: var(--fw-bold);
  color: var(--text-dark);
  line-height: 1.25;
  margin: 0;
}

/* Rating */
.woocommerce-product-rating { display: flex; align-items: center; gap: 0.5rem; }
.star-rating { color: var(--gold); font-size: 0.85rem; }
.woocommerce-review-link { font-size: 0.82rem; color: var(--text-muted); }

/* Stock */
.single-product-info .stock { font-size: 0.85rem; font-weight: var(--fw-medium); }
.in-stock  { color: #22c55e; }
.out-of-stock { color: var(--pink); }

/* Add to cart */
.single-product-info__cart .quantity { margin-right: 0.75rem; }
.single-product-info__cart .quantity input {
  width: 70px;
  padding: 0.5rem;
  border: 1.5px solid var(--gold-pale);
  border-radius: var(--radius-md);
  font-size: 1rem;
  text-align: center;
  font-family: var(--font-main);
}
.single-product-info__cart .single_add_to_cart_button {
  background: var(--gold);
  color: var(--white);
  border: none;
  border-radius: var(--radius-pill);
  padding: 0.75rem 2rem;
  font-size: 0.95rem;
  font-weight: var(--fw-semibold);
  font-family: var(--font-main);
  cursor: pointer;
  transition: all var(--transition);
  box-shadow: var(--shadow-gold);
}
.single-product-info__cart .single_add_to_cart_button:hover { background: #b8942e; transform: translateY(-2px); }
.single-product-info__cart form.cart { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; }

/* Trust mini bar */
.single-product-info__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem;
  background: var(--cream-warm);
  border-radius: var(--radius-md);
  border: 1px solid var(--gold-pale);
}
.single-product-info__trust span { font-size: 0.82rem; color: var(--text-muted); }

/* Product meta */
.woocommerce-product-details__short-description { font-size: 0.92rem; color: var(--text-muted); line-height: 1.7; }
.product_meta { font-size: 0.82rem; color: var(--text-muted); }
.product_meta span { display: block; margin-bottom: 0.3rem; }
.product_meta a { color: var(--gold); }

/* Tabs */
.single-product-tabs { margin-bottom: 3rem; }
.woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  border-bottom: 2px solid var(--gold-pale);
  margin-bottom: 1.5rem;
  padding: 0;
}
.woocommerce-tabs ul.tabs li {
  margin: 0;
}
.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.6rem 1.25rem;
  font-size: 0.88rem;
  font-weight: var(--fw-medium);
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all var(--transition);
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
  opacity: 1;
}
.woocommerce-Tabs-panel { padding: 1rem 0; font-size: 0.92rem; color: var(--text-muted); }

/* Related & Upsells */
.related.products h2,
.upsells.products h2 {
  font-size: 1.35rem;
  font-weight: var(--fw-bold);
  color: var(--text-dark);
  margin-bottom: 1.25rem;
  position: relative;
}
.related.products h2::after,
.upsells.products h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: var(--gold);
  border-radius: var(--radius-pill);
  margin-top: 0.4rem;
}

/* Variation select */
.variations select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1.5px solid var(--gold-pale);
  border-radius: var(--radius-md);
  font-family: var(--font-main);
  font-size: 0.9rem;
  color: var(--text-dark);
  background: var(--white);
  margin-bottom: 0.5rem;
}
.variations_button .reset_variations {
  font-size: 0.8rem;
  color: var(--text-muted);
  text-decoration: underline;
  display: inline-block;
  margin-top: 0.4rem;
}

/* ─── CART PAGE ───────────────────────────────────────────────────────────── */
.cart-page-wrap { padding: var(--space-lg) 0 var(--space-xl); }

.cart-layout { display: flex; flex-direction: column; gap: 2rem; }

.cart-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.cart-table__head { display: none; } /* Hidden on mobile */

.cart-table__row { display: flex; flex-wrap: wrap; align-items: center; padding: 1rem; border-bottom: 1px solid var(--gold-pale); gap: 0.5rem; background: var(--white); }
.cart-table__row:first-child { border-top: 1px solid var(--gold-pale); }

.cart-table__td--remove { width: 30px; }
.cart-table__td--thumb  { width: 70px; }
.cart-table__td--thumb img { width: 70px; height: 70px; object-fit: cover; border-radius: var(--radius-md); }
.cart-table__td--name   { flex: 1; min-width: 150px; font-weight: var(--fw-medium); }
.cart-table__td--name a { color: var(--text-dark); }
.cart-table__td--price  { font-size: 0.9rem; color: var(--gold); font-weight: var(--fw-semibold); }
.cart-table__td--qty    { display: flex; align-items: center; }
.cart-table__td--subtotal { font-weight: var(--fw-semibold); color: var(--text-dark); }

.cart-table__actions-row { display: block; }
.cart-table__td--actions { display: block; width: 100%; padding: 1.25rem; }

.cart-remove-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--pink-light);
  color: var(--pink);
  font-size: 1rem;
  font-weight: bold;
  transition: all var(--transition);
  line-height: 1;
}
.cart-remove-btn:hover { background: var(--pink); color: var(--white); opacity: 1; }

.cart-actions { display: flex; flex-direction: column; gap: 1rem; }
.cart-coupon { display: flex; flex-direction: column; gap: 0.5rem; }
.cart-coupon__label { font-size: 0.82rem; font-weight: var(--fw-medium); color: var(--text-muted); }
.cart-coupon__input-wrap { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.cart-coupon__input {
  flex: 1;
  min-width: 160px;
  padding: 0.5rem 0.75rem;
  border: 1.5px solid var(--gold-pale);
  border-radius: var(--radius-md);
  font-size: 0.88rem;
  font-family: var(--font-main);
  outline: none;
}
.cart-coupon__input:focus { border-color: var(--gold); }

/* Quantity input */
.quantity input.qty {
  width: 55px;
  padding: 0.4rem;
  border: 1.5px solid var(--gold-pale);
  border-radius: var(--radius-md);
  text-align: center;
  font-family: var(--font-main);
  font-size: 0.9rem;
}

/* Cart totals */
.cart_totals {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  border: 1px solid var(--gold-pale);
}
.cart_totals h2 {
  font-size: 1.1rem;
  font-weight: var(--fw-bold);
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--gold-pale);
}
.cart_totals table { width: 100%; font-size: 0.9rem; }
.cart_totals table th { text-align: left; padding: 0.5rem 0; color: var(--text-muted); font-weight: var(--fw-medium); }
.cart_totals table td { text-align: right; padding: 0.5rem 0; }
.cart_totals table tr.order-total th,
.cart_totals table tr.order-total td { font-weight: var(--fw-bold); font-size: 1.05rem; border-top: 1px solid var(--gold-pale); padding-top: 0.75rem; }

.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout a.button {
  display: block;
  width: 100%;
  padding: 0.9rem 1rem;
  background: var(--gold);
  color: var(--white);
  text-align: center;
  border-radius: var(--radius-pill);
  font-size: 1rem;
  font-weight: var(--fw-semibold);
  font-family: var(--font-main);
  margin-top: 1rem;
  box-shadow: var(--shadow-gold);
  transition: all var(--transition);
  border: none;
}
.wc-proceed-to-checkout .checkout-button:hover { background: #b8942e; transform: translateY(-2px); }

/* Shop no products */
.shop-no-products {
  text-align: center;
  padding: 4rem 0;
}
.shop-no-products__icon { font-size: 4rem; margin-bottom: 1rem; }
.shop-no-products h2 { margin-bottom: 0.5rem; }
.shop-no-products p { color: var(--text-muted); margin-bottom: 1.5rem; }

/* ─── CHECKOUT ────────────────────────────────────────────────────────────── */
.checkout-page-wrap { padding: var(--space-lg) 0 var(--space-xl); }

.checkout-layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.checkout-section {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  border: 1px solid var(--gold-pale);
}
.checkout-section__title {
  font-size: 1.05rem;
  font-weight: var(--fw-bold);
  color: var(--text-dark);
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--gold-pale);
}

/* Checkout fields */
.woocommerce-checkout .form-row {
  margin-bottom: 1rem;
}
.woocommerce-checkout .form-row label {
  display: block;
  font-size: 0.82rem;
  font-weight: var(--fw-medium);
  color: var(--text-dark);
  margin-bottom: 0.35rem;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  width: 100%;
  padding: 0.65rem 0.9rem;
  border: 1.5px solid var(--gold-pale);
  border-radius: var(--radius-md);
  font-family: var(--font-main);
  font-size: 0.9rem;
  color: var(--text-dark);
  background: var(--white);
  transition: border-color var(--transition);
  outline: none;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus { border-color: var(--gold); }

/* Place order button */
#place_order {
  width: 100%;
  padding: 1rem 1.5rem;
  background: var(--gold);
  color: var(--white);
  border: none;
  border-radius: var(--radius-pill);
  font-size: 1.05rem;
  font-weight: var(--fw-bold);
  font-family: var(--font-main);
  cursor: pointer;
  box-shadow: var(--shadow-gold);
  transition: all var(--transition);
  margin-top: 1rem;
}
#place_order:hover { background: #b8942e; transform: translateY(-2px); }

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 1rem 1.25rem;
  border-radius: var(--radius-md);
  margin-bottom: 1rem;
  font-size: 0.9rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.woocommerce-message { background: #f0fdf4; border-left: 4px solid #22c55e; color: #15803d; }
.woocommerce-info    { background: var(--gold-pale); border-left: 4px solid var(--gold); color: var(--text-dark); }
.woocommerce-error   { background: var(--pink-light); border-left: 4px solid var(--pink); color: var(--pink); }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { font-weight: var(--fw-semibold); }

/* WC Price Filter Widget — Premium UI Overhaul */
.woocommerce .widget_price_filter .price_slider_wrapper { 
	padding: 1.5rem 0 0.5rem; 
}
.woocommerce .widget_price_filter .ui-slider {
	background: var(--gold-pale);
	border: none;
	height: 8px !important; /* Thicker track for better visibility */
	border-radius: var(--radius-pill);
	margin-bottom: 2rem;
	position: relative;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { 
	background: linear-gradient(90deg, var(--gold-light) 0%, var(--gold) 100%); 
	border-radius: var(--radius-pill);
}

/* WC Price Filter Widget — HIGH SPECIFICITY VISUAL FIX */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle,
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle,
.ui-slider-handle {
	background: var(--white) !important;
	border: 4px solid var(--gold) !important;
	border-radius: 50% !important;
	width: 24px !important;
	height: 24px !important;
	top: -9px !important;
	margin-left: -12px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease) !important;
	outline: none !important;
	z-index: 20 !important;
	display: block !important;
	/* Clear any common problematic defaults */
	padding: 0 !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle:hover,
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle.ui-state-active {
	transform: scale(1.15);
	box-shadow: 0 0 0 8px rgba(109, 46, 70, 0.25) !important;
	border-color: var(--gold) !important;
	background: var(--white) !important;
}

/* Track and Range enhancements */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider {
	background: var(--gold-pale) !important;
	height: 8px !important;
	border-radius: 4px !important;
	margin: 1.5rem 0 2rem !important;
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range {
	background: var(--gold) !important;
	border-radius: 4px !important;
}

.widget_price_filter .price_label { 
  font-size: 0.85rem; 
  font-weight: var(--fw-medium);
  color: var(--text-dark); 
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--gold-pale);
}
.widget_price_filter .price_label .from, 
.widget_price_filter .price_label .to {
  color: var(--gold);
  font-weight: var(--fw-bold);
}

.widget_price_filter .price_slider_amount .button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.6rem 1rem;
  background: var(--gold);
  color: var(--white);
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--font-main);
  border: none;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition);
  margin-top: 1rem;
}
.widget_price_filter .price_slider_amount .button:hover { 
  background: var(--text-dark); 
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
